From dev-return-6416-archive-asf-public=cust-asf.ponee.io@royale.apache.org Fri Sep 14 08:45:12 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 842A1180647 for ; Fri, 14 Sep 2018 08:45:11 +0200 (CEST) Received: (qmail 9215 invoked by uid 500); 14 Sep 2018 06:45:10 -0000 Mailing-List: contact dev-help@royale.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@royale.apache.org Delivered-To: mailing list dev@royale.apache.org Received: (qmail 9197 invoked by uid 99); 14 Sep 2018 06:45:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Sep 2018 06:45:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 36D50C054B for ; Fri, 14 Sep 2018 06:45:09 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.149 X-Spam-Level: X-Spam-Status: No, score=0.149 tagged_above=-999 required=6.31 tests=[DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_LOTSOFHASH=0.25, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=adobe.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id J-D2FZ2vlYPZ for ; Fri, 14 Sep 2018 06:45:07 +0000 (UTC) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0043.outbound.protection.outlook.com [104.47.33.43]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 1E5EF5F431 for ; Fri, 14 Sep 2018 06:45:07 +0000 (UTC) Received: from BYAPR02MB4070.namprd02.prod.outlook.com (20.176.249.10) by BYAPR02MB4342.namprd02.prod.outlook.com (52.135.237.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Fri, 14 Sep 2018 06:33:13 +0000 Received: from BYAPR02MB4070.namprd02.prod.outlook.com ([fe80::158f:59c9:f7dd:eead]) by BYAPR02MB4070.namprd02.prod.outlook.com ([fe80::158f:59c9:f7dd:eead%2]) with mapi id 15.20.1143.014; Fri, 14 Sep 2018 06:33:13 +0000 From: Alex Harui To: "dev@royale.apache.org" Subject: Re: [royale-asjs] branch develop updated: I think this fixes Menu Thread-Topic: [royale-asjs] branch develop updated: I think this fixes Menu Thread-Index: AQHUS2OtDqtvbMlhokqIXfrZf4uwpqTt5+4AgACivID//6euAIAAicSAgAAhYgA= Date: Fri, 14 Sep 2018 06:33:12 +0000 Message-ID: <26059100-8348-4AE8-BE63-A8E07161B52D@adobe.com> References: <153684445524.23379.3813275368569930808@gitbox.apache.org> <5209DB54-D3E2-4275-BA9C-CFAC6F38EDF9@adobe.com> <978DDB21-E72E-43D6-91A5-1B7370842539@gmail.com> <838C16F2-EF6A-4481-A665-5D759863409F@adobe.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/10.11.0.180909 authentication-results: spf=none (sender IP is ) smtp.mailfrom=aharui@adobe.com; x-originating-ip: [2601:600:c580:41f0:215c:ed19:f157:35ef] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BYAPR02MB4342;6:dAyEBPSwCdqrCHdfKH/3AUSKYJvDzqWI2rRQ9C/gJwfqUbCcD+ysJj039K94d1kp6+zn5lpXGzP0WvS61Rn0g39a3UNTuMeJ1fteYNeJIAzkZpuhC/ERnCfne5bDlyv/V43jp5nI5tPqWviLmZE5GSMZ3OQBr0/Ln7iJ6Y+mB/FjjPZFfS63J9nMtv/FEtdlSp6CGlQ5LzB5Q+Lq45bKmorBTU9OHYcpUXbIwBVGHxppd6LfX4iUHcwjcR+Cw0PWVTugFBuo7hiT6s1LDrue7Z+u0eyFAvaWBV1FBpW+LJfPeteRF6ZUvOlPVoN23vY9HtX3ebZSjRcK4auSKx4aJB455D6Kp2JVK67wnASVze+IoQWFOK0yhC7jVX2F6VW5tbFDIeUdW8ikEAgU6FpE6PLQ2nxgFinfuBA+gKRww8RYkkulh6lXPwXr7Rs/7vPxIxzwFC78dlSprnHwX0tnQw==;5:OQGJfnlKEQRtdnXu3hkJf8LTF/rvfeD3AQ/ifxLaHGUG6JcxyVJTTfrhsrrPD3xpOgY6CFsSqQtal5N9XqbYTMKt+tCDX9IVQMYO9Q0TiLoRwE4bTYqmmToJk6oKuDlJxbwFst/+yByuExktlFKQMnSLn7SUipu2olIWDSWsPHY=;7:2L4uVTxIxERTCGx3+ixGNcn+q5byvQ4lcRzmUgC+ap/dblsGGY/TvXHot5Hben4S1nM5HEQN+p75dLfWw1nGVXzCcpaUBVgAWzt62Xfs58H/c5MtEAnGKUSludOnmr3KUWjh5qmo0hmq67kgD9t9jM8j8y27TYyZGfYfCu8Wgeuo/Xpm8U/DAca3DgtAseSZ67npd8HB0kkzc+sohR9mHRXySHxf7hm6z7Tmnhni1WeraCHt9K0XqCLfLfiqeUXP x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: e2dc99fb-d401-45f8-fced-08d61a0bf248 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);SRVR:BYAPR02MB4342; x-ms-traffictypediagnostic: BYAPR02MB4342: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(85827821059158)(126947320029983)(219752817060721)(163750095850)(5213294742642); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050);SRVR:BYAPR02MB4342;BCL:0;PCL:0;RULEID:;SRVR:BYAPR02MB4342; x-forefront-prvs: 07954CC105 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(376002)(396003)(346002)(366004)(136003)(199004)(189003)(6506007)(575784001)(1730700003)(8676002)(186003)(53936002)(58126008)(93886005)(786003)(81156014)(81166006)(53946003)(446003)(99286004)(2906002)(6436002)(10090500001)(68736007)(5640700003)(106356001)(105586002)(53546011)(6512007)(6306002)(256004)(86362001)(15650500001)(8936002)(14444005)(102836004)(5660300001)(6116002)(2501003)(2900100001)(82746002)(5250100002)(45080400002)(33656002)(97736004)(46003)(7736002)(11346002)(316002)(476003)(2616005)(25786009)(229853002)(2351001)(6486002)(478600001)(83716003)(486006)(36756003)(966005)(6916009)(14454004)(305945005)(76176011)(6246003);DIR:OUT;SFP:1101;SCL:1;SRVR:BYAPR02MB4342;H:BYAPR02MB4070.namprd02.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: adobe.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: Vi6Cs8/xhceLH3Wqt6bzH1EPU/FJ/VzWyckAMvC1oCUCspZZNCl3TIveK4/WVeIAuuhrH2Lc8ObsxqwViwg8oUH/Jhhr3TWrQNhfLi6Mz9w0bOfgF8BPckYpa/hj0K+3LT+NNvt2ujA27M92g6r+6gATiQGc+IE3mSuyk4Ff/2kZ7oXevUHeyCjrRD7D/jFgLqH6V8I2b2fkGLa3QUqVwNV1IWQOqYeveM9aLj8cR7sC9zkzu/oIncVhO6tl+yQuRsnIxgxGF4aRQlCZcTILJJL+t5k0ydQZZvY8KN1emPV8t+oh3prz4mDraBBGjQng9zEzIafiGUCJ4JlZLK2aoX178X3S9h+ei/wB/e//wjI= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: adobe.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2dc99fb-d401-45f8-fced-08d61a0bf248 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2018 06:33:12.9714 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fa7b1b5a-7b34-4387-94ae-d2c178decee1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB4342 SGkgQ2FybG9zLA0KDQpXZSBoYXZlIG5vdCBkZXZvdGVkIG11Y2ggdGltZSBhbmQgZW5lcmd5IHRv IGFuIGVmZmVjdHMgc3Vic3lzdGVtLCBzbyBtYXliZSB5b3Ugd2lsbCBiZSB0aGUgcGlvbmVlciBp biB0aGlzIGFyZWEuDQoNCkluIG15IG1pbmQsIHRoZXJlIHdpbGwgYmUgYXQgbGVhc3QgdHdvIGtp bmRzIG9mIGVmZmVjdHMgc3Vic3lzdGVtOiAgcGxhbm5lZCBhbmQgdW5wbGFubmVkLg0KDQpJbiBh IHBsYW5uZWQgZWZmZWN0cyBzdWJzeXN0ZW0sIHRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgbW9zdCB1 c2VycyB3aWxsIHdhbnQgdG8gaW1wbGVtZW50IGFuIGVmZmVjdC90cmFuc2l0aW9uLiAgVGhlIFN0 YXRlc1dpdGhUcmFuc2l0aW9uc0ltcGwgaXMgYW4gZWFybHkgZXhhbXBsZSBvZiB0aGF0LiAgU3Vj aCBhIHN1YnN5c3RlbSBzaG91bGQgaGF2ZSBhICJsaWZlY3ljbGUiLiAgQSBrbm93biBzZXQgb2Yg ZXZlbnRzIHNob3VsZCBiZSBkaXNwYXRjaGVkIHRoYXQgcHJvdmlkZSB1c2VmdWwgb3Bwb3J0dW5p dGllcyB0byBjaGFuZ2UgdGhlIGVmZmVjdHMgc3RhcnQgYW5kIGVuZCBjb25kaXRpb25zLiAgRm9y IHN0YXRlIGNoYW5nZXMsIHRoZSBldmVudHMgc2hvdWxkIGJlIHNvbWV0aGluZyBsaWtlIHRyYW5z aXRpb25TdGFydCwgdHJhbnNpdGlvbkVuZCwgc3RhdGVDaGFuZ2VkLiAgRm9yIHlvdXIgY2FzZXMs IHRoZSBldmVudHMgbWlnaHQgYmUgc29tZXRoaW5nIGxpa2UgZWZmZWN0U3RhcnQsIGVmZmVjdEVu ZCwgb3Blbi9jbG9zZS4gIElmIHlvdSBnZXQgdGhlIHJpZ2h0IHNldCBvZiBldmVudHMsIHRoZW4g dGhlIHdvcmsgeW91IHdhbnQgdG8gZGVmZXIgc2hvdWxkIGhhcHBlbiBvbiBhbiBsaWZlY3ljbGUg ZXZlbnQgaW5zdGVhZCBvZiBhIHRpbWVyIGV2ZW50Lg0KDQpJbiBhbiB1bnBsYW5uZWQgZWZmZWN0 cyBzdWJzeXN0ZW0sIHRoZSBldmVudCBzeXN0ZW0gaXMgbW9yZSBzb3BoaXN0aWNhdGVkLiAgVGhl IGFzc3VtcHRpb24gaXMgdGhhdCBpdCB3aWxsIGJlIHJhcmUgdG8gaGF2ZSBhbiBlZmZlY3QgaW4g cmVzcG9uc2UgdG8gc29tZSBjaGFuZ2UgaW4gdGhlIGNvbXBvbmVudC4gIFNvIGhpZGUvc2hvdyBl ZmZlY3RzLCBzZWxlY3Rpb24gYW5kIGZvY3VzIGVmZmVjdHMgYW5kIHRoaW5ncyBsaWtlIHRoYXQg d291bGQgYmUgInVucGxhbm5lZCIuICAgSSBob3BlIHdlIGNhbiBmaW5kIGEgd2F5IHRvIGRvIHRo aXMgaW4gYSBQQVlHIHdheSB3aXRoIGRpZmZlcmVudC9oZWF2aWVyIGJlYWRzLCBidXQgdGhhdCBp cyBhIGJpdCB0cmlja3kgZm9yIGhpZGUvc2hvdyBzaW5jZSBpdCBpcyBidWlsdCBpbnRvIFVJQmFz ZS4gIEluIGFuIHVucGxhbm5lZCBzeXN0ZW0sIHRoZXJlIHdpbGwgZWl0aGVyIGJlIGNhbmNlbGFi bGUgImluZyIgZXZlbnRzIG9yIHRoZSB0YXJnZXQgY2xhc3NlcyBoYXZlIHRvIGJlIGFibGUgdG8g cmV2ZXJzZSBhIHByb3BlcnR5IGNoYW5nZSB3aXRob3V0IGZsaWNrZXIuIA0KDQpGb3IgZXhhbXBs ZSwgIHJpZ2h0IG5vdyBpZiB5b3Ugc2V0IHRoZSBVSUJhc2UgdmlzaWJsZSBwcm9wZXJ0eSB0byBm YWxzZSwgdGhlIGNvbXBvbmVudCBiZWNvbWVzIGludmlzaWJsZSBpbW1lZGlhdGVseS4gIEFuZCBz aW1pbGFybHkgaWYgeW91IHNldCB2aXNpYmxlPXRydWUsIHRoZSBjb21wb25lbnQgYmVjb21lcyB2 aXNpYmxlIGltbWVkaWF0ZWx5LiAgQWRkaW5nIHVucGxhbm5lZCBlZmZlY3Qgc3VwcG9ydCB0byB2 aXNpYmxlIHdvdWxkIHJlcXVpcmUgZGlzcGF0Y2hpbmcgYSBjYW5jZWxhYmxlIHZpc2libGVDaGFu Z2luZyBldmVudCBiZWZvcmUgYWN0dWFsbHkgc2V0dGluZyB0aGUgYnJvd3NlcidzIENTUyBkaXNw bGF5IHByb3BlcnR5IHRoYXQgYW4gZWZmZWN0IGluc3RhbmNlIHdvdWxkIGxpc3RlbiBmb3IgYW5k IGNhbmNlbCwgdGhlbiB3YWl0IGZvciB0aGUgZWZmZWN0RW5kIGV2ZW50IGFuZCB0aGVuIGZpbmFs bHkgYWN0dWFsbHkgc2V0IHRoZSB2aXNpYmxlIHByb3BlcnR5LiAgT3Igd2UnZCBoYXZlIHRvIGJl IGNvbmZpZGVudCB0aGF0IHlvdSBjYW4gc2V0IHRoZSBDU1MgZGlzcGxheSBwcm9wZXJ0eSBhbmQg c2V0IGl0IGJhY2sgd2l0aG91dCBmbGlja2VyLg0KDQpJbiBzdW1tYXJ5LCBoYXZpbmcgdGhlIHJp Z2h0IGV2ZW50cyBzaG91bGQgZWxpbWluYXRlIHRoZSBuZWVkIGZvciB0aW1pbmcgZXZlbnRzLg0K DQpNeSAyIGNlbnRzLA0KLUFsZXgNCg0KDQrvu79PbiA5LzEzLzE4LCAyOjM0IFBNLCAiQ2FybG9z IFJvdmlyYSIgPGNhcmxvc3JvdmlyYUBhcGFjaGUub3JnPiB3cm90ZToNCg0KICAgIEhpIEFsZXgs DQogICAgSSdtIHdpdGggeW91LiBEb24ndCBsaWtlIHNldFRpbWVPdXQuIEJ1dCBJIG5lZWRlZCBp biBKZXdlbCBpbiBhdCBsZWFzdCAzDQogICAgc2NlbmVhcmlvcy4gSSdkIGxvdmUgdG8gY2hhbmdl IGl0IHNvbWV0aW1lIGluIHRoZSBmdXR1cmUsIGJ1dCBmb3Igbm93IGRvbid0DQogICAga25vdyBo b3cuDQogICAgSSB0aGluayB0aGUgYWN0dWFsIHdheXMgdG8gZGVmZXIgc29tZXRoaW5nIGFyZToN CiAgICAtc2V0VGltZU91dA0KICAgIC1zZXRJbnRlcnZhbA0KICAgIC1yZXF1ZXN0QW5pbWF0aW9u RnJhbWUNCiAgICANCiAgICB0aGUgZmlyc3Qgb25lIGlzIGluIFNXRiwgc28gdGhlIHNvbHV0aW9u IGlzIGNyb3NzIFNXRi9KUywgYWx0aG91Z2ggaWYgd2UNCiAgICBhZGQgb3RoZXIgdGFyZ2V0cywg bWF5YmUgd2lsbCByZXF1aXJlIGNoYW5nZXMuDQogICAgdGhlIHNlY29uZCBzZWVtcyB0byBiZSB0 aGUgd29yc2UuDQogICAgdGhlIGxhdGVzdCBzZWVtcyB0aGUgYWN0dWFsIHdheSB0byBkbyB0aGlu Z3MgaW4gSlMsIGJ1dCBJIHRyaWVkIGFuZCBkaWRuJ3QNCiAgICB3b3JrIGZvciBtZSwgYW5kIEkg c3VwcG9zZSB3ZSdsbCBuZWVkIHRvIGFic3RyYWN0IGl0IHRvIHNvbWV0aGluZyB1c2FibGUgaW4N CiAgICBTV0YgYW5kIGZ1dHVyZSB0YXJnZXRzLg0KICAgIA0KICAgIE15IGNvbmNyZXRlIGNhc2Ug aW4gdGhlIHRocmVlIG9jYXNzaW9ucyBpcyB3aGVuIEkgaW5zdGFudGlhdGUgYSBjb21wb25lbnQN CiAgICBhbmQgYWRkIGEgY2xhc3MgbmFtZSB0byBtYWtlIHRoZSBjb21wb25lbnQgYW5pbWF0ZSAg KHRyYW5zaXRpb24pIHRocm91Z2gNCiAgICBDU1MuIEZvciBleGFtcGxlIEFsZXJ0LCBEYXRlRmll bGQgYW5kIENvbWJvQm94IHBvcHVwcyBjb21wb25lbnRzIGFuZCB0aGVuDQogICAgYWRkIGEgY2xh c3MgIi5vcGVuIiBpbiBDU1MsIHNvIHdlIG5lZWQgYXQgbGVhc3QgMzAwLTQwMG1zIHNvIHRoZSB0 cmFuc2l0aW9uDQogICAgY2FuIHBsYXkuDQogICAgDQogICAgQW55IG90aGVyIHdheSB0byBkbyBp dCB3b3VsZCBiZSBnb29kIHRvIGtub3cgaW4gb3JkZXIgdG8gdXBncmFkZSB0aGlzDQogICAgaW1w bGVtZW50YXRpb25zLg0KICAgIA0KICAgIFRoYW5rcw0KICAgIA0KICAgIENhcmxvcw0KICAgIA0K ICAgIA0KICAgIA0KICAgIA0KICAgIA0KICAgIEVsIGp1ZS4sIDEzIHNlcHQuIDIwMTggYSBsYXMg MjI6MjAsIEFsZXggSGFydWkgKDxhaGFydWlAYWRvYmUuY29tLmludmFsaWQ+KQ0KICAgIGVzY3Jp YmnDszoNCiAgICANCiAgICA+IEkgZGlkbid0IHNlZSBhbnl3aGVyZSBpbiB0aGUgYXJ0aWNsZSB3 aGVyZSBpdCBndWFyYW50ZWVkIHRoYXQgYm90aCB1cCBhbmQNCiAgICA+IGNsaWNrIGFyZSBzZXF1 ZW50aWFsIGluIHRoZSBxdWV1ZS4gIFNoYXJpbmcgdGhlIGhlYXAgaXNuJ3QgdGhlIGlzc3VlIGhl cmUuDQogICAgPg0KICAgID4gSSdtIHN0aWxsIHN1cnByaXNlZCB0aGUgZml4IGlzbid0IHRvIG5v dCBkaXNwYXRjaCBJVEVNX0NMSUNLIG9uIE1vdXNlVXAuDQogICAgPiAgIFVQIGRvZXNuJ3QgZ3Vh cmFudGVlIENMSUNLLCBJTU8uICBZb3UgY291bGQgbW91c2UgZG93biBpbiBvbmUgcmVuZGVyZXIN CiAgICA+IGFuZCBtb3VzZSB1cCBpbiBhbm90aGVyIHJlbmRlcmVyLiAgSW4gc29tZSBpbnRlcmFj dGlvbiBtb2RlbHMgdGhhdCBkb2VzDQogICAgPiBjaGFuZ2Ugc2VsZWN0aW9uLCBidXQgSSBkb24n dCB0aGluayBDTElDSyBpcyB0aGUgcmlnaHQgc2VtYW50aWMuDQogICAgPg0KICAgID4gRnVydGhl ciwgSSB3b3VsZCBsaWtlIHRvIGRpc2NvdXJhZ2UgdXNlIG9mIHNldFRpbWVvdXQgaW4gdGhlIGZy YW1ld29yay4NCiAgICA+IFRoZSBmcmFtZXdvcmsgaGFzIGxpdHRsZSBjb250cm9sIG92ZXIgdGhl IGJlaGF2aW9yIG9mIGFwcGxpY2F0aW9uIGV2ZW50DQogICAgPiBoYW5kbGVycy4gIFdpdGggbWFu eSBicm93c2VycyBoYXZpbmcgaW1tZWRpYXRlIHNjcmVlbiB1cGRhdGVzIChhcyBvcHBvc2VkDQog ICAgPiB0byBGbGFzaCdzIGRlZmVycmVkIHJlbmRlcmluZyksIHBvc3Rwb25pbmcgd29yayB3aXRo IHNldFRpbWVvdXQgY2FuIHJlc3VsdA0KICAgID4gaW4gdW5leHBlY3RlZCBiZWhhdmlvciwgYW5k IGNhbiByZXN1bHQgaW4gY2FsbExhdGVyICJ3YXJzIiB3aGVyZSBtb3JlIGFuZA0KICAgID4gbW9y ZSBjb2RlIGhhcyB0byBrZWVwIGRlZmVycmluZyB3b3JrIHdpdGggc2V0VGltZW91dCBiZWNhdXNl IHNvbWUgbG93ZXINCiAgICA+IGxheWVyIGFsc28gdXNlZCBzZXRUaW1lb3V0LiAgRGVmZXJyaW5n IHdvcmsgc2hvdWxkIGJlIHRoZSBvcHRpb24gb2YgdGhlDQogICAgPiBhcHBsaWNhdGlvbiBkZXZl bG9wZXIgYXMgbXVjaCBhcyBwb3NzaWJsZS4NCiAgICA+DQogICAgPiBNeSAyIGNlbnRzLA0KICAg ID4gLUFsZXgNCiAgICA+DQogICAgPiBPbiA5LzEzLzE4LCAxMTozNiBBTSwgIkhhcmJzIiA8aGFy YnMubGlzdHNAZ21haWwuY29tPiB3cm90ZToNCiAgICA+DQogICAgPiAgICAgSSBvbmNlIHJlYWQg dGhhdCB0aGUgd2F5IHNldFRpbWVvdXQgd29ya3MgaXMgdGhhdCBpdOKAmXMgYWRkZWQgdG8gdGhl DQogICAgPiBuZXh0IGV2ZW50IGxvb3AuIFRoYXQgd291bGQgbWVhbiB0aGF0IGJvdGggbW91c2V1 cCBhbmQgY2xpY2sgd291bGQgYmUNCiAgICA+IGV4ZWN1dGVkIGluIHRoZSBjdXJyZW50IGV2ZW50 IGxvb3AgYW5kIHRoZSBzZXRUaW1vdXQgd291bGQgYmUgZGVsYXllZCB0bw0KICAgID4gdGhlIG5l eHQgb25lIChpLi5lIGJldHdlZW4gNG1zIGFuZCAxMG1zIGxhdGVyKS4NCiAgICA+DQogICAgPiAg ICAgSSBjYW7igJl0IGZpbmQgdGhlIGFydGljbGUgYXQgdGhlIG1vbWVudCwgYnV0IG15IHVuZGVy c3RhbmRpbmcgaXMgdGhhdA0KICAgID4gdGhpcyBpcyBhIHNhZmUgd2F5IHRvIGd1YXJhbnRlZSBs YXRlciBleGVjdXRpb24gaW4gYWxsIGJyb3dzZXJzLg0KICAgID4NCiAgICA+ICAgICBUaGUgTURO IGRvYyBoYXMgYSBkZWNlbnQgZXhwbGFuYXRpb24uWzFdIEJvdGggbW91c2V1cCBhbmQgY2xpY2sg d291bGQNCiAgICA+IGJlIG9uIHRoZSBzYW1lIGhlYXAuDQogICAgPg0KICAgID4gICAgIEhhcmJz DQogICAgPg0KICAgID4gICAgIFsxXQ0KICAgID4gaHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90 ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZkZXZlbG9wZXIubW96aWxsYS5v cmclMkZlbi1VUyUyRmRvY3MlMkZXZWIlMkZKYXZhU2NyaXB0JTJGRXZlbnRMb29wJmFtcDtkYXRh PTAyJTdDMDElN0NhaGFydWklNDBhZG9iZS5jb20lN0NlOWU3MGUxOGY2M2M0NDM3MWUzZTA4ZDYx OWMwOWY3MiU3Q2ZhN2IxYjVhN2IzNDQzODc5NGFlZDJjMTc4ZGVjZWUxJTdDMCU3QzAlN0M2MzY3 MjQ3MTI0MjgzNjMyMjQmYW1wO3NkYXRhPXJGT3c1eFc2MGNWZUFuRkprb0c0OHR4MHZOcDF4TUo3 UldFRmhkNlRJRUElM0QmYW1wO3Jlc2VydmVkPTANCiAgICA+ICAgICA+IE9uIFNlcCAxMywgMjAx OCwgYXQgNjo1NCBQTSwgQWxleCBIYXJ1aSA8YWhhcnVpQGFkb2JlLmNvbS5JTlZBTElEPg0KICAg ID4gd3JvdGU6DQogICAgPiAgICAgPg0KICAgID4gICAgID4gSXMgc2V0VGltZW91dCBndWFyYW50 ZWVkIHRvIHJ1biBhZnRlciB0aGUgQ0xJQ0sgZXZlbnQ/DQogICAgPiAgICAgPg0KICAgID4gICAg ID4gT24gOS8xMy8xOCwgNjoxNCBBTSwgImhhcmJzQGFwYWNoZS5vcmcgPG1haWx0bzpoYXJic0Bh cGFjaGUub3JnPiIgPA0KICAgID4gaGFyYnNAYXBhY2hlLm9yZyA8bWFpbHRvOmhhcmJzQGFwYWNo ZS5vcmc+PiB3cm90ZToNCiAgICA+ICAgICA+DQogICAgPiAgICAgPiAgICBUaGlzIGlzIGFuIGF1 dG9tYXRlZCBlbWFpbCBmcm9tIHRoZSBBU0YgZHVhbC1ob3N0ZWQgZ2l0DQogICAgPiByZXBvc2l0 b3J5Lg0KICAgID4gICAgID4NCiAgICA+ICAgICA+ICAgIGhhcmJzIHB1c2hlZCBhIGNvbW1pdCB0 byBicmFuY2ggZGV2ZWxvcA0KICAgID4gICAgID4gICAgaW4gcmVwb3NpdG9yeQ0KICAgID4gaHR0 cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0El MkYlMkZnaXRib3guYXBhY2hlLm9yZyUyRnJlcG9zJTJGYXNmJTJGcm95YWxlLWFzanMuZ2l0JmFt cDtkYXRhPTAyJTdDMDElN0NhaGFydWklNDBhZG9iZS5jb20lN0NlOWU3MGUxOGY2M2M0NDM3MWUz ZTA4ZDYxOWMwOWY3MiU3Q2ZhN2IxYjVhN2IzNDQzODc5NGFlZDJjMTc4ZGVjZWUxJTdDMCU3QzAl N0M2MzY3MjQ3MTI0MjgzNjMyMjQmYW1wO3NkYXRhPTZWRXk4a2xJcVJGYkZuYkdaWGJQWDdkSDFV elFOUWJuVkhiaHNueUFHaWclM0QmYW1wO3Jlc2VydmVkPTANCiAgICA+IDwNCiAgICA+IGh0dHBz Oi8vbmEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJG JTJGZ2l0Ym94LmFwYWNoZS5vcmclMkZyZXBvcyUyRmFzZiUyRnJveWFsZS1hc2pzLmdpdCZhbXA7 ZGF0YT0wMiU3QzAxJTdDYWhhcnVpJTQwYWRvYmUuY29tJTdDZTllNzBlMThmNjNjNDQzNzFlM2Uw OGQ2MTljMDlmNzIlN0NmYTdiMWI1YTdiMzQ0Mzg3OTRhZWQyYzE3OGRlY2VlMSU3QzAlN0MwJTdD NjM2NzI0NzEyNDI4MzYzMjI0JmFtcDtzZGF0YT02VkV5OGtsSXFSRmJGbmJHWlhiUFg3ZEgxVXpR TlFiblZIYmhzbnlBR2lnJTNEJmFtcDtyZXNlcnZlZD0wDQogICAgPiA+DQogICAgPiAgICAgPg0K ICAgID4gICAgID4NCiAgICA+ICAgICA+ICAgIFRoZSBmb2xsb3dpbmcgY29tbWl0KHMpIHdlcmUg YWRkZWQgdG8gcmVmcy9oZWFkcy9kZXZlbG9wIGJ5IHRoaXMNCiAgICA+IHB1c2g6DQogICAgPiAg ICAgPiAgICAgICAgIG5ldyBlMWVjMjVlICBJIHRoaW5rIHRoaXMgZml4ZXMgTWVudQ0KICAgID4g ICAgID4gICAgZTFlYzI1ZSBpcyBkZXNjcmliZWQgYmVsb3cNCiAgICA+ICAgICA+DQogICAgPiAg ICAgPiAgICBjb21taXQgZTFlYzI1ZTBkOGIxZTU5YmZiYjFlM2QwY2Y4NTZmZTlkZmI0ZGM1ZQ0K ICAgID4gICAgID4gICAgQXV0aG9yOiBIYXJicyA8aGFyYnNAaW4tdG9vbHMuY29tIDxtYWlsdG86 aGFyYnNAaW4tdG9vbHMuY29tPj4NCiAgICA+ICAgICA+ICAgIEF1dGhvckRhdGU6IFRodSBTZXAg MTMgMTY6MTQ6MDMgMjAxOCArMDMwMA0KICAgID4gICAgID4NCiAgICA+ICAgICA+ICAgICAgICBJ IHRoaW5rIHRoaXMgZml4ZXMgTWVudQ0KICAgID4gICAgID4gICAgLS0tDQogICAgPiAgICAgPiAg ICAgLi4uL3Byb2plY3RzL0Jhc2ljL3NyYy9tYWluL3Jlc291cmNlcy9kZWZhdWx0cy5jc3MgfCAg MSArDQogICAgPiAgICAgPiAgICAgLi4uL2NvbnRyb2xsZXJzL0l0ZW1SZW5kZXJlck1vdXNlQ29u dHJvbGxlci5hcyAgICAgfCAgMSAtDQogICAgPiAgICAgPiAgICAgLi4uL2NvbnRyb2xsZXJzL01l bnVTZWxlY3Rpb25Nb3VzZUNvbnRyb2xsZXIuYXMgICAgfCAzMw0KICAgID4gKysrKysrKysrKysr KystLS0tLS0tLQ0KICAgID4gICAgID4gICAgIDMgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9u cygrKSwgMTIgZGVsZXRpb25zKC0pDQogICAgPiAgICAgPg0KICAgID4gICAgID4gICAgZGlmZiAt LWdpdA0KICAgID4gYS9mcmFtZXdvcmtzL3Byb2plY3RzL0Jhc2ljL3NyYy9tYWluL3Jlc291cmNl cy9kZWZhdWx0cy5jc3MNCiAgICA+IGIvZnJhbWV3b3Jrcy9wcm9qZWN0cy9CYXNpYy9zcmMvbWFp bi9yZXNvdXJjZXMvZGVmYXVsdHMuY3NzDQogICAgPiAgICAgPiAgICBpbmRleCBmODhkYTIwLi4x NWNiNGU2IDEwMDY0NA0KICAgID4gICAgID4gICAgLS0tIGEvZnJhbWV3b3Jrcy9wcm9qZWN0cy9C YXNpYy9zcmMvbWFpbi9yZXNvdXJjZXMvZGVmYXVsdHMuY3NzDQogICAgPiAgICAgPiAgICArKysg Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0Jhc2ljL3NyYy9tYWluL3Jlc291cmNlcy9kZWZhdWx0cy5j c3MNCiAgICA+ICAgICA+ICAgIEBAIC01NDUsNiArNTQ1LDcgQEAgUGFuZWwNCiAgICA+ICAgICA+ ICAgICAgICAgICBJQmVhZE1vZGVsOg0KICAgID4gQ2xhc3NSZWZlcmVuY2UoIm9yZy5hcGFjaGUu cm95YWxlLmh0bWwuYmVhZHMubW9kZWxzLlBhbmVsTW9kZWwiKTsNCiAgICA+ICAgICA+ICAgICAg ICAgICBJQmVhZFZpZXc6DQogICAgPiBDbGFzc1JlZmVyZW5jZSgib3JnLmFwYWNoZS5yb3lhbGUu aHRtbC5iZWFkcy5QYW5lbFZpZXciKTsNCiAgICA+ICAgICA+ICAgICAgICAgICBJUGFuZWxMYXlv dXQ6DQogICAgPiBDbGFzc1JlZmVyZW5jZSgib3JnLmFwYWNoZS5yb3lhbGUuaHRtbC5iZWFkcy5s YXlvdXRzLlZlcnRpY2FsRmxleExheW91dCIpOw0KICAgID4gICAgID4gICAgKyAgICAgIElQYW5l bENvbnRlbnRBcmVhOg0KICAgID4gQ2xhc3NSZWZlcmVuY2UoIm9yZy5hcGFjaGUucm95YWxlLmh0 bWwuQ29udGFpbmVyIik7DQogICAgPiAgICAgPg0KICAgID4gICAgID4gICAgICAgICAgIGJhY2tn cm91bmQtY29sb3I6ICNGRkZGRkY7DQogICAgPiAgICAgPiAgICAgICAgICAgYm9yZGVyOiAxcHgg c29saWQgIzMzMzMzMw0KICAgID4gICAgID4gICAgZGlmZiAtLWdpdA0KICAgID4gYS9mcmFtZXdv cmtzL3Byb2plY3RzL0Jhc2ljL3NyYy9tYWluL3JveWFsZS9vcmcvYXBhY2hlL3JveWFsZS9odG1s L2JlYWRzL2NvbnRyb2xsZXJzL0l0ZW1SZW5kZXJlck1vdXNlQ29udHJvbGxlci5hcw0KICAgID4g Yi9mcmFtZXdvcmtzL3Byb2plY3RzL0Jhc2ljL3NyYy9tYWluL3JveWFsZS9vcmcvYXBhY2hlL3Jv eWFsZS9odG1sL2JlYWRzL2NvbnRyb2xsZXJzL0l0ZW1SZW5kZXJlck1vdXNlQ29udHJvbGxlci5h cw0KICAgID4gICAgID4gICAgaW5kZXggZjQwOGE3MS4uNjA3MzI2NCAxMDA2NDQNCiAgICA+ICAg ICA+ICAgIC0tLQ0KICAgID4gYS9mcmFtZXdvcmtzL3Byb2plY3RzL0Jhc2ljL3NyYy9tYWluL3Jv eWFsZS9vcmcvYXBhY2hlL3JveWFsZS9odG1sL2JlYWRzL2NvbnRyb2xsZXJzL0l0ZW1SZW5kZXJl ck1vdXNlQ29udHJvbGxlci5hcw0KICAgID4gICAgID4gICAgKysrDQogICAgPiBiL2ZyYW1ld29y a3MvcHJvamVjdHMvQmFzaWMvc3JjL21haW4vcm95YWxlL29yZy9hcGFjaGUvcm95YWxlL2h0bWwv YmVhZHMvY29udHJvbGxlcnMvSXRlbVJlbmRlcmVyTW91c2VDb250cm9sbGVyLmFzDQogICAgPiAg ICAgPiAgICBAQCAtOTIsNyArOTIsNiBAQCBDT01QSUxFOjpKUyB7DQogICAgPiAgICAgPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29vZy5ldmVudHMubGlzdGVuKGVsZW1lbnQs DQogICAgPiBnb29nLmV2ZW50cy5FdmVudFR5cGUuTU9VU0VPVVQsIHRoaXMuaGFuZGxlTW91c2VP dXQpOw0KICAgID4gICAgID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvb2cu ZXZlbnRzLmxpc3RlbihlbGVtZW50LA0KICAgID4gZ29vZy5ldmVudHMuRXZlbnRUeXBlLk1PVVNF RE9XTiwgdGhpcy5oYW5kbGVNb3VzZURvd24pOw0KICAgID4gICAgID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdvb2cuZXZlbnRzLmxpc3RlbihlbGVtZW50LA0KICAgID4gZ29v Zy5ldmVudHMuRXZlbnRUeXBlLkNMSUNLLCB0aGlzLmhhbmRsZU1vdXNlVXApOw0KICAgID4gICAg ID4gICAgLSAgICAgICAgICAgICAgICBnb29nLmV2ZW50cy5saXN0ZW4oZWxlbWVudCwNCiAgICA+ IGdvb2cuZXZlbnRzLkV2ZW50VHlwZS5NT1VTRVVQLCB0aGlzLmhhbmRsZU1vdXNlVXApOw0KICAg ID4gICAgID4gICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgPiAgICAgPiAgICAgICAg ICAgICAgICAgICB9DQogICAgPiAgICAgPg0KICAgID4gICAgID4gICAgZGlmZiAtLWdpdA0KICAg ID4gYS9mcmFtZXdvcmtzL3Byb2plY3RzL0Jhc2ljL3NyYy9tYWluL3JveWFsZS9vcmcvYXBhY2hl L3JveWFsZS9odG1sL2JlYWRzL2NvbnRyb2xsZXJzL01lbnVTZWxlY3Rpb25Nb3VzZUNvbnRyb2xs ZXIuYXMNCiAgICA+IGIvZnJhbWV3b3Jrcy9wcm9qZWN0cy9CYXNpYy9zcmMvbWFpbi9yb3lhbGUv b3JnL2FwYWNoZS9yb3lhbGUvaHRtbC9iZWFkcy9jb250cm9sbGVycy9NZW51U2VsZWN0aW9uTW91 c2VDb250cm9sbGVyLmFzDQogICAgPiAgICAgPiAgICBpbmRleCA1Zjk4NmJiLi42YTA5YTUyIDEw MDY0NA0KICAgID4gICAgID4gICAgLS0tDQogICAgPiBhL2ZyYW1ld29ya3MvcHJvamVjdHMvQmFz aWMvc3JjL21haW4vcm95YWxlL29yZy9hcGFjaGUvcm95YWxlL2h0bWwvYmVhZHMvY29udHJvbGxl cnMvTWVudVNlbGVjdGlvbk1vdXNlQ29udHJvbGxlci5hcw0KICAgID4gICAgID4gICAgKysrDQog ICAgPiBiL2ZyYW1ld29ya3MvcHJvamVjdHMvQmFzaWMvc3JjL21haW4vcm95YWxlL29yZy9hcGFj aGUvcm95YWxlL2h0bWwvYmVhZHMvY29udHJvbGxlcnMvTWVudVNlbGVjdGlvbk1vdXNlQ29udHJv bGxlci5hcw0KICAgID4gICAgID4gICAgQEAgLTEyNyw2ICsxMjcsOCBAQCBwYWNrYWdlDQogICAg PiBvcmcuYXBhY2hlLnJveWFsZS5odG1sLmJlYWRzLmNvbnRyb2xsZXJzDQogICAgPiAgICAgPiAg ICAgICAgICAgICAgICAgICAgKiAgQHBsYXllcnZlcnNpb24gRmxhc2ggMTAuMg0KICAgID4gICAg ID4gICAgICAgICAgICAgICAgICAgICogIEBwbGF5ZXJ2ZXJzaW9uIEFJUiAyLjYNCiAgICA+ICAg ICA+ICAgICAgICAgICAgICAgICAgICAqICBAcHJvZHVjdHZlcnNpb24gUm95YWxlIDAuOQ0KICAg ID4gICAgID4gICAgKyAgICAgICAgICogIEByb3lhbGVpZ25vcmVjb2VyY2lvbiBvcmcuYXBhY2hl LnJveWFsZS5jb3JlLlVJQmFzZQ0KICAgID4gICAgID4gICAgKyAgICAgICAgICogIEByb3lhbGVp Z25vcmVjb2VyY2lvbiBvcmcuYXBhY2hlLnJveWFsZS5jb3JlLklVSUJhc2UNCiAgICA+ICAgICA+ ICAgICAgICAgICAgICAgICAgICAqLw0KICAgID4gICAgID4gICAgICAgICAgICAgICAgICAgcHJv dGVjdGVkIGZ1bmN0aW9uIGhpZGVPcGVuTWVudXMoKTp2b2lkDQogICAgPiAgICAgPiAgICAgICAg ICAgICAgICAgICB7DQogICAgPiAgICAgPiAgICBAQCAtMTM3LDggKzEzOSw5IEBAIHBhY2thZ2UN CiAgICA+IG9yZy5hcGFjaGUucm95YWxlLmh0bWwuYmVhZHMuY29udHJvbGxlcnMNCiAgICA+ICAg ICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVudS5wYXJlbnQgIT0g bnVsbCkgew0KICAgID4gICAgID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdmFyDQogICAgPiBjb250cm9sbGVyOk1lbnVTZWxlY3Rpb25Nb3VzZUNvbnRyb2xsZXIg PQ0KICAgID4gbWVudS5nZXRCZWFkQnlUeXBlKE1lbnVTZWxlY3Rpb25Nb3VzZUNvbnRyb2xsZXIp IGFzDQogICAgPiBNZW51U2VsZWN0aW9uTW91c2VDb250cm9sbGVyOw0KICAgID4gICAgID4NCiAg ICA+ICBjb250cm9sbGVyLnJlbW92ZUNsaWNrT3V0SGFuZGxlcihtZW51KTsNCiAgICA+ICAgICA+ ICAgIC0gICAgICAgICAgICAgICAgICAgIHZhciBob3N0OklQb3BVcEhvc3QgPQ0KICAgID4gVUlV dGlscy5maW5kUG9wVXBIb3N0KF9zdHJhbmQgYXMgSVVJQmFzZSk7DQogICAgPiAgICAgPiAgICAt DQogICAgPiBob3N0LnBvcFVwUGFyZW50LnJlbW92ZUVsZW1lbnQobWVudSk7DQogICAgPiAgICAg PiAgICArICAgICAgICAgICAgICAgICAgICB2YXIgaG9zdDpJUG9wVXBIb3N0ID0NCiAgICA+IFVJ VXRpbHMuZmluZFBvcFVwSG9zdChtZW51IGFzIElVSUJhc2UpOw0KICAgID4gICAgID4gICAgKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoaG9zdCkNCiAgICA+ICAgICA+ ICAgICsNCiAgICA+IGhvc3QucG9wVXBQYXJlbnQucmVtb3ZlRWxlbWVudChtZW51KTsNCiAgICA+ ICAgICA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgPiAgICAgPiAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICA+ICAgICA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgTWVudU1vZGVsLmNsZWFyTWVudUxpc3QoKTsNCiAgICA+ICAgICA+ICAgIEBAIC0x NjMsNiArMTY2LDggQEAgcGFja2FnZQ0KICAgID4gb3JnLmFwYWNoZS5yb3lhbGUuaHRtbC5iZWFk cy5jb250cm9sbGVycw0KICAgID4gICAgID4gICAgICAgICAgICAgICAgICAgICogIEBwbGF5ZXJ2 ZXJzaW9uIEZsYXNoIDEwLjINCiAgICA+ICAgICA+ICAgICAgICAgICAgICAgICAgICAqICBAcGxh eWVydmVyc2lvbiBBSVIgMi42DQogICAgPiAgICAgPiAgICAgICAgICAgICAgICAgICAgKiAgQHBy b2R1Y3R2ZXJzaW9uIFJveWFsZSAwLjkNCiAgICA+ICAgICA+ICAgICsgICAgICAgICAqICBAcm95 YWxlaWdub3JlY29lcmNpb24gb3JnLmFwYWNoZS5yb3lhbGUuY29yZS5JVUlCYXNlDQogICAgPiAg ICAgPiAgICArICAgICAgICAgKiAgQHJveWFsZWlnbm9yZWNvZXJjaW9uDQogICAgPiBvcmcuYXBh Y2hlLnJveWFsZS5ldmVudHMuSUV2ZW50RGlzcGF0Y2hlcg0KICAgID4gICAgID4gICAgICAgICAg ICAgICAgICAgICovDQogICAgPiAgICAgPiAgICAgICAgICAgICAgICAgICBwdWJsaWMgZnVuY3Rp b24NCiAgICA+IHJlbW92ZUNsaWNrT3V0SGFuZGxlcihtZW51Ok9iamVjdCk6dm9pZA0KICAgID4g ICAgID4gICAgICAgICAgICAgICAgICAgew0KICAgID4gICAgID4gICAgQEAgLTE5MSwyMyArMTk2 LDI5IEBAIHBhY2thZ2UNCiAgICA+IG9yZy5hcGFjaGUucm95YWxlLmh0bWwuYmVhZHMuY29udHJv bGxlcnMNCiAgICA+ICAgICA+DQogICAgPiAgICAgPiAgICAgICAgICAgICAgICAgICAvKioNCiAg ICA+ICAgICA+ICAgICAgICAgICAgICAqIEByb3lhbGVpZ25vcmVjb2VyY2lvbiBIVE1MRWxlbWVu dA0KICAgID4gICAgID4gICAgKyAgICAgICAgICAgICAgICogQHJveWFsZWlnbm9yZWNvZXJjaW9u DQogICAgPiBvcmcuYXBhY2hlLnJveWFsZS5jb3JlLklVSUJhc2UNCiAgICA+ICAgICA+ICAgICAg ICAgICAgICAgICAgICAqIEBwcml2YXRlDQogICAgPiAgICAgPiAgICAgICAgICAgICAgICAgICAg Ki8NCiAgICA+ICAgICA+ICAgICAgICAgICAgICAgICAgIENPTVBJTEU6OkpTDQogICAgPiAgICAg PiAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgZnVuY3Rpb24NCiAgICA+IGhpZGVNZW51X2lu dGVybmFsKGV2ZW50OkJyb3dzZXJFdmVudCk6dm9pZA0KICAgID4gICAgID4gICAgICAgICAgICAg ICAgICAgew0KICAgID4gICAgID4gICAgICAgICAgICAgICAgIHZhciBtZW51OklNZW51ID0gX3N0 cmFuZCBhcyBJTWVudTsNCiAgICA+ICAgICA+ICAgICsgICAgICAgICAgICAgICAgICAgICAgdmFy IG1lbnVFbGVtOkhUTUxFbGVtZW50ID0gKF9zdHJhbmQgYXMNCiAgICA+IElVSUJhc2UpLmVsZW1l bnQgYXMgSFRNTEVsZW1lbnQ7DQogICAgPiAgICAgPiAgICArICAgICAgICAgICAgICAgICAgICAg IHZhciBtZW51QmFyRWxlbWVudDpIVE1MRWxlbWVudDsNCiAgICA+ICAgICA+ICAgICAgICAgICAg ICAgICBpZiAobWVudS5wYXJlbnRNZW51QmFyKQ0KICAgID4gICAgID4gICAgICAgICAgICAgICAg IHsNCiAgICA+ICAgICA+ICAgIC0gICAgICAgICAgICAgICAgdmFyIG1lbnVCYXJFbGVtZW50OkhU TUxFbGVtZW50ID0NCiAgICA+IChtZW51LnBhcmVudE1lbnVCYXIgYXMgSVVJQmFzZSkuZWxlbWVu dCBhcyBIVE1MRWxlbWVudDsNCiAgICA+ICAgICA+ICAgIC0gICAgICAgICAgICAgICAgdmFyIHRh cmdldDpIVE1MRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcw0KICAgID4gSFRNTEVsZW1lbnQ7DQog ICAgPiAgICAgPiAgICAtICAgICAgICAgICAgICAgIHdoaWxlICh0YXJnZXQgIT0gbnVsbCkNCiAg ICA+ICAgICA+ICAgIC0gICAgICAgICAgICAgICAgew0KICAgID4gICAgID4gICAgLSAgICAgICAg ICAgICAgICAgICAgaWYgKHRhcmdldCA9PSBtZW51QmFyRWxlbWVudCkgcmV0dXJuOw0KICAgID4g ICAgID4gICAgLSAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGUg YXMgSFRNTEVsZW1lbnQ7DQogICAgPiAgICAgPiAgICAtICAgICAgICAgICAgICAgIH0NCiAgICA+ ICAgICA+ICAgIC0gICAgICAgICAgICB9DQogICAgPiAgICAgPiAgICAtICAgICAgICAgICAgICAg ICAgICAgIGhpZGVPcGVuTWVudXMoKTsNCiAgICA+ICAgICA+ICAgICsgICAgICAgICAgICAgICAg bWVudUJhckVsZW1lbnQgPSAobWVudS5wYXJlbnRNZW51QmFyIGFzDQogICAgPiBJVUlCYXNlKS5l bGVtZW50IGFzIEhUTUxFbGVtZW50Ow0KICAgID4gICAgID4gICAgKyAgICAgICAgICAgICAgICAg ICAgICB9DQogICAgPiAgICAgPiAgICArICAgICAgICAgICAgICAgICAgICAgIHZhciB0YXJnZXQ6 SFRNTEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMNCiAgICA+IEhUTUxFbGVtZW50Ow0KICAgID4g ICAgID4gICAgKyAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAodGFyZ2V0ICE9IG51bGwpDQog ICAgPiAgICAgPiAgICArICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICA+ICAgICA+ICAgICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29tcDpJVUlCYXNlID0NCiAgICA+IHRh cmdldFsicm95YWxlX3dyYXBwZXIiXTsNCiAgICA+ICAgICA+ICAgICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZihjb21wICYmIChjb21wIGlzIElNZW51IHx8IGNvbXANCiAgICA+ID09 IG1lbnUucGFyZW50TWVudUJhcikgKSByZXR1cm47DQogICAgPiAgICAgPiAgICArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKHRhcmdldCA9PSBtZW51RWxlbSB8fA0KICAgID4g KG1lbnVCYXJFbGVtZW50ICYmIHRhcmdldCA9PSBtZW51QmFyRWxlbWVudCkgKSByZXR1cm47DQog ICAgPiAgICAgPiAgICArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gdGFy Z2V0LnBhcmVudE5vZGUgYXMNCiAgICA+IEhUTUxFbGVtZW50Ow0KICAgID4gICAgID4gICAgKyAg ICAgICAgICAgICAgICAgICAgICB9DQogICAgPiAgICAgPiAgICArDQogICAgPiAgICAgPiAgICAr ICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoaGlkZU9wZW5NZW51cyk7DQogICAgPiAg ICAgPiAgICAgICAgICAgICAgICAgICB9DQogICAgPiAgICAgPiAgICAgICAgICAgfQ0KICAgID4g ICAgID4gICAgIH0NCiAgICA+ICAgICA+ICAgIFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0K ICAgID4NCiAgICA+DQogICAgPg0KICAgID4NCiAgICANCiAgICAtLSANCiAgICBDYXJsb3MgUm92 aXJhDQogICAgaHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91 cmw9aHR0cCUzQSUyRiUyRmFib3V0Lm1lJTJGY2FybG9zcm92aXJhJmFtcDtkYXRhPTAyJTdDMDEl N0NhaGFydWklNDBhZG9iZS5jb20lN0NlOWU3MGUxOGY2M2M0NDM3MWUzZTA4ZDYxOWMwOWY3MiU3 Q2ZhN2IxYjVhN2IzNDQzODc5NGFlZDJjMTc4ZGVjZWUxJTdDMCU3QzAlN0M2MzY3MjQ3MTI0Mjgz NjMyMjQmYW1wO3NkYXRhPUo0UkRyaEMyY0FSNnR2RjI5dHVjMUcwTHJ2N0lLUmxxb21JTE9DSGl1 eFUlM0QmYW1wO3Jlc2VydmVkPTANCiAgICANCg0K