IwojICRYRnJlZTg2OiB4Yy9saWIvZm9udGNvbmZpZy9jb25maWcvTWFrZWRlZnMuaW4sdiAxLjIgMjAwMi8wNS8yMSAxNzo0ODoxNSBrZWl0aHAgRXhwICQKIwojIENvcHlyaWdodCCpIDIwMDIgS2VpdGggUGFja2FyZCwgbWVtYmVyIG9mIFRoZSBYRnJlZTg2IFByb2plY3QsIEluYy4KIwojIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5kIGl0cwojIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGlzIGhlcmVieSBncmFudGVkIHdpdGhvdXQgZmVlLCBwcm92aWRlZCB0aGF0CiMgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kIHRoYXQgYm90aCB0aGF0CiMgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZwojIGRvY3VtZW50YXRpb24sIGFuZCB0aGF0IHRoZSBuYW1lIG9mIEtlaXRoIFBhY2thcmQgbm90IGJlIHVzZWQgaW4KIyBhZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0byBkaXN0cmlidXRpb24gb2YgdGhlIHNvZnR3YXJlIHdpdGhvdXQKIyBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgS2VpdGggUGFja2FyZCBtYWtlcyBubwojIHJlcHJlc2VudGF0aW9ucyBhYm91dCB0aGUgc3VpdGFiaWxpdHkgb2YgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UuICBJdAojIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuCiMKIyBLRUlUSCBQQUNLQVJEIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLAojIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8KIyBFVkVOVCBTSEFMTCBLRUlUSCBQQUNLQVJEIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SCiMgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsCiMgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUgojIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKIyBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgojCgpTSEVMTCA9IEBTSEVMTEAKCnNyY2Rpcj1Ac3JjZGlyQApwcmVmaXg9QHByZWZpeEAKZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QApsaWJkaXI9QGxpYmRpckAKYmluZGlyPUBiaW5kaXJACmRhdGFkaXI9QGRhdGFkaXJACmluY2x1ZGVkaXI9QGluY2x1ZGVkaXJACnN5c2NvbmZkaXI9QHN5c2NvbmZkaXJACgpDREVCVUdGTEFHUz1AQ0ZMQUdTQApDUFBGTEFHUz1AQ1BQRkxBR1NACkRFRlM9QERFRlNACgpEU09fTERPUFRTPUBEU09fTERPUFRTQApEU09fQ0ZMQUdTPUBEU09fQ0ZMQUdTQApEU09fUElDX0NGTEFHUz1ARFNPX1BJQ19DRkxBR1NACgpJTkNMVURFUz0tSSQoVE9QRElSKSAtSSQoc3JjZGlyKQoKQ0ZMQUdTPSQoQ0RFQlVHRkxBR1MpICQoSU5DTFVERVMpICQoREVGUykgJChDUFBGTEFHUykKCklOU1RBTEw9QElOU1RBTExACklOU1RBTExfUFJPR1JBTT1ASU5TVEFMTF9QUk9HUkFNQApJTlNUQUxMX1NDUklQVD1ASU5TVEFMTF9TQ1JJUFRACklOU1RBTExfREFUQT1ASU5TVEFMTF9EQVRBQApNS1NITElCPUBNS1NITElCQApMTl9TPUBMTl9TQAoKWF9GT05UX0RJUj1AWF9GT05UX0RJUkAKRkNfREVGQVVMVF9GT05UUz1ARkNfREVGQVVMVF9GT05UU0AKRk9OVENPTkZJR19QQVRIPUBGT05UQ09ORklHX1BBVEhACgojIHNoYXJlZCBsaWJyYXJpZXMKTElCRElSPSQobGliZGlyKQojIHByb2dyYW1zCkJJTkRJUj0kKGJpbmRpcikKIyBmb250IGNvbmZpZ3VyYXRpb24gZmlsZXMKQ09ORkRJUj1AQ09ORkRJUkAKIyBpbmNsdWRlIGZpbGVzCklOQ0xVREVESVI9JChpbmNsdWRlZGlyKS9mb250Y29uZmlnCgpMSUJCQVNFPWxpYmZvbnRjb25maWcuc28KTElCRklMRT0kKExJQkJBU0UpLkBQQUNLQUdFX01BSk9SQC5AUEFDS0FHRV9NSU5PUkAKTElCTUFKT1I9JChMSUJCQVNFKS5AUEFDS0FHRV9NQUpPUkAKCkxJQkZPTlRDT05GSUc9LUwkKFNSQ0RJUikgLWxmb250Y29uZmlnCgpTUkNESVI9JChUT1BESVIpL3NyYwoKSU5DRElSPSQoVE9QRElSKS9mb250Y29uZmlnCkhFQURFUlM9JChJTkNESVIpL2ZvbnRjb25maWcuaCAkKElOQ0RJUikvZmNmcmVldHlwZS5oICQoSU5DRElSKS9mY3ByaXZhdGUuaAo=