From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 81EF23858D33 for ; Tue, 28 Feb 2023 14:07:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 81EF23858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677593242; x=1709129242; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=+lMiR80/p5payNjl2MljDO9ZczNlxc16Hs+2m5LFOTA=; b=W2GlReQBXFaSjlZ7JjzbpJ64YpTU8IQh538eGXYv9WK9o3uD9E9peUlT KNvkifLlc5o1tm97w6rguhjjmd9wZTHasp1hNW1S0t6f+TGsUitgimHiV NWdhbXSbBtIJ/SntCBzwyDOS1FXp85lvvBhTodK4nl1/a9y6Dj4ilHKYs 0W+ErFn/Hkm37iZhCkC0OVwc+c00dlzPaX4Ddff1dPMckfA7ugHSN1+Su 9ixBqvrWKsF9l3Uwcic+kOjbZNuzauTGchezux+60d/TldjTZ+9I3tHYh PjKM/kcHkyzIV8deOry2hvMGIHfppeL9OK34OdwzrIfOA/HC4gDh6MQth w==; X-IronPort-AV: E=McAfee;i="6500,9779,10635"; a="336429735" X-IronPort-AV: E=Sophos;i="5.98,222,1673942400"; d="scan'208,217";a="336429735" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2023 06:07:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10635"; a="706574664" X-IronPort-AV: E=Sophos;i="5.98,222,1673942400"; d="scan'208,217";a="706574664" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga001.jf.intel.com with ESMTP; 28 Feb 2023 06:07:20 -0800 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 28 Feb 2023 06:07:19 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Tue, 28 Feb 2023 06:07:19 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.173) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Tue, 28 Feb 2023 06:07:19 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EKDimj3vsvRkGnWjVYKGCzv/mu2zXwOj6oIVNa3NB2fWudJQDlaCgcbCsTLQbdxvyqjRIaKEzmr2vNslvJJpjZMfcnH8CLHkrff6EJeQ8Ecw3qUlWNVcpeOzSVnX+fTKsyYFlAtiE/pZALFU1Xar+lep2k6EbtTKe9lFBr4L/Aw1EK3x6bNsKgfMsG464eXURmA5xW7bw/Dt5V8WSvoHBcHoI6KONQdaS3vDPq8i/1aHqixwzbv4MKp8oQZMkCkIntIvNWFhviA7Shs8Rv1b5BW6No0/+ATIWRyWPEM+Zebt5eVWdJXfoKAH7mJXIIefqDuufbg2UGpViHKvC2kfow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+lMiR80/p5payNjl2MljDO9ZczNlxc16Hs+2m5LFOTA=; b=ZRdw9ToTJou9/AzkKS5jGnzwmPNlY9cjOfEeiCaaawmKNer4UF6DoIe7hnCrH8crj3lEXORCU/LLRcyO97R8zjOZy6cFxk11MSBmHV2oWORDf0I9iYN27fCxxPwSbf9O3nybf8KPXpW+u2V27dOUQG6BTGq+pDU9BZBh8eCeJtgSO4UACD1XE+jLZ6MNHMhUoFpD8VD/HKvCoaMIgINHLr+ibbG6Svhn/tOg5/4RUZ6ntL2zBW/T2aivyMBhodEtwNDtCica7txbKclcb9+52mszitNE3LBhKWj7UFaxVuYscvCxTJRkrPCnqt2eVktm0CAzupkbIGtq2e15gYSZxg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by SJ1PR11MB6108.namprd11.prod.outlook.com (2603:10b6:a03:489::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.29; Tue, 28 Feb 2023 14:07:16 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::7ad:494f:ca70:719]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::7ad:494f:ca70:719%8]) with mapi id 15.20.6134.030; Tue, 28 Feb 2023 14:07:16 +0000 From: "Li, Pan2" To: =?utf-8?B?55u8IOadjg==?= , "Richard Sandiford" CC: incarnation.p.lee--- via Gcc-patches , "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "rguenther@suse.de" Subject: RE: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Topic: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Index: AQHZQiBGH7RnpggGdk6ss2W0Gmyulq7i+Oog///+3QCAALfKQIAAjmRE///0cICAAEG1oA== Date: Tue, 28 Feb 2023 14:07:15 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|SJ1PR11MB6108:EE_ x-ms-office365-filtering-correlation-id: 616f0781-8b17-4b4b-ef28-08db199518c7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sknbYX+exNqDIhOAisaJVtHoLLa5KeKL7G6SCI1AKgfRsU6JP4pnZuYm+HwYCJVdB4CTGtDuqVNNxTagkdDrZPNWQMkvD9TINKeJ9q1CF6svrY4dXjEfrbTBkgbTYzxbHRbpECSuYVxnn0ECCNl8NarJIxp4TSb4bp+z8M40XlftmI2vuHOpX1FC851t73eCTeekfRAcciXaF4BkJHarGPluv2oxE1tQaLe5Q1VfBSVdr9dDy+ZV7GNO5gJxx2RHjI8jBW2BeBJmCKYU+MVZYhcRs/rNRkGVH3cOIAMedaPxGNAymdNRr7lmBF/pA62PKbDarTPU394FloiDkPTqQy17vFRhzkEJK17gvVKCkgOB3t31Fq0c104Lh9MCoWcbM15Uaya90/7V8KSFgWT3BIALDrZUKxV+f5BZxOSxyLpNgOm/girCYZwomxmCVZlYcmY88e66I2pIqhqTXROCuUbCdfBJ/KF6p/ImGw3ju00DL+CBIZfrP5IMFZ8s0yOzLZbiqZ5ekdUdEtyiAUdUO+2ITxvtwYJeC/rjsE9Q6ZREe55tRrCEuHvOqdeH11DLrSR7kiTlaI/Yx/ntquyfykoa/5vezcF8GZAgUBfDgrctP5Rd0cNV2/JwM26uWzGMnmeRQIxbJRZPMRXyRlzkmwCmIMGtfCuTsh0U9Lwr1cw4Ag8oZh3y653UaPXL56Ku x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(376002)(39860400002)(396003)(346002)(136003)(451199018)(26005)(186003)(9686003)(53546011)(6506007)(83380400001)(38070700005)(55016003)(122000001)(33656002)(82960400001)(86362001)(38100700002)(41300700001)(71200400001)(66556008)(66946007)(8676002)(66476007)(66446008)(76116006)(4326008)(64756008)(2906002)(8936002)(52536014)(30864003)(5660300002)(45080400002)(7696005)(478600001)(316002)(54906003)(110136005)(84970400001)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cHBiWHFOUmhtZVNodUl2KzJvMWRzS3pwWlhPTWl1NERyK3pVdDc1VWQ2bWRn?= =?utf-8?B?NG1ib0RRM09TeGVvS0dndmdIOXVvTWx5d2Y2YmpuOEFvTjFhdU5QVnVrRUo0?= =?utf-8?B?bkJ3ZllqZDBxR3pVbHVHdDAzVEpTSFhucEdCZDdGUnpUcGl0WVErd0JDcHFw?= =?utf-8?B?OUNNSmVnSkh2dTVkOEtEWFRlNTd6WXN2ZnFpSXI5UzlWTWN5eDhuVG1lM1dY?= =?utf-8?B?ck5YRm1kSzVqcitNZzdEZURZaTVTY0gxVEFpVm5UdDlhd1k1RGZ5Z1J3Tjl4?= =?utf-8?B?d1lFSURGUXpmVVhBNkRPYm9BU2lRaldlMTUzSWFpenh2SlhCTDliMERQcERr?= =?utf-8?B?V1ppUWRXK2lramFRdWFCNXNHaXZiUUxpdXRPYllGUG1uRERTZ3VBeHNWOU9w?= =?utf-8?B?eWxadjBGQ09mVjBUVWtaWlAyV3lhNDVBcTMzajVNQVV2UEdGSGhJcnlldlYz?= =?utf-8?B?dDNlRTRqanNOK2szQytJb09rNFlUa1ZDSXp0eGNDNldvOHBWbDMyZG1xUHdD?= =?utf-8?B?UWFZT0M0YW1xUkZUcnRVZ25RcThneXNDL2E3anorUnlWV21NWGhTaXJwcVpx?= =?utf-8?B?alFnTmdFQ2NNampqQWdhaCtPTVI5TDVZK2Rjb0M3YWhIOHg2S0IwU2VZa2Vt?= =?utf-8?B?RHBwRFNBWlRlcjBWeUM1YkRPUmRGNzh2TEt0ajRvVGxwd2VpWTZOcjRBZmYr?= =?utf-8?B?NEM1dkxVNzlTUVZrQS8veDA4ZVFWOFhyajVwTGVUMVl5UnRaWXNPL0hFNC94?= =?utf-8?B?cGtiSXB0MnUvTDVlbHE0QUE2cDBPV1hpUTB2LzJnUlo2T3psdWNzNjNSRTNp?= =?utf-8?B?TklKZFg5VzNuS2g4dFpQYlB4V3VJdHJEUFpMdDN0cDNCM2l2VjVuSnp5cm0w?= =?utf-8?B?dE1rUlVudWpNVzAvTXJZUTN5cG0wOG9WSVpTUW9UQVEwY091MUtFd292alJF?= =?utf-8?B?bXVCZGxGUjFZWlVlTlk2SUhsYWFWMmFKWmxsYzAvRXp6Znc1b0k4U3VSQ2tC?= =?utf-8?B?M0hORUp3UEE0VzhTKzVHNlJ2enFxNzV2NlFEcTFhUWRvQkE4VGV4bVMweHNM?= =?utf-8?B?ckYyQ3dSV0loTTVtZXF3cE9RTzVGV1ltN0lmOEZnMExZaWpMUHFaYkVIY2J0?= =?utf-8?B?Ly91MkllN2FYY2s5Tzg0YUEzZUxQQVJTbnVCWDZGU1NXbENhVzZDZlluU0JX?= =?utf-8?B?WHBuM1J6TXBkZjZNT2V6SDVQWmtQbW9lWlFpNklEY3g2aEM2cVc4a1lTc3Zh?= =?utf-8?B?TGp4S3JOVGNDZ2F3eVp6d2lhTU1rbXMrK3kzTjFDdmlRUWJxZkxRbGtuU1lt?= =?utf-8?B?SmRvVlV6Q0VXSWtQczNBOHM2YVBYZGI2Y0RPSlAwN2ZORGM3R1F2UWd2V2cy?= =?utf-8?B?MW8yN0ZvZTl5M004VHlLTHlpQnpIYzBYbVpoa1J5MkpLZFVvQ05mZzFlNjFh?= =?utf-8?B?eE9IT1ZLQlhRa1lXaDFZUzd5c20wYXV5b1NWaDdMaWpCRVNSd2lUTU9wRVR4?= =?utf-8?B?L3Q2Q1J3ak5ubGVra2k1aW1UUVlBVkN4VGh2ejRXeEU3dWpSU0ZKWmtuT0I1?= =?utf-8?B?bGJFdEdXQzVaREN3b2VYdmpmdmhmYVplSGFya21nSDdCZ29tbWlDWEhmMS9t?= =?utf-8?B?cmxZNmJyblVrZllIdlJldnJzc3kxV2JYbkdxaGNOWUYrbkJJOTNkT21XNGpy?= =?utf-8?B?OG5QQjJzOVdzd2ltU0x2dlZFTzdkekNkV2NpTHNNcmMzcWZhVGJTSWFQVjVY?= =?utf-8?B?Rlc1REFyci9qOWRCTzI0bmdTT1dIRFNvZ0VFNE9ZcmhUSHorR0kwTFR2aTAv?= =?utf-8?B?bXdVaFBybnhvcXJ6VDNUR1diOUtEMFBMS0Yzb3pQRjRCeHQwa3EwdnAxSVRa?= =?utf-8?B?cndjS2RnRGFUTHloVFdJZFlnQ0w1S2tlNnF4OGpWSHl2K25xSHVxcUtuV081?= =?utf-8?B?UisvV3ZCbmNtUXdMaXFTMlU5WHVzakh6cmJEK2g5aXo4NzRNYmh2SzFZN0tq?= =?utf-8?B?ZmVjWHQzSitOZk4wSDMwRUlRTWlCSVFZa3VGb3RSQzNWcXdnbnZ6QWQxVFgy?= =?utf-8?B?TUx1Zklxbmk0NG0ydDZrbU5qZSszLytCa3ZvMEp1dHI3OHMxRWNDTmtyZlJD?= =?utf-8?Q?CwPE=3D?= Content-Type: multipart/alternative; boundary="_000_MW5PR11MB5908CAEDD81742D2CDCB6CC2A9AC9MW5PR11MB5908namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 616f0781-8b17-4b4b-ef28-08db199518c7 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2023 14:07:15.9478 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JemMp0PURi5nlw+IbJuOfX7XMZMlczKz9uEBZv5mX4OwR6Ewx3cBFB5/6e7KyMU8LKvLDtFgz8+bdH6NPyppMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR11MB6108 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,SCC_10_SHORT_WORD_LINES,SCC_20_SHORT_WORD_LINES,SCC_35_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_MW5PR11MB5908CAEDD81742D2CDCB6CC2A9AC9MW5PR11MB5908namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgUmljaGFyZCBTYW5kaWZvcmQsDQoNCkp1c3QgdHJpZWQgdGhlIG92ZXJs b2FkZWQgY29uc3RhbnQgZGl2aXNvcnMgd2l0aCBiZWxvdyBwcmludCBkaXYs IGl0IHdvcmtzIGFzIHlvdSBtZW50aW9uZWQsIPCfmIkhDQoNCnByaW50ZiAo IiAgICBjYW5fZGl2X2F3YXlfZnJvbV96ZXJvX3AgKG1vZGVfcHJlY2lzaW9u W0VfJXNtb2RlXSwgIg0KICAgICAiQklUU19QRVJfVU5JVCwgJm1vZGVfc2l6 ZVtFXyVzbW9kZV0pO1xuIiwgbS0+bmFtZSwgbS0+bmFtZSk7DQoNCnRlbXBs YXRlPHVuc2lnbmVkIGludCBOLCB0eXBlbmFtZSBDYSwgdHlwZW5hbWUgQ2Is IHR5cGVuYW1lIENxPg0KaW5saW5lIHR5cGVuYW1lIGlmX25vbnBvbHk8Q2Is IGJvb2w+Ojp0eXBlDQpjYW5fZGl2X2F3YXlfZnJvbV96ZXJvX3AgKGNvbnN0 IHBvbHlfaW50X3BvZDxOLCBDYT4gJmEsDQogICAgICAgICAgICAgICAgICAg ICAgICAgQ2IgYiwNCiAgICAgICAgICAgICAgICAgICAgICAgICBwb2x5X2lu dF9wb2Q8TiwgQ3E+ICpxdW90aWVudCkNCnsNCiAgaWYgKCFjYW5fZGl2X3Ry dW5jX3AgKGEsIGIsIHF1b3RpZW50KSkNCiAgICByZXR1cm4gZmFsc2U7DQog IGlmIChtYXliZV9uZSAoKnF1b3RpZW50ICogYiwgYSkpDQogICAgZm9yICh1 bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBOOyArK2kpDQogICAgICBxdW90aWVu dC0+Y29lZmZzW2ldICs9IChxdW90aWVudC0+Y29lZmZzW2ldIDwgMCA/IC0x IDogMSk7DQogIHJldHVybiB0cnVlOw0KfQ0KDQpCdXQgSSBtYXkgaGF2ZSBh IHF1ZXN0aW9uIGFib3V0IHRoZSBvbmUgY2FzZSBhcyBiZWxvdy4NCg0KQXNz dW1lOg0KYSA9IFs0LCA0XSwgYiA9IDguDQoNCldoZW4gbWVldCBjYW5fZGl2 X3RydW5jX3AsIGl0IHdpbGwgY2hlY2sgaWYgdGhlIHJlbWluZGVyIGlzIGNv bnN0YW50IG9yIG5vdCwgYWthIGEuY29lZmZzW2ldICUgOCA9PSAwIChpID49 IDEpLiBJZiBub3QgY29uc3RhbnQgcmVtaW5kZXIsIHRoZSBjYW5fZGl2X3Ry dW5jX3Agd2lsbCBkbyBub3RoaW5nIGFib3V0IHF1b3RpZW50IGFuZCByZXR1 cm4gZmFsc2UuDQoNClRodXMsIHdoZW4gYSA9IFs0LCA0XSBmb3IgY2FuX2Rp dl9hd2F5X2Zyb21femVyb19wLCB0aGUgb3V0cHV0ICpxdW90aWVudCB3aWxs IGJlIHVuY2hhbmdlZCwgYWthIHRoZSBtb2Rfc2l6ZVtFXyVzbW9kZV0gd2ls bCBiZSB1bmNoYW5nZWQgZm9yIHRoaXMgY2FzZS4gSG93ZXZlciwgdGhlIHVu ZGVybHlpbmcgbW9kZV9zaXplIHdpbGwgYWRqdXN0IGl0IHRvIHRoZSByZWFs IGJ5dGUgc2l6ZSwgYW5kIEkgYW0gbm90IHN1cmUgaWYgaXQgaXMgYnkgZGVz aWduIG9yIHJlcXVpcmVzIGFkZGl0aW9uYWwgaGFuZGxpbmcuDQoNClBhbg0K DQpGcm9tOiDnm7wg5p2OIDxpbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNv bT4NClNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5IDI4LCAyMDIzIDU6NTkgUE0N ClRvOiBSaWNoYXJkIFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJt LmNvbT47IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT4NCkNjOiBpbmNh cm5hdGlvbi5wLmxlZS0tLSB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVz QGdjYy5nbnUub3JnPjsganV6aGUuemhvbmdAcml2YWkuYWk7IGtpdG8uY2hl bmdAc2lmaXZlLmNvbTsgcmd1ZW50aGVyQHN1c2UuZGUNClN1YmplY3Q6IFJl OiBbUEFUQ0hdIFJJU0MtVjogQnVnZml4IGZvciBydnYgYm9vbCBtb2RlIHBy ZWNpc2lvbiBhZGp1c3RtZW50DQoNClVuZGVyc3Rvb2QsIHRoYW5rcyBmb3Ig dGhlIGV4cGxhbmF0aW9ucyBhbmQgc3VnZ2VzdGlvbnMuIExldCBtZSBoYXZl IGEgdHJ5IGFuZCBrZWVwIHlvdSBwb3N0ZWQuDQoNClBhbg0KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IFJpY2hhcmQgU2FuZGlm b3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPG1haWx0bzpyaWNoYXJk LnNhbmRpZm9yZEBhcm0uY29tPj4NClNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5 IDI4LCAyMDIzIDE3OjUwDQpUbzogTGksIFBhbjIgPHBhbjIubGlAaW50ZWwu Y29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbT4+DQpDYzog55u8IOadjiA8 aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb208bWFpbHRvOmluY2FybmF0 aW9uLnAubGVlQG91dGxvb2suY29tPj47IGluY2FybmF0aW9uLnAubGVlLS0t IHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc8bWFp bHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPj47IGp1emhlLnpob25nQHJp dmFpLmFpPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5haT4gPGp1emhlLnpo b25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5haT4+OyBr aXRvLmNoZW5nQHNpZml2ZS5jb208bWFpbHRvOmtpdG8uY2hlbmdAc2lmaXZl LmNvbT4gPGtpdG8uY2hlbmdAc2lmaXZlLmNvbTxtYWlsdG86a2l0by5jaGVu Z0BzaWZpdmUuY29tPj47IHJndWVudGhlckBzdXNlLmRlPG1haWx0bzpyZ3Vl bnRoZXJAc3VzZS5kZT4gPHJndWVudGhlckBzdXNlLmRlPG1haWx0bzpyZ3Vl bnRoZXJAc3VzZS5kZT4+DQpTdWJqZWN0OiBSZTogW1BBVENIXSBSSVNDLVY6 IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24gYWRqdXN0bWVu dA0KDQoiTGksIFBhbjIiIDxwYW4yLmxpQGludGVsLmNvbTxtYWlsdG86cGFu Mi5saUBpbnRlbC5jb20+PiB3cml0ZXM6DQo+IEhpIFJpY2hhcmQgU2FuZGlm b3JkLA0KPg0KPiBBZnRlciBzb21lIGludmVzdGlnYXRpb24sIEkgYW0gbm90 IHN1cmUgaWYgaXQgaXMgcG9zc2libGUgdG8gbWFrZSBpdCBnZW5lcmFsIHdp dGhvdXQgYW55IGNoYW5nZXMgdG8gZXhhY3RfZGl2LiBXZSBjYW4gYWRkIG9u ZSBtZXRob2QgbGlrZSBiZWxvdyB0byBnZXQgdGhlIHVuaXQgcG9seSBmb3Ig YWxsIHBvc3NpYmxlIE4uDQo+DQo+IHRlbXBsYXRlPHVuc2lnbmVkIGludCBO LCB0eXBlbmFtZSBDYT4NCj4gaW5saW5lIFBPTFlfQ09OU1RfUkVTVUxUIChO LCBDYSwgQ2EpDQo+IG5vcm1hbGl6ZV90b191bml0IChjb25zdCBwb2x5X2lu dF9wb2Q8TiwgQ2E+ICZhKQ0KPiB7DQo+ICAgdHlwZWRlZiBQT0xZX0NPTlNU X0NPRUZGIChDYSwgQ2EpIEM7DQo+DQo+ICAgcG9seV9pbnQ8TiwgQz4gbm9y bWFsaXplZCA9IGE7DQo+DQo+ICAgaWYgKG5vcm1hbGl6ZWQuaXNfY29uc3Rh bnQoKSkNCj4gICAgIG5vcm1hbGl6ZWQuY29lZmZzWzBdID0gMTsNCj4gICBl bHNlDQo+ICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IE47IGkr KykNCj4gICAgICAgUE9MWV9TRVRfQ09FRkYgKEMsIG5vcm1hbGl6ZWQsIGks IDEpOw0KPg0KPiAgIHJldHVybiBub3JtYWxpemVkOw0KPiB9DQo+DQo+IEFu ZCB0aGVuIGFkanVzdCB0aGUgZ2VubW9kZXMgbGlrZSBiZWxvdyB0byBjb25z dW1lIHRoZSB1bml0IHBvbHkuDQo+DQo+ICAgICAgIHByaW50ZiAoIiAgICBw b2x5X3VpbnQxNiB1bml0X3BvbHkgPSAiDQo+ICAgICAgICAgICAgICAibm9y bWFsaXplX3RvX3VuaXQgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSk7XG4i LCBtLT5uYW1lKTsNCj4gICAgICAgcHJpbnRmICgiICAgIGlmIChrbm93bl9s dCAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCAiDQo+ICAgICAgICAgICAg ICAidW5pdF9wb2x5ICogQklUU19QRVJfVU5JVCkpXG4iLCBtLT5uYW1lKTsN Cj4gICAgICAgcHJpbnRmICgiICAgICAgbW9kZV9zaXplW0VfJXNtb2RlXSA9 IHVuaXRfcG9seTtcbiIsIG0tPm5hbWUpOw0KPg0KPiBJIGFtIG5vdCBzdXJl IGlmIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGludHJvZHVjZSBhYm92ZSBub3Jt YWxpemUgY29kZSBpbnRvIGV4YWN0X2Rpdi4gR2l2ZW4gdGhlIGNvbW1lbnQg b2YgdGhlIGV4YWN0X2RpdiBpbmRpY2F0ZXMgdGhhdCDigJwvKiBSZXR1cm4g QSAvIEIsIGdpdmVuIHRoYXQgQSBpcyBrbm93biB0byBiZSBhIG11bHRpcGxl IG9mIEIuICov4oCdLg0KDQpNeSBwb2ludCB3YXMgdGhhdCB3ZSBoYXZlIG11 bHRpcGxlIHdheXMgb2YgZGl2aWRpbmcgcG9seV9pbnRzOg0KDQotIGV4YWN0 X2RpdiwgZm9yIHdoZW4gdGhlIGNhbGxlciBrbm93cyB0aGF0IHRoZSByZXN1 bHQgaXMgYWx3YXlzIGV4YWN0DQotIGNhbl9kaXZfdHJ1bmNfcCwgZm9yIHRy dW5jYXRpbmcgZGl2aXNpb24gKHJvdW5kIHRvd2FyZHMgMCkNCi0gY2FuX2Rp dl9hd2F5X2Zyb21femVyb19wLCBmb3Igcm91bmRpbmcgYXdheSBmcm9tIDAN Ci0gLi4uDQoNClRoaXMgaXMgbGlrZSBob3cgd2UgaGF2ZSBtdWx0aXBsZSBk aXZpc2lvbiAqX0VYUFJzIG9uIHRyZWVzLg0KDQpVbnRpbCBub3csIGV4YWN0 X2RpdiB3YXMgdGhlIGNvcnJlY3QgY2hvaWNlIGZvciBtb2RlcyBiZWNhdXNl IHZlY3Rvcg0KbW9kZXMgZGlkbid0IGhhdmUgcGFkZGluZy4gIFdlJ3JlIG5v dyBjaGFuZ2luZyB0aGF0LCBzbyBteSBzdWdnZXN0aW9uDQppbiB0aGUgcmV2 aWV3IHdhcyB0byBjaGFuZ2UgdGhlIGRpdmlzaW9uIG9wZXJhdGlvbiB0aGF0 IHdlIHVzZS4NClJhdGhlciB0aGFuIHVzZSBleGFjdF9kaXYsIHdlIHNob3Vs ZCBub3cgdXNlIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCwNCndoaWNoIHdv dWxkIGhhdmUgdGhlIGVmZmVjdCBvZiByb3VuZGluZyB0aGUgcXVvdGllbnQg dXAuDQoNClNvbWV0aGluZyBsaWtlOg0KDQogICAgICBpZiAoIWNhbl9kaXZf YXdheV9mcm9tX3plcm9fcCAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCBC SVRTX1BFUl9VTklULA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZtb2RlX3NpemVbRV8lc21vZGVdKSkNCiAgICAgICAgZ2NjX3Vu cmVhY2hhYmxlICgpOw0KDQpCdXQgdGhpcyB3aWxsIHJlcXVpcmUgYSBuZXcg b3ZlcmxvYWQgb2YgY2FuX2Rpdl9hd2F5X2Zyb21femVyb19wLCBzaW5jZQ0K dGhlIGV4aXN0aW5nIG9uZSBpcyBmb3IgY29uc3RhbnQgcXVvdGllbnRzIHJh dGhlciB0aGFuIGNvbnN0YW50IGRpdmlzb3JzLg0KDQpUaGFua3MsDQpSaWNo YXJkDQoNCj4NCj4gQ291bGQgeW91IHBsZWFzZSBoZWxwIHRvIHNoYXJlIHlv dXIgb3BpbmlvbiBhYm91dCB0aGlzIGZyb20gdGhlIGV4cGVydOKAmXMgcGVy c3BlY3RpdmUgPyBUaGFuayB5b3UhDQo+DQo+IFBhbg0KPg0KPiBGcm9tOiDn m7wg5p2OIDxpbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbTxtYWlsdG86 aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20+Pg0KPiBTZW50OiBNb25k YXksIEZlYnJ1YXJ5IDI3LCAyMDIzIDExOjEzIFBNDQo+IFRvOiBSaWNoYXJk IFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbTxtYWlsdG86 cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4+OyBpbmNhcm5hdGlvbi5wLmxl ZS0tLSB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn PG1haWx0bzpnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4+DQo+IENjOiBqdXpo ZS56aG9uZ0ByaXZhaS5haTxtYWlsdG86anV6aGUuemhvbmdAcml2YWkuYWk+ OyBraXRvLmNoZW5nQHNpZml2ZS5jb208bWFpbHRvOmtpdG8uY2hlbmdAc2lm aXZlLmNvbT47IHJndWVudGhlckBzdXNlLmRlPG1haWx0bzpyZ3VlbnRoZXJA c3VzZS5kZT47IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbTxtYWlsdG86 cGFuMi5saUBpbnRlbC5jb20+Pg0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBS SVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24gYWRq dXN0bWVudA0KPg0KPiBOZXZlciBtaW5kLCB3aXNoIHlvdSBoYXZlIGEgZ29v ZCBob2xpZGF5Lg0KPg0KPiBUaGFua3MgZm9yIHBvaW50aW5nIHRoaXMgb3V0 LCB0aGUgaWYgcGFydCBjYW5ub3QgdGFrZSBjYXJlIG9mIHBvbHlfaW50IHdp dGggTiA+IDIuIEFzIEkgdW5kZXJzdGFuZCwgd2UgbmVlZCB0byBtYWtlIGl0 IGdlbmVyYWwgZm9yIGFsbCB0aGUgTiBvZiBwb2x5X2ludC4NCj4NCj4gVGh1 cyBJIHdvdWxkIGxpa2UgdG8gZG91YmxlIGNvbmZpcm0gd2l0aCB5b3UgYWJv dXQgaG93IHRvIG1ha2UgaXQgZ2VuZXJhbC4gSSBzdXBwb3NlIHRoZXJlIHdp bGwgYmUgYSBuZXcgZnVuY3Rpb24gY2FuX2Rpdl9hd2F5X2Zyb21femVyb19w IHRvIHJlcGxhY2UgdGhlIGlmIChrbm93bl9sdCgsKSkgcGFydCBpbiBnZW5t b2Rlcy5jYywgYW5kIGxlYXZlIGV4YWN0X2RpdiB1bmNoYW5nZWQoY29uc2lk ZXIgdGhlIHdvcmQgZXhhY3QsIEkgc3VwcG9zZSB3ZSBzaG91bGQgbm90IHRv dWNoIGhlcmUpLCByaWdodD8gVGhlbiB3ZSBzdGlsbCBuZWVkIG9uZSBwb2x5 X2ludCB3aXRoIGFsbCAxIGZvciBOIGFzIHRoZSByZXR1cm4gaWYgY2FuX2Rp dl9hd2F5X2Zyb21femVyb19wIGlzIHRydWUuDQo+DQo+IFRoYW5rcyBhZ2Fp biBmb3IgeW91ciBwcm9mZXNzaW9uYWwgc3VnZ2VzdGlvbiwgaGF2ZSBhIG5p Y2UgZGF5LCDwn5iJIQ0KPg0KPiBQYW4NCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCj4gRnJvbTogUmljaGFyZCBTYW5kaWZvcmQgPHJp Y2hhcmQuc2FuZGlmb3JkQGFybS5jb208bWFpbHRvOnJpY2hhcmQuc2FuZGlm b3JkQGFybS5jb208bWFpbHRvOnJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20l M2NtYWlsdG86cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4+Pg0KPiBTZW50 OiBNb25kYXksIEZlYnJ1YXJ5IDI3LCAyMDIzIDIyOjI0DQo+IFRvOiBpbmNh cm5hdGlvbi5wLmxlZS0tLSB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVz QGdjYy5nbnUub3JnPG1haWx0bzpnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzxt YWlsdG86Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmclM2NtYWlsdG86Z2NjLXBh dGNoZXNAZ2NjLmdudS5vcmc+Pj4NCj4gQ2M6IGluY2FybmF0aW9uLnAubGVl QG91dGxvb2suY29tPG1haWx0bzppbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29r LmNvbTxtYWlsdG86aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20lM2Nt YWlsdG86aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20+PiA8aW5jYXJu YXRpb24ucC5sZWVAb3V0bG9vay5jb208bWFpbHRvOmluY2FybmF0aW9uLnAu bGVlQG91dGxvb2suY29tPG1haWx0bzppbmNhcm5hdGlvbi5wLmxlZUBvdXRs b29rLmNvbSUzY21haWx0bzppbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNv bT4+PjsganV6aGUuemhvbmdAcml2YWkuYWk8bWFpbHRvOmp1emhlLnpob25n QHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5haSUzY21haWx0 bzpqdXpoZS56aG9uZ0ByaXZhaS5haT4+IDxqdXpoZS56aG9uZ0ByaXZhaS5h aTxtYWlsdG86anV6aGUuemhvbmdAcml2YWkuYWk8bWFpbHRvOmp1emhlLnpo b25nQHJpdmFpLmFpJTNjbWFpbHRvOmp1emhlLnpob25nQHJpdmFpLmFpPj4+ OyBraXRvLmNoZW5nQHNpZml2ZS5jb208bWFpbHRvOmtpdG8uY2hlbmdAc2lm aXZlLmNvbTxtYWlsdG86a2l0by5jaGVuZ0BzaWZpdmUuY29tJTNjbWFpbHRv OmtpdG8uY2hlbmdAc2lmaXZlLmNvbT4+IDxraXRvLmNoZW5nQHNpZml2ZS5j b208bWFpbHRvOmtpdG8uY2hlbmdAc2lmaXZlLmNvbTxtYWlsdG86a2l0by5j aGVuZ0BzaWZpdmUuY29tJTNjbWFpbHRvOmtpdG8uY2hlbmdAc2lmaXZlLmNv bT4+Pjsgcmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNl LmRlPiA8cmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNl LmRlPG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZSUzY21haWx0bzpyZ3VlbnRo ZXJAc3VzZS5kZT4+PjsgcGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIu bGlAaW50ZWwuY29tPiA8cGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIu bGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbSUzY21haWx0 bzpwYW4yLmxpQGludGVsLmNvbT4+Pg0KPiBTdWJqZWN0OiBSZTogW1BBVENI XSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24g YWRqdXN0bWVudA0KPg0KPiBTb3JyeSBmb3IgdGhlIHNsb3cgcmVwbHksIGJl ZW4gYXdheSBmb3IgYSBjb3VwbGUgb2Ygd2Vla3MuDQo+DQo+ICJpbmNhcm5h dGlvbi5wLmxlZS0tLSB2aWEgR2NjLXBhdGNoZXMiIDxnY2MtcGF0Y2hlc0Bn Y2MuZ251Lm9yZzxtYWlsdG86Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc8bWFp bHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnJTNjbWFpbHRvOmdjYy1wYXRj aGVzQGdjYy5nbnUub3JnPj4+IHdyaXRlczoNCj4+IEZyb206IFBhbiBMaSA8 cGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIubGlAaW50ZWwuY29tPG1h aWx0bzpwYW4yLmxpQGludGVsLmNvbSUzY21haWx0bzpwYW4yLmxpQGludGVs LmNvbT4+Pg0KPj4NCj4+ICAgICAgICBGaXggdGhlIGJ1ZyBvZiB0aGUgcnZ2 IGJvb2wgbW9kZSBwcmVjaXNpb24gd2l0aCB0aGUgYWRqdXN0bWVudC4NCj4+ ICAgICAgICBUaGUgYml0cyBzaXplIG9mIHZib29sKl90IHdpbGwgYmUgYWRq dXN0ZWQgdG8NCj4+ICAgICAgICBbMSwgMiwgNCwgOCwgMTYsIDMyLCA2NF0g YWNjb3JkaW5nIHRvIHRoZSBydnYgc3BlYyAxLjAgaXNhLiBUaGUNCj4+ICAg ICAgICBhZGp1c3RlZCBtb2RlIHByZWNpc29uIG9mIHZib29sKl90IHdpbGwg aGVscCB1bmRlcmx5aW5nIHBhc3MgdG8NCj4+ICAgICAgICBtYWtlIHRoZSBy aWdodCBkZWNpc2lvbiBmb3IgYm90aCB0aGUgY29ycmVjdG5lc3MgYW5kIG9w dGltaXphdGlvbi4NCj4+DQo+PiAgICAgICAgR2l2ZW4gYmVsb3cgc2FtcGxl IGNvZGU6DQo+PiAgICAgICAgdm9pZCB0ZXN0XzEoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkNCj4+ICAgICAgICB7DQo+ PiAgICAgICAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4g ICAgICAgICAgdmJvb2wxNl90IHY1ID0gKih2Ym9vbDE2X3QqKWluOw0KPj4g ICAgICAgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjU7DQo+PiAg ICAgICAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYyOw0KPj4gICAg ICAgIH0NCj4+DQo+PiAgICAgICAgQmVmb3JlIHRoZSBwcmVjaXNpb24gYWRq dXN0bWVudDoNCj4+ICAgICAgICBhZGRpICAgIGE0LGExLDEwMA0KPj4gICAg ICAgIHZzZXR2bGkgYTUsemVybyxlOCxtMSx0YSxtYQ0KPj4gICAgICAgIGFk ZGkgICAgYTEsYTEsMjAwDQo+PiAgICAgICAgdmxtLnYgICB2MjQsMChhMCkN Cj4+ICAgICAgICB2c20udiAgIHYyNCwwKGE0KQ0KPj4gICAgICAgIC8vIE5l ZWQgb25lIHZzZXR2bGkgYW5kIHZsbS52IGZvciBjb3JyZWN0bmVzcyBoZXJl Lg0KPj4gICAgICAgIHZzbS52ICAgdjI0LDAoYTEpDQo+Pg0KPj4gICAgICAg IEFmdGVyIHRoZSBwcmVjaXNpb24gYWRqdXN0bWVudDoNCj4+ICAgICAgICBj c3JyICAgIHQwLHZsZW5iDQo+PiAgICAgICAgc2xsaSAgICB0MSx0MCwxDQo+ PiAgICAgICAgY3NyciAgICBhMyx2bGVuYg0KPj4gICAgICAgIHN1YiAgICAg c3Asc3AsdDENCj4+ICAgICAgICBzbGxpICAgIGE0LGEzLDENCj4+ICAgICAg ICBhZGQgICAgIGE0LGE0LHNwDQo+PiAgICAgICAgc3ViICAgICBhMyxhNCxh Mw0KPj4gICAgICAgIHZzZXR2bGkgYTUsemVybyxlOCxtMSx0YSxtYQ0KPj4g ICAgICAgIGFkZGkgICAgYTIsYTEsMjAwDQo+PiAgICAgICAgdmxtLnYgICB2 MjQsMChhMCkNCj4+ICAgICAgICB2c20udiAgIHYyNCwwKGEzKQ0KPj4gICAg ICAgIGFkZGkgICAgYTEsYTEsMTAwDQo+PiAgICAgICAgdnNldHZsaSBhNCx6 ZXJvLGU4LG1mMix0YSxtYQ0KPj4gICAgICAgIGNzcnIgICAgdDAsdmxlbmIN Cj4+ICAgICAgICB2bG0udiAgIHYyNSwwKGEzKQ0KPj4gICAgICAgIHZzbS52 ICAgdjI1LDAoYTIpDQo+PiAgICAgICAgc2xsaSAgICB0MSx0MCwxDQo+PiAg ICAgICAgdnNldHZsaSBhNSx6ZXJvLGU4LG0xLHRhLG1hDQo+PiAgICAgICAg dnNtLnYgICB2MjQsMChhMSkNCj4+ICAgICAgICBhZGQgICAgIHNwLHNwLHQx DQo+PiAgICAgICAganIgICAgICByYQ0KPj4NCj4+ICAgICAgICBIb3dldmVy LCB0aGVyZSBtYXkgYmUgc29tZSBvcHRpbWl6YXRpb24gb3Bwb3J0dW5hdGVz IGFmdGVyDQo+PiAgICAgICAgdGhlIG1vZGUgcHJlY2lzaW9uIGFkanVzdG1l bnQuIEl0IGNhbiBiZSB0b2tlbiBjYXJlIG9mIGluDQo+PiAgICAgICAgdGhl IFJJU0MtViBiYWNrZW5kIGluIHRoZSB1bmRlcmx5aW5nIHNlcGFydGVkIFBS KHMpLg0KPj4NCj4+ICAgICAgICBQUiAxMDgxODUNCj4+ICAgICAgICBQUiAx MDg2NTQNCj4+DQo+PiBnY2MvQ2hhbmdlTG9nOg0KPj4NCj4+ICAgICAgICAq IGNvbmZpZy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYgKEFESlVTVF9QUkVDSVNJ T04pOg0KPj4gICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIChyaXNj dl92X2FkanVzdF9wcmVjaXNpb24pOg0KPj4gICAgICAgICogY29uZmlnL3Jp c2N2L3Jpc2N2LmggKHJpc2N2X3ZfYWRqdXN0X3ByZWNpc2lvbik6DQo+PiAg ICAgICAgKiBnZW5tb2Rlcy5jYyAoQURKVVNUX1BSRUNJU0lPTik6DQo+PiAg ICAgICAgKGVtaXRfbW9kZV9hZGp1c3RtZW50cyk6DQo+Pg0KPj4gZ2NjL3Rl c3RzdWl0ZS9DaGFuZ2VMb2c6DQo+Pg0KPj4gICAgICAgICogZ2NjLnRhcmdl dC9yaXNjdi9wcjEwODE4NS0xLmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICog Z2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0yLmM6IE5ldyB0ZXN0Lg0KPj4g ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmM6IE5ldyB0 ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS00 LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9w cjEwODE4NS01LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICogZ2NjLnRhcmdl dC9yaXNjdi9wcjEwODE4NS02LmM6IE5ldyB0ZXN0Lg0KPj4gICAgICAgICog Z2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03LmM6IE5ldyB0ZXN0Lg0KPj4g ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS04LmM6IE5ldyB0 ZXN0Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IFBhbiBMaSA8cGFuMi5saUBp bnRlbC5jb208bWFpbHRvOnBhbjIubGlAaW50ZWwuY29tPG1haWx0bzpwYW4y LmxpQGludGVsLmNvbSUzY21haWx0bzpwYW4yLmxpQGludGVsLmNvbT4+Pg0K Pj4gLS0tDQo+PiAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYg ICAgICAgICAgICB8ICA4ICsrKw0KPj4gIGdjYy9jb25maWcvcmlzY3Yvcmlz Y3YuY2MgICAgICAgICAgICAgICAgICAgfCAxMiArKysrDQo+PiAgZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5oICAgICAgICAgICAgICAgICAgICB8ICAxICsN Cj4+ICBnY2MvZ2VubW9kZXMuY2MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMjUgKysrKysrLQ0KPj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9wcjEwODE4NS0xLmMgfCA2OCArKysrKysrKysrKysrKysrKysN Cj4+ICBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt Mi5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+PiAgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTMuYyB8IDY4ICsrKysrKysr KysrKysrKysrKw0KPj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9wcjEwODE4NS00LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+ICBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jIHwg NjggKysrKysrKysrKysrKysrKysrDQo+PiAgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTYuYyB8IDY4ICsrKysrKysrKysrKysr KysrKw0KPj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS03LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+ICBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtOC5jIHwgNzcgKysr KysrKysrKysrKysrKysrKysrDQo+PiAgMTIgZmlsZXMgY2hhbmdlZCwgNTk4 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTEuYw0KPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5jDQo+PiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS0zLmMNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTQuYw0KPj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIx MDgxODUtNS5jDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS02LmMNCj4+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3By MTA4MTg1LTcuYw0KPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtOC5jDQo+Pg0KPj4gZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtbW9kZXMuZGVmIGIv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYNCj4+IGluZGV4IGQ1 MzA1ZWZhOGE2Li4xMTBiZGRjZTg1MSAxMDA2NDQNCj4+IC0tLSBhL2djYy9j b25maWcvcmlzY3YvcmlzY3YtbW9kZXMuZGVmDQo+PiArKysgYi9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LW1vZGVzLmRlZg0KPj4gQEAgLTcyLDYgKzcyLDE0 IEBAIEFESlVTVF9CWVRFU0laRSAoVk54MTZCSSwgcmlzY3ZfdmVjdG9yX2No dW5rcyAqIHJpc2N2X2J5dGVzX3Blcl92ZWN0b3JfY2h1bmspOw0KPj4gIEFE SlVTVF9CWVRFU0laRSAoVk54MzJCSSwgcmlzY3ZfdmVjdG9yX2NodW5rcyAq IHJpc2N2X2J5dGVzX3Blcl92ZWN0b3JfY2h1bmspOw0KPj4gIEFESlVTVF9C WVRFU0laRSAoVk54NjRCSSwgcmlzY3Zfdl9hZGp1c3RfbnVuaXRzIChWTng2 NEJJbW9kZSwgOCkpOw0KPj4NCj4+ICtBREpVU1RfUFJFQ0lTSU9OIChWTngx QkksIHJpc2N2X3ZfYWRqdXN0X3ByZWNpc2lvbiAoVk54MUJJbW9kZSwgMSkp Ow0KPj4gK0FESlVTVF9QUkVDSVNJT04gKFZOeDJCSSwgcmlzY3Zfdl9hZGp1 c3RfcHJlY2lzaW9uIChWTngyQkltb2RlLCAyKSk7DQo+PiArQURKVVNUX1BS RUNJU0lPTiAoVk54NEJJLCByaXNjdl92X2FkanVzdF9wcmVjaXNpb24gKFZO eDRCSW1vZGUsIDQpKTsNCj4+ICtBREpVU1RfUFJFQ0lTSU9OIChWTng4Qkks IHJpc2N2X3ZfYWRqdXN0X3ByZWNpc2lvbiAoVk54OEJJbW9kZSwgOCkpOw0K Pj4gK0FESlVTVF9QUkVDSVNJT04gKFZOeDE2QkksIHJpc2N2X3ZfYWRqdXN0 X3ByZWNpc2lvbiAoVk54MTZCSW1vZGUsIDE2KSk7DQo+PiArQURKVVNUX1BS RUNJU0lPTiAoVk54MzJCSSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChW TngzMkJJbW9kZSwgMzIpKTsNCj4+ICtBREpVU1RfUFJFQ0lTSU9OIChWTng2 NEJJLCByaXNjdl92X2FkanVzdF9wcmVjaXNpb24gKFZOeDY0Qkltb2RlLCA2 NCkpOw0KPj4gKw0KPj4gIC8qDQo+PiAgICAgfCBNb2RlICAgICAgICB8IE1J Tl9WTEVOPTMyIHwgTUlOX1ZMRU49MzIgfCBNSU5fVkxFTj02NCB8IE1JTl9W TEVOPTY0IHwNCj4+ICAgICB8ICAgICAgICAgICAgIHwgTE1VTCAgICAgICAg fCBTRVcvTE1VTCAgICB8IExNVUwgICAgICAgIHwgU0VXL0xNVUwgICAgfA0K Pj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgYi9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+PiBpbmRleCBkZTNlMWY5MDNj Ny4uY2JlNjZjMGUzNWIgMTAwNjQ0DQo+PiAtLS0gYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LmNjDQo+PiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmNjDQo+PiBAQCAtMTAwMyw2ICsxMDAzLDE4IEBAIHJpc2N2X3ZfYWRqdXN0 X251bml0cyAobWFjaGluZV9tb2RlIG1vZGUsIGludCBzY2FsZSkNCj4+ICAg IHJldHVybiBzY2FsZTsNCj4+ICB9DQo+Pg0KPj4gKy8qIENhbGwgZnJvbSBB REpVU1RfUFJFQ0lTSU9OIGluIHJpc2N2LW1vZGVzLmRlZi4gIFJldHVybiB0 aGUgY29ycmVjdA0KPj4gKyAgIFBSRUNJU0lPTiBzaXplIGZvciBjb3JyZXNw b25kaW5nIG1hY2hpbmVfbW9kZS4gICovDQo+PiArDQo+PiArcG9seV9pbnQ2 NA0KPj4gK3Jpc2N2X3ZfYWRqdXN0X3ByZWNpc2lvbiAobWFjaGluZV9tb2Rl IG1vZGUsIGludCBzY2FsZSkNCj4+ICt7DQo+PiArICBpZiAocmlzY3Zfdl9l eHRfdmVjdG9yX21vZGVfcCAobW9kZSkpDQo+PiArICAgIHJldHVybiByaXNj dl92ZWN0b3JfY2h1bmtzICogc2NhbGU7DQo+PiArDQo+PiArICByZXR1cm4g c2NhbGU7DQo+PiArfQ0KPj4gKw0KPj4gIC8qIFJldHVybiB0cnVlIGlmIFgg aXMgYSB2YWxpZCBhZGRyZXNzIGZvciBtYWNoaW5lIG1vZGUgTU9ERS4gIElm IGl0IGlzLA0KPj4gICAgIGZpbGwgaW4gSU5GTyBhcHByb3ByaWF0ZWx5LiAg U1RSSUNUX1AgaXMgdHJ1ZSBpZiBSRUdfT0tfU1RSSUNUIGlzIGluDQo+PiAg ICAgZWZmZWN0LiAgKi8NCj4+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmgNCj4+IGlu ZGV4IDViYzdmMmY0NjdkLi4xNWI5MzE3YThjZSAxMDA2NDQNCj4+IC0tLSBh L2djYy9jb25maWcvcmlzY3YvcmlzY3YuaA0KPj4gKysrIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi5oDQo+PiBAQCAtMTAyNSw2ICsxMDI1LDcgQEAgZXh0 ZXJuIHVuc2lnbmVkIHJpc2N2X3N0YWNrX2JvdW5kYXJ5Ow0KPj4gIGV4dGVy biB1bnNpZ25lZCByaXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5rOw0KPj4g IGV4dGVybiBwb2x5X3VpbnQxNiByaXNjdl92ZWN0b3JfY2h1bmtzOw0KPj4g IGV4dGVybiBwb2x5X2ludDY0IHJpc2N2X3ZfYWRqdXN0X251bml0cyAoZW51 bSBtYWNoaW5lX21vZGUsIGludCk7DQo+PiArZXh0ZXJuIHBvbHlfaW50NjQg cmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChlbnVtIG1hY2hpbmVfbW9kZSwg aW50KTsNCj4+ICAvKiBUaGUgbnVtYmVyIG9mIGJpdHMgYW5kIGJ5dGVzIGlu IGEgUlZWIHZlY3Rvci4gICovDQo+PiAgI2RlZmluZSBCSVRTX1BFUl9SSVND Vl9WRUNUT1IgKHBvbHlfdWludDE2IChyaXNjdl92ZWN0b3JfY2h1bmtzICog cmlzY3ZfYnl0ZXNfcGVyX3ZlY3Rvcl9jaHVuayAqIDgpKQ0KPj4gICNkZWZp bmUgQllURVNfUEVSX1JJU0NWX1ZFQ1RPUiAocG9seV91aW50MTYgKHJpc2N2 X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5r KSkNCj4+IGRpZmYgLS1naXQgYS9nY2MvZ2VubW9kZXMuY2MgYi9nY2MvZ2Vu bW9kZXMuY2MNCj4+IGluZGV4IDJkNDE4ZjA5YWFiLi4xMmY0ZTYzMzVlNiAx MDA2NDQNCj4+IC0tLSBhL2djYy9nZW5tb2Rlcy5jYw0KPj4gKysrIGIvZ2Nj L2dlbm1vZGVzLmNjDQo+PiBAQCAtMTE0LDYgKzExNCw3IEBAIHN0YXRpYyBz dHJ1Y3QgbW9kZV9hZGp1c3QgKmFkal9hbGlnbm1lbnQ7DQo+PiAgc3RhdGlj IHN0cnVjdCBtb2RlX2FkanVzdCAqYWRqX2Zvcm1hdDsNCj4+ICBzdGF0aWMg c3RydWN0IG1vZGVfYWRqdXN0ICphZGpfaWJpdDsNCj4+ICBzdGF0aWMgc3Ry dWN0IG1vZGVfYWRqdXN0ICphZGpfZmJpdDsNCj4+ICtzdGF0aWMgc3RydWN0 IG1vZGVfYWRqdXN0ICphZGpfcHJlY2lzaW9uOw0KPj4NCj4+ICAvKiBNb2Rl IGNsYXNzIG9wZXJhdGlvbnMuICAqLw0KPj4gIHN0YXRpYyBlbnVtIG1vZGVf Y2xhc3MNCj4+IEBAIC04MTksNiArODIwLDcgQEAgbWFrZV92ZWN0b3JfbW9k ZSAoZW51bSBtb2RlX2NsYXNzIGJjbGFzcywNCj4+ICAjZGVmaW5lIEFESlVT VF9OVU5JVFMoTSwgWCkgICAgX0FERF9BREpVU1QgKG51bml0cywgTSwgWCwg UkFORE9NLCBSQU5ET00pDQo+PiAgI2RlZmluZSBBREpVU1RfQllURVNJWkUo TSwgWCkgIF9BRERfQURKVVNUIChieXRlc2l6ZSwgTSwgWCwgUkFORE9NLCBS QU5ET00pDQo+PiAgI2RlZmluZSBBREpVU1RfQUxJR05NRU5UKE0sIFgpIF9B RERfQURKVVNUIChhbGlnbm1lbnQsIE0sIFgsIFJBTkRPTSwgUkFORE9NKQ0K Pj4gKyNkZWZpbmUgQURKVVNUX1BSRUNJU0lPTihNLCBYKSBfQUREX0FESlVT VCAocHJlY2lzaW9uLCBNLCBYLCBSQU5ET00sIFJBTkRPTSkNCj4+ICAjZGVm aW5lIEFESlVTVF9GTE9BVF9GT1JNQVQoTSwgWCkgICAgX0FERF9BREpVU1Qg KGZvcm1hdCwgTSwgWCwgRkxPQVQsIEZMT0FUKQ0KPj4gICNkZWZpbmUgQURK VVNUX0lCSVQoTSwgWCkgIF9BRERfQURKVVNUIChpYml0LCBNLCBYLCBBQ0NV TSwgVUFDQ1VNKQ0KPj4gICNkZWZpbmUgQURKVVNUX0ZCSVQoTSwgWCkgIF9B RERfQURKVVNUIChmYml0LCBNLCBYLCBGUkFDVCwgVUFDQ1VNKQ0KPj4gQEAg LTE4MjksNyArMTgzMSwxNSBAQCBlbWl0X21vZGVfYWRqdXN0bWVudHMgKHZv aWQpDQo+PiAgICAgICAgICAgICAgIiAobW9kZV9wcmVjaXNpb25bRV8lc21v ZGVdLCBtb2RlX251bml0c1tFXyVzbW9kZV0pO1xuIiwNCj4+ICAgICAgICAg ICAgICBtLT5uYW1lLCBtLT5uYW1lKTsNCj4+ICAgICAgICBwcmludGYgKCIg ICAgbW9kZV9wcmVjaXNpb25bRV8lc21vZGVdID0gcHMgKiBvbGRfZmFjdG9y O1xuIiwgbS0+bmFtZSk7DQo+PiAtICAgICAgcHJpbnRmICgiICAgIG1vZGVf c2l6ZVtFXyVzbW9kZV0gPSBleGFjdF9kaXYgKG1vZGVfcHJlY2lzaW9uW0Vf JXNtb2RlXSwiDQo+PiArICAgICAgLyogTm9ybWFsaXplIHRoZSBzaXplIHRv IDEgaWYgcHJlY2lzb24gaXMgbGVzcyB0aGFuIEJJVFNfUEVSX1VOSVQuICAq Lw0KPj4gKyAgICAgIHByaW50ZiAoIiAgICBwb2x5X3VpbnQxNiBzaXplX29u ZSA9ICINCj4+ICsgICAgICAgICAgICJtb2RlX3ByZWNpc2lvbltFXyVzbW9k ZV0uaXNfY29uc3RhbnQgKClcbiIsIG0tPm5hbWUpOw0KPj4gKyAgICAgIHBy aW50ZiAoIiAgICAgID8gcG9seV91aW50MTYgKDEsIDApIDogcG9seV91aW50 MTYgKDEsIDEpO1xuIik7DQo+DQo+IEhhdmUgeW91IHRyaWVkIHRoaXMgb24g YW4geDg2XzY0IHN5c3RlbT8gIEkgd291bGRuJ3QgZXhwZWN0IGl0IHRvIHdv cmsNCj4gYmVjYXVzZSBvZiB0aGU6DQo+DQo+ICAgU1RBVElDX0FTU0VSVCAo TiA+PSAyKTsNCj4NCj4gaW4gdGhlIHBvbHlfdWludDE2IGNvbnN0cnVjdG9y Lg0KPg0KPj4gKyAgICAgIHByaW50ZiAoIiAgICBpZiAoa25vd25fbHQgKG1v ZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSwgIg0KPj4gKyAgICAgICAgICAgInNp emVfb25lICogQklUU19QRVJfVU5JVCkpXG4iLCBtLT5uYW1lKTsNCj4+ICsg ICAgICBwcmludGYgKCIgICAgICBtb2RlX3NpemVbRV8lc21vZGVdID0gc2l6 ZV9vbmU7XG4iLCBtLT5uYW1lKTsNCj4+ICsgICAgICBwcmludGYgKCIgICAg ZWxzZVxuIik7DQo+PiArICAgICAgcHJpbnRmICgiICAgICAgbW9kZV9zaXpl W0VfJXNtb2RlXSA9IGV4YWN0X2RpdiAobW9kZV9wcmVjaXNpb25bRV8lc21v ZGVdLCINCj4NCj4gTm93IHRoYXQgdGhlIGFzc2VydCBpbXBsaWNpdCBpbiB0 aGUgb3JpZ2luYWwgZXhhY3RfZGl2IG5vIGxvbmdlciBob2xkcywNCj4gSSB0 aGluayB3ZSBzaG91bGQgaW5zdGVhZCBnZW5lcmFsaXNlIGl0IHRvIGNhbl9k aXZfYXdheV9mcm9tX3plcm9fcA0KPiAod2hpY2ggd2lsbCBpbnZvbHZlIGRl ZmluaW5nIGEgbmV3IG92ZXJsb2FkIG9mIGNhbl9kaXZfYXdheV9mcm9tX3pl cm9fcCkuDQo+IEkgdGhpbmsgdGhhdCB3aWxsIGdpdmUgdGhlIHNhbWUgcmVz dWx0IGFzIHRoZSBjb2RlIGFib3ZlIGZvciB0aGUgY2FzZXMNCj4gdGhhdCB0 aGUgY29kZSBhYm92ZSBoYW5kbGVzLiAgQnV0IGl0IHNob3VsZCBiZSBtb3Jl IGdlbmVyYWwgdG9vLg0KPg0KPiBUQkgsIEknbSBzdGlsbCBzY2VwdGljYWwg dGhhdCB0aGlzIGlzIGFsbCB0aGF0IGlzIG5lZWRlZC4gIEl0IHNlZW1zDQo+ IHVubGlrZWx5IHRoYXQgd2UndmUgYmVlbiBzbyBnb29kIGF0IHdyaXRpbmcg dmVjdG9yIHN1cHBvcnQgY29kZSB0aGF0DQo+IHdlJ3ZlIG1hZGUgaXQgd29y ayBmb3IgcHJlY2lzaW9uIDwgYml0c2l6ZSwgZGVzcGl0ZSB0aGF0IGJlaW5n IGFuDQo+IHVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIHVudGlsIG5vdy4gIEJ1 dCBJIGd1ZXNzIHdlIGNhbiBmaXggcHJvYmxlbXMNCj4gb24gYSBjYXNlLWJ5 LWNhc2UgYmFzaXMuDQo+DQo+IFRoYW5rcywNCj4gUmljaGFyZA0KPg0KPj4g ICAgICAgICAgICAgICIgQklUU19QRVJfVU5JVCk7XG4iLCBtLT5uYW1lLCBt LT5uYW1lKTsNCj4+ICAgICAgICBwcmludGYgKCIgICAgbW9kZV9udW5pdHNb RV8lc21vZGVdID0gcHM7XG4iLCBtLT5uYW1lKTsNCj4+ICAgICAgICBwcmlu dGYgKCIgICAgYWRqdXN0X21vZGVfbWFzayAoRV8lc21vZGUpO1xuIiwgbS0+ bmFtZSk7DQo+PiBAQCAtMTk2Myw2ICsxOTczLDE5IEBAIGVtaXRfbW9kZV9h ZGp1c3RtZW50cyAodm9pZCkNCj4+ICAgICAgcHJpbnRmICgiXG4gIC8qICVz OiVkICovXG4gIFJFQUxfTU9ERV9GT1JNQVQgKEVfJXNtb2RlKSA9ICVzO1xu IiwNCj4+ICAgICAgICAgICAgYS0+ZmlsZSwgYS0+bGluZSwgYS0+bW9kZS0+ bmFtZSwgYS0+YWRqdXN0bWVudCk7DQo+Pg0KPj4gKyAgLyogQWRqdXN0IHBy ZWNpc2lvbiB0byB0aGUgYWN0dWFsIGJpdHMgc2l6ZS4gICovDQo+PiArICBm b3IgKGEgPSBhZGpfcHJlY2lzaW9uOyBhOyBhID0gYS0+bmV4dCkNCj4+ICsg ICAgc3dpdGNoIChhLT5tb2RlLT5jbCkNCj4+ICsgICAgICB7DQo+PiArICAg ICBjYXNlIE1PREVfVkVDVE9SX0JPT0w6DQo+PiArICAgICAgIHByaW50ZiAo IlxuICAvKiAlczolZC4gICovXG4gIHBzID0gJXM7XG4iLCBhLT5maWxlLCBh LT5saW5lLA0KPj4gKyAgICAgICAgICAgICAgIGEtPmFkanVzdG1lbnQpOw0K Pj4gKyAgICAgICBwcmludGYgKCIgIG1vZGVfcHJlY2lzaW9uW0VfJXNtb2Rl XSA9IHBzO1xuIiwgYS0+bW9kZS0+bmFtZSk7DQo+PiArICAgICAgIGJyZWFr Ow0KPj4gKyAgICAgZGVmYXVsdDoNCj4+ICsgICAgICAgYnJlYWs7DQo+PiAr ICAgICAgfQ0KPj4gKw0KPj4gICAgcHV0cyAoIn0iKTsNCj4+ICB9DQo+Pg0K Pj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9wcjEwODE4NS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtMS5jDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4g aW5kZXggMDAwMDAwMDAwMDAuLmU3MDk2MGM1YjZkDQo+PiAtLS0gL2Rldi9u dWxsDQo+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtMS5jDQo+PiBAQCAtMCwwICsxLDY4IEBADQo+PiArLyogeyBk Zy1kbyBjb21waWxlIH0gKi8NCj4+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJj aD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+PiArDQo+PiArI2lu Y2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0 ZXN0X3Zib29sMV90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwg aW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMV90IHYx ID0gKih2Ym9vbDFfdCopaW47DQo+PiArICAgIHZib29sMl90IHYyID0gKih2 Ym9vbDJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wxX3QqKShvdXQg KyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDAp ID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29s MV90aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMV90IHYxID0gKih2Ym9v bDFfdCopaW47DQo+PiArICAgIHZib29sNF90IHYyID0gKih2Ym9vbDRfdCop aW47DQo+PiArDQo+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0g djE7DQo+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zi b29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+PiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47 DQo+PiArICAgIHZib29sOF90IHYyID0gKih2Ym9vbDhfdCopaW47DQo+PiAr DQo+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiAr ICAgICoodmJvb2w4X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4g Kw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sMTYoaW50 OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0K Pj4gKyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPj4gKyAg ICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZfdCopaW47DQo+PiArDQo+PiAr ICAgICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoo dmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ ICt2b2lkDQo+PiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDMyKGludDhfdCAq IHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsg ICAgdmJvb2wxX3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4+ICsgICAgdmJv b2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWluOw0KPj4gKw0KPj4gKyAgICAq KHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29s MzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9p ZA0KPj4gK3Rlc3RfdmJvb2wxX3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0 cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZi b29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+PiArICAgIHZib29sNjRf dCB2MiA9ICoodmJvb2w2NF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9v bDFfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDY0X3Qq KShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDYgfSB9 ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptNCxc cyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjgsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhd WzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14 XVswLTldK1wpfSAxOCB9IH0gKi8NCj4+IGRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTIuYw0KPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwLi5kY2M3 YTY0NGE4OA0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTIuYw0KPj4gQEAgLTAs MCArMSw2OCBAQA0KPj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+PiAr LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1P MyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCIN Cj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9vbDEo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPj4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4g KyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4gKw0KPj4g KyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAq KHZib29sMV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ ICt2b2lkDQo+PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9vbDQoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAg ICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4gKyAgICB2Ym9v bDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZi b29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sNF90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+ PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJpY3Qg aW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDJf dCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDhfdCB2MiA9 ICoodmJvb2w4X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMl90Kiko b3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sOF90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92 Ym9vbDJfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wyX3QgdjEgPSAq KHZib29sMl90KilpbjsNCj4+ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9v bDE2X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMl90Kikob3V0ICsg MTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wy X3RoZW5fdmJvb2wzMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMl90IHYxID0gKih2Ym9v bDJfdCopaW47DQo+PiArICAgIHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90 KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7 DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMl90aGVu X3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3Qq KWluOw0KPj4gKyAgICB2Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47 DQo+PiArDQo+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAxMDApID0gdjE7 DQo+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4g K30NCj4+ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km00LFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxc cyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxz KmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0 LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxz Knplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52 XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzbVwu dlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTcgfSB9ICovDQo+ PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9wcjEwODE4NS0zLmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBp bmRleCAwMDAwMDAwMDAwMC4uM2FmMDUxM2UwMDYNCj4+IC0tLSAvZGV2L251 bGwNCj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9w cjEwODE4NS0zLmMNCj4+IEBAIC0wLDAgKzEsNjggQEANCj4+ICsvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLw0KPj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNo PXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+ICsNCj4+ICsjaW5j bHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+PiArDQo+PiArdm9pZA0KPj4gK3Rl c3RfdmJvb2w0X3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w0X3QgdjEg PSAqKHZib29sNF90KilpbjsNCj4+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZi b29sMV90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCAr IDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w0 X3RoZW5fdmJvb2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiBy ZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29s NF90KilpbjsNCj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90Kilp bjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2 MTsNCj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJv b2w4KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90KilpbjsN Cj4+ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4+ICsN Cj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsg ICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiAr DQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2wxNihpbnQ4 X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ PiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+PiArICAg IHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsNCj4+ICsg ICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2 Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4g K3ZvaWQNCj4+ICt0ZXN0X3Zib29sNF90aGVuX3Zib29sMzIoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAg ICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0KPj4gKyAgICB2Ym9v bDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+PiArDQo+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wz Ml90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lk DQo+PiArdGVzdF92Ym9vbDRfdGhlbl92Ym9vbDY0KGludDhfdCAqIHJlc3Ry aWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJv b2w0X3QgdjEgPSAqKHZib29sNF90KilpbjsNCj4+ICsgICAgdmJvb2w2NF90 IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29s NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sNjRfdCop KG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gNiB9IH0g Ki8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km1mMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTld Kyxccyp6ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1b MC05XStcKX0gMTIgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhd WzAtOV0rXCl9IDE2IH0gfSAqLw0KPj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS00LmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNC5jDQo+PiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMDAuLmVhM2Mz NjBkNzU2DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNC5jDQo+PiBAQCAtMCww ICsxLDY4IEBADQo+PiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4+ICsv KiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8z IiB9ICovDQo+PiArDQo+PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0K Pj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sMShp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+PiAr ICAgIHZib29sMV90IHYyID0gKih2Ym9vbDFfdCopaW47DQo+PiArDQo+PiAr ICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoo dmJvb2wxX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4g K3ZvaWQNCj4+ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sMihpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAg IHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+PiArICAgIHZib29s Ml90IHYyID0gKih2Ym9vbDJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJv b2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wyX3Qq KShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sOF90 IHYxID0gKih2Ym9vbDhfdCopaW47DQo+PiArICAgIHZib29sNF90IHYyID0g Kih2Ym9vbDRfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w4X3QqKShv dXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAy MDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zi b29sOF90aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoo dmJvb2w4X3QqKWluOw0KPj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29s MTZfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAx MDApID0gdjE7DQo+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9 IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDhf dGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiBy ZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29s OF90KilpbjsNCj4+ICsgICAgdmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3Qq KWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w4X3RoZW5f dmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KSB7DQo+PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCop aW47DQo+PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90KilpbjsN Cj4+ICsNCj4+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiAr fQ0KPj4gKw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTEsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjQs XHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMq emVybyxccyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZc cyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52 XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxNSB9IH0gKi8NCj4+ IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtNS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTUuYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGlu ZGV4IDAwMDAwMDAwMDAwLi45ZmM2NTlkMjQwMg0KPj4gLS0tIC9kZXYvbnVs bA0KPj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3By MTA4MTg1LTUuYw0KPj4gQEAgLTAsMCArMSw2OCBAQA0KPj4gKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovDQo+PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9 cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNs dWRlICJyaXNjdl92ZWN0b3IuaCINCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVz dF92Ym9vbDE2X3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wxNl90IHYx ID0gKih2Ym9vbDE2X3QqKWluOw0KPj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoo dmJvb2wxX3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIw MCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJv b2wxNl90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90 ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMTZfdCB2MSA9ICoo dmJvb2wxNl90KilpbjsNCj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29s Ml90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAx MDApID0gdjE7DQo+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0g djI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMTZf dGhlbl92Ym9vbDQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZib29s MTZfdCopaW47DQo+PiArICAgIHZib29sNF90IHYyID0gKih2Ym9vbDRfdCop aW47DQo+PiArDQo+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0K Pj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDE2X3RoZW5f dmJvb2w4KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4+ICsgICAgdmJvb2wxNl90IHYxID0gKih2Ym9vbDE2X3Qq KWluOw0KPj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0K Pj4gKw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9 DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29s MzIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkgew0KPj4gKyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47 DQo+PiArICAgIHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+ ICsNCj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30N Cj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDE2X3RoZW5fdmJvb2w2 NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0 KSB7DQo+PiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90KilpbjsN Cj4+ICsgICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPj4g Kw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0K Pj4gKw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYy LFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxz Knplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptOCxccyp0YSxccypt YX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2 WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMr dlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxNCB9IH0gKi8NCj4+IGRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIx MDgxODUtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3By MTA4MTg1LTYuYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4 IDAwMDAwMDAwMDAwLi45ODI3NWU1MjY3ZA0KPj4gLS0tIC9kZXYvbnVsbA0K Pj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTYuYw0KPj4gQEAgLTAsMCArMSw2OCBAQA0KPj4gKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQo+PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2 NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRl ICJyaXNjdl92ZWN0b3IuaCINCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92 Ym9vbDMyX3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wzMl90IHYxID0g Kih2Ym9vbDMyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJv b2wxX3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMzJfdCopKG91dCAr IDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wz Ml90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMzJfdCB2MSA9ICoodmJv b2wzMl90KilpbjsNCj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90 KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDAp ID0gdjE7DQo+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7 DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMzJfdGhl bl92Ym9vbDQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJf dCopaW47DQo+PiArICAgIHZib29sNF90IHYyID0gKih2Ym9vbDRfdCopaW47 DQo+PiArDQo+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4g K30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJv b2w4KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWlu Ow0KPj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4g Kw0KPj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+ PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wzMl90aGVuX3Zib29sMTYo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPj4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJfdCopaW47DQo+ PiArICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsN Cj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiAr ICAgICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2w2NChp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+PiArICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+ ICsgICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPj4gKw0K Pj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsg ICAgKih2Ym9vbDY0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4g Kw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxz KnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km0yLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMqdGEs XHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAt OV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlsw LTldKyxccyowXChbYS14XVswLTldK1wpfSAxMyB9IH0gKi8NCj4+IGRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgx ODUtNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTcuYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAw MDAwMDAwMDAwLi44ZjZmMGIxMWYwOQ0KPj4gLS0tIC9kZXYvbnVsbA0KPj4g KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTcuYw0KPj4gQEAgLTAsMCArMSw2OCBAQA0KPj4gKy8qIHsgZGctZG8gY29t cGlsZSB9ICovDQo+PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdj diAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlICJy aXNjdl92ZWN0b3IuaCINCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9v bDY0X3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3Qg KiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w2NF90IHYxID0gKih2 Ym9vbDY0X3QqKWluOw0KPj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wx X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDEw MCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w2NF90 aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVz dHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sNjRfdCB2MSA9ICoodmJvb2w2 NF90KilpbjsNCj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90Kilp bjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAxMDApID0g djE7DQo+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+ PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sNjRfdGhlbl92 Ym9vbDQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0 IG91dCkgew0KPj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCop aW47DQo+PiArICAgIHZib29sNF90IHYyID0gKih2Ym9vbDRfdCopaW47DQo+ PiArDQo+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0K Pj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30N Cj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2w4 KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQp IHsNCj4+ICsgICAgdmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0K Pj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4gKw0K Pj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsg ICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiAr DQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29sMTYoaW50 OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0K Pj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCopaW47DQo+PiAr ICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsNCj4+ ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAg ICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsN Cj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2wzMihpbnQ4 X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ PiArICAgIHZib29sNjRfdCB2MSA9ICoodmJvb2w2NF90KilpbjsNCj4+ICsg ICAgdmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWluOw0KPj4gKw0KPj4g KyAgICAqKHZib29sNjRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAg Kih2Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0K Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRh LFxzKm1hfSA2IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2Et eF1bMC05XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9 IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0y LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxz Knplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMq bWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0r LFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTld KyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+IGRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt OC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTguYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAw MDAwMDAwLi5kOTY5NTlkZDA2NA0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTgu Yw0KPj4gQEAgLTAsMCArMSw3NyBAQA0KPj4gKy8qIHsgZGctZG8gY29tcGls ZSB9ICovDQo+PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAt bWFiaT1scDY0IC1PMyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlICJyaXNj dl92ZWN0b3IuaCINCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDFf dGhlbl92Ym9vbDEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wx X3QqKWluOw0KPj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWlu Ow0KPj4gKw0KPj4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPj4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4g K30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9v bDIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkgew0KPj4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0K Pj4gKyAgICB2Ym9vbDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4gKw0K Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAg ICAqKHZib29sMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsN Cj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDRfdGhlbl92Ym9vbDQoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4g KyAgICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0KPj4gKyAgICB2 Ym9vbDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAq KHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29s NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lk DQo+PiArdGVzdF92Ym9vbDhfdGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9v bDhfdCB2MSA9ICoodmJvb2w4X3QqKWluOw0KPj4gKyAgICB2Ym9vbDhfdCB2 MiA9ICoodmJvb2w4X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sOF90 Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sOF90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVz dF92Ym9vbDE2X3RoZW5fdmJvb2wxNihpbnQ4X3QgKiByZXN0cmljdCBpbiwg aW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMTZfdCB2 MSA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsgICAgdmJvb2wxNl90IHYyID0g Kih2Ym9vbDE2X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMTZfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQg KyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0 X3Zib29sMzJfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wzMl90IHYx ID0gKih2Ym9vbDMyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAq KHZib29sMzJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wzMl90Kiko b3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMzJfdCopKG91dCAr IDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3Rf dmJvb2w2NF90aGVuX3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGlu dDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDY0X3QgdjEg PSAqKHZib29sNjRfdCopaW47DQo+PiArICAgIHZib29sNjRfdCB2MiA9ICoo dmJvb2w2NF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDY0X3QqKShv dXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxc cyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMq bWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dmxtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wp fSA3IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wp fSAxNCB9IH0gKi8NCg== --_000_MW5PR11MB5908CAEDD81742D2CDCB6CC2A9AC9MW5PR11MB5908namp_--