Ci8qIENvcHlyaWdodCAoQykgMjAwOSBieSBEYW5pZWwgU3RlbmJlcmcKICoKICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcwogKiBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGFuZCB3aXRob3V0CiAqIGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0CiAqIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQgdGhhdCBib3RoIHRoYXQgY29weXJpZ2h0CiAqIG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZwogKiBkb2N1bWVudGF0aW9uLCBhbmQgdGhhdCB0aGUgbmFtZSBvZiBNLkkuVC4gbm90IGJlIHVzZWQgaW4KICogYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZQogKiBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljLCB3cml0dGVuIHByaW9yIHBlcm1pc3Npb24uCiAqIE0uSS5ULiBtYWtlcyBubyByZXByZXNlbnRhdGlvbnMgYWJvdXQgdGhlIHN1aXRhYmlsaXR5IG9mCiAqIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLiAgSXQgaXMgcHJvdmlkZWQgImFzIGlzIgogKiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eS4KICovCgojaW5jbHVkZSA8d2ludmVyLmg+CiNpbmNsdWRlICJhcmVzX3ZlcnNpb24uaCIKCkxBTkdVQUdFICAweDA5LDB4MDEKCiNkZWZpbmUgUkNfVkVSU0lPTiAgQVJFU19WRVJTSU9OX01BSk9SLCBBUkVTX1ZFUlNJT05fTUlOT1IsIEFSRVNfVkVSU0lPTl9QQVRDSCwgMAoKVlNfVkVSU0lPTl9JTkZPIFZFUlNJT05JTkZPCiAgRklMRVZFUlNJT04gICAgIFJDX1ZFUlNJT04KICBQUk9EVUNUVkVSU0lPTiAgUkNfVkVSU0lPTgogIEZJTEVGTEFHU01BU0sgICAweDNmTAojaWYgZGVmaW5lZChERUJVR0JVSUxEKSB8fCBkZWZpbmVkKF9ERUJVRykKICBGSUxFRkxBR1MgMQojZWxzZQogIEZJTEVGTEFHUyAwCiNlbmRpZgogIEZJTEVPUyAgICAgIFZPU19fV0lORE9XUzMyCiAgRklMRVRZUEUgICAgVkZUX0RMTAogIEZJTEVTVUJUWVBFIDB4MEwKCkJFR0lOCiAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgogIEJFR0lOCiAgICBCTE9DSyAiMDQwOTA0YjAiCiAgICBCRUdJTgogICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAgICAgICJUaGUgYy1hcmVzIGxpYnJhcnksIGh0dHA6Ly9jLWFyZXMuaGF4eC5zZS9cMCIKI2lmIGRlZmluZWQoREVCVUdCVUlMRCkgfHwgZGVmaW5lZChfREVCVUcpCiAgICAgIFZBTFVFICJGaWxlRGVzY3JpcHRpb24iLCAgImMtYXJlcyBEZWJ1ZyBTaGFyZWQgTGlicmFyeVwwIgogICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLCAgICAgIEFSRVNfVkVSU0lPTl9TVFIgIlwwIgogICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgICAgICJjLWFyZXNcMCIKICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLCAiY2FyZXNkLmRsbFwwIgojZWxzZQogICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgICJjLWFyZXMgU2hhcmVkIExpYnJhcnlcMCIKICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgICAgICBBUkVTX1ZFUlNJT05fU1RSICJcMCIKICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICAgICAiYy1hcmVzXDAiCiAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgImNhcmVzLmRsbFwwIgojZW5kaWYKICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwgICAgICAiVGhlIGMtYXJlcyBsaWJyYXJ5XDAiCiAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsICAgQVJFU19WRVJTSU9OX1NUUiAiXDAiCiAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICAgIqkgIiBBUkVTX0NPUFlSSUdIVCAiXDAiCiAgICAgIFZBTFVFICJMaWNlbnNlIiwgICAgICAgICAgImh0dHA6Ly9jLWFyZXMuaGF4eC5zZS9saWNlbnNlLmh0bWxcMCIKICAgIEVORAogIEVORAoKICBCTE9DSyAiVmFyRmlsZUluZm8iCiAgQkVHSU4KICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4NDA5LCAxMjAwCiAgRU5ECkVORAo=