[Bf-committers] compile bf-blender with cygwin/mingw

Florian Eggenberger bf-committers@blender.org
Mon, 12 May 2003 19:45:59 +0200


This is a multi-part message in MIME format.

------_=_NextPart_001_01C318AE.59358844
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi,

Hos has made a great job in tuhopuu to make it possible
to compile blender just with cygwin/gcc.
I've merged the stuff from tuhopuu now into bf-blender.

files used from tuhopuu:
	- /free_windows-env.sh
	- directory: /dlltool
	- direcotry: /intern/python/frozen

It works the same as in tuhopuu:
	source free_windows-env.sh
	make

It's very possible that I broke something!
so i would like to know if this diff breaks
the build of other platforms.
And I don't know if i'm the only one compiling on win32
without msvc. :-) if this is the case then there
is no need to integrate this into bf-blender.
what do you think?

Thanks!

florian

------_=_NextPart_001_01C318AE.59358844
Content-Type: application/octet-stream;
	name="mingw.diff"
Content-Transfer-Encoding: base64
Content-Description: mingw.diff
Content-Disposition: attachment;
	filename="mingw.diff"

SW5kZXg6IE1ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIv
YmxlbmRlci9NYWtlZmlsZSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLWMgLXIxLjQg
TWFrZWZpbGUKKioqIE1ha2VmaWxlCTE3IEZlYiAyMDAzIDE2OjUxOjE1IC0wMDAwCTEuNAotLS0g
TWFrZWZpbGUJMTIgTWF5IDIwMDMgMTc6MjM6MTMgLTAwMDAKKioqKioqKioqKioqKioqCioqKiAz
NSw0MSAqKioqCiAgTUFLRUZMQUdTPS1JJChOQU5CTEVOREVSSE9NRSkvc291cmNlIC0tbm8tcHJp
bnQtZGlyZWN0b3J5CiAgCiAgU09VUkNFRElSID0gYmxlbmRlcgohIERJUlMgPSBleHRlcm4gaW50
ZXJuIHNvdXJjZQogIGluY2x1ZGUgc291cmNlL25hbl9zdWJkaXJzLm1rCiAgCiAgLlBIT05ZOiBy
ZWxlYXNlCi0tLSAzNSw0NSAtLS0tCiAgTUFLRUZMQUdTPS1JJChOQU5CTEVOREVSSE9NRSkvc291
cmNlIC0tbm8tcHJpbnQtZGlyZWN0b3J5CiAgCiAgU09VUkNFRElSID0gYmxlbmRlcgohIGlmZXEg
KCQoRlJFRV9XSU5ET1dTKSx0cnVlKQohIAlESVJTID0gaW50ZXJuIHNvdXJjZQohIGVsc2UKISAJ
RElSUyA9IGV4dGVybiBpbnRlcm4gc291cmNlCiEgZW5kaWYKICBpbmNsdWRlIHNvdXJjZS9uYW5f
c3ViZGlycy5tawogIAogIC5QSE9OWTogcmVsZWFzZQpJbmRleDogZXh0ZXJuL29kZS9kaXN0L2Nv
bmZpZy91c2VyLXNldHRpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5k
ZXIvYmxlbmRlci9leHRlcm4vb2RlL2Rpc3QvY29uZmlnL3VzZXItc2V0dGluZ3MsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMQpkaWZmIC1jIC1yMS4xIHVzZXItc2V0dGluZ3MKKioqIGV4dGVybi9v
ZGUvZGlzdC9jb25maWcvdXNlci1zZXR0aW5ncwkxOCBPY3QgMjAwMiAxNTowMjowMCAtMDAwMAkx
LjEKLS0tIGV4dGVybi9vZGUvZGlzdC9jb25maWcvdXNlci1zZXR0aW5ncwkxMiBNYXkgMjAwMyAx
NzoyMzoxMyAtMDAwMAoqKioqKioqKioqKioqKioKKioqIDYsMTcgKioqKgogICMgICAgICAgbXN2
Yy1kbGwJbWljcm9zb2Z0IHZpc3VhbCBDL0MrKywgY3JlYXRlIGEgRExMCiAgIyAgICAgICBtaW5n
dwkJbWluaW1hbGlzdCBHTlUgZm9yIHdpbmRvd3MKICAjICAgICAgIGN5Z3dpbgkJY3lnbnVzIEdO
VSBmb3Igd2luZG93cwohICMgICAgICAgdW5peC1nY2MJR05VIGdjYyBvbiB1bml4CiAgIyAgICAg
ICB1bml4LWdlbmVyaWMJZ2VuZXJpYyB1bml4IGNvbXBpbGVyLiB5b3UgbWF5IG5lZWQgdG8gZWRp
dCB0aGUgQ0MKICAjCQkJdmFyaWFibGUgaW4gbWFrZWZpbGUudW5peC1nZW5lcmljCiAgIwlvc3gJ
CU1hYyBPUy1YLCB3aXRoIHRoZSBnbnUgY29tcGlsZXIuCiAgCiEgUExBVEZPUk09dW5peC1nY2MK
ICAKICAjICgyKSB0aGUgZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uIHRvIHVzZSAoZWl0aGVyICJT
SU5HTEUiIG9yICJET1VCTEUiKQogIAotLS0gNiwxNyAtLS0tCiAgIyAgICAgICBtc3ZjLWRsbAlt
aWNyb3NvZnQgdmlzdWFsIEMvQysrLCBjcmVhdGUgYSBETEwKICAjICAgICAgIG1pbmd3CQltaW5p
bWFsaXN0IEdOVSBmb3Igd2luZG93cwogICMgICAgICAgY3lnd2luCQljeWdudXMgR05VIGZvciB3
aW5kb3dzCiEgIyAgICAgICBtc3ZjCUdOVSBnY2Mgb24gdW5peAogICMgICAgICAgdW5peC1nZW5l
cmljCWdlbmVyaWMgdW5peCBjb21waWxlci4geW91IG1heSBuZWVkIHRvIGVkaXQgdGhlIENDCiAg
IwkJCXZhcmlhYmxlIGluIG1ha2VmaWxlLnVuaXgtZ2VuZXJpYwogICMJb3N4CQlNYWMgT1MtWCwg
d2l0aCB0aGUgZ251IGNvbXBpbGVyLgogIAohIFBMQVRGT1JNPW1pbmd3CiAgCiAgIyAoMikgdGhl
IGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbiB0byB1c2UgKGVpdGhlciAiU0lOR0xFIiBvciAiRE9V
QkxFIikKICAKSW5kZXg6IGludGVybi9naG9zdC9HSE9TVF9UeXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9pbnRlcm4vZ2hvc3QvR0hPU1RfVHlw
ZXMuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS43CmRpZmYgLWMgLXIxLjcgR0hPU1RfVHlwZXMu
aAoqKiogaW50ZXJuL2dob3N0L0dIT1NUX1R5cGVzLmgJMjMgSmFuIDIwMDMgMjE6Mzk6MjggLTAw
MDAJMS43Ci0tLSBpbnRlcm4vZ2hvc3QvR0hPU1RfVHlwZXMuaAkxMiBNYXkgMjAwMyAxNzoyMzox
NSAtMDAwMAoqKioqKioqKioqKioqKioKKioqIDM5LDQ1ICoqKioKICB0eXBlZGVmCWludAkJCQkJ
R0hPU1RfVEludDMyOwogIHR5cGVkZWYJdW5zaWduZWQgaW50CQlHSE9TVF9UVW5zMzI7CiAgCiEg
I2lmZGVmIFdJTjMyCiAgdHlwZWRlZiBfX2ludDY0CQkJCUdIT1NUX1RJbnQ2NDsKICB0eXBlZGVm
IHVuc2lnbmVkIF9faW50NjQJR0hPU1RfVFVuczY0OwogICNlbHNlCi0tLSAzOSw0NSAtLS0tCiAg
dHlwZWRlZglpbnQJCQkJCUdIT1NUX1RJbnQzMjsKICB0eXBlZGVmCXVuc2lnbmVkIGludAkJR0hP
U1RfVFVuczMyOwogIAohICNpZiBkZWZpbmVkKFdJTjMyKSAmJiAhZGVmaW5lZChGUkVFX1dJTkRP
V1MpCiAgdHlwZWRlZiBfX2ludDY0CQkJCUdIT1NUX1RJbnQ2NDsKICB0eXBlZGVmIHVuc2lnbmVk
IF9faW50NjQJR0hPU1RfVFVuczY0OwogICNlbHNlCkluZGV4OiBpbnRlcm4vZ2hvc3QvaW50ZXJu
L0dIT1NUX0Rpc3BsYXlNYW5hZ2VyV2luMzIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNy
b290L2JmLWJsZW5kZXIvYmxlbmRlci9pbnRlcm4vZ2hvc3QvaW50ZXJuL0dIT1NUX0Rpc3BsYXlN
YW5hZ2VyV2luMzIuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtYyAtcjEuMyBH
SE9TVF9EaXNwbGF5TWFuYWdlcldpbjMyLmNwcAoqKiogaW50ZXJuL2dob3N0L2ludGVybi9HSE9T
VF9EaXNwbGF5TWFuYWdlcldpbjMyLmNwcAkyNSBOb3YgMjAwMiAwOTo1Mjo1NiAtMDAwMAkxLjMK
LS0tIGludGVybi9naG9zdC9pbnRlcm4vR0hPU1RfRGlzcGxheU1hbmFnZXJXaW4zMi5jcHAJMTIg
TWF5IDIwMDMgMTc6MjM6MTYgLTAwMDAKKioqKioqKioqKioqKioqCioqKiA0Nyw1MyAqKioqCi0t
LSA0Nyw1NSAtLS0tCiAgLy8gV2UgZG8gbm90IHN1cHBvcnQgbXVsdGlwbGUgbW9uaXRvcnMgYXQg
dGhlIG1vbWVudAogICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAgI2RlZmluZSBDT01QSUxFX01VTFRJ
TU9OX1NUVUJTCisgI2lmbmRlZiBGUkVFX1dJTkRPV1MKICAjaW5jbHVkZSA8bXVsdGltb24uaD4K
KyAjZW5kaWYKICAKICAKICBHSE9TVF9EaXNwbGF5TWFuYWdlcldpbjMyOjpHSE9TVF9EaXNwbGF5
TWFuYWdlcldpbjMyKHZvaWQpCkluZGV4OiBpbnRlcm4vZ2hvc3QvaW50ZXJuL0dIT1NUX1N5c3Rl
bVdpbjMyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5k
ZXIvaW50ZXJuL2dob3N0L2ludGVybi9HSE9TVF9TeXN0ZW1XaW4zMi5jcHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuNgpkaWZmIC1jIC1yMS42IEdIT1NUX1N5c3RlbVdpbjMyLmNwcAoqKiogaW50
ZXJuL2dob3N0L2ludGVybi9HSE9TVF9TeXN0ZW1XaW4zMi5jcHAJNSBNYXkgMjAwMyAxMDo1Mzow
NCAtMDAwMAkxLjYKLS0tIGludGVybi9naG9zdC9pbnRlcm4vR0hPU1RfU3lzdGVtV2luMzIuY3Bw
CTEyIE1heSAyMDAzIDE3OjIzOjE4IC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMzE3LDMyMyAq
KioqCiAgCQl3Yy5jYkNsc0V4dHJhPSAwOwogIAkJd2MuY2JXbmRFeHRyYT0gMDsKICAJCXdjLmhJ
bnN0YW5jZT0gOjpHZXRNb2R1bGVIYW5kbGUoMCk7CiEgCQl3Yy5oSWNvbiA9IDo6TG9hZEljb24o
d2MuaEluc3RhbmNlLCAiQVBQSUNPTiIpOwogIAkJaWYgKCF3Yy5oSWNvbikgewogIAkJCTo6TG9h
ZEljb24oTlVMTCwgSURJX0FQUExJQ0FUSU9OKTsKICAJCX0KLS0tIDMxNywzMjcgLS0tLQogIAkJ
d2MuY2JDbHNFeHRyYT0gMDsKICAJCXdjLmNiV25kRXh0cmE9IDA7CiAgCQl3Yy5oSW5zdGFuY2U9
IDo6R2V0TW9kdWxlSGFuZGxlKDApOwohIAkJI2lmbmRlZiBGUkVFX1dJTkRPV1MKISAgIAkJd2Mu
aEljb24gPSA6OkxvYWRJY29uKHdjLmhJbnN0YW5jZSwgIkFQUElDT04iKTsKISAJCSNlbHNlCiEg
CQl3Yy5oSWNvbiA9IDo6TG9hZEljb24oTlVMTCwgIkFQUElDT04iKTsKISAJCSNlbmRpZgogIAkJ
aWYgKCF3Yy5oSWNvbikgewogIAkJCTo6TG9hZEljb24oTlVMTCwgSURJX0FQUExJQ0FUSU9OKTsK
ICAJCX0KSW5kZXg6IGludGVybi9rZXltYWtlci9NYWtlZmlsZQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIvaW50ZXJuL2tleW1ha2VyL01ha2VmaWxlLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjUKZGlmZiAtYyAtcjEuNSBNYWtlZmlsZQoqKiogaW50ZXJu
L2tleW1ha2VyL01ha2VmaWxlCTQgSmFuIDIwMDMgMjE6NTg6MDQgLTAwMDAJMS41Ci0tLSBpbnRl
cm4va2V5bWFrZXIvTWFrZWZpbGUJMTIgTWF5IDIwMDMgMTc6MjM6MTkgLTAwMDAKKioqKioqKioq
KioqKioqCioqKiA1MSw1OCAqKioqCiAgaWZuZXEgKCQoT1MpLHdpbmRvd3MpCiAgICAgIExJQlMg
PSAkKE5BTl9PUEVOU1NMKS9saWIvbGliY3J5cHRvLmEKICBlbHNlCiEgICAgIExJQlMgPSAkKE5B
Tl9PUEVOU1NMKS9saWIvbGliZWF5MzIubGliCiEgICAgIExJQlMgKz0gYWR2YXBpMzIubGliIGdk
aTMyLmxpYgogIGVuZGlmCiAgCiAgYWxsIGRlYnVnOjogbGluawotLS0gNTEsNjIgLS0tLQogIGlm
bmVxICgkKE9TKSx3aW5kb3dzKQogICAgICBMSUJTID0gJChOQU5fT1BFTlNTTCkvbGliL2xpYmNy
eXB0by5hCiAgZWxzZQohIAlpZmVxICgkKEZSRUVfV0lORE9XUyksdHJ1ZSkKISAJCUxJQlMgPSAk
KE5BTl9PUEVOU1NMKS9saWIvbGliY3J5cHRvLmEKISAJZWxzZQohIAkgICAgTElCUyA9ICQoTkFO
X09QRU5TU0wpL2xpYi9saWJlYXkzMi5saWIKISAJCUxJQlMgKz0gYWR2YXBpMzIubGliIGdkaTMy
LmxpYgohIAllbmRpZgogIGVuZGlmCiAgCiAgYWxsIGRlYnVnOjogbGluawpJbmRleDogaW50ZXJu
L3B5dGhvbi9mcmVlemUvTWFrZWZpbGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvYmYt
YmxlbmRlci9ibGVuZGVyL2ludGVybi9weXRob24vZnJlZXplL01ha2VmaWxlLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjkKZGlmZiAtYyAtcjEuOSBNYWtlZmlsZQoqKiogaW50ZXJuL3B5dGhvbi9m
cmVlemUvTWFrZWZpbGUJMjEgTWFyIDIwMDMgMjE6NTA6NDcgLTAwMDAJMS45Ci0tLSBpbnRlcm4v
cHl0aG9uL2ZyZWV6ZS9NYWtlZmlsZQkxMiBNYXkgMjAwMyAxNzoyMzoyMCAtMDAwMAoqKioqKioq
KioqKioqKioKKioqIDgsMTMgKioqKgotLS0gOCwxNyAtLS0tCiAgCiAgVEFSR0VURElSID0gJChP
Q0dESVIpL2JsZW5kZXIvYnB5dGhvbi9mcm96ZW4KICAKKyBpZmVxICgkKEZSRUVfV0lORE9XUyks
dHJ1ZSkKKyAJZXhwb3J0IE5BTl9QWVRIT05fQklOQVJZID0gcHl0aG9uCisgZW5kaWYKKyAKICBQ
WUZMQUdTPS1TIC1PCiAgCiAgZGVmYXVsdDogaW1wb3J0ZXIKKioqKioqKioqKioqKioqCioqKiAx
OCwyNCAqKioqCi0tLSAyMiwzNiAtLS0tCiAgaW5zdGFsbDogaW1wb3J0ZXIKICAKICBpbXBvcnRl
cjogCisgaWZlcSAoJChGUkVFX1dJTkRPV1MpLHRydWUpCisgCWNwICQoTkFOX1BZVEhPTikvbGli
L3B5dGhvbjIyLmRsbCAuCisgCWRsbHRvb2wuZXhlIC12IC0tb3V0cHV0LWxpYiAkKE5BTl9QWVRI
T04pL2xpYi9mcmVlcHkuYSBcCisgCQktLWlucHV0LWRlZiAkKE5BTkJMRU5ERVJIT01FKS9kbGx0
b29sL3B5dGhvbi5kZWYgXAorIAkJLS1kbGxuYW1lIHB5dGhvbjIyLmRsbAorIAlyYW5saWIgJChO
QU5fUFlUSE9OKS9saWIvZnJlZXB5LmEKKyAJcm0gLi9weXRob24yMi5kbGwKICAJQFsgLWQgJChU
QVJHRVRESVIpIF0gfHwgbWtkaXIgLXAgJChUQVJHRVRESVIpCisgZW5kaWYKICAJJChOQU5fUFlU
SE9OX0JJTkFSWSkgJChQWUZMQUdTKSBmcmVlemUucHkgLWQgLXggb3MgLXggcHByaW50IC14IHN0
cmluZyAteCBjb3B5IC1JICQoU1JDRElSKSAtbyAkKFRBUkdFVERJUikgJChTUkNESVIpL1ZSTUxt
YWluLnB5IAogIAkkKE1BS0UpIC1DICQoVEFSR0VURElSKQogIApJbmRleDogaW50ZXJuL3B5dGhv
bi9mcmVlemUvbWFrZW1ha2VmaWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2Jm
LWJsZW5kZXIvYmxlbmRlci9pbnRlcm4vcHl0aG9uL2ZyZWV6ZS9tYWtlbWFrZWZpbGUucHksdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC1jIC1yMS45IG1ha2VtYWtlZmlsZS5weQoqKiog
aW50ZXJuL3B5dGhvbi9mcmVlemUvbWFrZW1ha2VmaWxlLnB5CTI0IEZlYiAyMDAzIDE5OjA0OjIw
IC0wMDAwCTEuOQotLS0gaW50ZXJuL3B5dGhvbi9mcmVlemUvbWFrZW1ha2VmaWxlLnB5CTEyIE1h
eSAyMDAzIDE3OjIzOjIwIC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMjUsMzUgKioqKgogIAlm
b3Iga2V5IGluIGtleXM6CiAgCQlvdXRmcC53cml0ZSgiJXM9JXNcbiIgJSAoa2V5LCBtYWtldmFy
c1trZXldKSkKICAKISAgICAgICAgIG91dGZwLndyaXRlKCJcblxuaW5jbHVkZSBuYW5fZGVmaW5p
dGlvbnMubWtcbiIpCiEgICAgICAgICBvdXRmcC53cml0ZSgiaWZlcSAoJChPUyksd2luZG93cylc
biIpCiEgICAgICAgICBvdXRmcC53cml0ZSgiICBDQz0kKE5BTkJMRU5ERVJIT01FKS9zb3VyY2Uv
dG9vbHMvY3lnd2luL2NsX3dyYXBwZXIucGxcbiIpCiEgICAgICAgICBvdXRmcC53cml0ZSgiICBD
RkxBR1M9LUkkKE5BTl9QWVRIT04pL2luY2x1ZGUvcHl0aG9uJChOQU5fUFlUSE9OX1ZFUlNJT04p
ICQoT1BUKVxuIikKISAgICAgICAgIG91dGZwLndyaXRlKCJlbmRpZlxuIikKICAKICAJb3V0ZnAu
d3JpdGUoIlxuYWxsOiAlc1xuXG4iICUgbGlidGFyZ2V0KQogIAotLS0gMjUsMzkgLS0tLQogIAlm
b3Iga2V5IGluIGtleXM6CiAgCQlvdXRmcC53cml0ZSgiJXM9JXNcbiIgJSAoa2V5LCBtYWtldmFy
c1trZXldKSkKICAKISAJCW91dGZwLndyaXRlKCJcblxuaW5jbHVkZSBuYW5fZGVmaW5pdGlvbnMu
bWtcbiIpCiEgCQlvdXRmcC53cml0ZSgiaWZlcSAoJChPUyksd2luZG93cylcbiIpCiEgCQlvdXRm
cC53cml0ZSgiICBDRkxBR1M9LUkkKE5BTl9QWVRIT04pL2luY2x1ZGUvcHl0aG9uJChOQU5fUFlU
SE9OX1ZFUlNJT04pICQoT1BUKVxuIikKISAJCW91dGZwLndyaXRlKCIgIGlmbmVxICgkKEZSRUVf
V0lORE9XUyksdHJ1ZSlcbiIpCiEgCQlvdXRmcC53cml0ZSgiICAJIENDPSQoTkFOQkxFTkRFUkhP
TUUpL3NvdXJjZS90b29scy9jeWd3aW4vY2xfd3JhcHBlci5wbFxuIikKISAJCW91dGZwLndyaXRl
KCIgIGVsc2VcbiIpCiEgCQlvdXRmcC53cml0ZSgiICAgIENGTEFHUyArPSAtbXdpbmRvd3MgLW1u
by1jeWd3aW5cbiIpCiEgCQlvdXRmcC53cml0ZSgiICBlbmRpZlxuIikKISAJCW91dGZwLndyaXRl
KCJlbmRpZlxuIikKICAKICAJb3V0ZnAud3JpdGUoIlxuYWxsOiAlc1xuXG4iICUgbGlidGFyZ2V0
KQogIApJbmRleDogc291cmNlL01ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290
L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvTWFrZWZpbGUsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuNDEKZGlmZiAtYyAtcjEuNDEgTWFrZWZpbGUKKioqIHNvdXJjZS9NYWtlZmlsZQkxMSBNYXkg
MjAwMyAyMDo1ODo0MSAtMDAwMAkxLjQxCi0tLSBzb3VyY2UvTWFrZWZpbGUJMTIgTWF5IDIwMDMg
MTc6MjM6MjUgLTAwMDAKKioqKioqKioqKioqKioqCioqKiAxMzgsMTQ0ICoqKioKICAgIGVuZGlm
CiAgICBpZmVxICgkKFdJVEhfRlJFRVRZUEUyKSwgdHJ1ZSkKICAgICAgaWZlcSAoJChPUyksIHdp
bmRvd3MpCiEgICAgICAgQ09NTElCICs9ICQoTkFOX0ZSRUVUWVBFKS9saWIvZnJlZXR5cGUyU1Qu
bGliCiAgICAgIGVsc2UKICAgICAgICBpZm5lcSAoJChPUyksIGlyaXgpCiAgICAgICAgICBDT01M
SUIgKz0gJChOQU5fRlJFRVRZUEUpL2xpYi9saWJmcmVldHlwZS5hCi0tLSAxMzgsMTQ4IC0tLS0K
ICAgIGVuZGlmCiAgICBpZmVxICgkKFdJVEhfRlJFRVRZUEUyKSwgdHJ1ZSkKICAgICAgaWZlcSAo
JChPUyksIHdpbmRvd3MpCiEgCQlpZmVxICgkKEZSRUVfV0lORE9XUyksIHRydWUpCiEgCQkJQ09N
TElCICs9ICQoTkFOX0ZSRUVUWVBFKS9saWIvbGliZnJlZXR5cGUuYQohIAkJZWxzZQohIAkJCUNP
TUxJQiArPSAkKE5BTl9GUkVFVFlQRSkvbGliL2ZyZWV0eXBlMlNULmxpYgohIAkJZW5kaWYKICAg
ICAgZWxzZQogICAgICAgIGlmbmVxICgkKE9TKSwgaXJpeCkKICAgICAgICAgIENPTUxJQiArPSAk
KE5BTl9GUkVFVFlQRSkvbGliL2xpYmZyZWV0eXBlLmEKKioqKioqKioqKioqKioqCioqKiAyMDks
MjIxICoqKioKICAKICAgICAgUFVMSUIgKz0gJChOQU5fQkxFTktFWSkvbGliL2xpYmJsZW5rZXku
YQogICAgICBTUExJQiArPSAkKE5BTl9CTEVOS0VZKS9saWIvbGliYmxlbmtleS5hCiEgICBpZmVx
ICgkKE9TKSx3aW5kb3dzKQohICAgICBQVUxJQiArPSAkKE5BTl9PUEVOU1NMKS9saWIvbGliZWF5
MzIubGliCiEgICAgIFNQTElCICs9ICQoTkFOX09QRU5TU0wpL2xpYi9saWJlYXkzMi5saWIKISAg
IGVsc2UKISAgICAgUFVMSUIgKz0gJChOQU5fT1BFTlNTTCkvbGliL2xpYmNyeXB0by5hCiEgICAg
IFNQTElCICs9ICQoTkFOX09QRU5TU0wpL2xpYi9saWJjcnlwdG8uYQohICAgZW5kaWYKICAKICAg
ICAgIyBUaGVzZSB0aHJlZSBuZWVkIHRvIGJlIGV4cGxpY2l0bHkgbWVudGlvbmVkIG9uIHRoZSBj
bCwgYmVjYXVzZSAKICAgICAgIyBpZiB0aGV5IGFyZSBvZmZlcmVkIGFzIGEgbGliLCB0aGV5IGFy
ZSBvcHRpbWl6ZWQgYXdheS4gKG56YykKLS0tIDIxMywyMzAgLS0tLQogIAogICAgICBQVUxJQiAr
PSAkKE5BTl9CTEVOS0VZKS9saWIvbGliYmxlbmtleS5hCiAgICAgIFNQTElCICs9ICQoTkFOX0JM
RU5LRVkpL2xpYi9saWJibGVua2V5LmEKISAJaWZlcSAoJChPUyksd2luZG93cykKISAJCWlmZXEg
KCQoRlJFRV9XSU5ET1dTKSx0cnVlKQohIAkJCVBVTElCICs9ICQoTkFOX09QRU5TU0wpL2xpYi9s
aWJjcnlwdG8uYQohIAkJCVNQTElCICs9ICQoTkFOX09QRU5TU0wpL2xpYi9saWJjcnlwdG8uYQoh
IAkJZWxzZQohIAkJCVBVTElCICs9ICQoTkFOX09QRU5TU0wpL2xpYi9saWJlYXkzMi5saWIKISAJ
CQlTUExJQiArPSAkKE5BTl9PUEVOU1NMKS9saWIvbGliZWF5MzIubGliCiEgCQllbmRpZgohIAll
bHNlCiEgCQlQVUxJQiArPSAkKE5BTl9PUEVOU1NMKS9saWIvbGliY3J5cHRvLmEKISAJCVNQTElC
ICs9ICQoTkFOX09QRU5TU0wpL2xpYi9saWJjcnlwdG8uYQohIAllbmRpZgogIAogICAgICAjIFRo
ZXNlIHRocmVlIG5lZWQgdG8gYmUgZXhwbGljaXRseSBtZW50aW9uZWQgb24gdGhlIGNsLCBiZWNh
dXNlIAogICAgICAjIGlmIHRoZXkgYXJlIG9mZmVyZWQgYXMgYSBsaWIsIHRoZXkgYXJlIG9wdGlt
aXplZCBhd2F5LiAobnpjKQoqKioqKioqKioqKioqKioKKioqIDM5MywzOTkgKioqKgogIGVuZGlm
CiAgCiAgaWZlcSAoJChPUyksd2luZG93cykKISAgICAgUFlMSUIgPSAkKE5BTl9QWVRIT04pL2xp
Yi9weXRob24yMi5saWIKICAgICAgUFlQTEFZRVJMSUIgPSAkKE5BTl9QWVRIT04pL3N0YXRpYy8q
Lm9iagogICAgICBQWVBMQVlFUkxJQiA9ICQoUFlMSUIpCiAgCi0tLSA0MDIsNDEzIC0tLS0KICBl
bmRpZgogIAogIGlmZXEgKCQoT1MpLHdpbmRvd3MpCiEgCWlmZXEgKCQoRlJFRV9XSU5ET1dTKSx0
cnVlKQohIAkJUFlMSUIgPSAkKE5BTl9QWVRIT04pL2xpYi9mcmVlcHkuYQohICAgICBlbHNlCiEg
CQlQWUxJQiA9ICQoTkFOX1BZVEhPTikvbGliL3B5dGhvbjIyLmxpYgohICAgICBlbmRpZgohICAg
ICAKICAgICAgUFlQTEFZRVJMSUIgPSAkKE5BTl9QWVRIT04pL3N0YXRpYy8qLm9iagogICAgICBQ
WVBMQVlFUkxJQiA9ICQoUFlMSUIpCiAgCioqKioqKioqKioqKioqKgoqKiogNDAxLDQwOSAqKioq
CiAgICAgIE5TUExVR0xJQiArPSAkKE5BTl9OU1BSKS9saWIvbnNwcjQubGliCiAgCiAgICAgIEJJ
TlRBUkdFVFMgPSBibGVuZGVyZHluYW1pYwohICAgICBCSU5UQVJHRVRTICs9IGJsZW5kZXJwbGF5
ZXIKISAgICAgQklOVEFSR0VUUyArPSBibGVuZGVyZHlucGxheWVyCiEgICAgIEJJTlRBUkdFVFMg
Kz0gcGx1Z2luCiAgCiAgICAgIFBVTElCICs9ICQoT0NHRElSKS9ibGVuZGVyL2ljb25zLyQoREVC
VUdfRElSKXdpbmJsZW5kZXIucmVzCiAgICAgIFBVTElCICs9ICQoTkFOX1pMSUIpL2xpYi9saWJ6
LmEKLS0tIDQxNSw0MjUgLS0tLQogICAgICBOU1BMVUdMSUIgKz0gJChOQU5fTlNQUikvbGliL25z
cHI0LmxpYgogIAogICAgICBCSU5UQVJHRVRTID0gYmxlbmRlcmR5bmFtaWMKISAJaWZuZXEgKCQo
RlJFRV9XSU5ET1dTKSx0cnVlKQohIAkgICAgQklOVEFSR0VUUyArPSBibGVuZGVycGxheWVyCiEg
CQlCSU5UQVJHRVRTICs9IGJsZW5kZXJkeW5wbGF5ZXIKISAJICAgIEJJTlRBUkdFVFMgKz0gcGx1
Z2luCiEgCWVuZGlmCiAgCiAgICAgIFBVTElCICs9ICQoT0NHRElSKS9ibGVuZGVyL2ljb25zLyQo
REVCVUdfRElSKXdpbmJsZW5kZXIucmVzCiAgICAgIFBVTElCICs9ICQoTkFOX1pMSUIpL2xpYi9s
aWJ6LmEKKioqKioqKioqKioqKioqCioqKiA1MTEsNTE3ICoqKioKICBlbmRpZgogICMgV2luZG93
cyBuZWVkcyBhIDguMyBuYW1lLi4uIFdoeT8gRHVubm8uLi4KICBpZmVxICgkKE9TKSx3aW5kb3dz
KQohICAgICBwbHVnaW46ICQoRElSKS8kKERFQlVHX0RJUilucEIzRFBsZyQoU09FWFQpCiAgZW5k
aWYKICAKICAkKERJUikvJChERUJVR19ESVIpYmxlbmRlcnN0YXRpYzogJChPQkpTKSAkKEdSUExJ
QikgJChDT01MSUIpICQoUFVMSUIpCi0tLSA1MjcsNTM1IC0tLS0KICBlbmRpZgogICMgV2luZG93
cyBuZWVkcyBhIDguMyBuYW1lLi4uIFdoeT8gRHVubm8uLi4KICBpZmVxICgkKE9TKSx3aW5kb3dz
KQohIAlpZm5lcSAoJChGUkVFX1dJTkRPV1MpLHRydWUpCiEgCSAgICBwbHVnaW46ICQoRElSKS8k
KERFQlVHX0RJUilucEIzRFBsZyQoU09FWFQpCiEgCWVuZGlmCiAgZW5kaWYKICAKICAkKERJUikv
JChERUJVR19ESVIpYmxlbmRlcnN0YXRpYzogJChPQkpTKSAkKEdSUExJQikgJChDT01MSUIpICQo
UFVMSUIpCkluZGV4OiBzb3VyY2UvbmFuX2NvbXBpbGUubWsKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2c3Jvb3QvYmYtYmxlbmRlci9ibGVuZGVyL3NvdXJjZS9uYW5fY29tcGlsZS5tayx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLWMgLXIxLjQgbmFuX2NvbXBpbGUubWsKKioqIHNvdXJj
ZS9uYW5fY29tcGlsZS5tawkxOSBEZWMgMjAwMiAyMjowNjozMiAtMDAwMAkxLjQKLS0tIHNvdXJj
ZS9uYW5fY29tcGlsZS5tawkxMiBNYXkgMjAwMyAxNzoyMzoyNSAtMDAwMAoqKioqKioqKioqKioq
KioKKioqIDE3NCwyMDEgKioqKgogIGVuZGlmCiAgCiAgaWZlcSAoJChPUyksd2luZG93cykKISAg
ICAgQ0MJPSAkKFNSQ0hPTUUpL3Rvb2xzL2N5Z3dpbi9jbF93cmFwcGVyLnBsCiEgICAgIENDQyA9
ICQoU1JDSE9NRSkvdG9vbHMvY3lnd2luL2NsX3dyYXBwZXIucGwKISAgICAgSkFWQUMgPSAkKFNS
Q0hPTUUpL3Rvb2xzL2N5Z3dpbi9qYXZhX3dyYXBwZXIucGwgLWMKISAgICAgSkFWQUggPSAkKFNS
Q0hPTUUpL3Rvb2xzL2N5Z3dpbi9qYXZhX3dyYXBwZXIucGwgLWgKISAgICAgUkVMX0NGTEFHUwkr
PSAvTzIKISAgICAgUkVMX0NDRkxBR1MgKz0gL08yIC1HWAohICAgICBEQkdfQ0ZMQUdTCSs9IC9G
ZCQoRElSKS9kZWJ1Zy8KISAgICAgREJHX0NDRkxBR1MgKz0gL0ZkJChESVIpL2RlYnVnLwohICAg
ICBDRkxBR1MgKz0gL01UCiEgICAgIENDRkxBR1MgKz0gL01UCiEgICAgIE5BTl9ERVBFTkQgPSB0
cnVlCiEgICAgIE9QRU5HTF9IRUFERVJTID0gLgohICAgICBDUFBGTEFHUyArPSAtRFdJTjMyIC1E
X1dJTjMyIC1EX19XSU4zMgohICAgICBDUFBGTEFHUyArPSAtRF9NX0lYODYKISAgICAgQ1BQRkxB
R1MgKz0gLUkiL2N5Z2RyaXZlL2MvUHJvZ3JhbSBGaWxlcy9NaWNyb3NvZnQgVmlzdWFsIFN0dWRp
by9WQzk4L2luY2x1ZGUiCiEgICAgIEpBVkFfSEVBREVSUyA9IC9jeWdkcml2ZS9jL2oyc2RrMS40
LjAtYmV0YTMvaW5jbHVkZQohICAgICBKQVZBX1NZU1RFTV9IRUFERVJTID0gL2N5Z2RyaXZlL2Mv
ajJzZGsxLjQuMC1iZXRhMy9pbmNsdWRlL3dpbjMyCiEgICAgIENQUCA9ICQoU1JDSE9NRSkvdG9v
bHMvY3lnd2luL2NsX3dyYXBwZXIucGwKISAgICAgQVIgPSBhcgohICAgICBBUkZMQUdTID0gcnV2
CiEgICAgIEFSRkxBR1NRVUlFVCA9IHJ1CiEgICAgIFdJTlJDID0gJCh3aWxkY2FyZCAqLnJjKQog
IGVuZGlmCiAgCiAgaWZlcSAoZGVidWcsICQoZmluZHN0cmluZyBkZWJ1ZywgJChNQUtFQ01ER09B
TFMpKSkKLS0tIDE3NCwyMTkgLS0tLQogIGVuZGlmCiAgCiAgaWZlcSAoJChPUyksd2luZG93cykK
ISAJaWZlcSAoJChGUkVFX1dJTkRPV1MpLHRydWUpCiEgCQlDQyAgPSBnY2MKISAJCUNDQyA9IGcr
KwohIAkJQ0ZMQUdTICs9IC1waXBlIC1tbm8tY3lnd2luIC1td2luZG93cwohIAkJQ0NGTEFHUyAr
PSAtcGlwZSAtbW5vLWN5Z3dpbiAtbXdpbmRvd3MKISAJCUNQUEZMQUdTICs9IC1ERlJFRV9XSU5E
T1dTCiEgCQlDUFBGTEFHUyArPSAtSS91c3IvaW5jbHVkZS9taW5ndwohIAkJUkVMX0NGTEFHUyAr
PSAtTzIKISAJCVJFTF9DQ0ZMQUdTICs9IC1PMgohIAkJI05BTl9ERVBFTkQgPSB0cnVlCiEgCQlP
UEVOR0xfSEVBREVSUyA9IC91c3IvaW5jbHVkZS93MzJhcGkKISAJCUFSID0gYXIKISAJCUFSRkxB
R1MgPSBydXYKISAJCUFSRkxBR1NRVUlFVCA9IHJ1CiEgCQlXSU5SQyA9ICQod2lsZGNhcmQgKi5y
YykJCiEgCQlSQU5MSUIgPSByYW5saWIKISAJZWxzZQohIAkgICAgQ0MJPSAkKFNSQ0hPTUUpL3Rv
b2xzL2N5Z3dpbi9jbF93cmFwcGVyLnBsCiEgCQlDQ0MgPSAkKFNSQ0hPTUUpL3Rvb2xzL2N5Z3dp
bi9jbF93cmFwcGVyLnBsCiEgCSAgICBKQVZBQyA9ICQoU1JDSE9NRSkvdG9vbHMvY3lnd2luL2ph
dmFfd3JhcHBlci5wbCAtYwohIAkgICAgSkFWQUggPSAkKFNSQ0hPTUUpL3Rvb2xzL2N5Z3dpbi9q
YXZhX3dyYXBwZXIucGwgLWgKISAJCVJFTF9DRkxBR1MJKz0gL08yCiEgCSAgICBSRUxfQ0NGTEFH
UyArPSAvTzIgLUdYCiEgCQlEQkdfQ0ZMQUdTCSs9IC9GZCQoRElSKS9kZWJ1Zy8KISAJCURCR19D
Q0ZMQUdTICs9IC9GZCQoRElSKS9kZWJ1Zy8KISAJCUNGTEFHUyArPSAvTVQKISAJCUNDRkxBR1Mg
Kz0gL01UCiEgCQlOQU5fREVQRU5EID0gdHJ1ZQohIAkJT1BFTkdMX0hFQURFUlMgPSAuCiEgCQlD
UFBGTEFHUyArPSAtRFdJTjMyIC1EX1dJTjMyIC1EX19XSU4zMgohIAkJQ1BQRkxBR1MgKz0gLURf
TV9JWDg2CiEgCQlDUFBGTEFHUyArPSAtSSIvY3lnZHJpdmUvYy9Qcm9ncmFtIEZpbGVzL01pY3Jv
c29mdCBWaXN1YWwgU3R1ZGlvL1ZDOTgvaW5jbHVkZSIKISAJCUpBVkFfSEVBREVSUyA9IC9jeWdk
cml2ZS9jL2oyc2RrMS40LjAtYmV0YTMvaW5jbHVkZQohIAkJSkFWQV9TWVNURU1fSEVBREVSUyA9
IC9jeWdkcml2ZS9jL2oyc2RrMS40LjAtYmV0YTMvaW5jbHVkZS93aW4zMgohIAkJQ1BQID0gJChT
UkNIT01FKS90b29scy9jeWd3aW4vY2xfd3JhcHBlci5wbAohIAkJQVIgPSBhcgohIAkJQVJGTEFH
UyA9IHJ1dgohIAkJQVJGTEFHU1FVSUVUID0gcnUKISAJCVdJTlJDID0gJCh3aWxkY2FyZCAqLnJj
KQohIAllbmRpZgogIGVuZGlmCiAgCiAgaWZlcSAoZGVidWcsICQoZmluZHN0cmluZyBkZWJ1Zywg
JChNQUtFQ01ER09BTFMpKSkKKioqKioqKioqKioqKioqCioqKiAyNDUsMjUyICoqKioKLS0tIDI2
MywyNzcgLS0tLQogIAkkKENDQykgLWMgJChDQ0ZMQUdTKSAkKENQUEZMQUdTKSAkPCAtbyAkQAog
ICAgICBlbmRpZgogIAorICMkKERJUikvJChERUJVR19ESVIpJS5yZXM6ICUucmMKKyAjCSQoU1JD
SE9NRSkvdG9vbHMvY3lnd2luL2NsX3dyYXBwZXIucGwgLSByYyAvZm8kQCAkPAorIAogICQoRElS
KS8kKERFQlVHX0RJUiklLnJlczogJS5yYworIGlmZXEgKCQoRlJFRV9XSU5ET1dTKSx0cnVlKQor
IAl3aW5kcmVzICQ8IC1PIGNvZmYgLW8gJEAKKyBlbHNlCiAgCSQoU1JDSE9NRSkvdG9vbHMvY3ln
d2luL2NsX3dyYXBwZXIucGwgLSByYyAvZm8kQCAkPAorIGVuZGlmCiAgCiAgJChESVIpLyQoREVC
VUdfRElSKSUuY2xhc3M6ICUuamF2YQogICAgICBpZmRlZiBKQVJTCkluZGV4OiBzb3VyY2UvbmFu
X2RlZmluaXRpb25zLm1rCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIv
YmxlbmRlci9zb3VyY2UvbmFuX2RlZmluaXRpb25zLm1rLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjM3CmRpZmYgLWMgLXIxLjM3IG5hbl9kZWZpbml0aW9ucy5tawoqKiogc291cmNlL25hbl9kZWZp
bml0aW9ucy5tawkxMSBNYXkgMjAwMyAxODoxNzowMCAtMDAwMAkxLjM3Ci0tLSBzb3VyY2UvbmFu
X2RlZmluaXRpb25zLm1rCTEyIE1heSAyMDAzIDE3OjIzOjI3IC0wMDAwCioqKioqKioqKioqKioq
KgoqKiogMzc5LDM4NSAqKioqCiAgICAgIGV4cG9ydCBOQU5fUFlUSE9OID89ICQoTENHRElSKS9w
eXRob24KICAgICAgZXhwb3J0IE5BTl9JQ09OViA/PSAkKExDR0RJUikvaWNvbnYKICAgICAgZXhw
b3J0IE5BTl9QWVRIT05fVkVSU0lPTiA/PSAyLjIKISAgICAgZXhwb3J0IE5BTl9QWVRIT05fQklO
QVJZID89IHB5dGhvbgogICAgICBleHBvcnQgTkFOX01YVEVYVFRPT0xTID89ICQoc2hlbGwgJChO
QU5fUFlUSE9OX0JJTkFSWSkgLWMgXAogIAknaW1wb3J0IG14OyBwcmludCBteC5fX3BhdGhfX1sw
XScpL1RleHRUb29scy9teFRleHRUb29scy9teFRleHRUb29scy5zbwogICAgICBleHBvcnQgTkFO
X09QRU5BTCA/PSAkKExDR0RJUikvb3BlbmFsCi0tLSAzNzksMzg5IC0tLS0KICAgICAgZXhwb3J0
IE5BTl9QWVRIT04gPz0gJChMQ0dESVIpL3B5dGhvbgogICAgICBleHBvcnQgTkFOX0lDT05WID89
ICQoTENHRElSKS9pY29udgogICAgICBleHBvcnQgTkFOX1BZVEhPTl9WRVJTSU9OID89IDIuMgoh
IAlpZmVxICgkKEZSRUVfV0lORE9XUyksIHRydWUpCiEgCQlleHBvcnQgTkFOX1BZVEhPTl9CSU5B
UlkgPz0gJChOQU5fUFlUSE9OKS9iaW4vcHl0aG9uJChOQU5fUFlUSE9OX1ZFUlNJT04pCiEgCWVs
c2UKISAJCWV4cG9ydCBOQU5fUFlUSE9OX0JJTkFSWSA/PSBweXRob24KISAJZW5kaWYKICAgICAg
ZXhwb3J0IE5BTl9NWFRFWFRUT09MUyA/PSAkKHNoZWxsICQoTkFOX1BZVEhPTl9CSU5BUlkpIC1j
IFwKICAJJ2ltcG9ydCBteDsgcHJpbnQgbXguX19wYXRoX19bMF0nKS9UZXh0VG9vbHMvbXhUZXh0
VG9vbHMvbXhUZXh0VG9vbHMuc28KICAgICAgZXhwb3J0IE5BTl9PUEVOQUwgPz0gJChMQ0dESVIp
L29wZW5hbAoqKioqKioqKioqKioqKioKKioqIDQwMyw0MDkgKioqKgogICAgICBleHBvcnQgTkFO
X01PWklMTEFfTElCID89ICQoTENHRElSKS9tb3ppbGxhL2xpYi8KICAgICAgIyBXaWxsIGZhbGwg
YmFjayB0byBsb29rIGluIE5BTl9NT1pJTExBX0lOQy9uc3ByIGFuZCBOQU5fTU9aSUxMQV9MSUIK
ICAgICAgIyBpZiB0aGlzIGlzIG5vdCBzZXQuCiEgCiAgICAgIGV4cG9ydCBOQU5fQlVJTERJTkZP
ID89IHRydWUKICAgICAgIyBCZSBwYXJhbm9pZCByZWdhcmRpbmcgbGlicmFyeSBjcmVhdGlvbiAo
ZG8gbm90IHVwZGF0ZSBhcmNoaXZlcykKICAgICAgZXhwb3J0IE5BTl9QQVJBTk9JRCA/PSB0cnVl
Ci0tLSA0MDcsNDEzIC0tLS0KICAgICAgZXhwb3J0IE5BTl9NT1pJTExBX0xJQiA/PSAkKExDR0RJ
UikvbW96aWxsYS9saWIvCiAgICAgICMgV2lsbCBmYWxsIGJhY2sgdG8gbG9vayBpbiBOQU5fTU9a
SUxMQV9JTkMvbnNwciBhbmQgTkFOX01PWklMTEFfTElCCiAgICAgICMgaWYgdGhpcyBpcyBub3Qg
c2V0LgohIGV4cG9ydCBOQU5fUFlUSE9OX0JJTkFSWSA/PSBweXRob24KICAgICAgZXhwb3J0IE5B
Tl9CVUlMRElORk8gPz0gdHJ1ZQogICAgICAjIEJlIHBhcmFub2lkIHJlZ2FyZGluZyBsaWJyYXJ5
IGNyZWF0aW9uIChkbyBub3QgdXBkYXRlIGFyY2hpdmVzKQogICAgICBleHBvcnQgTkFOX1BBUkFO
T0lEID89IHRydWUKKioqKioqKioqKioqKioqCioqKiA0MjEsNDI3ICoqKioKICAKICAgICAgZXhw
b3J0IE5BTl9QWVRIT04gPz0gJChMQ0dESVIpL3B5dGhvbgogICAgICBleHBvcnQgTkFOX1BZVEhP
Tl9WRVJTSU9OID89IDIuMAohICAgICBleHBvcnQgTkFOX1BZVEhPTl9CSU5BUlkgPz0gJChOQU5f
UFlUSE9OKS9iaW4vcHl0aG9uJChOQU5fUFlUSE9OX1ZFUlNJT04pCiAgICAgIGV4cG9ydCBOQU5f
TVhURVhUVE9PTFMgPz0gJChzaGVsbCAkKE5BTl9QWVRIT05fQklOQVJZKSAtYyBcCiAgCSdpbXBv
cnQgbXg7IHByaW50IG14Ll9fcGF0aF9fWzBdJykvVGV4dFRvb2xzL214VGV4dFRvb2xzL214VGV4
dFRvb2xzLnNvCiAgICAgIGV4cG9ydCBOQU5fT1BFTkFMID89ICQoTENHRElSKS9vcGVuYWwKLS0t
IDQyNSw0MzEgLS0tLQogIAogICAgICBleHBvcnQgTkFOX1BZVEhPTiA/PSAkKExDR0RJUikvcHl0
aG9uCiAgICAgIGV4cG9ydCBOQU5fUFlUSE9OX1ZFUlNJT04gPz0gMi4wCiEgCWV4cG9ydCBOQU5f
UFlUSE9OX0JJTkFSWSA/PSBweXRob24KICAgICAgZXhwb3J0IE5BTl9NWFRFWFRUT09MUyA/PSAk
KHNoZWxsICQoTkFOX1BZVEhPTl9CSU5BUlkpIC1jIFwKICAJJ2ltcG9ydCBteDsgcHJpbnQgbXgu
X19wYXRoX19bMF0nKS9UZXh0VG9vbHMvbXhUZXh0VG9vbHMvbXhUZXh0VG9vbHMuc28KICAgICAg
ZXhwb3J0IE5BTl9PUEVOQUwgPz0gJChMQ0dESVIpL29wZW5hbApJbmRleDogc291cmNlL25hbl9s
aW5rLm1rCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9z
b3VyY2UvbmFuX2xpbmsubWssdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC1jIC1yMS45
IG5hbl9saW5rLm1rCioqKiBzb3VyY2UvbmFuX2xpbmsubWsJMTEgTWF5IDIwMDMgMDA6Mjc6MjMg
LTAwMDAJMS45Ci0tLSBzb3VyY2UvbmFuX2xpbmsubWsJMTIgTWF5IDIwMDMgMTc6MjM6MjcgLTAw
MDAKKioqKioqKioqKioqKioqCioqKiA1OSw2NSAqKioqCiAgICAgIExMSUJTICAgICs9IC1sR0xV
IC1sR0wKICAgICAgTExJQlMgICAgKz0gLWx6IC1mcmFtZXdvcmsgQ2FyYm9uIC1mcmFtZXdvcmsg
QUdMCiAgICAgIGlmZXEgKCQoV0lUSF9RVUlDS1RJTUUpLCB0cnVlKQohICAgICAgICAgTExJQlMg
Kz0gLWZyYW1ld29yayBRdWlja1RpbWUKICAgICAgZW5kaWYKICAgICAgTERGTEFHUyArPSAtTC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvTGlicmFyaWVzCiAgICAg
IERCR19MREZMQUdTICs9IC1ML1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1l
d29yay9MaWJyYXJpZXMKLS0tIDU5LDY1IC0tLS0KICAgICAgTExJQlMgICAgKz0gLWxHTFUgLWxH
TAogICAgICBMTElCUyAgICArPSAtbHogLWZyYW1ld29yayBDYXJib24gLWZyYW1ld29yayBBR0wK
ICAgICAgaWZlcSAoJChXSVRIX1FVSUNLVElNRSksIHRydWUpCiEgCQlMTElCUyArPSAtZnJhbWV3
b3JrIFF1aWNrVGltZQogICAgICBlbmRpZgogICAgICBMREZMQUdTICs9IC1ML1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1ld29yay9MaWJyYXJpZXMKICAgICAgREJHX0xERkxB
R1MgKz0gLUwvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL0xpYnJh
cmllcwoqKioqKioqKioqKioqKioKKioqIDEyOCwxNDYgKioqKgogIGlmZXEgKCQoT1MpLHdpbmRv
d3MpCiAgICAgIEVYVCA9IC5leGUKICAJU09FWFQgPSAuZGxsCiEgICAgIERBREQgPSBrZXJuZWwz
Mi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYgohICAg
ICBEQUREICs9IGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGli
IHV1aWQubGliCiEgICAgIERBREQgKz0gdmZ3MzIubGliIHdpbm1tLmxpYiBvcGVuZ2wzMi5saWIg
Z2x1MzIubGliIGxhcmdlaW50LmxpYiBkeGd1aWQubGliCiEgICAgIERBREQgKz0gbGliY210Lmxp
YgohICAgICBMT1BUUyA9IC9saW5rCiEgICAgIExPUFRTICs9IC9OT0RFRkFVTFRMSUI6ImxpYmMi
IAohICAgICBMT1BUUyArPSAvTk9ERUZBVUxUTElCOiJsaWJjZCIgCiEgICAgIExPUFRTICs9IC9O
T0RFRkFVTFRMSUI6ImxpYmNwIiAKISAgICAgTE9QVFMgKz0gL05PREVGQVVMVExJQjoibGliY3Bk
IiAKISAgICAgTE9QVFMgKz0gL05PREVGQVVMVExJQjoicHl0aG9uMjAiIAohICAgICBMT1BUUyAr
PSAvTk9ERUZBVUxUTElCOiJtc3ZjcnQiIAohICAgICBMT1BUUyArPSAvU1VCU1lTVEVNOkNPTlNP
TEUKISAgICAgTERGTEFHUyArPSAvTVQKISAgICAgRFlOTERGTEFHUyA9IC9MRAogIGVuZGlmCiAg
Ci0tLSAxMjgsMTUzIC0tLS0KICBpZmVxICgkKE9TKSx3aW5kb3dzKQogICAgICBFWFQgPSAuZXhl
CiAgCVNPRVhUID0gLmRsbAohIAlpZmVxICgkKEZSRUVfV0lORE9XUyksdHJ1ZSkKISAJCU1JTkdX
TElCID0gL3Vzci9saWIvdzMyYXBpCiEgCQlMREZMQUdTICs9IC1td2luZG93cyAtbW5vLWN5Z3dp
biAtbWNvbnNvbGUKISAJCURBREQgKz0gLUwvdXNyL2xpYi93MzJhcGkgLWxuZXRhcGkzMiAtbG9w
ZW5nbDMyIC1sZ2x1MzIKISAJCURBREQgKz0gLUwvdXNyL2xpYi93MzJhcGkgCiEgICAgIGVsc2UK
ISAJICAgIERBREQgPSBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wu
bGliIGNvbWRsZzMyLmxpYgohIAkJREFERCArPSBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xl
MzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYgohIAkgICAgREFERCArPSB2ZnczMi5saWIgd2lu
bW0ubGliIG9wZW5nbDMyLmxpYiBnbHUzMi5saWIgbGFyZ2VpbnQubGliIGR4Z3VpZC5saWIKISAJ
CURBREQgKz0gbGliY210LmxpYgohIAkJTE9QVFMgPSAvbGluawohIAkJTE9QVFMgKz0gL05PREVG
QVVMVExJQjoibGliYyIgCiEgCQlMT1BUUyArPSAvTk9ERUZBVUxUTElCOiJsaWJjZCIgCiEgCQlM
T1BUUyArPSAvTk9ERUZBVUxUTElCOiJsaWJjcCIgCiEgCQlMT1BUUyArPSAvTk9ERUZBVUxUTElC
OiJsaWJjcGQiIAohIAkJTE9QVFMgKz0gL05PREVGQVVMVExJQjoicHl0aG9uMjAiIAohIAkJTE9Q
VFMgKz0gL05PREVGQVVMVExJQjoibXN2Y3J0IiAKISAJCUxPUFRTICs9IC9TVUJTWVNURU06Q09O
U09MRQohIAkJTERGTEFHUyArPSAvTVQKISAJCURZTkxERkxBR1MgPSAvTEQKISAJZW5kaWYKICBl
bmRpZgogIApJbmRleDogc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfc3RvcmFnZV90eXBlcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2Uv
YmxlbmRlci9ibGVubGliL0JMSV9zdG9yYWdlX3R5cGVzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuNQpkaWZmIC1jIC1yMS41IEJMSV9zdG9yYWdlX3R5cGVzLmgKKioqIHNvdXJjZS9ibGVuZGVy
L2JsZW5saWIvQkxJX3N0b3JhZ2VfdHlwZXMuaAkyNyBEZWMgMjAwMiAxMzoxMDoxMiAtMDAwMAkx
LjUKLS0tIHNvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3N0b3JhZ2VfdHlwZXMuaAkxMiBNYXkg
MjAwMyAxNzoyMzoyNyAtMDAwMAoqKioqKioqKioqKioqKioKKioqIDQ4LDU0ICoqKioKICAJY2hh
cglmaWxsW0hEUlNJWkUtTkFNU0laRS0yKnNpemVvZih1bnNpZ25lZCBpbnQpXTsKICB9OwogIAoh
ICNpZmRlZiBXSU4zMgogIHR5cGVkZWYgdW5zaWduZWQgaW50IG1vZGVfdDsKICAjZW5kaWYKICAK
LS0tIDQ4LDU0IC0tLS0KICAJY2hhcglmaWxsW0hEUlNJWkUtTkFNU0laRS0yKnNpemVvZih1bnNp
Z25lZCBpbnQpXTsKICB9OwogIAohICNpZiBkZWZpbmVkKFdJTjMyKSAmJiAhZGVmaW5lZChGUkVF
X1dJTkRPV1MpCiAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgbW9kZV90OwogICNlbmRpZgogIApJbmRl
eDogc291cmNlL2JsZW5kZXIvYmxlbmxpYi9CTElfd2luc3R1ZmYuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIvc291cmNlL2JsZW5kZXIvYmxlbmxpYi9C
TElfd2luc3R1ZmYuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42CmRpZmYgLWMgLXIxLjYgQkxJ
X3dpbnN0dWZmLmgKKioqIHNvdXJjZS9ibGVuZGVyL2JsZW5saWIvQkxJX3dpbnN0dWZmLmgJMjcg
RGVjIDIwMDIgMTM6MTA6MTIgLTAwMDAJMS42Ci0tLSBzb3VyY2UvYmxlbmRlci9ibGVubGliL0JM
SV93aW5zdHVmZi5oCTEyIE1heSAyMDAzIDE3OjIzOjI4IC0wMDAwCioqKioqKioqKioqKioqKgoq
KiogNjksNzUgKioqKgotLS0gNjksNzcgLS0tLQogICNkZWZpbmUgU19JU0RJUih4KSAoKHgmU19J
Rk1UKSA9PSBTX0lGRElSKQogICNlbmRpZgogIAorICNpZm5kZWYgRlJFRV9XSU5ET1dTCiAgdHlw
ZWRlZiB1bnNpZ25lZCBpbnQgbW9kZV90OworICNlbmRpZgogIAogIHN0cnVjdCBkaXJlbnQgewog
IAlpbnQgZF9pbm87CioqKioqKioqKioqKioqKgoqKiogOTEsOTggKioqKgotLS0gOTMsMTAyIC0t
LS0KICB9IERJUjsKICAKICB2b2lkIFJlZ2lzdGVyQmxlbmRFeHRlbnNpb24oY2hhciAqIHN0cik7
CisgI2lmbmRlZiBGUkVFX1dJTkRPV1MKICBpbnQgc3RyY2FzZWNtcCAoY2hhciAqczEsIGNoYXIg
KnMyKTsKICBpbnQgc3RybmNhc2VjbXAgKGNoYXIgKnMxLCBjaGFyICpzMiwgaW50IG4pOworICNl
bmRpZgogIERJUiAqb3BlbmRpciAoY29uc3QgY2hhciAqcGF0aCk7CiAgc3RydWN0IGRpcmVudCAq
cmVhZGRpcihESVIgKmRwKTsKICBpbnQgY2xvc2VkaXIgKERJUiAqZHApOwpJbmRleDogc291cmNl
L2JsZW5kZXIvYmxlbmxpYi9pbnRlcm4vcmFuZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNy
b290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvYmxlbmRlci9ibGVubGliL2ludGVybi9yYW5k
LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC1jIC1yMS4zIHJhbmQuYwoqKiogc291
cmNlL2JsZW5kZXIvYmxlbmxpYi9pbnRlcm4vcmFuZC5jCTI1IE5vdiAyMDAyIDEyOjAxOjU1IC0w
MDAwCTEuMwotLS0gc291cmNlL2JsZW5kZXIvYmxlbmxpYi9pbnRlcm4vcmFuZC5jCTEyIE1heSAy
MDAzIDE3OjIzOjI4IC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMzYsNDIgKioqKgogICNpbmNs
dWRlIDxjb25maWcuaD4KICAjZW5kaWYKICAKISAjaWZkZWYgV0lOMzIKICB0eXBlZGVmIHVuc2ln
bmVkIF9faW50NjQJcl91aW50NjQ7CiAgI2Vsc2UKICB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9u
ZwlyX3VpbnQ2NDsKLS0tIDM2LDQyIC0tLS0KICAjaW5jbHVkZSA8Y29uZmlnLmg+CiAgI2VuZGlm
CiAgCiEgI2lmIGRlZmluZWQoV0lOMzIpICYmICFkZWZpbmVkKEZSRUVfV0lORE9XUykKICB0eXBl
ZGVmIHVuc2lnbmVkIF9faW50NjQJcl91aW50NjQ7CiAgI2Vsc2UKICB0eXBlZGVmIHVuc2lnbmVk
IGxvbmcgbG9uZwlyX3VpbnQ2NDsKSW5kZXg6IHNvdXJjZS9ibGVuZGVyL2JsZW5saWIvaW50ZXJu
L3dpbnN0dWZmLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvYmYtYmxlbmRlci9ibGVu
ZGVyL3NvdXJjZS9ibGVuZGVyL2JsZW5saWIvaW50ZXJuL3dpbnN0dWZmLmMsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMwpkaWZmIC1jIC1yMS4zIHdpbnN0dWZmLmMKKioqIHNvdXJjZS9ibGVuZGVy
L2JsZW5saWIvaW50ZXJuL3dpbnN0dWZmLmMJMjUgTm92IDIwMDIgMTI6MDE6NTUgLTAwMDAJMS4z
Ci0tLSBzb3VyY2UvYmxlbmRlci9ibGVubGliL2ludGVybi93aW5zdHVmZi5jCTEyIE1heSAyMDAz
IDE3OjIzOjI4IC0wMDAwCioqKioqKioqKioqKioqKgoqKiogOTYsMTAxICoqKioKLS0tIDk2LDEw
MiAtLS0tCiAgCX0KICB9CiAgCisgI2lmbmRlZiBGUkVFX1dJTkRPV1MKICBpbnQgc3RyY2FzZWNt
cCAoY2hhciAqczEsIGNoYXIgKnMyKSB7CiAgCWNoYXIgKnN0MSwgKnN0MjsKICAJaW50IHI7Cioq
KioqKioqKioqKioqKgoqKiogMTM2LDE0MSAqKioqCi0tLSAxMzcsMTQzIC0tLS0KICAKICAJcmV0
dXJuIHI7CQogIH0KKyAjZW5kaWYKICAKICBESVIgKm9wZW5kaXIgKGNvbnN0IGNoYXIgKnBhdGgp
IHsKICAJaWYgKEdldEZpbGVBdHRyaWJ1dGVzKHBhdGgpICYgRklMRV9BVFRSSUJVVEVfRElSRUNU
T1JZKSB7CkluZGV4OiBzb3VyY2UvYmxlbmRlci9ibGVubG9hZGVyL2ludGVybi9nZW5maWxlLmMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvYmYtYmxlbmRlci9ibGVuZGVyL3NvdXJjZS9i
bGVuZGVyL2JsZW5sb2FkZXIvaW50ZXJuL2dlbmZpbGUuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS41CmRpZmYgLWMgLXIxLjUgZ2VuZmlsZS5jCioqKiBzb3VyY2UvYmxlbmRlci9ibGVubG9hZGVy
L2ludGVybi9nZW5maWxlLmMJMjcgQXByIDIwMDMgMTE6NTU6MDcgLTAwMDAJMS41Ci0tLSBzb3Vy
Y2UvYmxlbmRlci9ibGVubG9hZGVyL2ludGVybi9nZW5maWxlLmMJMTIgTWF5IDIwMDMgMTc6MjM6
MzAgLTAwMDAKKioqKioqKioqKioqKioqCioqKiA2MSw2NiAqKioqCi0tLSA2MSw2OSAtLS0tCiAg
CiAgI2luY2x1ZGUgImdlbmZpbGUuaCIKICAKKyAjaWZkZWYgRlJFRV9XSU5ET1dTCisgdHlwZWRl
ZiBsb25nIGxvbmcgX19pbnQ2NDsKKyAjZW5kaWYKICAKICAvKgogICAqIC0gcGxlYXNlIG5vdGU6
IG5vIGJ1aWx0aW4gc2VjdXJpdHkgdG8gZGV0ZWN0IGlucHV0IG9mIGRvdWJsZSBzdHJ1Y3RzCklu
ZGV4OiBzb3VyY2UvYmxlbmRlci9ibGVubG9hZGVyL2ludGVybi9yZWFkZmlsZS5jCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvYmxlbmRlci9i
bGVubG9hZGVyL2ludGVybi9yZWFkZmlsZS5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjgKZGlm
ZiAtYyAtcjEuOCByZWFkZmlsZS5jCioqKiBzb3VyY2UvYmxlbmRlci9ibGVubG9hZGVyL2ludGVy
bi9yZWFkZmlsZS5jCTI2IEFwciAyMDAzIDE4OjAxOjAxIC0wMDAwCTEuOAotLS0gc291cmNlL2Js
ZW5kZXIvYmxlbmxvYWRlci9pbnRlcm4vcmVhZGZpbGUuYwkxMiBNYXkgMjAwMyAxNzoyMzozNyAt
MDAwMAoqKioqKioqKioqKioqKioKKioqIDQ5OCw1MDQgKioqKgogIHN0YXRpYyB2b2lkIGJoNF9m
cm9tX2JoOChCSGVhZCAqYmhlYWQsIEJIZWFkOCAqYmhlYWQ4LCBpbnQgZG9fZW5kaWFuX3N3YXAp
CiAgewogIAlCSGVhZDQgKmJoZWFkNCA9IChCSGVhZDQgKikgYmhlYWQ7CiEgI2lmZGVmIFdJTjMy
CiAgCV9faW50NjQgb2xkOwogICNlbHNlCiAgCWxvbmcgbG9uZyBvbGQ7Ci0tLSA0OTgsNTA0IC0t
LS0KICBzdGF0aWMgdm9pZCBiaDRfZnJvbV9iaDgoQkhlYWQgKmJoZWFkLCBCSGVhZDggKmJoZWFk
OCwgaW50IGRvX2VuZGlhbl9zd2FwKQogIHsKICAJQkhlYWQ0ICpiaGVhZDQgPSAoQkhlYWQ0ICop
IGJoZWFkOwohICNpZiBkZWZpbmVkKFdJTjMyKSAmJiAhZGVmaW5lZChGUkVFX1dJTkRPV1MpCiAg
CV9faW50NjQgb2xkOwogICNlbHNlCiAgCWxvbmcgbG9uZyBvbGQ7CioqKioqKioqKioqKioqKgoq
KiogMTA1MiwxMDU4ICoqKioKICAKICBzdGF0aWMgdm9pZCB0ZXN0X3BvaW50ZXJfYXJyYXkoRmls
ZURhdGEgKmZkLCB2b2lkICoqbWF0KQogIHsKISAjaWZkZWYgV0lOMzIKICAJX19pbnQ2NCAqbHBv
aW4sICpsbWF0OwogICNlbHNlCiAgCWxvbmcgbG9uZyAqbHBvaW4sICpsbWF0OwotLS0gMTA1Miwx
MDU4IC0tLS0KICAKICBzdGF0aWMgdm9pZCB0ZXN0X3BvaW50ZXJfYXJyYXkoRmlsZURhdGEgKmZk
LCB2b2lkICoqbWF0KQogIHsKISAjaWYgZGVmaW5lZChXSU4zMikgJiYgIWRlZmluZWQoRlJFRV9X
SU5ET1dTKQogIAlfX2ludDY0ICpscG9pbiwgKmxtYXQ7CiAgI2Vsc2UKICAJbG9uZyBsb25nICps
cG9pbiwgKmxtYXQ7CkluZGV4OiBzb3VyY2UvYmxlbmRlci9kZWNyeXB0L0JMT19lbl9kZV9jcnlw
dEhlYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRl
ci9zb3VyY2UvYmxlbmRlci9kZWNyeXB0L0JMT19lbl9kZV9jcnlwdEhlYWRlci5oLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjUKZGlmZiAtYyAtcjEuNSBCTE9fZW5fZGVfY3J5cHRIZWFkZXIuaAoq
Kiogc291cmNlL2JsZW5kZXIvZGVjcnlwdC9CTE9fZW5fZGVfY3J5cHRIZWFkZXIuaAkyNyBEZWMg
MjAwMiAxMzoxMDoxNyAtMDAwMAkxLjUKLS0tIHNvdXJjZS9ibGVuZGVyL2RlY3J5cHQvQkxPX2Vu
X2RlX2NyeXB0SGVhZGVyLmgJMTIgTWF5IDIwMDMgMTc6MjM6MzcgLTAwMDAKKioqKioqKioqKioq
KioqCioqKiA0MCw0NSAqKioqCi0tLSA0MCw0OSAtLS0tCiAgCiAgI2luY2x1ZGUgIkJMT19zeXNf
dHlwZXMuaCIKICAKKyAjaWZkZWYgRlJFRV9XSU5ET1dTCisgdHlwZWRlZiBpbnQgaW50MzJfdDsK
KyAjZW5kaWYKKyAJCiAgI2RlZmluZSBFTl9ERV9DUllQVEhFQURFUlNUUlVDVFNJWkUgc2l6ZW9m
KHN0cnVjdCBCTE9fZW5fZGVfY3J5cHRIZWFkZXJTdHJ1Y3QpCiAgCiAgLy8gVGVzdHMgc2hvd2Vk
OiBwdWJLZXlMZW4gNjQsIGNyeXB0ZWRLZXlMZW4gNjQgYnl0ZXMKSW5kZXg6IHNvdXJjZS9ibGVu
ZGVyL2VuY3J5cHQvaW50ZXJuL0JMT19lbmNyeXB0LmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
c3Jvb3QvYmYtYmxlbmRlci9ibGVuZGVyL3NvdXJjZS9ibGVuZGVyL2VuY3J5cHQvaW50ZXJuL0JM
T19lbmNyeXB0LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC1jIC1yMS4zIEJMT19l
bmNyeXB0LmMKKioqIHNvdXJjZS9ibGVuZGVyL2VuY3J5cHQvaW50ZXJuL0JMT19lbmNyeXB0LmMJ
MjUgTm92IDIwMDIgMTI6MDE6NTkgLTAwMDAJMS4zCi0tLSBzb3VyY2UvYmxlbmRlci9lbmNyeXB0
L2ludGVybi9CTE9fZW5jcnlwdC5jCTEyIE1heSAyMDAzIDE3OjIzOjM4IC0wMDAwCioqKioqKioq
KioqKioqKgoqKiogOTEsOTcgKioqKgotLS0gOTEsOTkgLS0tLQogIAl9CiAgCiAgI2lmZGVmIF9X
SU4zMgorICNpZm5kZWYgRlJFRV9XSU5ET1dTCiAgCVJBTkRfc2NyZWVuKCk7CisgI2VuZGlmCiAg
I2VuZGlmCiAgCVJBTkRfYnl0ZXMoY3J5cHRLZXksIGNyeXB0S2V5TGVuKTsKICAKSW5kZXg6IHNv
dXJjZS9ibGVuZGVyL21ha2VzZG5hL0ROQV9zZG5hX3R5cGVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2c3Jvb3QvYmYtYmxlbmRlci9ibGVuZGVyL3NvdXJjZS9ibGVuZGVyL21ha2VzZG5hL0RO
QV9zZG5hX3R5cGVzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZmIC1jIC1yMS42IERO
QV9zZG5hX3R5cGVzLmgKKioqIHNvdXJjZS9ibGVuZGVyL21ha2VzZG5hL0ROQV9zZG5hX3R5cGVz
LmgJMjcgRGVjIDIwMDIgMjE6MTQ6MzIgLTAwMDAJMS42Ci0tLSBzb3VyY2UvYmxlbmRlci9tYWtl
c2RuYS9ETkFfc2RuYV90eXBlcy5oCTEyIE1heSAyMDAzIDE3OjIzOjM5IC0wMDAwCioqKioqKioq
KioqKioqKgoqKiogNzAsNzYgKioqKgogICMKICB0eXBlZGVmIHN0cnVjdCBCSGVhZDggewogIAlp
bnQgY29kZSwgbGVuOwohICNpZmRlZiBXSU4zMgogIAkvKiBUaGlzIGlzIGEgY29tcGlsZXIgdHlw
ZSEgKi8KICAJX19pbnQ2NCBvbGQ7CiAgI2Vsc2UKLS0tIDcwLDc2IC0tLS0KICAjCiAgdHlwZWRl
ZiBzdHJ1Y3QgQkhlYWQ4IHsKICAJaW50IGNvZGUsIGxlbjsKISAjaWYgZGVmaW5lZChXSU4zMikg
JiYgIWRlZmluZWQoRlJFRV9XSU5ET1dTKQogIAkvKiBUaGlzIGlzIGEgY29tcGlsZXIgdHlwZSEg
Ki8KICAJX19pbnQ2NCBvbGQ7CiAgI2Vsc2UKSW5kZXg6IHNvdXJjZS9ibGVuZGVyL21ha2VzZG5h
L2ludGVybi9NYWtlZmlsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVy
L2JsZW5kZXIvc291cmNlL2JsZW5kZXIvbWFrZXNkbmEvaW50ZXJuL01ha2VmaWxlLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjIKZGlmZiAtYyAtcjEuMiBNYWtlZmlsZQoqKiogc291cmNlL2JsZW5k
ZXIvbWFrZXNkbmEvaW50ZXJuL01ha2VmaWxlCTEzIE9jdCAyMDAyIDE1OjU3OjA3IC0wMDAwCTEu
MgotLS0gc291cmNlL2JsZW5kZXIvbWFrZXNkbmEvaW50ZXJuL01ha2VmaWxlCTEyIE1heSAyMDAz
IDE3OjIzOjM5IC0wMDAwCioqKioqKioqKioqKioqKgoqKiogNTQsNjMgKioqKgogICAgICAjIF9y
ZWFsbHlfIG5lZWRlZCwgYnV0IGl0IGlzIHRoZSBlYXNpZXN0IGZpeCBmb3Igbm93LiBJZiB5b3Ug
aGF2ZSAKICAgICAgIyBzb21lIHNwYXJlIHRpbWUsIHRyeSB0byB0cmFjZSBkb3duIHRoZSBleGFj
dCBkZXAuIFRoZW4gYWdhaW4sIHlvdSAKICAgICAgIyBjb3VsZCBhbHNvIHNwZW5kIHRoYXQgdGlt
ZSBtYWtpbmcgdGhlIHNkbmEgc3lzdGVtIG1vcmUgcm9idXN0LgohICAgICBXSU5MSUJTID0ga2Vy
bmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIK
ISAgICAgV0lOTElCUyArPQlhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1
dDMyLmxpYiB1dWlkLmxpYgohICAgICBXSU5MSUJTICs9CXdpbm1tLmxpYiBvcGVuZ2wzMi5saWIg
Z2x1MzIubGliIGxhcmdlaW50LmxpYgohICAgICBXSU5MSUJTICs9CS9saW5rIC9ub2RlZmF1bHRs
aWI6bGliYwogIGVuZGlmCiAgCiAgY2xlYW46OgotLS0gNTQsNjcgLS0tLQogICAgICAjIF9yZWFs
bHlfIG5lZWRlZCwgYnV0IGl0IGlzIHRoZSBlYXNpZXN0IGZpeCBmb3Igbm93LiBJZiB5b3UgaGF2
ZSAKICAgICAgIyBzb21lIHNwYXJlIHRpbWUsIHRyeSB0byB0cmFjZSBkb3duIHRoZSBleGFjdCBk
ZXAuIFRoZW4gYWdhaW4sIHlvdSAKICAgICAgIyBjb3VsZCBhbHNvIHNwZW5kIHRoYXQgdGltZSBt
YWtpbmcgdGhlIHNkbmEgc3lzdGVtIG1vcmUgcm9idXN0LgohIAlpZm5lcSAoJChGUkVFX1dJTkRP
V1MpLHRydWUpCiEgCQlXSU5MSUJTID0ga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGli
IHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIKISAJCVdJTkxJQlMgKz0JYWR2YXBpMzIubGliIHNo
ZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIKISAJCVdJTkxJQlMgKz0J
d2lubW0ubGliIG9wZW5nbDMyLmxpYiBnbHUzMi5saWIgbGFyZ2VpbnQubGliCiEgCQlXSU5MSUJT
ICs9CS9saW5rIC9ub2RlZmF1bHRsaWI6bGliYwohIAllbHNlCiEgCQlMREZMQUdTICs9IC1td2lu
ZG93cyAtbW5vLWN5Z3dpbgohIAllbmRpZgogIGVuZGlmCiAgCiAgY2xlYW46OgpJbmRleDogc291
cmNlL2JsZW5kZXIvcmVhZHN0cmVhbWdsdWUvQkxPX3N5c190eXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvYmxlbmRlci9yZWFkc3Ry
ZWFtZ2x1ZS9CTE9fc3lzX3R5cGVzLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZmIC1j
IC1yMS42IEJMT19zeXNfdHlwZXMuaAoqKiogc291cmNlL2JsZW5kZXIvcmVhZHN0cmVhbWdsdWUv
QkxPX3N5c190eXBlcy5oCTMwIEphbiAyMDAzIDE4OjUxOjA1IC0wMDAwCTEuNgotLS0gc291cmNl
L2JsZW5kZXIvcmVhZHN0cmVhbWdsdWUvQkxPX3N5c190eXBlcy5oCTEyIE1heSAyMDAzIDE3OjIz
OjQwIC0wMDAwCioqKioqKioqKioqKioqKgoqKiogNDcsNTMgKioqKgogIGV4dGVybiAiQyIgewog
ICNlbmRpZgogIAohICNpZmRlZiBfV0lOMzIKICAKICAvKiBUaGUgX19pbnRYWCBhcmUgYnVpbHQt
aW4gdHlwZXMgb2YgdGhlIHZpc3VhbCBjb21wbGllciEgU28gd2UgZG9uJ3QKICAgKiBuZWVkIHRv
IGluY2x1ZGUgYW55dGhpbmcgZWxzZSBoZXJlLiAqLwotLS0gNDcsNTggLS0tLQogIGV4dGVybiAi
QyIgewogICNlbmRpZgogIAohICNpZmRlZiBGUkVFX1dJTkRPV1MKISB0eXBlZGVmIHVuc2lnbmVk
IGNoYXIgdWludDhfdDsKISB0eXBlZGVmIHVuc2lnbmVkIGludCB1aW50MzJfdDsKISAjZW5kaWYK
ISAgCiEgI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChGUkVFX1dJTkRPV1MpCiAgCiAg
LyogVGhlIF9faW50WFggYXJlIGJ1aWx0LWluIHR5cGVzIG9mIHRoZSB2aXN1YWwgY29tcGxpZXIh
IFNvIHdlIGRvbid0CiAgICogbmVlZCB0byBpbmNsdWRlIGFueXRoaW5nIGVsc2UgaGVyZS4gKi8K
SW5kZXg6IHNvdXJjZS9ibGVuZGVyL3JlbmRlci9pbnRlcm4vc291cmNlL2luaXRyZW5kZXIuYwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIvc291cmNlL2Js
ZW5kZXIvcmVuZGVyL2ludGVybi9zb3VyY2UvaW5pdHJlbmRlci5jLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjYKZGlmZiAtYyAtcjEuNiBpbml0cmVuZGVyLmMKKioqIHNvdXJjZS9ibGVuZGVyL3Jl
bmRlci9pbnRlcm4vc291cmNlL2luaXRyZW5kZXIuYwkyOCBBcHIgMjAwMyAxMToxNzoyMSAtMDAw
MAkxLjYKLS0tIHNvdXJjZS9ibGVuZGVyL3JlbmRlci9pbnRlcm4vc291cmNlL2luaXRyZW5kZXIu
YwkxMiBNYXkgMjAwMyAxNzoyMzo0MiAtMDAwMAoqKioqKioqKioqKioqKioKKioqIDEyNTksMTI2
NSAqKioqCiAgCX0gZWxzZSBpZiAoUi5yLmltdHlwZT09Ul9NT1ZJRSkgewogIAkJc3RhcnRfbW92
aWUoKTsKICAjZW5kaWYKISAjaWZkZWYgX1dJTjMyCiAgCX0gZWxzZSBpZiAoUi5yLmltdHlwZSA9
PSBSX0FWSUNPREVDKSB7CiAgCQlzdGFydF9hdmlfY29kZWMoKTsKICAjZW5kaWYKLS0tIDEyNTks
MTI2NSAtLS0tCiAgCX0gZWxzZSBpZiAoUi5yLmltdHlwZT09Ul9NT1ZJRSkgewogIAkJc3RhcnRf
bW92aWUoKTsKICAjZW5kaWYKISAjaWYgZGVmaW5lZChfV0lOMzIpICYmICFkZWZpbmVkKEZSRUVf
V0lORE9XUykKICAJfSBlbHNlIGlmIChSLnIuaW10eXBlID09IFJfQVZJQ09ERUMpIHsKICAJCXN0
YXJ0X2F2aV9jb2RlYygpOwogICNlbmRpZgoqKioqKioqKioqKioqKioKKioqIDEyODksMTI5NSAq
KioqCiAgCQkJfSBlbHNlIGlmIChSLnIuaW10eXBlID09IFJfTU9WSUUpIHsKICAJCQkJYXBwZW5k
X21vdmllKChHLnNjZW5lLT5yLmNmcmEpKTsKICAjZW5kaWYKISAjaWZkZWYgX1dJTjMyCiAgCQkJ
fSBlbHNlIGlmIChSLnIuaW10eXBlID09IFJfQVZJQ09ERUMpIHsKICAJCQkJYXBwZW5kX2F2aV9j
b2RlYygoRy5zY2VuZS0+ci5jZnJhKSk7CiAgI2VuZGlmCi0tLSAxMjg5LDEyOTUgLS0tLQogIAkJ
CX0gZWxzZSBpZiAoUi5yLmltdHlwZSA9PSBSX01PVklFKSB7CiAgCQkJCWFwcGVuZF9tb3ZpZSgo
Ry5zY2VuZS0+ci5jZnJhKSk7CiAgI2VuZGlmCiEgI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVm
aW5lZChGUkVFX1dJTkRPV1MpCiAgCQkJfSBlbHNlIGlmIChSLnIuaW10eXBlID09IFJfQVZJQ09E
RUMpIHsKICAJCQkJYXBwZW5kX2F2aV9jb2RlYygoRy5zY2VuZS0+ci5jZnJhKSk7CiAgI2VuZGlm
CioqKioqKioqKioqKioqKgoqKiogMTMyOSwxMzM1ICoqKioKICAJfSBlbHNlIGlmIChSLnIuaW10
eXBlPT1SX01PVklFKSB7CiAgCQllbmRfbW92aWUoKTsKICAjZW5kaWYKISAjaWZkZWYgX1dJTjMy
CiAgCX0gZWxzZSBpZiAoUi5yLmltdHlwZSA9PSBSX0FWSUNPREVDKSB7CiAgCQllbmRfYXZpX2Nv
ZGVjKCk7CiAgI2VuZGlmCi0tLSAxMzI5LDEzMzUgLS0tLQogIAl9IGVsc2UgaWYgKFIuci5pbXR5
cGU9PVJfTU9WSUUpIHsKICAJCWVuZF9tb3ZpZSgpOwogICNlbmRpZgohICNpZiBkZWZpbmVkKF9X
SU4zMikgJiYgIWRlZmluZWQoRlJFRV9XSU5ET1dTKQogIAl9IGVsc2UgaWYgKFIuci5pbXR5cGUg
PT0gUl9BVklDT0RFQykgewogIAkJZW5kX2F2aV9jb2RlYygpOwogICNlbmRpZgpJbmRleDogc291
cmNlL2JsZW5kZXIvc3JjL3dyaXRlYXZpY29kZWMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
cm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIvc291cmNlL2JsZW5kZXIvc3JjL3dyaXRlYXZpY29kZWMu
Yyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44CmRpZmYgLWMgLXIxLjggd3JpdGVhdmljb2RlYy5j
CioqKiBzb3VyY2UvYmxlbmRlci9zcmMvd3JpdGVhdmljb2RlYy5jCTExIE1heSAyMDAzIDIzOjI4
OjMyIC0wMDAwCTEuOAotLS0gc291cmNlL2JsZW5kZXIvc3JjL3dyaXRlYXZpY29kZWMuYwkxMiBN
YXkgMjAwMyAxNzoyMzo0NCAtMDAwMAoqKioqKioqKioqKioqKioKKioqIDM3LDQzICoqKioKICAj
aW5jbHVkZSA8Y29uZmlnLmg+CiAgI2VuZGlmCiAgCiEgI2lmZGVmIF9XSU4zMgogIAogICNkZWZp
bmUgIElOQ19PTEUyCiAgI2luY2x1ZGUgPHdpbmRvd3MuaD4KLS0tIDM3LDQzIC0tLS0KICAjaW5j
bHVkZSA8Y29uZmlnLmg+CiAgI2VuZGlmCiAgCiEgI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVm
aW5lZChGUkVFX1dJTkRPV1MpCiAgCiAgI2RlZmluZSAgSU5DX09MRTIKICAjaW5jbHVkZSA8d2lu
ZG93cy5oPgpJbmRleDogc291cmNlL2JsZW5kZXIvdmVyaWZ5L0JMT19zaWduX3ZlcmlmeV9IZWFk
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIvc291
cmNlL2JsZW5kZXIvdmVyaWZ5L0JMT19zaWduX3ZlcmlmeV9IZWFkZXIuaCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS42CmRpZmYgLWMgLXIxLjYgQkxPX3NpZ25fdmVyaWZ5X0hlYWRlci5oCioqKiBz
b3VyY2UvYmxlbmRlci92ZXJpZnkvQkxPX3NpZ25fdmVyaWZ5X0hlYWRlci5oCTI3IERlYyAyMDAy
IDEzOjEwOjM2IC0wMDAwCTEuNgotLS0gc291cmNlL2JsZW5kZXIvdmVyaWZ5L0JMT19zaWduX3Zl
cmlmeV9IZWFkZXIuaAkxMiBNYXkgMjAwMyAxNzoyMzo0NCAtMDAwMAoqKioqKioqKioqKioqKioK
KioqIDM4LDQzICoqKioKLS0tIDM4LDQ3IC0tLS0KICBleHRlcm4gIkMiIHsKICAjZW5kaWYKICAK
KyAjaWZkZWYgRlJFRV9XSU5ET1dTCisgdHlwZWRlZiBpbnQgaW50MzJfdDsKKyAjZW5kaWYKKyAJ
CiAgI2luY2x1ZGUgIkJMT19zeXNfdHlwZXMuaCIKICAKICAjZGVmaW5lIFNJR05WRVJJRllIRUFE
RVJTVFJVQ1RTSVpFIHNpemVvZihzdHJ1Y3QgQkxPX3NpZ25fdmVyaWZ5X0hlYWRlclN0cnVjdCkK
SW5kZXg6IHNvdXJjZS9nYW1lZW5naW5lL0JsZW5kZXJSb3V0aW5lcy9LWF9CbGVuZGVySW5wdXRE
ZXZpY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIv
c291cmNlL2dhbWVlbmdpbmUvQmxlbmRlclJvdXRpbmVzL0tYX0JsZW5kZXJJbnB1dERldmljZS5o
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUKZGlmZiAtYyAtcjEuNSBLWF9CbGVuZGVySW5wdXRE
ZXZpY2UuaAoqKiogc291cmNlL2dhbWVlbmdpbmUvQmxlbmRlclJvdXRpbmVzL0tYX0JsZW5kZXJJ
bnB1dERldmljZS5oCTI3IERlYyAyMDAyIDEzOjEwOjM3IC0wMDAwCTEuNQotLS0gc291cmNlL2dh
bWVlbmdpbmUvQmxlbmRlclJvdXRpbmVzL0tYX0JsZW5kZXJJbnB1dERldmljZS5oCTEyIE1heSAy
MDAzIDE3OjIzOjQ1IC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMzYsNDYgKioqKgogICNwcmFn
bWEgd2FybmluZyhkaXNhYmxlIDogNDc4NikgIC8vIHNodXQgb2ZmIDI1NSBjaGFyIGxpbWl0IGRl
YnVnIHRlbXBsYXRlIHdhcm5pbmcKICAjZW5kaWYKICAKICAvKiBuZWVkIHRvIGJlIGhlcmUgZm9y
IGNvbnZlcnNpb24gcHVycG9zZXMgKi8KICAjaW5jbHVkZSAibXlkZXZpY2UuaCIKICAjaW5jbHVk
ZSAiU0NBX0lJbnB1dERldmljZS5oIgogIAotICNpbmNsdWRlIDxtYXA+CiAgLyoqCiAgIEJhc2Ug
Q2xhc3MgZm9yIEJsZW5kZXIgc3BlY2lmaWMgaW5wdXRkZXZpY2VzLiBCbGVuZGVyIHNwZWNpZmlj
IGlucHV0ZGV2aWNlcyBhcmUgdXNlZCB3aGVuIHRoZSBnYW1lZW5naW5lIGlzIHJ1bm5pbmcgaW4g
ZW1iZWRkZWQgbW9kZSBpbnN0ZWFkIG9mIHN0YW5kYWxvbmUgbW9kZS4KICAqLwotLS0gMzYsNTEg
LS0tLQogICNwcmFnbWEgd2FybmluZyhkaXNhYmxlIDogNDc4NikgIC8vIHNodXQgb2ZmIDI1NSBj
aGFyIGxpbWl0IGRlYnVnIHRlbXBsYXRlIHdhcm5pbmcKICAjZW5kaWYKICAKKyAjaW5jbHVkZSA8
bWFwPgorIAogIC8qIG5lZWQgdG8gYmUgaGVyZSBmb3IgY29udmVyc2lvbiBwdXJwb3NlcyAqLwor
ICNpZmRlZiBGUkVFX1dJTkRPV1MKKyAjdW5kZWYgSEtFWQorICNlbmRpZgorIAogICNpbmNsdWRl
ICJteWRldmljZS5oIgogICNpbmNsdWRlICJTQ0FfSUlucHV0RGV2aWNlLmgiCiAgCiAgLyoqCiAg
IEJhc2UgQ2xhc3MgZm9yIEJsZW5kZXIgc3BlY2lmaWMgaW5wdXRkZXZpY2VzLiBCbGVuZGVyIHNw
ZWNpZmljIGlucHV0ZGV2aWNlcyBhcmUgdXNlZCB3aGVuIHRoZSBnYW1lZW5naW5lIGlzIHJ1bm5p
bmcgaW4gZW1iZWRkZWQgbW9kZSBpbnN0ZWFkIG9mIHN0YW5kYWxvbmUgbW9kZS4KICAqLwpJbmRl
eDogc291cmNlL2dhbWVlbmdpbmUvR2FtZVBsYXllci9NYWtlZmlsZQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIvc291cmNlL2dhbWVlbmdpbmUvR2FtZVBs
YXllci9NYWtlZmlsZSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yCmRpZmYgLWMgLXIxLjIgTWFr
ZWZpbGUKKioqIHNvdXJjZS9nYW1lZW5naW5lL0dhbWVQbGF5ZXIvTWFrZWZpbGUJMTMgT2N0IDIw
MDIgMTU6NTc6MTQgLTAwMDAJMS4yCi0tLSBzb3VyY2UvZ2FtZWVuZ2luZS9HYW1lUGxheWVyL01h
a2VmaWxlCTEyIE1heSAyMDAzIDE3OjIzOjQ2IC0wMDAwCioqKioqKioqKioqKioqKgoqKiogMzgs
NDQgKioqKgogIERJUlMgPSBjb21tb24gZ2hvc3QKICAKICBpZmVxICgkKE9TKSwkKGZpbmRzdHJp
bmcgJChPUyksICJmcmVlYnNkIGlyaXggd2luZG93cyIpKQohICAgICBESVJTICs9IG5ldHNjYXBl
CiAgZW5kaWYKICAKICBpZmVxICgkKE9TKSwkKGZpbmRzdHJpbmcgJChPUyksICJsaW51eCIpKQot
LS0gMzgsNDYgLS0tLQogIERJUlMgPSBjb21tb24gZ2hvc3QKICAKICBpZmVxICgkKE9TKSwkKGZp
bmRzdHJpbmcgJChPUyksICJmcmVlYnNkIGlyaXggd2luZG93cyIpKQohIAlpZm5lcSAoJChGUkVF
X1dJTkRPV1MpLHRydWUpCiEgCSAgICBESVJTICs9IG5ldHNjYXBlCiEgCWVuZGlmCiAgZW5kaWYK
ICAKICBpZmVxICgkKE9TKSwkKGZpbmRzdHJpbmcgJChPUyksICJsaW51eCIpKQpJbmRleDogc291
cmNlL2dhbWVlbmdpbmUvU291bmRTeXN0ZW0vU05EX0RlcGVuZEtsdWRnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvZ2FtZWVuZ2luZS9T
b3VuZFN5c3RlbS9TTkRfRGVwZW5kS2x1ZGdlLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOApk
aWZmIC1jIC1yMS44IFNORF9EZXBlbmRLbHVkZ2UuaAoqKiogc291cmNlL2dhbWVlbmdpbmUvU291
bmRTeXN0ZW0vU05EX0RlcGVuZEtsdWRnZS5oCTkgRmViIDIwMDMgMjA6NTE6MTQgLTAwMDAJMS44
Ci0tLSBzb3VyY2UvZ2FtZWVuZ2luZS9Tb3VuZFN5c3RlbS9TTkRfRGVwZW5kS2x1ZGdlLmgJMTIg
TWF5IDIwMDMgMTc6MjM6NDggLTAwMDAKKioqKioqKioqKioqKioqCioqKiAzNCw0MCAqKioqCiAg
ICogKioqKiogRU5EIEdQTC9CTCBEVUFMIExJQ0VOU0UgQkxPQ0sgKioqKioKICAgKi8KICAKISAj
aWYgZGVmaW5lZCAoX1dJTjMyKQogICNkZWZpbmUgVVNFX09QRU5BTAogICNlbGlmIGRlZmluZWQg
KF9fbGludXhfXykKICAjCWlmIGRlZmluZWQgKF9faTM4Nl9fKQotLS0gMzQsNDAgLS0tLQogICAq
ICoqKioqIEVORCBHUEwvQkwgRFVBTCBMSUNFTlNFIEJMT0NLICoqKioqCiAgICovCiAgCiEgIyAg
aWYgZGVmaW5lZCAoX1dJTjMyKSAmJiAhZGVmaW5lZChGUkVFX1dJTkRPV1MpCiAgI2RlZmluZSBV
U0VfT1BFTkFMCiAgI2VsaWYgZGVmaW5lZCAoX19saW51eF9fKQogICMJaWYgZGVmaW5lZCAoX19p
Mzg2X18pCg==

------_=_NextPart_001_01C318AE.59358844--