IyBAZmlsZSAgICAgICAgICBSQk1hbmFnZXIKIyBAZmlsZUVuY29kaW5nICBmaQojIEBmaWxlTGFuZ3VhZ2UgIEZpbm5pc2gKIyBAZmlsZUNvdW50cnkgICAKIyBAZmlsZVZhcmlhbnQgICAKIyBAZmlsZU1hbmFnZXIgICBKdXNzaSBNeWxseW3ka2kKIyBAZmlsZUNvbW1lbnQgICBUaGlzIGlzIHRoZSBGaW5uaXNoIHRyYW5zbGF0aW9uIG9mIHRoZSBSQk1hbmFnZXIgR1VJLgoKCiMKIyBAZ3JvdXAgQmFzZSBDbGFzcyBHcm91cHMgUGFuZQojCiMgQGdyb3VwQ29tbWVudCBUcmFuc2xhdGlvbiBJdGVtcyBmb3IgdGhlIEJhc2UgQ2xhc3MgR3JvdXAgdGFiYmVkIHBhbmUKCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTA2LTI3IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgCmJhc2Vncm91cF9ncm91cF9jb21tZW50PVJlc3Vyc3NpcnlobVx1MDBFNG5cIGtvbW1lbnR0aQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmJhc2Vncm91cF9ncm91cF9uYW1lPVJlc3Vyc3NpcnlobVx1MDBFNG5cIG5pbWlcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmJhc2Vncm91cF9ncm91cF9vcHRpb25zPVJlc3Vyc3NpcnlobVx1MDBFNG5cIHRvaW1pbm5vdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmJhc2Vncm91cF9pdGVtX29wdGlvbnM9UmVzdXJzc2luXCB0b2ltaW5ub3QKCiMKIyBAZ3JvdXAgQmFzZSBDbGFzcyBTdGF0aXN0aWNzIFBhbmUKIwojIEBncm91cENvbW1lbnQgQWxsIHRyYW5zbGF0aW9ucyBmb3Igc3RyaW5ncyBhcHBlYXJpbmcgb24gdGhlIHN0YXRpc3RpY3MgcGFuZSBmb3IgdGhlIGJhc2UgY2xhc3MKCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKYmFzZXN0YXRzX2R1cGxpY2F0ZXNfY291bnQ9UmVzdXJzc2luXCBrb3Bpb2lkZW5cIG1cdTAwRTRcdTAwRTRyXHUwMEU0XDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApiYXNlc3RhdHNfZmlsZV9jb3VudD1SZXN1cnNzaXRpZWRvc3RvamVuXCBtXHUwMEU0XHUwMEU0clx1MDBFNFw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKYmFzZXN0YXRzX2dyb3VwX2NvdW50PVJlc3Vyc3NpcnlobWllblwgbVx1MDBFNFx1MDBFNHJcdTAwRTRcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmJhc2VzdGF0c19ncm91cF9ncm91cD1SZXN1cnNzaXJ5aG1cdTAwRTR0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKYmFzZXN0YXRzX2l0ZW1fY291bnQ9UmVzdXJzc2llblwgbVx1MDBFNFx1MDBFNHJcdTAwRTRcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmJhc2VzdGF0c19pdGVtX2dyb3VwPVJlc3Vyc3NpdAoKIwojIEBncm91cCBCYXNlIENsYXNzIFVudHJhbnNsYXRlZCBJdGVtcyBQYW5lCiMKIyBAZ3JvdXBDb21tZW50IFRyYW5zbGF0aW9ucyBhcHBlYXJpbmcgb24gdGhlIEJhc2UgQ2xhc3MgVW50cmFuc2xhdGVkIEl0ZW1zIHBhbmUKCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBJbmRpY2F0aW9uIG9mIHRoZSBmaWxlIGJlaW5nIHZpZXdlZApiYXNldW50cmFuc19maWxlPVRpZWRvc3RvXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IEluZGljYXRpb24gb2YgdGhlIG51bWJlciBvZiByZXNvdXJjZSBpdGVtcyBub3QgdHJhbnNsYXRlZCBpbiB0aGUgZmlsZQpiYXNldW50cmFuc191bnRyYW5zX2NvdW50PUtcdTAwRTRcdTAwRTRudFx1MDBFNG1cdTAwRTR0dFx1MDBGNm1pZW5cIHJlc3Vyc3NpZW5cIG1cdTAwRTRcdTAwRTRyXHUwMEU0XDoKCiMKIyBAZ3JvdXAgQnV0dG9uIE5hbWVzCiMKIyBAZ3JvdXBDb21tZW50IFRoZSBuYW1lcyBkaXNwbGF5ZWQgb24gdGhlIHZhcmlvdXMgYnV0dG9ucwoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApiYXNlc3RhdHNfZmlsZV9ncm91cD1SZXN1cnNzaXRpZWRvc3RvdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEJ1dHRvbiBmb3IgY3JlYXRpbmcgYSBuZXcgcmVzb3VyY2UgbGFuZ3VhZ2UgZmlsZQpidXR0b25fYWRkX2ZpbGU9TGlzXHUwMEU0XHUwMEU0XCB1dXNpXCByZXN1cnNzaXRpZWRvc3RvCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKYnV0dG9uX2FkZF9maWxlX3RyaWdnZXI9dAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgQnV0dG9uIGZvciBjcmVhdGluZyBhIG5ldyByZXNvdXJjZSBncm91cApidXR0b25fYWRkX2dyb3VwPUxpc1x1MDBFNFx1MDBFNFwgdXVzaVwgcmVzdXJzc2lyeWhtXHUwMEU0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKYnV0dG9uX2FkZF9ncm91cF90cmlnZ2VyPXkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IEJ1dHRvbiBmb3IgY3JlYXRpbmcgYSBuZXcgcmVzb3VyY2UgdHJhbnNsYXRpb24gaXRlbQpidXR0b25fYWRkX3Jlc291cmNlPUxpc1x1MDBFNFx1MDBFNFwgdXVzaVwgcmVzdXJzc2kKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IApidXR0b25fYWRkX3Jlc291cmNlX3RyaWdnZXI9cgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBhIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBHZW5lcmljIGJ1dHRvbiBmb3IgY2FuY2VsaW5nIGFjdGlvbnMKYnV0dG9uX2NhbmNlbD1QZXJ1dXRhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBHZW5lcmljIGJ1dHRvbiBmb3IgYSBjaG9pY2Ugb3Igc2VsZWN0aW9uIG9wdGlvbgpidXR0b25fY2hvb3NlPVZhbGl0c2UKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IApidXR0b25fY2hvb3NlX3RyaWdnZXI9dgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgQnV0dG9uIGZvciBnZW5lcmljIGNyZWF0aW9uIG9mIGdyb3VwcywgaXRlbXMsIGZpbGVzLCBldGMuCmJ1dHRvbl9jcmVhdGU9TGlzXHUwMEU0XHUwMEU0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIGEgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IEZvciBjcmVhdGlvbiBvZiBhIHJlc291cmNlIGdyb3VwCmJ1dHRvbl9jcmVhdGVfZ3JvdXA9THVvXCB1dXNpXCByeWhtXHUwMEU0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKYnV0dG9uX2NyZWF0ZV9ncm91cF90cmlnZ2VyPXIKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEJ1dHRvbiB0aXRsZSBmb3IgY3JlYXRpbmcgYW4gaXRlbSB0aGVuIGNvbnRpbnVpbmcgY3JlYXRpbmcgbW9yZSBpdGVtcwpidXR0b25fY3JlYXRlX21vcmU9THVvXCAmXCBKYXRrYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCmJ1dHRvbl9jcmVhdGVfbW9yZV90cmlnZ2VyPWwKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgYSBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgQnV0dG9uIGZvciBjcmVhdGluZyBhIHJlc291cmNlIHRyYW5zbGF0aW9uIGl0ZW0KYnV0dG9uX2NyZWF0ZV9yZXNvdXJjZT1MdW9cIHV1c2lcIHJlc3Vyc3NpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKYnV0dG9uX2NyZWF0ZV9yZXNvdXJjZV90cmlnZ2VyPXIKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IApidXR0b25fY3JlYXRlX3RyaWdnZXI9bAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBhIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBCdXR0b24gZm9yIHJlbW92aW5nIGEgZ3JvdXAgYW5kIGl0cyBjb250ZW50cwpidXR0b25fZGVsZXRlX2dyb3VwPVBvaXN0YVwgcmVzdXJzc2lyeWhtXHUwMEU0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIGEgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IEJ1dHRvbiBmb3IgcGVybWFuZW50bHkgcmVtb3ZpbmcgYSByZXNvdXJjZSBmcm9tIHRoZSBidW5kbGUKYnV0dG9uX2RlbGV0ZV9yZXNvdXJjZT1Qb2lzdGFcIHJlc3Vyc3NpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKYnV0dG9uX2RlbGV0ZV9yZXNvdXJjZV90cmlnZ2VyPXAKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IEdlbmVyaWMgZWRpdCBidXR0b24KYnV0dG9uX2VkaXQ9TXV1dGEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgYSBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgQnV0dG9uIGZvciBlZGl0aW5nIGdyb3VwIG5hbWUgYW5kIGNvbW1lbnQKYnV0dG9uX2VkaXRfZ3JvdXA9TXV1dGFcIHJlc3Vyc3NpcnlobVx1MDBFNFx1MDBFNAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBhIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBCdXR0b24gZm9yIGVkaXRpbmcgcmVzb3VyY2UgaW5mb3JtYXRpb24sIGluY2x1ZGluZyBrZXkgYW5kIHRyYW5zbGF0aW9uCmJ1dHRvbl9lZGl0X3Jlc291cmNlPU11dXRhXCByZXN1cnNzaWEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IApidXR0b25fZWRpdF9yZXNvdXJjZV90cmlnZ2VyPW0KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEJ1dHRvbiB0aXRsZSBmb3IgaW5pdGlhdGluZyBhbiBpbXBvcnQgb2YgcmVzb3VyY2VzIGZyb20gYW4gYWx0ZXJuYXRlIHNvdXJjZQpidXR0b25faW1wb3J0PUhhZQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCmJ1dHRvbl9pbXBvcnRfdHJpZ2dlcj1oCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBCdXR0b24gYWxsb3dzIGEgc2VsZWN0ZWQgcmVzb3VyY2UgdG8gYmUgbWFya2VkIGFzIHRyYW5zbGF0ZWQgd2l0aG91dCBmdXJ0aGVyIGVkaXRpbmcKYnV0dG9uX21hcmtfdHJhbnNsYXRlZD1NZXJraXRzZVwgUmVzdXJzc2lcIEtcdTAwRTRcdTAwRTRubmV0eWtzaQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCmJ1dHRvbl9tYXJrX3RyYW5zbGF0ZWRfdHJpZ2dlcj1tCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IEJ1dHRvbiBmb3IgYWRkaW5nIHRoZSBjdXJyZW50IHJlc291cmNlIGJ1bmRsZSBpbiB0aGUgbWFpbiBhcHBsaWNhdGlvbiB0byB0aGUgcHJvamVjdApidXR0b25fcHJvamVjdF9hZGQ9TGlzXHUwMEU0XHUwMEU0XCBUXHUwMEU0bVx1MDBFNFwgUmVzdXJzc2lrb2tvZWxtYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMS0yMCBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCAKYnV0dG9uX3Byb2plY3RfYWRkX3RyaWdnZXI9bAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMS0yMCBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBCdXR0b24gZm9yIGNsb3NpbmcgdGhlIHByb2plY3Qgd2luZG93CmJ1dHRvbl9wcm9qZWN0X2Nsb3NlPVN1bGplXCBQcm9qZWt0aQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMS0yMCBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCAKYnV0dG9uX3Byb2plY3RfY2xvc2VfdHJpZ2dlcj1zCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IEJ1dHRvbiBmb3IgY3JlYXRpbmcgYSBuZXcgcmVzb3VyY2UgYnVuZGxlIHByb2plY3QKYnV0dG9uX3Byb2plY3RfbmV3PVV1c2lcIFByb2pla3RpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IApidXR0b25fcHJvamVjdF9uZXdfdHJpZ2dlcj11CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IEJ1dHRvbiBmb3Igb3BlbmluZyBhIHByb2plY3QgZmlsZQpidXR0b25fcHJvamVjdF9vcGVuPUF2YWFcIFByb2pla3RpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IApidXR0b25fcHJvamVjdF9vcGVuX3RyaWdnZXI9YQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMS0yMCBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBCdXR0b24gZm9yIHJlbW92aW5nIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcmVzb3VyY2UgYnVuZGxlIGZyb20gdGhlIHByb2plY3QKYnV0dG9uX3Byb2plY3RfcmVtb3ZlPVBvaXN0YVwgVmFsaXR0dQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMS0yMCBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCAKYnV0dG9uX3Byb2plY3RfcmVtb3ZlX3RyaWdnZXI9cAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMS0yMCBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBCdXR0b24gZm9yIGNhdXNpbmcgdGhlIHNlbGVjdGVkIHJlc291cmNlIGJ1bmRsZSB0byBiZSB0aGUgb25lIGJlaW5nIGVkaXRlZCBpbiB0aGUgbWFpbiBhcHBsaWNhdGlvbgpidXR0b25fcHJvamVjdF9zZWxlY3Q9TXV1dGFcIFZhbGl0dHVhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IApidXR0b25fcHJvamVjdF9zZWxlY3RfdHJpZ2dlcj1tCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUaXRsZSBmb3IgcGVyZm9ybWluZyBhIGNvbXBsZXRlIHNlYXJjaApidXR0b25fc2VhcmNoX2ZpbmRfYWxsPUV0c2lcIEthaWtraQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCmJ1dHRvbl9zZWFyY2hfZmluZF9hbGxfdHJpZ2dlcj1lCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUaXRsZSBmb3IgcGVyZm9ybWluZyBjb21wbGV0ZSBzZWFyY2ggYW5kIHJlcGxhY2UKYnV0dG9uX3NlYXJjaF9yZXBsYWNlX2FsbD1NdXV0YVwgS2Fpa2tpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKYnV0dG9uX3NlYXJjaF9yZXBsYWNlX2FsbF90cmlnZ2VyPW0KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IEdlbmVyaWMgYnV0dG9uIGZvciB1cGRhdGluZyBpbmZvcm1hdGlvbgpidXR0b25fdXBkYXRlPVBcdTAwRTRpdml0XHUwMEU0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKYnV0dG9uX3VwZGF0ZV90cmlnZ2VyPXAKCiMKIyBAZ3JvdXAgRGlhbG9ncwojCiMgQGdyb3VwQ29tbWVudCBUcmFuc2xhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHBsaWNhdGlvbnMgdmFyaW91cyBkaWFsb2cgYm94ZXMKCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGFpbG9nX3RpdGxlX3ByZWZlcmVuY2VzPUFzZXR1a3NldAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgSW5kaWNhdGlvbiBvZiB3ZXRoZXIgb3Igbm90IGEgbmV3IGZpbGUgd2lsbCBiZSBwb3B1bGF0ZWQgZnJvbSB0aGUgZWxlbWVudHMgaW4gdGhlIGJhc2UgY2xhc3MKZGlhbG9nX2NoZWNrYm94X2NvcHlfZWxlbWVudHM9S29waW9pXCByZXN1cnNzaXRcIHBlcnVzdGllZG9zdG9zdGFcIHRcdTAwRTRoXHUwMEU0blwgdGllZG9zdG9vbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgSW5kaWNhdG9yIG9mIHdldGhlciBhbiBpdGVtIGlzIHRyYW5zbGF0ZWQgb3Igbm90CmRpYWxvZ19jaGVja2JveF90cmFuc2xhdGVkPUtcdTAwRTRcdTAwRTRubmV0dHkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfY29tbWVudD1Lb21tZW50dGlcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19jb3VudHJ5PU1hYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19jcmVhdGVkPUx1b3R1XDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfY3JlYXRvcj1MdW9udXRcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQHsxfSBUaGUgZGF0ZQojIEB7MH0gVGhlIG5hbWUgb2YgdGhlIHBlcnNvbiBpbnZvbHZlZAojIEBjb21tZW50IFRoZSBkYXRlIGFuZCBwZXJzb24gYXNzb2NpYXRlZCB3aXRoIGEgY3JlYXRpb24gb3IgbW9kaWZpY2F0aW9uIG9mIGFuIGl0ZW0KZGlhbG9nX2RhdGVfcGVyc29uPXsxfVwgKHswfSkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfZGVmYXVsdF9jb21tZW50PUtvbW1lbnRpblwgb2xldHVzYXJ2b1w6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX2RlZmF1bHRfdHJhbnNsYXRpb249S1x1MDBFNFx1MDBFNG5uXHUwMEY2a3Nlblwgb2xldHVzYXJ2b1w6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX2RlbGV0ZV9maWxlPVBvaXN0YVwgcmVzdXJzc2l0aWVkb3N0bwojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19kZWxldGVfZ3JvdXA9UG9pc3RhXCByZXN1cnNzaXJ5aG1cdTAwRTQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfZGVsZXRlX2l0ZW09UG9pc3RhXCByZXN1cnNzaQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wNy0wMiBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBXYXJuaW5nIGRpc3BsYXllZCB3aGVuIGEgdXNlciBhc2tzIGZvciBhIGRlbGV0aW9uIG9mIGEgZmlsZS4gUHJvbXB0cyBmb3IgJ1llcycgb3IgJ05vJwpkaWFsb2dfZGVsZXRlX3dhcm5pbmc9VmFyb2l0dXNcIVwgUG9pc3RvLW9wZXJhYXRpb3RhXCBlaVwgdm9pXCBwZXJ1dXR0YWEuXG5IYWx1YXRrb1wgdmFybWFzdGlcIGphdGthYT8KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfZW5jb2Rpbmc9RW5jb2RpbmdcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19maWxlX2NvbW1lbnQ9UmVzdXJzc2l0aWVkb3N0b25cIGtvbW1lbnR0aVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX2ZpbGVfZmlsdGVyX2Rlc2NyaXB0aW9uPUJhc2VcIENsYXNzaW5cIHJlc3Vyc3NpdGllZG9zdG90CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBEZXNjcmlwdGlvbiBvZiBGaWxlIEZpbHRlciBmb3IgUkJSZXBvcnRlciBYTUwgc2NhbiBjb25maWd1cmF0aW9uIGZpbGVzCmRpYWxvZ19maWxlX2ZpbHRlcl9kZXNjcmlwdGlvbl9zY2FuPVhNTFwgUkJSZXBvcnRlclwgU2NhblwgRmlsZXMKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfZmlsZV9pbmZvPVRpZWRvc3RvblwgdGllZG90CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX2ZpbGVfbWFuYWdlcj1SZXN1cnNzaW1hbmFnZXJpblwgbmltaVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX2ZpbGVfdGl0bGU9UmVzdXJzc2l0aWVkb3N0b25cIG90c2lra29cOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19ncm91cD1SeWhtXHUwMEU0blwgbmltaVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX2dyb3VwX2NvbW1lbnQ9UnlobVx1MDBFNG5cIGtvbW1lbnR0aVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX2tleT1SZXN1cnNzaW5cIHR1bm5pc3RlXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfbGFuZ3VhZ2U9S2llbGkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfbG9va3Vwcz1IYWt1XDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfbW9kaWZpZWQ9TXV1dGV0dHVcIHZpaW1la3NpXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfbW9kaWZpZXI9VmlpbWVpc2luXCBtdXV0dGFqYVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgbmFtZSBvZiBhIGxhbmd1YWdlLCBjb3VudHJ5LCBvciB2YXJpYW50IG9mIGEgbGFuZ3VhZ2UgZmlsZQpkaWFsb2dfbmFtZT1OaW1pXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFByb21wdHMgdGhlIHVzZXIgdG8gZW50ZXIgYSBuYW1lIGZvciB0aGUgcmVzb3VyY2UgYnVuZGxlLCBiZWZvcmUgY3JlYXRpbmcgdGhhdCBidW5kbGUKZGlhbG9nX25ld19iYXNlY2xhc3M9T2xlXCBoeXZcdTAwRTRcIGphXCBzeVx1MDBGNnRcdTAwRTRcIEJhc2VcIENsYXNzaW5cIG5pbWlcIHV1ZGVsbGVcIHJlc3Vyc3Npa29rb2VsbWFsbGUuCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xOSBAbW9kaWZpZWQgMjAwMS0xMi0xOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgRGlhbG9nIHBvcHVwIHdpbmRvdyB0ZXh0IHByb21wdGluZyB0aGUgdXNlciBmb3IgdGhlIG5hbWUgb2YgYSByZXNvdXJjZSBidW5kbGUgcHJvamVjdApkaWFsb2dfbmV3X3Byb2plY3Q9UGxlYXNlXCBlbnRlclwgYVwgdGl0bGVcIGZvclwgeW91clwgbmV3XCBSZXNvdXJjZVwgQnVuZGxlXCBQcm9qZWN0LgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgQSBkZXNjcmlwdGlvbiBvZiB0aGUgZmlsZXMgbWFraW5nIGl0IHRocm91Z2ggdGhlIGZpbHRlciB1cG9uIG9wZW5pbmcgYSByZXNvdXJjZSBidW5kbGUKZGlhbG9nX29wZW5fZmlsZV9maWx0ZXI9QmFzZVwgQ2xhc3NpblwgcmVzdXJzc2l0aWVkb3N0b3QKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoaXMgaXMgYSBzZWN0aW9uIGhlYWRpbmcgZm9yIHNldHRpbmcgdGhlIEFsdWUKZGlhbG9nX3ByZWZlcmVuY2VzX0FsdWU9QWx1ZQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgQWx1ZXMgY3VycmVudGx5IGRlZmluZWQgaW4gdGhlIHByb3BlcnRpZXMgZmlsZXMgZm9yIHRoZSBhcHBsaWNhdGlvbgpkaWFsb2dfcHJlZmVyZW5jZXNfbG9jYWxlX2RlZmluZWQ9TVx1MDBFNFx1MDBFNHJpdGVsdHlcIHJlc3Vyc3NpdGllZG9zdG9pc3NhXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19wcmVmZXJlbmNlc19sb2NhbGVfaXNvPUlTT1wgc3RhbmRhcmRpdFw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBMb2NhbGVzIHRoYXQgYXJlIHN1cHBvcnRlZCBieSB0aGUgaG9zdCBKYXZhIFZpcnR1YWwgTWFjaGluZQpkaWFsb2dfcHJlZmVyZW5jZXNfbG9jYWxlX21hY2hpbmU9VHVldHR1XCBrb25ldHl5cHBpXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19wcmVmZXJlbmNlc19sb2NhbGVfd2FybmluZz1IVU9NXDpcIEFsdWVlblwgdmFpaHRvXCBhc3R1dVwgdm9pbWFhblwgdmFzdGFcIGt1blwgc292ZWxsdXNcIGtcdTAwRTR5bm5pc3RldFx1MDBFNFx1MDBFNG5cIHV1ZGVzdGFhbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19wcmVmZXJlbmNlc19sb29rYW5kZmVlbD1Mb29rXCBBbmRcIEZlZWxcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19wcmVmZXJlbmNlc191c2VybmFtZT1LXHUwMEU0eXR0XHUwMEU0alx1MDBFNHR1bm51c1w6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IERlc2NyaXB0b3IgdGhhdCBnb2VzIGludG8gR1VJIGZpbGUgY2hvb3NlcgpkaWFsb2dfcHJvamVjdF9maWxlX2ZpbHRlcl9kZXNjcmlwdGlvbj1SQk1hbmFnZXJcIFByb2pla3RpdGllZG9zdG90CiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMi0xNyBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgRmlsZSBGaWx0ZXIgZGVzY3JpcHRpb24gZm9yIHJlc291cmNlIGJ1bmRsZSBwcm9qZWN0IGZpbGVzCmRpYWxvZ19wcm9qZWN0X2ZpbHRlcl9kZXNjcmlwdGlvbj1SZXNvdXJjZVwgQnVuZGxlXCBQcm9qZWN0cwojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMS0yMCBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBBbiBpbmRpY2F0aW9uIHRoYXQgbm8gcHJvamVjdCBpcyBvcGVuLCBwbGFjZWQgaW4gdGhlIHRpdGxlIG9mIHRoZSBkaWFsb2cgd2hlcmUgdGhlIHByb2plY3QgbmFtZSB3b3VsZCBub3JtYWxseSBnbwpkaWFsb2dfcHJvamVjdF9ub25lX3NlbGVjdGVkPVByb2pla3RpYVwgRWlcIFZhbGl0dHUKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMTEtMjAgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQHswfSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdAojIEBjb21tZW50IFRpdGxlIGZvciB0aGUgd2luZG93IHNob3dpbmcgYWxsIHRoZSByZXNvdXJjZSBidW5kbGVzIGluIGEgcHJvamVjdApkaWFsb2dfcHJvamVjdF90aXRsZT1Qcm9qZWt0aW5cIFJlc3Vyc3Npa29rb2VsbWF0XDpcIHswfQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgUHJvbXB0cyB0aGUgdXNlciBpZiB0aGV5IHdvdWxkIGxpa2UgdG8gc2F2ZSBjaGFuZ2VzIGJlZm9yZSBleGl0aW5nCmRpYWxvZ19xdWl0X3NhdmU9SGFsdWF0a29cIHRhbGxlbnRhYVwgbXV1dG9rc2V0XCBlbm5lblwgcG9pc3R1bWlzdGE/CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTEwIEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBBIGdlbmVyaWMgcHJvcG1wdCB0byBhc2sgdGhlIHVzZXIgaWYgdGhleSB3aXNoIHRvIHNhdmUgY2hhbmdlcwpkaWFsb2dfc2F2ZT1IYWx1YXRrb1wgdGFsbGV0dGFhXCBtdXV0b2tzZXRcIHJlc3Vyc3Npa29rb2VsbWFhbj8KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfc2VhcmNoX29wdGlvbnM9RXRzaW50XHUwMEU0cGFyYW1ldHJpdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ19zZWFyY2hfcGFyYW09RXRzaVwgdGVrc3RpXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoZSB0aXRsZSBvZiB0aGUgYWJvdXQgZGlhbG9nIGJveApkaWFsb2dfdGl0bGVfYWJvdXRfcmJtYW5hZ2VyPVRpZXRvamFcIFJlc3Vyc3NpbWFuYWdlcmlzdGEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IFRpdGxlIGZvciBkaWFsb2cgcHJvbXB0aW5nIGZvciBkZWxldGlvbiBvZiBhbiBlbnRpcmUgcmVzb3VyY2UgZ3JvdXAKZGlhbG9nX3RpdGxlX2RlbGV0ZV9ncm91cD1Qb2lzdGFcIFJlc3Vyc3NpcnlobVx1MDBFNAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgVGl0bGUgd2hlbiBwcm9tcHRpbmcgdG8gZGVsZXRlIGEgcmVzb3VyY2UKZGlhbG9nX3RpdGxlX2RlbGV0ZV9pdGVtPVBvaXN0YVwgUmVzdXJzc2kKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfdGl0bGVfZWRpdF9ncm91cD1NdXV0YVwgcmVzdXJzc2lyeWhtXHUwMEU0XHUwMEU0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX3RpdGxlX2VkaXRfaXRlbT1NdXV0YVwgcmVzdXJzc2lhCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xOSBAbW9kaWZpZWQgMjAwMS0xMi0xOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgCmRpYWxvZ190aXRsZV9lcnJvcj1FcnJvcgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ190aXRsZV9lcnJvcl9jcmVhdGluZ19idW5kbGU9VmlyaGVcIHV1dHRhXCByZXN1cnNzaWtva29lbG1hYVwgbHVvdGFlc3NhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBEaWFsb2cgdGl0bGUgd2hlbiBvcGVuaW5nIGEgcmVzb3VyY2UgYnVuZGxlIG5vdCBjcmVhdGVkIGJ5IFJCTWFuYWdlcgpkaWFsb2dfdGl0bGVfZXJyb3Jfbm90X3JibWFuYWdlcl9mb3JtYXQ9VmlyaGVcOlwgUmVzdXJzc2l0aWVkb3N0b2FcIGVpXCB2b2lkYVwgbHVrZWEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDctMDIgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQGNvbW1lbnQgVGl0bGUgb24gYSB3YXJuaW5nIGRpYWxvZyB0aGF0IEkvTyBtYWxmdW5jdGlvbmVkIG9wZW5pbmcgYSBmaWxlCmRpYWxvZ190aXRsZV9lcnJvcl9vcGVuaW5nX2ZpbGU9VGllZG9zdG9hXCBFaVwgVm9pZGFcIEF2YXRhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTA3LTAyIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IERpYWxvZyB0aXRsZSBmb3IgYSBkaWFsb2cgYm94IGZvciBlbnRlcmluZyBzcGVjaWFsIHBhcmFtZXRlcnMgbmVlZGVkIHRvIGV4cG9ydCBhIHJlc291cmNlIGJ1bmRsZSB0byBqYXZhIGNsYXNzIGNvZGUKZGlhbG9nX3RpdGxlX2V4cG9ydF9qYXZhX29wdGlvbnM9VGFsbGV0dXNwYXJhbWV0cml0XDpcIEphdmFcIGx1b2trYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgVGl0bGUgZm9yIGEgZGlhbG9nIHdpdGggYSBwcm9ncmVzcyBiYXIgZ292ZXJuaW5nIGltcG9ydCBzdGF0dXMKZGlhbG9nX3RpdGxlX2ltcG9ydF9wcm9ncmVzcz1IYXVuXCBFZGlzdHltaW5lbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGl0bGUgZm9yIGNyZWF0aW5nIG5ldyBidW5kbGUKZGlhbG9nX3RpdGxlX25ld19idW5kbGU9THVvXCB1dXNpXCByZXN1cnNzaWtva29lbG1hCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaXRsZSBmb3IgY3JlYXRpbmcgYSBuZXcgcmVzb3VyY2UgZmlsZQpkaWFsb2dfdGl0bGVfbmV3X2ZpbGU9THVvXCB1dXNpXCByZXN1cnNzaXRpZWRvc3RvCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaXRsZSBmb3IgY3JlYXRpbmcgYSBuZXcgcmVzb3VyY2UgZ3JvdXAKZGlhbG9nX3RpdGxlX25ld19ncm91cD1MdW9cIHV1c2lcIHJlc3Vyc3NpcnlobVx1MDBFNAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGl0bGUgZm9yIGNyZWF0aW5nIHJlc291cmNlCmRpYWxvZ190aXRsZV9uZXdfaXRlbT1MdW9cIHV1c2lcIHJlc3Vyc3NpCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xOSBAbW9kaWZpZWQgMjAwMS0xMi0xOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgVGl0bGUgb2YgdGhlIGRpYWxvZyBib3ggc2hvd2luZyB3aGVuIGNyZWF0aW5nIGEgbmV3IHByb2plY3QKZGlhbG9nX3RpdGxlX25ld19wcm9qZWN0PU5ld1wgUmVzb3VyY2VcIEJ1bmRsZVwgUHJvamVjdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmRpYWxvZ190aXRsZV9wcmVmZXJlbmNlcz1Bc2V0dWtzZXQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRpdGxlIGZvciBjb25maXJtaW5nIGV4aXQgZnJvbSBhcHBsaWNhdGlvbgpkaWFsb2dfdGl0bGVfcXVpdD1Qb2lzdHVcIFJlc3Vyc3NpbWFuYWdlcmlzdGEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfdGl0bGVfc2VhcmNoPUV0c2kKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfdGl0bGVfdXNlcl9uYW1lPVN5XHUwMEY2dFx1MDBFNFwga1x1MDBFNHl0dFx1MDBFNGpcdTAwRTR0dW5udXMKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfdHJhbnNsYXRpb249S1x1MDBFNFx1MDBFNG5uXHUwMEY2c1w6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX3VzZXJfbmFtZT1TeVx1MDBGNnRcdTAwRTRcIG5pbWVzaS4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfdmFyaWFudD1NdXVubmVsbWEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApkaWFsb2dfd2FybmluZ19kZWxldGVfZ3JvdXA9UmVzdXJzc2lyeWhtXHUwMEU0blwgcG9pc3RhbWluZW5cIHBvaXN0YWFcIG15XHUwMEY2c1wga2Fpa2tpXCByeWhtXHUwMEU0c3NcdTAwRTRcIG9sZXZhdFwgcmVzdXJzc2l0XCBweXN5dlx1MDBFNHN0aS5cIEhhbHVhdGtvXCBqYXRrYWE/CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZGlhbG9nX3dhcm5pbmdfZGVsZXRlX2l0ZW09UmVzdXJzc2lcIHBvaXN0ZXRhYW5cIHB5c3l2XHUwMEU0c3RpLlwgSGFsdWF0a29cIGphdGthYT8KCiMKIyBAZ3JvdXAgRXJyb3IgTWVzc2FnZXMKIwojIEBncm91cENvbW1lbnQgCgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmVycm9yPVZpcmhlCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xOSBAbW9kaWZpZWQgMjAwMS0xMi0xOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgR2VuZXJhbCBlcnJvciBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIGFkZCBhIHJlc291cmNlIGJ1bmRsZSB0byBhIHByb2plY3QuCmVycm9yX2FkZGluZ19wcm9qZWN0X2J1bmRsZT1BblwgZXJyb3JcIG9jY3VycmVkXCB0cnlpbmdcIHRvXCBhZGRcIHRoZVwgUmVzb3VyY2VcIEJ1bmRsZVwgeW91XCBzZWxlY3RlZC4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAplcnJvcl9iYXNlY2xhc3Nfd2hpdGVzcGFjZT1SZXN1cnNzaW5cIG5pbWVzc1x1MDBFNFwgZWlcIHZvaVwgb2xsYVwgdlx1MDBFNGxpbHlcdTAwRjZudGlcdTAwRTQuCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZXJyb3JfYnVuZGxlX25vdF9jcmVhdGVkPVJlc3Vyc3Npa29rb2VsbWFhXCBlaVwgbHVvdHUuCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZXJyb3JfY3JlYXRlX2ZpbGU9UmVzdXJzc2l0aWVkb3N0b25cIGx1b250aVwgZXBcdTAwRTRvbm5pc3R1aS4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAplcnJvcl9jcmVhdGVfZ3JvdXA9UmVzdXJzc2lyeWhtXHUwMEU0blwgbHVvbnRpXCBlcFx1MDBFNG9ubmlzdHVpLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmVycm9yX2NyZWF0ZV9pdGVtPVJlc3Vyc3NpblwgbHVvbnRpXCBlcFx1MDBFNG9ubmlzdHVpLgojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTkgQG1vZGlmaWVkIDIwMDEtMTItMTkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEBjb21tZW50IEdlbmVyYWwgZXJyb3IgbWVzc2FnZSB3aGVuIGNyZWF0aW5nIGEgcHJvamVjdAplcnJvcl9jcmVhdGluZ19wcm9qZWN0PUFuXCBlcnJvclwgd2FzXCBlbmNvdW50ZXJlZFwgdHJ5aW5nXCB0b1wgY3JlYXRlXCBhXCBSZXNvdXJjZVwgQnVuZGxlXCBQcm9qZWN0LgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wNy0wMiBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAezB9IFRoZSBtZXNzYWdlIGZyb20gYW4gSU9FeGNlcHRpb24gdGhhdCBpcyB0aHJvd24KIyBAY29tbWVudCBFcnJvciBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIGRlbGV0ZSBhIGZpbGUKZXJyb3JfZGVsZXRpbmc9VGllZG9zdG9hXCB7MH1cIGVpXCB2b2l0dVwgcG9pc3RhYS4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDctMDIgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQGNvbW1lbnQgQW4gZXJyb3IgdGhhdCBvY2N1cnMgd2hlbiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVsZXRlIGEgZmlsZSwgYnV0IHRoZSB2aXJ0dWFsIG1hY2hpbmUgY2FuIG5vdCBkbyBzbwplcnJvcl9kZWxldGlvbl9ub3RfcG9zc2libGU9VGllZG9zdG9hXCBlaVwgdm9pdHVcIHBvaXN0YWEuXCBUaWVkb3N0b1wgb25cIHN1b2phdHR1LgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgR2VuZXJhbCBlcnJvciBtZXNzYWdlIGZvciBleHBvcnRpbmcgcmVzb3VyY2UgYnVuZGxlcwplcnJvcl9leHBvcnQ9UmVzdXJzc2l0aWVkb3N0b25cIHRhbGxldHVzXCBlcFx1MDBFNG9ubmlzdHVpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZXJyb3JfaW50ZXJuYWw9U2lzXHUwMEU0aW5lblwgdmlyaGUKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAplcnJvcl9tb2RpZnlfZmlsZT1SZXN1cnNzaXRpZWRvc3RvblwgbXV1dG9zXCBlcFx1MDBFNG9ubmlzdHVpLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmVycm9yX21vZGlmeV9ncm91cD1SZXN1cnNzaXJ5aG1cdTAwRTRuXCBtdXV0b3NcIGVwXHUwMEU0b25uaXN0dWkuCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZXJyb3JfbW9kaWZ5X2l0ZW09UmVzdXJzc2luXCBtdXV0b3NcIGVwXHUwMEU0b25uaXN0dWkuCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZXJyb3Jfbm9fYnVuZGxlX2Zvcl9maWxlPUF2YWFcIHRhaVwgbHVvXCB1dXNpXCByZXN1cnNzaWtva29lbG1hXCBlbnNpbixcIHNpdHRlblwgdm9pdFwgbHVvZGFcIHV1ZGVuXCByZXN1cnNzaXRpZWRvc3Rvbi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAplcnJvcl9ub19idW5kbGVfZm9yX2dyb3VwPUF2YWFcIHRhaVwgbHVvXCB1dXNpXCByZXN1cnNzaWtva29lbG1hXCBlbnNpbixcIHNpdHRlblwgdm9pdFwgbHVvZGFcIHV1ZGVuXCByZXN1cnNzaXJ5aG1cdTAwRTRuLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgRXJyb3IgbWVzc2FnZSBkaXNwbGF5ZWQgd2hlbiB0aGUgdXNlciB0cmllcyB0byBjcmVhdGUgYSByZXNvdXJjZSwgd2l0aG91dCBhbiBvcGVuIHJlc291cmNlIGJ1bmRsZQplcnJvcl9ub19idW5kbGVfZm9yX2l0ZW09QXZhYVwgdGFpXCBsdW9cIHV1c2lcIHJlc3Vyc3Npa29rb2VsbWFcIGVuc2luLFwgc2l0dGVuXCB2b2l0XCBsdW9kYVwgdXVkZW5cIHJlc3Vyc3Npbi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAplcnJvcl9ub19rZXlfcmVwbGFjZT1Lb3J2YWEtdG9pbWl0b1wgZWlcIHZhaWt1dGFcIHJlc3Vyc3NpYXZhaW1paW4uXCBNdXV0XCBrb3J2YXVrc2V0XCB0ZWhkXHUwMEU0XHUwMEU0bgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgSW5kaWNhdGlvbiB0aGF0IFJCTWFuYWdlciBjYW4gbm90IHJlYWQgdGhlIGZpbGUgYXMgY3JlYXRlZCBieSBSQk1hbmFnZXIKZXJyb3Jfbm90X3JibWFuYWdlcl9mb3JtYXQ9VmFsaXR0dVwgcmVzdXJzc2l0aWVkb3N0b1wgZWlcIG9sZVwgUkJNYW5hZ2VyaW5cIGx1b21hXCB0YWlcIHRpZWRvc3RvXCBvblwgdmlvaXR0dW51dC4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDctMDIgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQHswfSBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0aGF0IHdvdWxkIG5vdCBvcGVuCiMgQGNvbW1lbnQgRXJyb3IgbWVzc2FnZSBvY2N1cmluZyBvbiBhbiBJL08gZXJyb3IgdHJ5aW5nIHRvIG9wZW4gYSBmaWxlCmVycm9yX29wZW5pbmdfZmlsZT1UaWVkb3N0b2FcIHswfVwgZWlcIHZvaXR1XCBhdmF0YQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgRXJyb3IgbWVzc2FnZSBkaXNwbGF5ZWQgd2hlbiBSQk1hbmFnZXIgZW5jb3VudGVycyBhbiBlcnJvciB3cml0aW5nIHByZWZlcmVuY2VzIHRvIHRoZSBmaWxlIHN5c3RlbQplcnJvcl9wcmVmZXJlbmNlc19zYXZlPUFzZXR1c3RlblwgdGFsbHR1c1wgZXBcdTAwRTRvbm5pc3R1aS4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMTAgQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEB7MH0gVGhlIGVycm9yIG1lc3NhZ2UgZ2VuZXJhdGVkCiMgQGNvbW1lbnQgQSBtZXNzYWdlIHByZXNlbnRlZCB0byB0aGUgdXNlciB3aGVuIGFuIGVycm9yIG9jY3VycyBpbiBzYXZpbmcgdGhlIHJlc291cmNlIGJ1bmRsZQplcnJvcl9zYXZpbmc9UmVzdXJzc2lrb2tvZWxtYW5cIHRhbGxldHVrc2Vzc2FcIHRhcGFodHVpXCB2aXJoZVw6XCB7MH0KIyBAdHJhbnNsYXRlZCBmYWxzZSBAY3JlYXRlZCAyMDAxLTEyLTE5IEBtb2RpZmllZCAyMDAxLTEyLTE5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIFVua25vd24KIyBAY29tbWVudCBHZW5lcmFsIGVycm9yIG1lc3NhZ2Ugd2hlbiBzYXZpbmcgYSBwcm9qZWN0CmVycm9yX3NhdmluZ19wcm9qZWN0PUFuXCBlcnJvclwgd2FzXCBlbmNvdW50ZXJlZFwgdHJ5aW5nXCB0b1wgc2F2ZVwgdGhlXCBSZXNvdXJjZVwgQnVuZGxlXCBQcm9qZWN0LgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgU3VnZ2VzdCB0cnlpbmcgdG8gaW1wb3J0IHRoZSByZXNvdXJjZSBidW5kbGUgaW5zdGVhZCBvZiBvcGVuaW5nIGl0LgplcnJvcl9zdWdnZXN0X2ltcG9ydF9wcm9wZXJ0aWVzPVlyaXRcdTAwRTRcIHJlc3Vyc3NpdGllZG9zdG9uXCBoYWt1YVwgYXZhdWtzZW5cIHNpamFzdGEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAplcnJvcl90cnlfYWdhaW5fZmlsZT1TeVx1MDBGNnRcdTAwRTRcIHV1ZGV0XCBlbmNvZGluZy1hcnZvdFwgamFcIHlyaXRcdTAwRTRcIHNpdHRlblwgdXVkZXN0YWFuLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCmVycm9yX3RyeV9hZ2Fpbl9ncm91cD1Zcml0XHUwMEU0XCB1dWRlc3RhYW5cIHRvaXNlbGxhXCByZXN1cnNzaXJ5aG1cdTAwRTRuXCBuaW1lbGxcdTAwRTQuCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKZXJyb3JfdHJ5X2FnYWluX2l0ZW09WXJpdFx1MDBFNFwgdXVkZXN0YWFuXCB0b2lzZWxsYVwgcmVzdXJzc2luXCBuaW1lbGxcdTAwRTQuCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBWYWx1ZSBpbnNlcnRlZCBpbnRvIHRhYmxlIGNlbGxzIHdoZW4gYW4gZXJyb3IgaGFzIG9jY3VyZWQKdGFibGVfY2VsbF9lcnJvcj0qVmlyaGUqCgojCiMgQGdyb3VwIEV4cG9ydAojCiMgQGdyb3VwQ29tbWVudCBSZXNvdXJjZXMgZGVhbGluZyB3aXRoIGV4cG9ydCBvcHRpb25zCgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wNy0wMiBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBPcHRpb24gZm9yIHRoZSBwYXJhbWV0ZXIgZm9yIGNyZWF0ZWQgYSBwcm90ZWN0ZWQgY2xhc3MKZXhwb3J0X2phdmFfY2xhc3NfcHJvdGVjdGVkPUx1b1wgc3VvamF0dHVcIGx1b2trYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wNy0wMiBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBPcHRpb24gZm9yIHBhcmFtZXRlciBzZXR0aW5nIHRoZSBjcmVhdGVkIGNsYXNzIGFzIHB1YmxpYwpleHBvcnRfamF2YV9jbGFzc19wdWJsaWM9THVvXCBqdWxraW5lblwgbHVva2thCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTA3LTAyIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IE9wdGlvbiBmb3IgcGFyYW1ldGVyIGZvciBjcmVhdGluZyBwcm90ZWN0ZWQgbWV0aG9kcyBpbiB0aGUgamF2YSBjbGFzcwpleHBvcnRfamF2YV9tZXRob2RzX3Byb3RlY3RlZD1MdW9cIHN1b2phdHR1XCBtZXRvZGkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDctMDIgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQGNvbW1lbnQgT3B0aW9uIGZvciBwYXJhbWV0ZXIgZm9yIGNyZWF0aW5nIHB1YmxpYyBtZXRob2RzCmV4cG9ydF9qYXZhX21ldGhvZHNfcHVibGljPUx1b1wganVsa2luZW5cIG1ldG9kaQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wNy0wMiBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBUaXRsZSBvZiBhIGNoZWNrIGJveCBmb2xsb3dlZCBieSBhIHRleHQgZmllbGQgZm9yIHNwZWNpZnlpbmcgd2hldGhlciBvciBub3QgdG8gdXNlIGEgcGFja2FnZSBpbiB0aGUgZ2VuZXJhdGVkIGphdmEgY2xhc3MgYW5kIHdoYXQgdGhlIHBhY2thZ2Ugc2hvdWxkIGJlIGNhbGxlZApleHBvcnRfamF2YV9wYWNrYWdlPUFubmFcIHBha2V0aW5cIG5pbWlcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wNy0wMiBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW1ha2kKIyBAY29tbWVudCBUZXh0IHBsYWNlZCBpbiBhIGxhYmVsIGF0IHRoZSB0b3Agb2YgdGhlIGRpYWxvZyBib3ggZm9yIHNwZWNpZnlpbmcgcGFyYW1ldGVycyBjb25jZXJuaW5nIHRoZSBleHBvcnQgb2YgcmVzb3VyY2UgYnVuZGxlcyBpbnRvIGEgamF2YSBjbGFzcwpleHBvcnRfamF2YV90aXRsZT1Bbm5hXCBzZXVyYWF2YXRcIHBhcmFtZXRyaXRcIEphdmEtbHVva2FsbGVcOgoKIwojIEBncm91cCBHZW5lcmFsCiMKIyBAZ3JvdXBDb21tZW50IFNvbWUgaXRlbXMgdGhhdCBhcmUgY29tbW9uIGFjcm9zcyBncm91cHMKCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgZmlsZSBvciBjbGFzcyBjb21wb3NlZCBvZiB0aGUgZGVmYXVsdCB0cmFuc2xhdGlvbnMgZm9yIHRoZSBidW5kbGUKYmFzZWNsYXNzPUJhc2VcIENsYXNzCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDA0LTA2LTI5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBHZW9yZ2UKIyBAY29tbWVudCBUaGlzIGlzIHRoZSBsZWdhbCBjb3B5cmlnaHQgbm90aWNlCmNvcHlyaWdodD0oQylcIENvcHlyaWdodFwgSUJNXCBDb3JwLlwgMjAwMC0yMDA0XCAtXCBLYWlra2lcIG9pa2V1ZGV0XCBwaWRcdTAwRTR0ZXR0eQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgR2VybmVyYWwgdXNlIGZvciBmaWxlIGRpcmVjdG9yaWVzCmRpcmVjdG9yeT1IYWtlbWlzdG8KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApncm91cHM9UnlobVx1MDBFNHQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoZSBuYW1lIG9mIHRoZSBpbWFnZSBmaWxlIGluIHRoZSAnSW1hZ2VzJyBkaXJlY3RvcnkgdGhhdCByZXByZXNlbnRzIHRoZSBsb2dvIHNlZW4gYXQgdGhlIHRvcCBvZiB0aGUgYXBwbGljYXRpb24KbG9nb19maWxlbmFtZT1UaXRsZUxvZ29fdHJhbnNwYXJlbnQuZ2lmCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMi0xNyBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgVHJlZSBub2RlIHRpdGxlIHdoZW4gdmlld2luZyBhIHJlc291cmNlIGJ1bmRsZSBpbiB0aGUgcHJvamVjdCB2aWV3IHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIHByb2plY3QKbm9fcHJvamVjdD1EZWZhdWx0XCBQcm9qZWN0CiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMi0xNyBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgVHJlZSBub2RlIHRpdGxlIGRlZmF1bHRlZCB0byB3aGVuIG5vIHJlc291cmNlIGJ1bmRsZSBvciBwcm9qZWN0IGhhcyBiZWVuIG9wZW5lZCBieSB0aGUgdXNlcgpub19wcm9qZWN0X2J1bmRsZT1Ob1wgUHJvamVjdFwgb3JcIFJlc291cmNlXCBCdW5kbGVcIE9wZW4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoZSB0b3AgdHJlZSBub2RlIHRpdGxlLCB3aGVuIG5vIHJlc291cmNlIGJ1bmRsZSBoYXMgYmVlbiBvcGVuZWQgb3IgY3JlYXRlZApub19yZXNvdXJjZV9idW5kbGU9UmVzdXJzc2lrb2tvZWxtYWFcIGVpXCBvbGUKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApub25lPUVpXCBvbGUKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMTEtMjAgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQGNvbW1lbnQgUHJvamVjdCB0YWJsZSBjb2x1bW4gbmFtZSAtIExvY2F0aW9uIG9mIGEgcmVzb3VyY2UgYnVuZGxlCnByb2plY3RfdGFibGVfZmlsZV9sb2NhdGlvbj1UaWVkb3N0b25cIFNpamFpbnRpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IFRhYmxlIENvbHVtbiBOYW1lIGZvciByZXNvdXJjZSBidW5kbGUgbmFtZQpwcm9qZWN0X3RhYmxlX3Jlc291cmNlX2J1bmRsZT1SZXN1cnNzaWtva29lbG1hCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBBbiBhYmJyZXZpYXRlZCBuYW1lIG9mIHRoaXMgYXBwbGljYXRpb24KcmJtYW5hZ2VyPVJCTWFuYWdlcgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwNC0wNi0yOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgR2VvcmdlCiMgQGNvbW1lbnQgCnJibWFuYWdlcl9jb250YWN0PVRla2lqXHUwMEU0XDpcIEphcmVkXCBKYWNrc29uXCAmXCBHZW9yZ2VcIFJob3RlbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGhlIGZ1bGwgbmFtZSBvZiB0aGlzIGFwcGxpY2F0aW9uCnJlc291cmNlX2J1bmRsZV9tYW5hZ2VyPVJlc3Vyc3NpbWFuYWdlcmkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAp0YWJsZV9jb2x1bW5fZXJyb3I9VmlyaGVcIHRhdWx1a29uXCBzYXJha2tlZXNzYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQHswfSAKIyBAY29tbWVudCBOb2RlIHRpdGxlLCB1bmRlciB3aGljaCBhbGwgZmlsZXMgb2YgdGhlIHNhbWUgY291bnRyeSwgbGFuZ3VhZ2UgcmVzaWRlCnRyZWVfY291bnRyeV9ub2RlPU1hYWtvb2RpXDpcIHswfQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQHswfSBMYW5ndWFnZSBFbmNvZGluZwojIEBjb21tZW50IFRoZSBub2RlIGJlbG93IHdoaWNoIGxhbmd1YWdlcyBvZiBvbmUgZW5jb2RpbmcgYXJlIGdyb3VwZWQKdHJlZV9sYW5ndWFnZV9ub2RlPUtpZWxpa29vZGlcOlwgezB9CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKdHJlZV92YXJpYW50X25vZGU9TXV1bm5lbG1pYVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgbmFtZSBhc3NpZ25lZCBhcyBhIHVzZXIgbmFtZSB3aGVuIHRoZSB1c2VyIG5hbWUgaXMgbm90IHNwZWNpZmllZAp1bmtub3duX3VzZXI9VHVubmlzdGFtYXRvbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCnVudGl0bGVkPUVpXCBuaW1lXHUwMEU0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKdW50cmFuc2xhdGVkX2l0ZW1zPUtcdTAwRTRcdTAwRTRudFx1MDBFNG1cdTAwRTR0dFx1MDBGNm1cdTAwRTR0XCByZXN1cnNzaXQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEB7MH0gVGhlIHZlcnNpb24gbnVtYmVyCiMgQGNvbW1lbnQgVGhlIHZlcnNpb24gb2YgdGhpcyBhcHBsaWNhdGlvbgp2ZXJzaW9uPVZlcnNpb1wgezB9CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBnZW5lcmFsIHVzZSBXYXJuaW5nCndhcm5pbmc9VmFyb2l0dXMKCiMKIyBAZ3JvdXAgSW1wb3J0CiMKIyBAZ3JvdXBDb21tZW50IFJlc291cmNlcyBkZWFsaW5nIHdpdGggaW1wb3J0IG9wdGlvbnMKCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUaXRsZSBmb3IgZmlsZSBjaG9vc2VyIGZvciBjaG9vc2luZyBUTVggZmlsZXMKaW1wb3J0X1RNWF9maWxlX2Rlc2NyaXB0aW9uPVRNWC10aWVkb3N0b3QKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IERpYWxvZyB0aXRsZSBmb3IgaW1wb3J0aW5nIGZyb20gVE1YIFhNTCBmaWxlcwppbXBvcnRfVE1YX3RpdGxlPVRNWC10aWVkb3N0b25cIGhha3UKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDQtMDctMDEgQG1vZGlmaWVkIDIwMDQtMDctMDEgQGNyZWF0b3IgR2VvcmdlIFJob3RlbiBAbW9kaWZpZXIgR2VvcmdlIFJob3RlbgojIEBjb21tZW50IFRpdGxlIGZvciB0aGUgZmlsZSBjaG9vc2VyIGZvciBjaG9vc2luZyBYTElGRiAoLnhsZikgZmlsZXMKaW1wb3J0X1hMRl9maWxlX2Rlc2NyaXB0aW9uPVhMSUZGLXRpZWRvc3RvdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwNC0wNy0wMSBAbW9kaWZpZWQgMjAwNC0wNy0wMSBAY3JlYXRvciBHZW9yZ2UgUmhvdGVuIEBtb2RpZmllciBHZW9yZ2UgUmhvdGVuCiMgQGNvbW1lbnQgRGlhbG90IHRpdGxlIGZvciBpbXBvcnRpbmcgZnJvbSBYTElGRiAoLnhsZikgZmlsZXMKaW1wb3J0X1hMRl90aXRsZT1YTElGRi10aWVkb3N0b25cIGhha3UKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IE9wdGlvbiBmb3IgcmVzb2x2aW5nIGNvbmZsaWN0cyBvbiBhIGNhc2UgYnkgY2FzZSBiYXNpcwppbXBvcnRfY29uZmxpY3RfcHJvbXB0PUt5c3lcIGpva2Fpc2VuXCBvbmdlbG1hblwga29oZGFsbGEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IE9wdGlvbiBzcGVjaWZ5aW5nIHdoZXRoZXIgYSBncm91cCBmb3VuZCBpbiB0aGUgdGFyZ2V0IGJ1dCBub3QgZm91bmQgaW4gdGhlIGFjdGl2ZSByZXNvdXJjZSBidW5kbGUgc2hvdWxkIGJlIGNyZWF0ZWQgaW4gdGhlIHJlc291cmNlIGJ1bmRsZSBvciBub3QKaW1wb3J0X2RlZmF1bHRfZ3JvdXBfY3JlYXRpb249THVvXCByZXN1cnNzaXJ5aG1cdTAwRTR0XCBqb2l0YVwgZWlcIG9sZVwgbnlreWlzZXNzXHUwMEU0XCB0aWVkb3N0b3NzYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgT3B0b2luIGZvciBtYXJraW5nIHRoZSBpbmNvbWluZyB2YWx1ZXMgYXMgdHJhbnNsYXRlZCBvciBub3QKaW1wb3J0X2RlZmF1bHRfdHJhbnNsYXRlZD1NZXJraXRzZVwga1x1MDBFNFx1MDBFNG5uZXR5a3NpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUaXRsZSBmb3Igb3B0aW9ucyBzcGVjaWZ5aW5nIHRoZSBtZXRhIGRhdGEgdG8gYmUgYXBwbGllZCB0byBpbmRpdmlkdWFsIHJlc291cmNlcyBpZiBpdCBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBpbXBvcnQgc291cmNlCmltcG9ydF9kZWZhdWx0X3ZhbHVlcz1PbGV0dXNhcnZvdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQHswfSBUaGUgbG9jYWxlIGVuY29kaW5nIG9mIHRoZSBmaWxlIGluIHF1ZXN0aW9uCiMgQGNvbW1lbnQgSW5zdHJ1Y3Rpb25zIGZvciBwcm9tcHRpbmcgdGhlIHVzZXIgdG8gcmVzb2x2ZSBhIGNvbmZsaWN0IHdoZW4gaW1wb3J0aW5nIHJlc291cmNlcyBmcm9tIGEgbG9jYWxlIHRoYXQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgcmVzb3VyY2UgYnVuZGxlCmltcG9ydF9maWxlX2NvbmZsaWN0X2Nob29zZT1FbmNvZGluZ1wgezB9XCBlaVwgb2xlXCBvbGVtYXNzYS5cIFZhbGl0c2VcIGt1aW5rYVwgaGFsdWF0XCByYXRrYWlzdGFcIG9uZ2VsbWFuLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgT3B0aW9uIGZvciBmaWxlIGNvbmZsaWN0cyBpbiB3aGljaCBhIG5ldyBmaWxlIGlzIGdlbmVyYXRlZCwgYnV0IG5vdCBwb3B1bGF0ZWQKaW1wb3J0X2ZpbGVfY29uZmxpY3RfZ2VuZXJhdGVfZW1wdHk9THVvXCB1dXNpXCB0eWhqXHUwMEU0XCByZXN1cnNzaXRpZWRvc3RvCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBPcHRpb24gZm9yIHJlc29sdmluZyBmaWxlIGNvbmZsaWN0cyBpbiB3aGljaCBhIG5ldyBmaWxlIGlzIGdlbmVyYXRlZCBhbmQgcG9wdWxhdGVkIHdpdGggYWxsIHRoZSBleGlzdGluZyByZXNvdXJjZXMKaW1wb3J0X2ZpbGVfY29uZmxpY3RfZ2VuZXJhdGVfcG9wdWxhdGU9THVvXCB1dXNpXCByZXN1cnNzaXRpZWRvc3RvXCBqYVwga29waW9pXCBCYXNlXCBDbGFzc2luXCByZXN1cnNzaXRcIHNpaWhlbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgT3B0aW9uIGZvciBmaWxlIGNvbmZsaWN0cyBpbiB3aGljaCB0aGUgY29uZmxpY3RzIGFyZSBpZ25vcmVkCmltcG9ydF9maWxlX2NvbmZsaWN0X2lnbm9yZT1IeXBwXHUwMEU0XHUwMEU0XCBuaWlkZW5cIHJlc3Vyc3NpZW5cIHlsaVwgam9pZGVuXCBBbHVlLWFzZXR1c1wgZWlcIG9sZVwgbnlreWlzZXNzXHUwMEU0XCByZXN1cnNzaXRpZWRvc3Rvc3NhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUaXRsZSBmb3Igc2VjdGlvbiBsaXN0aW5nIG9wdGlvbnMgZm9yIHdoYXQgdG8gZG8gd2hlbiBhbiBpbXBvcnRlZCB2YWx1ZSBleGlzdHMgaW4gYSBsb2NhbGUgbm90IGRlZmluZWQgaW4gdGhlIGV4aXN0aW5nIHJlc291cmNlIGJ1bmRsZQppbXBvcnRfZmlsZV9jb25mbGljdHM9UHV1dHR1dmF0XCByZXN1cnNzaXRpZWRvc3RvdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgU2VsZWN0aW9uIG9mIHRoZSBkZWZhdWx0IGdyb3VwLiBBIGxpc3Qgb2YgZ3JvdXBzIHdpbGwgYXBwZWFyIHRvIHRoZSByaWdodCBvZiB0aGlzIHJlc291cmNlIGluIGEgQ29tYm9Cb3gKaW1wb3J0X2luc2VydF9ncm91cD1TaWpvaXRhXCByZXN1cnNzaXJ5aG1cdTAwRTRcdTAwRTRuXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IFRpdGxlIGZvciB0aGUgdHlwZXMgb2YgZmlsZXMgYWNjZXB0ZWQgZm9yIHRoaXMgaW1wb3J0IHR5cGUKaW1wb3J0X2phdmFfZmlsZV9kZXNjcmlwdGlvbj1KYXZhXCBMaXN0UmVzb3VyY2VCdW5kbGVcIEJhc2VcIENsYXNzaXQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IFRpdGxlIGZvciBkaWFsb2cgcHJvbXB0aW5nIGZvciBpbXBvcnQgZnJvbSBqYXZhIGNsYXNzZXMKaW1wb3J0X2phdmFfdGl0bGU9SmF2YVwgTGlzdFJlc291cmNlQnVuZGxlXCBDbGFzc2llblwgSGFrdQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgVGl0bGUgaW5kaWNhdGluZyBzZWN0aW9uIGNvbnRhaW5pbmcgdXNlciBvcHRpb25zCmltcG9ydF9vcHRpb25zPUhha3VwYXJhbWV0cml0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUaXRsZSBmb3IgZmlsZSBjaG9vc2VyIGZvciBzZWxlY3Rpb24gb2YgcmVzb3VyY2UgYnVuZGxlcyBzdG9yZWQgaW4gLnByb3BlcnRpZXMgZmlsZXMKaW1wb3J0X3Byb3BlcnRpZXNfZmlsZV9kZXNjcmlwdGlvbj1SZXN1cnNzaXRpZWRvc3RvblwgQmFzZVwgQ2xhc3NpdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgRGlhbG9nIHRpdGxlIGZvciBpbXBvcnRpbmcgZnJvbSBwcm9wZXJ0aWVzIGZpbGVzIChjcmVhdGVkIG9yIG5vdCBieSBSQk1hbmFnZXIpCmltcG9ydF9wcm9wZXJ0aWVzX3RpdGxlPVJlc3Vyc3NpdGllZG9zdG9qZW5cIGhha3UKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEB7MX0gRW5jb2Rpbmcgb2YgdGhlIHJlc291cmNlIHZhbHVlIHdpdGggYSBjb25mbGljdAojIEB7MH0gVGhlIGtleSB2YWx1ZSBvZiB0aGUgcmVzb3VyY2UgaW4gY29uZmxpY3QKIyBAY29tbWVudCBUaGlzIGlzIGEgd2FybmluZyBhbmQgaW5zdHJ1Y3Rpb24gZm9yIHdoZW4gYSByZXNvdXJjZSBjb25mbGljdCBvY2N1cnMgZHVyaW5nIGFuIGltcG9ydAppbXBvcnRfcmVzb3VyY2VfY29uZmxpY3RfY2hvb3NlPUF2YWludGFcIHswfVwgZWlcIG9sZVwgb2xlbWFzc2FcIHJlc3Vyc3Npa29rb2VsbWFzc2FcIHsxfS5WYWxpdHNlXCBrdWlua2FcIGhhbHVhdFwgcmF0a2Fpc3RhXCBvbmdlbG1hblw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAezB9IFRoZSB0cmFuc2xhdGlvbiB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHJlc291cmNlIGl0ZW0KIyBAY29tbWVudCBBbiBpbmRpY2F0aW9uIG9mIHRoZSB2YWx1ZSBvZiB0aGUgcmVzb3VyY2UgYWNjb3JkaW5nIHRvIHRoZSBpbXBvcnQgZmlsZQppbXBvcnRfcmVzb3VyY2VfY29uZmxpY3RfY2hvb3NlX3NvdXJjZT1IYWVcIGtcdTAwRTRcdTAwRTRublx1MDBGNnNcOlwgezB9CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAezB9IFRoZSB0cmFuc2xhdGlvbiB2YWx1ZSBvZiB0aGUgcmVzb3VyY2UgaXRlbQojIEBjb21tZW50IEFuIGluZGljYXRpb24gb2YgdGhlIHRyYW5zbGF0aW9uIHZhbHVlIGhlbGQgYnkgdGhlIGFjdGl2ZSByZXNvdXJjZSBidW5kbGUgZHVyaW5nIGEgdHJhbnNsYXRpb24gcmVzb3VyY2UgY29uZmxpY3QKaW1wb3J0X3Jlc291cmNlX2NvbmZsaWN0X2Nob29zZV90YXJnZXQ9UmVzdXJzc2l0aWVkb3N0b25cIGtcdTAwRTRcdTAwRTRublx1MDBGNnNcOlwgezB9CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBPcHRpb24gZm9yIHJlc29sdmluZyByZXNvdXJjZSBjb25mbGljdHMgYnkgaWdub3JpbmcgaW1wb3J0IHZhbHVlCmltcG9ydF9yZXNvdXJjZV9jb25mbGljdF9pZ25vcmU9T2hpdGFcIG9uZ2VsbWFcIGphXCBcdTAwRTRsXHUwMEU0XCBtdXV0YVwgcmVzdXJzc2lhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBPcHRpb24gZm9yIHJlc29sdmluZyBjb25mbGljdHMgYnkgdXNpbmcgdGhlIGltcG9ydCB2YWx1ZQppbXBvcnRfcmVzb3VyY2VfY29uZmxpY3Rfb3ZlcndyaXRlPUtvcnZhYVwgcmVzdXJzc2lcIHRpZWRvc3Rvc3RhXCBoYWV0dWxsYVwgYXJ2b2xsYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgVGl0bGUgbGlzdGluZyBvcHRpb25zIGZvciByZXNvbHZpbmcgY29uZmxpY3RzIGJldHdlZW4gcmVzb3VyY2VzCmltcG9ydF9yZXNvdXJjZV9jb25mbGljdHM9UmVzdXJzc2llblwgb25nZWxtYXQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEB7MH0gVGhlIHBhdGggYW5kIG5hbWUgb2YgdGhlIHNvdXJjZSBmaWxlCiMgQGNvbW1lbnQgSW5kaWNhdGlvbiBvZiB0aGUgc291cmNlIGZpbGUgZm9yIHRoZSBpbXBvcnQKaW1wb3J0X3NvdXJjZV9maWxlPVRpZWRvc3RvXDpcIHswfQoKIwojIEBncm91cCBNZW51IEl0ZW1zCiMKIyBAZ3JvdXBDb21tZW50IFRoZXNlIHJlc291cmNlcyByZXByZXNlbnQgYWxsIG9mIHRoZSBtZW51IGFuZCBtZW51IGl0ZW0gdGl0bGVzCgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgbWVudSB0aXRsZSBjb3ZlcmluZyBjb3B5aW5nLCBwYXN0aW5nLCBkZWxldGluZyBvZiBpdGVtcwptZW51X2VkaXQ9TXV1dGEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAptZW51X2VkaXRfY29weT1Lb3Bpb2kKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAptZW51X2VkaXRfY29weV90cmlnZ2VyPWsKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAptZW51X2VkaXRfY3V0PUxlaWtrYWEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAptZW51X2VkaXRfY3V0X3RyaWdnZXI9bAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCm1lbnVfZWRpdF9kZWxldGU9UG9pc3RhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKbWVudV9lZGl0X2RlbGV0ZV90cmlnZ2VyPXAKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAptZW51X2VkaXRfcGFzdGU9U2lqb2l0YQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCm1lbnVfZWRpdF9wYXN0ZV90cmlnZ2VyPXMKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGhlIHRyaWdnZXIgaXMgYSBsZXR0ZXIgZnJvbSB0aGUgdHJhbnNsYXRpb24gb2YgJ21lbnVfZWRpdCcgd2hpY2ggcHJvdmlkZXMgYSBrZXlib2FyZCBzaG9ydGN1dCB0byB0aGUgbWVudQptZW51X2VkaXRfdHJpZ2dlcj1tCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IE1lbnUgdGl0bGUgZm9yIHRoZSBvcGVuaW5nLCBzYXZpbmcsIGV0Yy4gZG9jdW1lbnRzIGFuZCBleGl0aW5nIHRoZSBwcm9ncmFtCm1lbnVfZmlsZT1UaWVkb3N0bwojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgQWJpbGl0eSB0byBleHBvcnQgcmVzb3VyY2UgYnVuZGxlcyBpbiBhIHZhcmlldHkgb2YgZm9ybWF0cwptZW51X2ZpbGVfZXhwb3J0PVJlc3Vyc3Npa29rb2VsbWFuXCBzaWlydG8KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDItMDUtMTcgQG1vZGlmaWVkIDIwMDItMDUtMTcgQGNyZWF0b3IgR2VvcmdlIFJob3RlbiBAbW9kaWZpZXIgR2VvcmdlIFJob3RlbgojIEBjb21tZW50IEFiaWxpdHkgdG8gZXhwb3J0IHRvIElDVSBSZXNvdXJjZSBCdW5kbGUgZmlsZXMKbWVudV9maWxlX2V4cG9ydF9JQ1U9SUNVLXRpZWRvc3RvdC4uLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMi0wNS0xNyBAbW9kaWZpZWQgMjAwMi0wNS0xNyBAY3JlYXRvciBHZW9yZ2UgUmhvdGVuIEBtb2RpZmllciBHZW9yZ2UgUmhvdGVuCiMgQGNvbW1lbnQgCm1lbnVfZmlsZV9leHBvcnRfSUNVX3RyaWdnZXI9aQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgQWJpbGl0eSB0byBleHBvcnQgdG8gVE1YIFhNTCBmaWxlcwptZW51X2ZpbGVfZXhwb3J0X1RNWD1UTVgtdGllZG9zdG90Li4uCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKbWVudV9maWxlX2V4cG9ydF9UTVhfdHJpZ2dlcj1zCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwNC0wNy0wMSBAbW9kaWZpZWQgMjAwNC0wNy0wMSBAY3JlYXRvciBHZW9yZ2UgUmhvdGVuIEBtb2RpZmllciBHZW9yZ2UgUmhvdGVuCiMgQGNvbW1lbnQgeAptZW51X2ZpbGVfZXhwb3J0X1hMRj1YTElGRi10aWVkb3N0b3QuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDQtMDctMDEgQG1vZGlmaWVkIDIwMDQtMDctMDEgQGNyZWF0b3IgR2VvcmdlIFJob3RlbiBAbW9kaWZpZXIgR2VvcmdlIFJob3RlbgojIEBjb21tZW50IAptZW51X2ZpbGVfZXhwb3J0X1hMRl90cmlnZ2VyPXgKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEFiaWxpdHkgdG8gZXhwb3J0IHRvIGphdmEgZmlsZXMgdGhhdCBjb21waWxlIHRvIGJlIExpc3RSZXNvdXJjZUJ1bmRsZSBjbGFzcyBleHRlbnNpb25zCm1lbnVfZmlsZV9leHBvcnRfamF2YT1KYXZhLXRpZWRvc3RvdC4uLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCm1lbnVfZmlsZV9leHBvcnRfamF2YV90cmlnZ2VyPWoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEV4cG9ydCBhYmlsaXR5IHRvIHByb3BlcnRpZXMgZmlsZXMgbWludXMgdGhlIG1ldGFkYXRhCm1lbnVfZmlsZV9leHBvcnRfcHJvcGVydGllcz1QZWxra1x1MDBFNFwgUHJvcGVydHktdGllZG9zdG8uLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAptZW51X2ZpbGVfZXhwb3J0X3Byb3BlcnRpZXNfdHJpZ2dlcj1wCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCAKbWVudV9maWxlX2V4cG9ydF90cmlnZ2VyPXMKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgTWVudSBpdGVtIGZvciBpbXBvcnQgYW5kIG1lcmdpbmcgYW5vdGhlciByZXNvdXJjZSBmaWxlIHdpdGggdGhlIGJ1bmRsZSBiZWluZyB3b3JrZWQgd2l0aAptZW51X2ZpbGVfaW1wb3J0PUx1ZVwgcmVzdXJzc2lrb2tvZWxtYVwgdGllZG9zdG9zdGEuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEltcG9ydCBhYmlsaXR5IGZyb20gWE1MIFRNWCBkb2N1bWVudHMKbWVudV9maWxlX2ltcG9ydF9UTVg9VE1YLXRpZWRvc3RvdC4uLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCm1lbnVfZmlsZV9pbXBvcnRfVE1YX3RyaWdnZXI9dAojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDQtMDctMDEgQG1vZGlmaWVkIDIwMDQtMDctMDEgQGNyZWF0b3IgR2VvcmdlIFJob3RlbiBAbW9kaWZpZXIgR2VvcmdlIFJob3RlbgojIEBjb21tZW50IEltcG9ydCBhYmlsaXR5IGZyb20gWE1MIFhMSUZGICgueGxmKSBmaWxlcwptZW51X2ZpbGVfaW1wb3J0X1hMRj1YTElGRi10aWVkb3N0b3QuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDQtMDctMDEgQG1vZGlmaWVkIDIwMDQtMDctMDEgQGNyZWF0b3IgR2VvcmdlIFJob3RlbiBAbW9kaWZpZXIgR2VvcmdlIFJob3RlbgojIEBjb21tZW50IFgKbWVudV9maWxlX2ltcG9ydF9YTEZfdHJpZ2dlcj14CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBJbXBvcnQgYWJpbGl0eSBmcm9tIGphdmEgY2xhc3NlcyAoTGlzdFJlc291cmNlQnVuZGxlKQptZW51X2ZpbGVfaW1wb3J0X2phdmE9SmF2YS10aWVkb3N0b3QuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IAptZW51X2ZpbGVfaW1wb3J0X2phdmFfdHJpZ2dlcj1qCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBJbXBvcnQgYWJpbGl0eSBmcm9tIHByb3BlcnRpZXMgZmlsZXMgbm90IGdlbmVyYXRlZCBieSBSQk1hbmFnZXIKbWVudV9maWxlX2ltcG9ydF9wcm9wZXJ0aWVzPVlrc2lua2VydGFpc2V0XCByZXN1cnNzaWtva29lbG1hdC4uLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgCm1lbnVfZmlsZV9pbXBvcnRfcHJvcGVydGllc190cmlnZ2VyPXAKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCm1lbnVfZmlsZV9pbXBvcnRfdHJpZ2dlcj1sCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IE1lbnUgaXRlbSBmb3IgY3JlYXRpbmcgYSBuZXcgcmVzb3VyY2UgYnVuZGxlCm1lbnVfZmlsZV9uZXc9VXVzaVwgcmVzdXJzc2lrb2tvZWxtYS4uLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKbWVudV9maWxlX25ld190cmlnZ2VyPXUKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgTWVudSBJdGVtIGZvciBvcGVuaW5nIGEgcmVzb3VyY2UgYnVuZGxlCm1lbnVfZmlsZV9vcGVuPUF2YWFcIHJlc3Vyc3Npa29rb2VsbWEuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCm1lbnVfZmlsZV9vcGVuX3RyaWdnZXI9YQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBNZW51IGl0ZW0gZm9yIGNsb3NpbmcgdGhlIGFwcGxpY2F0aW9uCm1lbnVfZmlsZV9xdWl0PVBvaXN0dQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKbWVudV9maWxlX3F1aXRfdHJpZ2dlcj1wCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IE1lbnUgaXRlbSBmb3Igc2F2aW5nIHRoZSByZXNvdXJjZSBidW5kbGUgYmVpbmcgd29ya2VkIHdpdGgKbWVudV9maWxlX3NhdmU9VGFsbGV0YVwgcmVzdXJzc2lrb2tvZWxtYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKbWVudV9maWxlX3NhdmVfdHJpZ2dlcj10CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IE1lbnUgSXRlbSBmb3Igc2F2aW5nIGEgcmVzb3VyY2UgYnVuZGxlIHRvIGEgcGFydGljdWxhciBsb2NhdGlvbiBhbmQgZmlsZSBuYW1lCm1lbnVfZmlsZV9zYXZlYXM9VGFsbGV0YVwgcmVzdXJzc2lrb2tvZWxtYVwgbmltZWxsXHUwMEU0Li4uCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAptZW51X2ZpbGVfc2F2ZWFzX3RyaWdnZXI9bgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgdHJpZ2dlciBpcyBhIGxldHRlciBmcm9tIHRoZSB0cmFuc2xhdGlvbiBvZiAnbWVudV9maWxlJyB3aGljaCBwcm92aWRlcyBhIGtleWJvYXJkIHNob3J0Y3V0IHRvIHRoZSBtZW51Cm1lbnVfZmlsZV90cmlnZ2VyPXQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgTWVudSB0aXRsZSBmb3IgaGVscCBpbmZvcm1hdGlvbiBhbmQgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvZ3JhbQptZW51X2hlbHA9QXB1YQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBNZW51IGl0ZW0gd2hpY2ggYnJpbmdzIHVwIGEgZGlhbG9nIGRlc2NyaWJpbmcgdGhlIGFwcGxpY2F0aW9uCm1lbnVfaGVscF9hYm91dD1MaXNcdTAwRTR0aWV0b2phXCBSZXN1cnNzaW1hbmFnZXJpc3RhLi4uCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAptZW51X2hlbHBfYWJvdXRfdHJpZ2dlcj1sCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoZSB0cmlnZ2VyIGlzIGEgbGV0dGVyIGZyb20gdGhlIHRyYW5zbGF0aW9uIG9mICdtZW51X2hlbHAnIHdoaWNoIHByb3ZpZGVzIGEga2V5Ym9hcmQgc2hvcnRjdXQgdG8gdGhlIG1lbnUKbWVudV9oZWxwX3RyaWdnZXI9YQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBNZW51IHRpdGxlIGZvciBvcHRpb25zIHN1Y2ggYXMgY3JlYXRpbmcgbmV3IHJlc291cmNlcywgZ3JvdXBzLCBhbmQgcmVzb3VyY2UgZmlsZXMKbWVudV9vcHRpb25zPUFzZXR1a3NldAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBNZW51IEl0ZW0gZm9yIGNyZWF0aW5nIGEgbmV3IHJlc291cmNlIGl0ZW0KbWVudV9vcHRpb25zX2FkZGVudHJ5PUxpc1x1MDBFNFx1MDBFNFwgcmVzdXJzc2kuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgCm1lbnVfb3B0aW9uc19hZGRlbnRyeV90cmlnZ2VyPXIKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgTWVudSBJdGVtIGZvciBjcmVhdGluZyBhIG5ldyByZXNvdXJjZSBmaWxlIGZvciBhIHBhcnRpY3VsYXIgbGFuZ3VhZ2UvY291bnRyeS92YXJpYW50Cm1lbnVfb3B0aW9uc19hZGRmaWxlPUxpc1x1MDBFNFx1MDBFNFwgcmVzdXJzc2l0aWVkb3N0by4uLgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKbWVudV9vcHRpb25zX2FkZGZpbGVfdHJpZ2dlcj10CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IE1lbnUgaXRlbSBmb3IgY3JlYXRpbmcgYSBuZXcgcmVzb3VyY2UgZ3JvdXAKbWVudV9vcHRpb25zX2FkZGdyb3VwPUxpc1x1MDBFNFx1MDBFNFwgcmVzdXJzc2lyeWhtXHUwMEU0Li4uCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAptZW51X29wdGlvbnNfYWRkZ3JvdXBfdHJpZ2dlcj1yCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBNZW51IGl0ZW0gZm9yIGVkaXRpbmcgdGhlIHVzZXIncyBwcmVmZXJlbmNlcyBmb3IgdGhlIGFwcGxpY2F0aW9uCm1lbnVfb3B0aW9uc19wcmVmZXJlbmNlcz1Bc2V0dWtzZXQuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IAptZW51X29wdGlvbnNfcHJlZmVyZW5jZXNfdHJpZ2dlcj1hCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTExLTIwIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IE1lbnUgaXRlbSB0aGF0IG1ha2VzIHZpc2libGUgdGhlIHByb2plY3Qgdmlld2VyCm1lbnVfb3B0aW9uc19wcm9qZWN0X3ZpZXdlcj1BdmFhXCBQcm9qZWt0aW5cdTAwRTR5dHRcdTAwRjYKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMTEtMjAgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQGNvbW1lbnQgCm1lbnVfb3B0aW9uc19wcm9qZWN0X3ZpZXdlcl90cmlnZ2VyPW4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGhlIHRyaWdnZXIgaXMgYSBsZXR0ZXIgZnJvbSB0aGUgdHJhbnNsYXRpb24gb2YgJ21lbnVfb3B0aW9ucycgd2hpY2ggcHJvdmlkZXMgYSBrZXlib2FyZCBzaG9ydGN1dCB0byB0aGUgbWVudQptZW51X29wdGlvbnNfdHJpZ2dlcj1hCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMi0xNyBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgUG9wdXAgbWVudSBpdGVtIGZvciBhZGRpbmcgYSBuZXcgcmVzb3VyY2UgYnVuZGxlIHRvIHRoZSBwcm9qZWN0Cm1lbnVfdHJlZV9hZGRfcHJvamVjdF9idW5kbGU9QWRkXCBSZXNvdXJjZVwgQnVuZGxlLi4uCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTA3LTAyIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IFBvcHVwIG1lbnUgaXRlbSBmb3IgZGVsZXRpbmcgcGVybWFuZW50bHkgYSByZXNvdXJjZSBmaWxlCm1lbnVfdHJlZV9kZWxldGU9UG9pc3RhXCBSZXN1cnNzaXRpZWRvc3RvCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTA3LTAyIEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5bWFraQojIEBjb21tZW50IFBvcHVwIG1lbnUgaXRlbSBmb3IgcmVtb3ZpbmcgYSBzcGVjaWZpYyByZXNvdXJjZSBmaWxlIGZyb20gdGhlIHRyZWUgdmlldyBvZiB0aGUgcmVzb3VyY2UgYnVuZGxlCm1lbnVfdHJlZV9oaWRlPVBpaWxvdGFcIFJlc3Vyc3NpdGllZG9zdG8KIyBAdHJhbnNsYXRlZCBmYWxzZSBAY3JlYXRlZCAyMDAxLTEyLTE5IEBtb2RpZmllZCAyMDAxLTEyLTE5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIFVua25vd24KIyBAY29tbWVudCBQb3B1cCBtZW51IGl0ZW0gZm9yIGNyZWF0aW5nIGEgbmV3IHByb2plY3QKbWVudV90cmVlX25ld19wcm9qZWN0PU5ld1wgUmVzb3VyY2VcIEJ1bmRsZVwgUHJvamVjdC4uLgojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMTItMTcgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEBjb21tZW50IFBvcHVwIG1lbnUgaXRlbSBmb3Igb3BlbmluZyBhIHJlc291cmNlIGJ1bmRsZSBwcm9qZWN0Cm1lbnVfdHJlZV9vcGVuX3Byb2plY3Q9T3BlblwgUmVzb3VyY2VcIEJ1bmRsZVwgUHJvamVjdC4uLgojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMTItMTcgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEBjb21tZW50IFBvcHVwIG1lbnUgYXNzb2NpYXRlZCB3aXRoIGEgcmVzb3VyY2UgYnVuZGxlIGluIHRoZSBwcm9qZWN0IHRyZWUKbWVudV90cmVlX3JlbW92ZV9wcm9qZWN0X2J1bmRsZT1SZW1vdmVcIGZyb21cIFByb2plY3QKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDctMDIgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgSnVzc2kgTXlsbHltYWtpCiMgQGNvbW1lbnQgUG9wdXAgbWVudSBpdGVtIGZvciBzYXZpbmcgYSBzcGVjaWZpYyByZXNvdXJjZSBidW5kbGUgZmlsZQptZW51X3RyZWVfc2F2ZT1UYWxsZXRhXCBSZXN1cnNzaXRpZWRvc3RvCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMi0xNyBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgUG9wdXAgbWVudSBpdGVtIGZvciBzYXZpbmcgY2hhbmdlcyB0byB0aGUgcmVzb3VyY2UgcHJvamVjdCBmaWxlLCBub3QgdGhlIHJlc291cmNlIGJ1bmRsZXMgdGhlbXNlbHZlcyB3aXRoaW4gdGhlIHByb2plY3QKbWVudV90cmVlX3NhdmVfcHJvamVjdD1TYXZlXCBSZXNvdXJjZVwgQnVuZGxlXCBQcm9qZWN0XCBGaWxlLi4uCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0xMi0xNyBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgUG9wdXAgbWVudSBmb3Igc2VsZWN0aW5nIGEgcmVzb3VyY2UgYnVuZGxlIGZyb20gdGhlIHByb2plY3QgdHJlZSB0byBiZSBlZGl0ZWQgaW4gdGhlIHJlc291cmNlIGJ1bmRsZSB0cmVlCm1lbnVfdHJlZV9zZWxlY3RfcHJvamVjdF9idW5kbGU9V29ya1wgd2l0aFwgdGhpc1wgUmVzb3VyY2VcIEJ1bmRsZQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBNZW51IHRpdGxlIGZvciBjaGFuZ2luZyB0aGUgZGlzcGxheSBiZWluZyBzZWVuIGJ5IHRoZSB1c2VyCm1lbnVfdmlldz1OXHUwMEU0eXR0XHUwMEY2CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IE1lbnUgaXRlbSB0aGF0IHRha2VzIHlvdSBkaXJlY3RseSB0byB0aGUgc3RhdGlzdGljcyBwYW5lbCBmb3IgdGhlIGVudGlyZSBidW5kbGUKbWVudV92aWV3X3N0YXRpc3RpY3M9Tlx1MDBFNHl0XHUwMEU0XCByZXN1cnNzaWtva29lbG1hblwgdGlsYXN0b3RpZWRvdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCAKbWVudV92aWV3X3N0YXRpc3RpY3NfdHJpZ2dlcj10CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoZSB0cmlnZ2VyIGlzIGEgbGV0dGVyIGZyb20gdGhlIHRyYW5zbGF0aW9uIG9mICdtZW51X3ZpZXcnIHdoaWNoIHByb3ZpZGVzIGEga2V5Ym9hcmQgc2hvcnRjdXQgdG8gdGhlIG1lbnUKbWVudV92aWV3X3RyaWdnZXI9bgoKIwojIEBncm91cCBQcm9qZWN0IFBhbmVsCiMKIyBAZ3JvdXBDb21tZW50IFBhbmVsIGFzc29jaWF0ZWQgd2l0aCBQcm9qZWN0IGVkaXRpbmcKCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xOSBAbW9kaWZpZWQgMjAwMS0xMi0xOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQHswfSBUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UgYnVuZGxlCiMgQGNvbW1lbnQgTGFiZWwgaW5kaWNhdG9yIGFzc29jaWF0aW5nIGEgdGV4dCBib3ggY29udGFpbmluZyBhIHRyYW5zbGF0aW9uIHdpdGggdGhlIHJlc291cmNlIGJ1bmRsZSB0aGUgdHJhbnNsYXRpb24gY29tZXMgZnJvbQpwcm9qZWN0X3BhbmVsX2J1bmRsZT1SZXNvdXJjZVwgQnVuZGxlXDpcIHswfQojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTkgQG1vZGlmaWVkIDIwMDEtMTItMTkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEB7MH0gTmFtZSBvZiB0aGUgcmVzb3VyY2UgYnVuZGxlCiMgQGNvbW1lbnQgU3BlY2lhbCBpbmRpY2F0b3Igb2YgdGhlIHJlc291cmNlIGl0ZW0gcmVzb3VyY2UgYnVuZGxlIHdoZW4gdGhlIGl0ZW0gaXMgdW50cmFuc2xhdGVkCnByb2plY3RfcGFuZWxfYnVuZGxlX3VudHJhbnNsYXRlZD1SZXNvdXJjZVwgQnVuZGxlXDpcIHswfVwgKFVudHJhbnNsYXRlZCkKIyBAdHJhbnNsYXRlZCBmYWxzZSBAY3JlYXRlZCAyMDAxLTEyLTE5IEBtb2RpZmllZCAyMDAxLTEyLTE5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIFVua25vd24KIyBAY29tbWVudCBMYWJlbCB0ZXh0IG1hcmtpbmcgdGhlIGxpbmUgYWJvdmUgb3IgdG8gdGhlIGxlZnQgb2YgYSByZXNvdXJjZSBjb21tZW50CnByb2plY3RfcGFuZWxfY29tbWVudD1CYXNlXCBDbGFzc1wgUmVzb3VyY2VcIENvbW1lbnRcOgojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTkgQG1vZGlmaWVkIDIwMDEtMTItMTkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEBjb21tZW50IExhYmVsIHRleHQgZm9yIGEgY29tbWVudCB3aGVuIG5vbmUgaXMgZm91bmQgZm9yIGEgcmVzb3VyY2UKcHJvamVjdF9wYW5lbF9jb21tZW50X25vbmU9Tm9cIGNvbW1lbnRcIHN1cHBsaWVkCiMgQHRyYW5zbGF0ZWQgZmFsc2UgQGNyZWF0ZWQgMjAwMS0xMi0xOSBAbW9kaWZpZWQgMjAwMS0xMi0xOSBAY3JlYXRvciBVbmtub3duIEBtb2RpZmllciBVbmtub3duCiMgQGNvbW1lbnQgQnV0dG9uIHRpdGxlIHNob3duIG9uIHRoZSBwcm9qZWN0IHBhbmVsIGZvciBjb21taXR0aW5nIGNoYW5nZSB0byBvbmUgcmVzb3VyY2Ugb25seQpwcm9qZWN0X3BhbmVsX2NvbW1pdF9idXR0b249Q29tbWl0XCBDaGFuZ2UKIyBAdHJhbnNsYXRlZCBmYWxzZSBAY3JlYXRlZCAyMDAxLTEyLTE5IEBtb2RpZmllZCAyMDAxLTEyLTE5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIFVua25vd24KIyBAY29tbWVudCBCdXR0b24gdGl0bGUgb24gdGhlIHByb2plY3QgcGFuZWwgZm9yIHNhdmluZyBhbGwgb2YgdGhlIHJlc291cmNlcyBkaXNwbGF5ZWQuIFRoaXMgbWVhbnMgbXVsdGlwbGUgcmVzb3VyY2UgZmlsZXMgZ2V0IHNhdmVkLgpwcm9qZWN0X3BhbmVsX2NvbW1pdF9idXR0b25fYWxsPUNvbW1pdFwgQWxsXCBSZXNvdXJjZVwgQ2hhbmdlcwojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTkgQG1vZGlmaWVkIDIwMDEtMTItMTkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEBjb21tZW50IERlZmF1bHQgdGl0bGUgc2hvd24gb24gdGhlIHByb2plY3QgcGFuZWwgd2hlbiBubyBwYXJ0aWN1bGFyIHJlc291cmNlIGhhcyBiZWVuIHNlbGVjdGVkCnByb2plY3RfcGFuZWxfZGVmYXVsdF90aXRsZT1Qcm9qZWN0XCBSZXNvdXJjZVwgRWRpdGluZwojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTkgQG1vZGlmaWVkIDIwMDEtMTItMTkgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEBjb21tZW50IFRleHQgZmllbGQgbWFya2VyIGZvciB0aGUgdHJhbnNsYXRpb24gb2YgYSByZXNvdXJjZSB3aGVuIHRoYXQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QgZm9yIHRoZSBlbmNvZGluZyBmaWxlIGl0IGlzIGFzc29jaWF0ZWQgd2l0aApwcm9qZWN0X3BhbmVsX2l0ZW1faW5oZXJpdHM9PE5vXCBUcmFuc2xhdGlvblw6XCBSZXNvdXJjZVwgSW5oZXJpdHNcIGZyb21cIHBhcmVudD4KIyBAdHJhbnNsYXRlZCBmYWxzZSBAY3JlYXRlZCAyMDAxLTEyLTE5IEBtb2RpZmllZCAyMDAxLTEyLTE5IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIFVua25vd24KIyBAezB9IFRoZSBrZXkgb2YgdGhlIHNlbGVjdGVkIHJlc291cmNlCiMgQGNvbW1lbnQgVGl0bGUgb24gdGhlIHByb2plY3QgcGFuZWwgd2hpbGUgYSByZXNvdXJjZSBpcyBzZWxlY3RlZApwcm9qZWN0X3BhbmVsX3RpdGxlPVByb2plY3RcIFJlc291cmNlXCBFZGl0aW5nXDpcIHswfQoKIwojIEBncm91cCBSQlJlcG9ydGVyCiMKIyBAZ3JvdXBDb21tZW50IFRyYW5zbGF0aW9ucyBmb3IgdGhlIFJCUmVwb3J0ZXIgYXBwbGljYXRpb24KCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgQnV0dG9uIHRpdGxlIGZvciBzZWxlY3RpbmcgZmlsZSBsb2NhdGlvbnMgZm9yIGlucHV0L291dHB1dApyZXBvcnRlcl9idXR0b25fY2hvb3NlPVZhbGl0c2UuLi4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBCdXR0b24gaW5kaWNhdGluZyB0aGUgcmVwb3J0IGdlbmVyYXRpb24gc2hvdWxkIG9jY3VyIGltbWVkaWF0ZWx5CnJlcG9ydGVyX2J1dHRvbl9ub3c9UFx1MDBFNGl2aXRcdTAwRTQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEJ1dHRvbiB0aXRsZSBmb3Igc2F2aW5nIHRoZSBjdXJyZW50IHNldHRpbmdzIGFzIGRlZmF1bHQKcmVwb3J0ZXJfYnV0dG9uX3NhdmVfZGVmYXVsdHM9VGFsbGV0YVwgbnlreWlzZXRcIGFzZXR1a3NldAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEJ1dHRvbiB0byBhY3RpdmF0ZSB0aGUgcmVwb3J0ZXIKcmVwb3J0ZXJfYnV0dG9uX3N0YXJ0PUFsb2l0YQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEJ1dHRvbiB0byBkZWFjdGl2ZSB0aGUgcmVwb3J0ZXIKcmVwb3J0ZXJfYnV0dG9uX3N0b3A9UHlzXHUwMEU0eXRcdTAwRTQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBMZXZlbCBvZiBkZXRhaWw6IG1vc3QgaW5mb3JtYXRpb24gYXZhaWxhYmxlCnJlcG9ydGVyX2RldGFpbF9oaWdoPVBhbGpvbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEluZGljYXRpb24gb2YgYSBzZWxlY3Rpb24gb3B0aW9uIG9mIHRoZSBsZXZlbCBvZiBkZXRhaWwgaW4gcmVwb3J0aW5nCnJlcG9ydGVyX2RldGFpbF9sZXZlbD1UaWVkb25cIG1cdTAwRTRcdTAwRTRyXHUwMEU0XDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBMZXZlbCBvZiBkZXRhaWw6IHN0YW5kYXJkCnJlcG9ydGVyX2RldGFpbF9ub3JtYWw9Tm9ybWFhbGkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBBbiBvdXRwdXQgZm9ybWF0OiBIVE1MCnJlcG9ydGVyX2Zvcm1hdF9odG1sPUhUTUwKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBBbiBvdXRwdXQgZm9ybWF0IHR5cGU6IHBsYWluIHRleHQKcmVwb3J0ZXJfZm9ybWF0X3RleHQ9VGVrc3RpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgQW4gb3V0cHV0IGZvcm1hdDogWE1MCnJlcG9ydGVyX2Zvcm1hdF94bWw9WE1MCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgSW5kaWNhdGlvbiBvZiBmaWxlIGxvY2F0aW9uIG9mIHRoZSByZXNvdXJjZSBidW5kbGUgdG8gcmVwb3J0IG9uCnJlcG9ydGVyX2lucHV0X2J1bmRsZT1SZXN1cnNzaWtva29lbG1hXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBJbmRpY2F0aW9uIHRoYXQgcmVwb3J0aW5nIHdpbGwgaGFwcGVuIGF0IGEgc3BlY2lpZmllZCB0aW1lIG9mIGRheS4gRm9sbG93ZWQgYnkgYSB0aW1lIGFuZCBkYXkgb3B0aW9uLgpyZXBvcnRlcl9pbnRlcnZhbF9kZWZpbmVkPVJhcG9ydG9pbnRpYWphbmtvaHRhCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgVGV4dCBpbmRpY2F0aW9uIG9mIHNlcXVlbnRpYWwgcmVwb3J0aW5nIHBhdXNlZCBmb3IgYSBkZWZpbmVkIGludGVydmFsIGJldHdlZW4gcmVwb3J0aW5nLiBJbW1lZGlhdGVseSBmb2xsb3dlZCBieSBhIG51bWJlciBhbmQgYSB1bml0IG9mIG1lYXN1cmUgb2YgdGltZQpyZXBvcnRlcl9pbnRlcnZhbF9zZXF1ZW50aWFsPVJhcG9ydG9pbnRpdlx1MDBFNGxpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQHswfSBEYXRlL1RpbWUgb2YgbGFzdCByZXBvcnQgZ2VuZXJhdGlvbgojIEBjb21tZW50IEluZGljYXRpb24gb2YgdGhlIHRpbWUgb2YgdGhlIGxhc3QgcmVwb3J0CnJlcG9ydGVyX2xhc3RfcmVwb3J0PVZpaW1laXNpblwgcmFwb3J0dGlcOlwgezB9CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQHswfSBEYXRlL1RpbWUgb2YgbmV4dCByZXBvcnQKIyBAY29tbWVudCBJbmRpY2F0aW9uIG9mIHdoZW4gdGhlIG5leHQgcmVwb3J0IHdpbGwgYmUgZ2VuZXJhdGVkCnJlcG9ydGVyX25leHRfcmVwb3J0PVNldXJhYXZhXCByYXBvcnR0aVw6XCB7MH0KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBJbmRpY2F0aW9uIG9mIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGludG8gd2hpY2ggdGhlIHJlcG9ydHMgYXJlIHBsYWNlZApyZXBvcnRlcl9vdXRwdXRfZGlyZWN0b3J5PVRhbGxldHVzaGFrZW1pc3RvXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBBbiBpbmRpY2F0aW9uIG9mIHRoZSBuYW1lIG9mIHRoZSBvdXRwdXQgZmlsZSBmb3IgYSBwYXJ0aWN1bGFyIG91dHB1dCBmb3JtYXQKcmVwb3J0ZXJfb3V0cHV0X2ZpbGU9VGllZG9zdG9uXCBuaW1pXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBQYW5lbCB0aXRsZSBmb3Igc2V0dGluZyBpbnRlcnZhbCBvZiByZXBvcnRpbmcKcmVwb3J0ZXJfcGFuZWxfaW50ZXJ2YWw9UmFwb3J0b2ludGl2XHUwMEU0bGkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBQYW5lbCB0aXRsZSBmb3IgY29uZmlndXJhYmxlIG9wdGlvbnMgb2YgdGhlIHJlcG9ydGluZwpyZXBvcnRlcl9wYW5lbF9vcHRpb25zPVJhcG9ydG9pbnRpcGFyYW1ldHJpdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IFN1YnBhbmVsIHRpdGxlIGZvciBjaG9vc2luZyBvdXRwdXQgZm9ybWF0cyBmb3IgdGhlIHJlcG9ydHMKcmVwb3J0ZXJfcGFuZWxfb3V0cHV0X2Zvcm1hdD1UdWxvc3R1c211b3RvCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgUGFuZWwgdGl0bGUgZm9yIGluZGljYXRpb24gb2YgcnVubmluZyBzdGF0dXMgb2YgdGhlIHJlcG9ydGVyCnJlcG9ydGVyX3BhbmVsX3N0YXR1cz1UaWxhbm5lCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBTaG9ydCB0aXRsZSBmb3Igc2VsZWN0aW5nIGEgY29kZSBzY2FuIGNvbmZpZ3VyYXRpb24gZmlsZQpyZXBvcnRlcl9wZXJmb3JtX3NjYW49Q29kZVwgU2NhblwgLXRpZWRvc3RvCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgUXVpY2sgaW5kaWNhdGlvbiB0aGF0IHRoZSByZXBvcnRlciBpcyBhY3RpdmUgKHBlcmhhcHMgd2FpdGluZykKcmVwb3J0ZXJfc3RhdHVzX3J1bm5pbmc9S1x1MDBFNHlubmlzc1x1MDBFNAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IFF1aWNrIHN0YXR1cyBpbmRpY2F0aW9uIHRoYXQgdGhlIHJlcG9ydGVyIGlzIG5vdCBhY3RpdmUKcmVwb3J0ZXJfc3RhdHVzX3N0b3BwZWQ9UHlzXHUwMEU0eXRldHR5CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgZGF5cyBvcHRpb24KcmVwb3J0ZXJfdGltZV9kYXlzPVBcdTAwRTRpdlx1MDBFNFx1MDBFNAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IGV2ZXJ5IGRheSBvcHRpb24KcmVwb3J0ZXJfdGltZV9ldmVyeWRheT1Kb2thXCBwXHUwMEU0aXZcdTAwRTQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBmcmlkYXkgb3B0aW9uCnJlcG9ydGVyX3RpbWVfZnJpZGF5PVBlcmphbnRhaQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IGhvdXJzIG9wdGlvbgpyZXBvcnRlcl90aW1lX2hvdXJzPVR1bnRpYQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IG1pbnV0ZXMgb3B0aW9uCnJlcG9ydGVyX3RpbWVfbWludXRlcz1NaW51dXR0aWEKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBtb25kYXkgb3B0aW9uCnJlcG9ydGVyX3RpbWVfbW9uZGF5PU1hYW5hbnRhaQojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IHNhdHVyZGF5IG9wdGlvbgpyZXBvcnRlcl90aW1lX3NhdHVyZGF5PUxhdWFudGFpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgc3VuZGF5IG9wdGlvbgpyZXBvcnRlcl90aW1lX3N1bmRheT1TdW5udW50YWkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCB0aHVyc2RheSBvcHRpb24KcmVwb3J0ZXJfdGltZV90aHVyc2RheT1Ub3JzdGFpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgdHVlc2RheSBvcHRpb24KcmVwb3J0ZXJfdGltZV90dWVzZGF5PVRpaXN0YWkKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCB3ZWRuZXNkYXkgb3B0aW9uCnJlcG9ydGVyX3RpbWVfd2VkbmVzZGF5PUtlc2tpdmlpa2tvCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgVGl0bGUgb2YgdGhlIGFwcGxpY2F0aW9uCnJlc291cmNlX2J1bmRsZV9yZXBvcnRlcj1SQlJlcG9ydGVyCgojCiMgQGdyb3VwIFNlYXJjaCBhbmQgUmVwbGFjZQojCiMgQGdyb3VwQ29tbWVudCBSZXNvdXJjZXMgZm91bmQgb24gdGhlIHNlYXJjaCB0YWIgcGFuZQoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IEdlbmVyYWwgc2VhcmNoIHRpdGxlCnNlYXJjaD1FdHNpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBDaGVjayBib3ggb3B0aW9uIGZvciBtYWtpbmcgdGhlIHNlYXJjaCBjYXNlIHNlbnNpdGl2ZSBvciBub3QKc2VhcmNoX2Nhc2Vfc2Vuc2l0aXZlPUlzb3RcIGphXCBwaWVuZXRcIGtpcmphaW1ldFwgb3ZhdFwgc2Ftb2phCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBDaGVjayBib3ggb3B0aW9uIGZvciBzZWFyY2hpbmcgdGhyb3VnaCByZXNvdXJjZSBjb21tZW50cwpzZWFyY2hfY29tbWVudHM9S29tbWVudGl0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUZXh0IGluZGljYXRpb24gb2YgdGhlIGZpZWxkIGZvciBlbnRlcmluZyB0ZXh0IHRvIHNlYXJjaCBvbgpzZWFyY2hfZmluZD1FdHNpXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IENoZWNrIGJveCBzZWxlY3Rpb24gZm9yIHNlYXJjaGluZyBvcHRpb24gdGhyb3VnaCByZXNvdXJjZSBrZXlzCnNlYXJjaF9rZXlzPVJlc3Vyc3NpYXZhaW1ldAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgVGV4dCBpbmRpY2F0aW9uIG9mIHRoZSBmaWVsZCBmb3IgZW50ZXJpbmcgdGV4dCBmb3IgcmVwbGFjaW5nIHRoZSBmb3VuZCB2YWx1ZQpzZWFyY2hfcmVwbGFjZT1Lb3J2YWFcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBKYWNrc29uIEBtb2RpZmllciBKYXJlZCBKYWNrc29uCiMgQGNvbW1lbnQgQ2hlY2sgYm94IG9wdGlvbiBmb3Igc2VhcmNoaW5nIHRocm91Z2ggdHJhbnNsYXRpb24gdmFsdWVzCnNlYXJjaF92YWx1ZXM9S1x1MDBFNFx1MDBFNG5uXHUwMEY2a3NldAoKIwojIEBncm91cCBUYWJzCiMKIyBAZ3JvdXBDb21tZW50IEdVSSBUYWJzIGluIHRoZSBtYWluIHBhbmVsCgojIEB0cmFuc2xhdGVkIGZhbHNlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMTItMTcgQGNyZWF0b3IgVW5rbm93biBAbW9kaWZpZXIgVW5rbm93bgojIEBjb21tZW50IEdVSSBUYWIgZm9yIFRhYmJlZCBQYW5lIG92ZXIgdGhlIHRyZWUgc2hvd2luZyBhIHNpbmdsZSByZXNvdXJjZSBidW5kbGUgYW5kIGl0cyB2YXJpb3VzIGZpbGVzCnRhYl9idW5kbGU9QnVuZGxlCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUYWIgZm9yIHRoZSBkaXNwbGF5IG9mIHRoZSB2YXJpb3VzIGdyb3VwcyBpbiB0aGUgYnVuZGxlCnRhYl9ncm91cHM9UnlobVx1MDBFNHQKIyBAdHJhbnNsYXRlZCBmYWxzZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTEyLTE3IEBjcmVhdG9yIFVua25vd24gQG1vZGlmaWVyIFVua25vd24KIyBAY29tbWVudCBHVUkgVGFiIGZvciB0YWIgb3ZlciB0cmVlIHNob3dpbmcgYSByZXNvdXJjZSBidW5kbGUgcHJvamVjdAp0YWJfcHJvamVjdD1Qcm9qZWN0CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAxLTAyLTA4IEBjcmVhdG9yIEphcmVkIEphY2tzb24gQG1vZGlmaWVyIEphcmVkIEphY2tzb24KIyBAY29tbWVudCBUaXRsZSBmb3IgcGFuZSBhbGxvd2luZyBmb3Igc2VhcmNoIGFuZCByZXBsYWNlIGZ1bmN0aW9ucwp0YWJfc2VhcmNoPUV0c2kKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRhYiBmb3Igc3RhdGlzdGljcyBkaXNwbGF5IGZvciBlaXRoZXIgdGhlIFJlc291cmNlIEJ1bmRsZSBhcyBhIHdob2xlIG9yIHBhcnRpY3VsYXIgbGFuZ3VhZ2UgZmlsZXMKdGFiX3N0YXRpc3RpY3M9VGlsYXN0b3RpZWRvdAojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMS0wMi0wOCBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IFRhYiBmb3IgZGlzcGxheSBvZiB1bnRyYW5zbGF0ZWQgaXRlbXMgaW4gdGhlIGRpZmZlcmVudCBsYW5ndWFnZSBmaWxlcwp0YWJfdW50cmFuc2xhdGVkPUtcdTAwRTRcdTAwRTRudFx1MDBFNG1cdTAwRTR0dFx1MDBGNm1cdTAwRTR0CgojCiMgQGdyb3VwIFRyYW5zbGF0aW9uIEZpbGUgR3JvdXBzIFBhbmUKIwojIEBncm91cENvbW1lbnQgCgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgQ29sdW1uIHRpdGxlIGZvciBpdGVtIGNvbW1lbnRzCmxhbmd1YWdlZ3JvdXBfY29sdW1uX2NvbW1lbnQ9S29tbWVudHRpCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBDb2x1bW4gdGl0bGUgZm9yIGl0ZW0ncyByZXNvdXJjZSBrZXkKbGFuZ3VhZ2Vncm91cF9jb2x1bW5fa2V5PVJlc3Vyc3NpblwgYXZhaW4KIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IApsYW5ndWFnZWdyb3VwX2NvbHVtbl90cmFuc2xhdGlvbj1LXHUwMEU0XHUwMEU0bm5cdTAwRjZzCgojCiMgQGdyb3VwIFRyYW5zbGF0aW9uIEZpbGUgU3RhdGlzdGljcyBQYW5lCiMKIyBAZ3JvdXBDb21tZW50IFRyYW5zbGF0aW9ucyBmb3Igc3RyaW5ncyBpbiB0aGUgbGFuZ3VhZ2UgZmlsZSBzdGF0aXN0aWNzIHBhbmUKCiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBBIGNvbW1lbnQgZ2l2ZW4gdG8gdGhlIGZpbGUKbGFuZ3VhZ2VzdGF0c19jb21tZW50PUtvbW1lbnR0aVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgY291bnRyeSBiZWluZyBkZXNjcmliZWQgYnkgdGhlIGZpbGUKbGFuZ3VhZ2VzdGF0c19jb3VudHJ5PU1hYVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgbnVtYmVyIG9mIHJlc291cmNlcyBpbiB0aGUgZmlsZQpsYW5ndWFnZXN0YXRzX2l0ZW1fY291bnQ9UmVzdXJzc2llblwgbVx1MDBFNFx1MDBFNHJcdTAwRTRcIHRcdTAwRTRzc1x1MDBFNFwgcmVzdXJzc2l0aWVkb3N0b3NzYVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBUaGUgbGFuZ3VhZ2UgZGVzY3JpYmVkIGJ5IHRoZSBmaWxlCmxhbmd1YWdlc3RhdHNfbGFuZ3VhZ2U9S2llbGlcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGhlIG5hbWUgb2YgYSBwZXJzb24gcmVzcG9uc2libGUgZm9yIHRoZSB0cmFuc2xhdGlvbnMgaW4gdGhpcyBsYW5ndWFnZSBmaWxlCmxhbmd1YWdlc3RhdHNfbWFuYWdlcj1SZXN1cnNzaXRpZWRvc3Rvblwgb21pc3RhamFcOgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGhlIG5hbWUgZ2l2ZW4gdG8gdGhlIGxhbmd1YWdlIGZpbGUKbGFuZ3VhZ2VzdGF0c190aXRsZT1SZXN1cnNzaXRpZWRvc3RvblwgbmltaVw6CiMgQHRyYW5zbGF0ZWQgdHJ1ZSBAY3JlYXRlZCAyMDAxLTEyLTE3IEBtb2RpZmllZCAyMDAwLTExLTA5IEBjcmVhdG9yIEphcmVkIEBtb2RpZmllciBKdXNzaSBNeWxseW3ka2kKIyBAY29tbWVudCBOdW1iZXIgb2YgcmVzb3VyY2VzIG5lZWRpbmcgdHJhbnNsYXRpb24gaW4gdGhlIGZpbGUKbGFuZ3VhZ2VzdGF0c190cmFuc2xhdGlvbl9jb3VudD1LXHUwMEU0XHUwMEU0bnRcdTAwRTRtXHUwMEU0dHRcdTAwRjZtaWVuXCByZXN1cnNzaWVuXCBtXHUwMEU0XHUwMEU0clx1MDBFNFwgdFx1MDBFNHNzXHUwMEU0XCByZXN1cnNzaXRpZWRvc3Rvc3NhXDoKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoZSBsYW5ndWFnZS9yZWdpb24gdmFyaWFudCBkZXNjcmliZWQgYnkgdGhlIGZpbGUKbGFuZ3VhZ2VzdGF0c192YXJpYW50PU11dW5uZWxtYVw6CgojCiMgQGdyb3VwIFRyYW5zbGF0aW9uIEZpbGUgVW50cmFuc2xhdGVkIEl0ZW1zIFBhbmUKIwojIEBncm91cENvbW1lbnQgCgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGhlIGNvbHVtbiB0aXRsZSBmb3IgZ3JvdXAgbmFtZXMgb2YgaXRlbXMgaW4gdGhlIHJvd3MKbGFuZ3VhZ2V1bnRyYW5zX2NvbHVtbl9ncm91cD1SZXN1cnNzaXJ5aG1cdTAwRTQKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDAtMTEtMDkgQGNyZWF0b3IgSmFyZWQgQG1vZGlmaWVyIEp1c3NpIE15bGx5beRraQojIEBjb21tZW50IFRoZSBrZXkgb2YgdGhlIGl0ZW0gYSByb3cKbGFuZ3VhZ2V1bnRyYW5zX2NvbHVtbl9rZXk9UmVzdXJzc2luXCBhdmFpbgojIEB0cmFuc2xhdGVkIHRydWUgQGNyZWF0ZWQgMjAwMS0xMi0xNyBAbW9kaWZpZWQgMjAwMC0xMS0wOSBAY3JlYXRvciBKYXJlZCBAbW9kaWZpZXIgSnVzc2kgTXlsbHlt5GtpCiMgQGNvbW1lbnQgVGhlIHRyYW5zbGF0ZWQgdmFsdWUgb2YgYW4gaXRlbSBpbiBhIHJvdwpsYW5ndWFnZXVudHJhbnNfY29sdW1uX3RyYW5zbGF0aW9uPUtcdTAwRTRcdTAwRTRublx1MDBGNnMKIyBAdHJhbnNsYXRlZCB0cnVlIEBjcmVhdGVkIDIwMDEtMTItMTcgQG1vZGlmaWVkIDIwMDEtMDItMDggQGNyZWF0b3IgSmFyZWQgSmFja3NvbiBAbW9kaWZpZXIgSmFyZWQgSmFja3NvbgojIEBjb21tZW50IFBhbmVsIHRpdGxlIGNvdmVyaW5nIGJ1dHRvbnMgdGhhdCBhcHBseSB0byBhIHNlbGVjdGVkIHJlc291cmNlIGZyb20gYSB0YWJsZSBvZiByZXNvdXJjZXMKbGFuZ3VhZ2V1bnRyYW5zX3NlbGVjdGVkX3Jlc291cmNlc19vcHRpb25zPVZhbGl0dHVqZW5cIHJlc3Vyc3NpZW5cIHBhcmFtZXRyaXQK