From dev-return-60317-apmail-cloudstack-dev-archive=cloudstack.apache.org@cloudstack.apache.org Mon Jun 30 04:03:45 2014 Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 04C8311BD0 for ; Mon, 30 Jun 2014 04:03:45 +0000 (UTC) Received: (qmail 22074 invoked by uid 500); 30 Jun 2014 04:03:44 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 22030 invoked by uid 500); 30 Jun 2014 04:03:44 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 22019 invoked by uid 99); 30 Jun 2014 04:03:44 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Jun 2014 04:03:44 +0000 X-ASF-Spam-Status: No, hits=-0.1 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of Kishan.Kavala@citrix.com designates 103.14.252.240 as permitted sender) Received: from [103.14.252.240] (HELO SMTP.CITRIX.COM.AU) (103.14.252.240) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Jun 2014 04:03:36 +0000 X-IronPort-AV: E=Sophos;i="5.01,573,1400025600"; d="scan'208,217";a="7717216" Received: from sinaccessns.citrite.net (HELO SINPEX01CL02.citrite.net) ([10.151.60.9]) by sinpip01.citrite.net with ESMTP; 30 Jun 2014 04:03:07 +0000 Received: from SINPEX01CL01.citrite.net ([169.254.1.37]) by SINPEX01CL02.citrite.net ([169.254.2.107]) with mapi id 14.03.0181.006; Mon, 30 Jun 2014 12:03:07 +0800 From: Kishan Kavala To: 'Alex Ough' CC: Alena Prokharchyk , "dev@cloudstack.apache.org" , Murali Reddy , Ram Ganesh , "Animesh Chaturvedi" Subject: RE: Review Request 20099: Domain-Account-User Sync Up Among Multiple Regions (Core Changes) Thread-Topic: Review Request 20099: Domain-Account-User Sync Up Among Multiple Regions (Core Changes) Thread-Index: AQHPUpXC7L5uJHWsckOOkA+vWkUCrZsG+zgAgA4i4wCAHG0zAIAE0aCAgD04OICAB21zAIAGVq8AgAAmpgD//5k94IAAewIAgAAGLQD//5RGAIAAf3WA//+QWwAADzKkgP//kHKAgAADcQD//4pDgIAABMeAgAAD14CAAAu7AIAABEqAgAACWgCAAAMbgIAAEpmAgAANrwD//0NPcIABRkaA//83CIAAMlh1AAABb1CAAAPV/IAAAGWhgAAA8DWAAAEHc4AAAt/SgAAbAYuAAANXegD//lvAEP/9PFSA//W9shA= Date: Mon, 30 Jun 2014 04:03:07 +0000 Message-ID: References: <20140624155416.22603.25946@reviews.apache.org> <20140624181236.22595.23668@reviews.apache.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.151.139.36] Content-Type: multipart/alternative; boundary="_000_C7522783E0E6D3488D82B9A7F7F004B912C63382SINPEX01CL01cit_" MIME-Version: 1.0 X-DLP: SIN1 X-Virus-Checked: Checked by ClamAV on apache.org --_000_C7522783E0E6D3488D82B9A7F7F004B912C63382SINPEX01CL01cit_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWxleCwNCkBFbmNyeXB0IHdpbGwgYm90aCBlbmNyeXB0IGFuZCBkZWNyeXB0LiBJbiBkZXYgc2V0 dXAsIGVuY3J5cHRpb24gaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4gZGIuY2xvdWQuZW5jcnlwdGlv bi50eXBlIGlzIHNldCB0byBub25lIGluIGRiLnByb3BlcnRpZXMuDQpGb3IgZW5jcnlwdGlvbiB0 byB3b3JrLCB5b3UgbmVlZCB0byBkbyB0aGUgZm9sbG93aW5nOg0KDQoxLiAgICAgIFNldCBkYi5j bG91ZC5lbmNyeXB0aW9uLnR5cGU9ZmlsZSBpbiBkYi5wcm9wZXJ0aWVzDQoNCjIuICAgICAgU2V0 IGRiLmNsb3VkLmVuY3J5cHQuc2VjcmV0PTxkYl9zZWNyZXRfa2V5PiBpbiBkYi5wcm9wZXJ0aWVz DQoNCjMuICAgICAgU2V0IE1TIHNlY3JldCBrZXkuICRjYXQgPG1zX3NlY3JldF9rZXk+ID4gL2V0 Yy9jbG91ZHN0YWNrL21hbmFnZW1lbnQva2V5DQoNCjQuICAgICAgRGVwbG95IERCDQoNCg0KRnJv bTogQWxleCBPdWdoIFttYWlsdG86YWxleC5vdWdoQHN1bmdhcmRhcy5jb21dDQpTZW50OiBGcmlk YXksIDI3IEp1bmUgMjAxNCA1OjEyIFBNDQpUbzogS2lzaGFuIEthdmFsYQ0KQ2M6IEFsZW5hIFBy b2toYXJjaHlrOyBkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnOyBNdXJhbGkgUmVkZHk7IFJhbSBH YW5lc2g7IEFuaW1lc2ggQ2hhdHVydmVkaQ0KU3ViamVjdDogUmU6IFJldmlldyBSZXF1ZXN0IDIw MDk5OiBEb21haW4tQWNjb3VudC1Vc2VyIFN5bmMgVXAgQW1vbmcgTXVsdGlwbGUgUmVnaW9ucyAo Q29yZSBDaGFuZ2VzKQ0KDQpLaXNoYW4sDQoNCjEuIFdoeSBMb25nIGluc3RlYWQgb2YgSW50ZWdl ciA6IFlvdSByZXBsaWVkIHRoYXQgaXQgc2hvdWxkIGJlIEludGVnZXINCjIuIEBFbmNyeXB0IDog RG9lcyBpdCBib3RoIGVuY3J5cHQgJiBkZWNyeXB0PyBJcyB0aGVyZSBhbnl0aGluZyBuZWNlc3Nh cnkgdG8gbWFrZSBpdCB3b3JrIGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2hlbiBJ IHRyYWNlIHRoZSBwZXJzaXN0Lg0KDQpUaGFua3MNCkFsZXggT3VnaA0KDQpPbiBGcmksIEp1biAy NywgMjAxNCBhdCA3OjM5IEFNLCBLaXNoYW4gS2F2YWxhIDxLaXNoYW4uS2F2YWxhQGNpdHJpeC5j b208bWFpbHRvOktpc2hhbi5LYXZhbGFAY2l0cml4LmNvbT4+IHdyb3RlOg0KQWxleCwNCkFyZSB0 aGUgcXVlc3Rpb25zIG9uIHJldmlldyBib2FyZD8NCg0KRnJvbTogQWxleCBPdWdoIFttYWlsdG86 YWxleC5vdWdoQHN1bmdhcmRhcy5jb208bWFpbHRvOmFsZXgub3VnaEBzdW5nYXJkYXMuY29tPl0N ClNlbnQ6IEZyaWRheSwgMjcgSnVuZSAyMDE0IDEyOjAzIEFNDQpUbzogQWxlbmEgUHJva2hhcmNo eWsNCkNjOiBLaXNoYW4gS2F2YWxhOyBkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPG1haWx0bzpk ZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPjsgTXVyYWxpIFJlZGR5OyBSYW0gR2FuZXNoOyBBbmlt ZXNoIENoYXR1cnZlZGkNClN1YmplY3Q6IFJlOiBSZXZpZXcgUmVxdWVzdCAyMDA5OTogRG9tYWlu LUFjY291bnQtVXNlciBTeW5jIFVwIEFtb25nIE11bHRpcGxlIFJlZ2lvbnMgKENvcmUgQ2hhbmdl cykNCg0KQWxlbmEsDQoNCkl0IGhhcyBiZWVuIHJlZHVjZWQgYWxtb3N0IHR3aWNlIGJlY2F1c2Ug YSBsb3QgaGFzIGJlZW4gc2VwYXJhdGVkIGZyb20gdGhlIENTIGFuZCBtb3ZlZCB0byB0aGUgcGx1 Zy1pbiBub3QgYmVjYXVzZSB0aGV5IGFyZSAndW5uZWNlc3NhcnknLiBQbGVhc2UgcmVtZW1iZXIg dGhhdCBteSBpbml0aWFsIGltcGxlbWVudGF0aW9uIHdhcyBpbnNpZGUgdGhlIENTIG5vdCBhcyBh IHBsdWctaW4gYXMgSSBzYWlkIGluIHRoZSBwcmV2aW91cyBlbWFpbC4NCg0KT2YgY291cnNlLCBJ IGFza2VkIGFuZCB1cmdlZCB0aGUgcmV2aWV3IHJlcGVhdGVkbHkgYW5kIHlvdSdsbCBzZWUgdGhl IGFsbCB0aGUgaGlzdG9yaWVzIG9mIHRoZW0gaWYgeW91IGZpbmQgZW1haWxzIHVzaW5nIHRoaXMg c3ViamVjdCwgd2hpY2ggc3RhcnRlZCAxMC8xNy8xMy4NCltESVNDVVNTXSBEb21haW4tQWNjb3Vu dC1Vc2VyIFN5bmMgVXAgQW1vbmcgTXVsdGlwbGUgUmVnaW9ucw0KRXZlbiBpZiBJIGFza2VkIHNv IG1hbnkgdGltZXMsIHVuZm9ydHVuYXRlbHksIEkgY291bGRuJ3QgZ2V0IGFuIGFjdHVhbCBmZWVk YmFjayB1bnRpbCBEYWFuIGZpbmFsbHkgYXNrZWQgQ2hpcmFkZWVwIGFuZCB5b3UgdG8gcmV2aWV3 IHRoZW0sIHdoaWNoIGlzIDMvMTAvMTQuDQoNCktpc2hhbiwNCkkgcG9zdGVkIDIgcXVlc3Rpb25z LCBzbyBwbGVhc2UgZ3VpZGUgbWUgZm9yIHRoZSBxdWVzdGlvbnMuDQoNClRoYW5rcw0KQWxleCBP dWdoDQoNCg0KT24gVGh1LCBKdW4gMjYsIDIwMTQgYXQgMTI6NTcgUE0sIEFsZW5hIFByb2toYXJj aHlrIDxBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0bzpBbGVuYS5Qcm9raGFyY2h5 a0BjaXRyaXguY29tPj4gd3JvdGU6DQpBbGV4LA0KDQpCeSDigJxodWdl4oCdIEnigJl2ZSBtZWFu dCB0aGF0IHRoZXJlIHdhcyBhIGxvdCBvZiByZXBldGl0aXZlIGhhcmRjb2RlZCB0aGluZ3MsIGxv dCBvZiB1bm5lY2Vzc2FyeSBjaGFuZ2VzIHRvIHRoZSBDUyBvcmNoZXN0cmF0aW9uIGxheWVyLiBJ ZiB5b3UgY29tcGFyZSBhIG51bWJlciBvZiBjaGFuZ2VzIG5vdyBhbmQgb3JpZ2luYWxseSwgeW91 IGNhbiBzZWUgdGhhdCBpdCByZWR1Y2VkIGFsbW9zdCB0d2ljZS4NCg0KQnV0IGxldHMgZGlzY3Vz cyB0aGUgY29tcGxhaW5zIGFib3V0IGxhY2sgb2YgaW5pdGlhbCByZXZpZXcgYXMgaXRzIG1vcmUg aW1wb3J0YW50IHF1ZXN0aW9uLg0KDQpSZXZpZXcgb2YgdGhlIGRlc2lnbiBzcGVjIHNob3VsZCBo YXBwZW4gYmVmb3JlIHlvdSBzdGFydCBkZXNpZ25pbmcvY29kaW5nLiBBcyBJIGp1bXBlZCBvbiBy ZXZpZXcgbXVjaCBsYXRlciwgYWZ0ZXIgeW914oCZdmUgc3VibWl0dGVkIHRoZSBlbnRpcmUgcGx1 Z2luIGNvZGUsIHNvIEkgSSBkaWRu4oCZdCBwYXJ0aWNpcGF0ZSBpbiDigJxGZWF0dXJlIFJlcXVl c3TigJ0gZGlzY3Vzc2lvbiByZXZpZXcgdGhhdCBtaWdodCBoYXZlIGhhcHBlbmVkIGVhcmxpZXIu IEFuZCBJIGRvIGFzc3VtZSB0aGF0IHRoZSByZXZpZXdzL2VtYWlscyBleGNoYW5nZXMgd2VyZSBk b25lIGF0IHRoYXQgaW5pdGlhbCBwaGFzZT8gWW91IHNob3VsZCBoYXZlIGNvbnRhY3RlZCB0aGUg cGVvcGxlIHBhcnRpY2lwYXRpbmcgaW4gdGhlIGluaXRpYWwgcGhhc2UsIGFuZCBhc2sgdGhlbSBm b3IgdGhlIHJldmlldyBhcyB3ZWxsLg0KDQpBcyBhIHBhcnQgb2YgbXkgcmV2aWV3LCBJ4oCZdmUg bWFkZSBzdXJlIHRvIGNvdmVyIHRoZSB0aGluZ3MgSeKAmW0gY2VydGFpbiBzaG91bGQgaGF2ZSBi ZWVuIGNoYW5nZWQuIEnigJl2ZSByZXZpZXdlZCB0aGUgZmVhdHVyZSBsb2dpYyBhcyB3ZWxsLCBj b25zdWx0aW5nIHRoZSBGUyB5b3XigJl2ZSB3cml0dGVuLiBJ4oCZbSBub3Qgc2F5aW5nIHRoYXQg dGhlcmUgaXMgYW55dGhpbmcgd3Jvbmcgd2l0aCB5b3VyIGluaXRpYWwgZGVzaWduLCBidXQgYXNr aW5nIGZvciBhIHNlY29uZCBvcGluaW9uIGZyb20gdGhlIGd1eXMgd2hvIGhhdmUgbW9yZSBleHBl cnRpc2UgaW4gUmVnaW9ucy4NCg0KS2lzaGFuLCBwbGVhc2UgaGVscCB0byBkbyB0aGUgZmluYWwg cmV2aWV3IHRoZSBBbGV44oCZcyBwbHVnaW4gZGVzaWduIGh0dHBzOi8vcmV2aWV3cy5hcGFjaGUu b3JnL3IvMTc3OTANCg0KVGhhbmsgeW91LA0KQWxlbmEuDQpGcm9tOiBBbGV4IE91Z2ggPGFsZXgu b3VnaEBzdW5nYXJkYXMuY29tPG1haWx0bzphbGV4Lm91Z2hAc3VuZ2FyZGFzLmNvbT4+DQpEYXRl OiBXZWRuZXNkYXksIEp1bmUgMjUsIDIwMTQgYXQgOTowMyBQTQ0KDQpUbzogQWxlbmEgUHJva2hh cmNoeWsgPGFsZW5hLnByb2toYXJjaHlrQGNpdHJpeC5jb208bWFpbHRvOmFsZW5hLnByb2toYXJj aHlrQGNpdHJpeC5jb20+Pg0KQ2M6IEtpc2hhbiBLYXZhbGEgPEtpc2hhbi5LYXZhbGFAY2l0cml4 LmNvbTxtYWlsdG86S2lzaGFuLkthdmFsYUBjaXRyaXguY29tPj4sICJkZXZAY2xvdWRzdGFjay5h cGFjaGUub3JnPG1haWx0bzpkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPiIgPGRldkBjbG91ZHN0 YWNrLmFwYWNoZS5vcmc8bWFpbHRvOmRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc+PiwgTXVyYWxp IFJlZGR5IDxNdXJhbGkuUmVkZHlAY2l0cml4LmNvbTxtYWlsdG86TXVyYWxpLlJlZGR5QGNpdHJp eC5jb20+PiwgUmFtIEdhbmVzaCA8UmFtLkdhbmVzaEBjaXRyaXguY29tPG1haWx0bzpSYW0uR2Fu ZXNoQGNpdHJpeC5jb20+PiwgQW5pbWVzaCBDaGF0dXJ2ZWRpIDxhbmltZXNoLmNoYXR1cnZlZGlA Y2l0cml4LmNvbTxtYWlsdG86YW5pbWVzaC5jaGF0dXJ2ZWRpQGNpdHJpeC5jb20+Pg0KU3ViamVj dDogUmU6IFJldmlldyBSZXF1ZXN0IDIwMDk5OiBEb21haW4tQWNjb3VudC1Vc2VyIFN5bmMgVXAg QW1vbmcgTXVsdGlwbGUgUmVnaW9ucyAoQ29yZSBDaGFuZ2VzKQ0KDQpBbGVuYSwNCg0KSSB1bmRl cnN0YW5kIHRoYXQgeW91IGhhdmUgYmVlbiBoZWxwaW5nIGEgbG90IHRvIG1ha2UgbXkgY29kZXMg dG8gbWF0Y2ggdGhlIGNvZGluZyBzdGFuZGFyZHMsIGJ1dCBJJ20gbm90IHN1cmUgd2hhdCB5b3Ug bWVhbiBieSAidGhlIGNvZGUgYmFzZSB3YXMgdW5uZWNlc3NhcnkgaHVnZSIuDQpUaGUgaW5pdGlh bCBpbXBsZW1lbnRhdGlvbiB3YXMgdG8gc3VwcG9ydCB0aGUgc3luY2hyb25pemF0aW9uIGluc2lk ZSB0aGUgQ1MgYmVjYXVzZSB0aGlzIGZlYXR1cmUgaXMgbWlzc2luZyBpbiB0aGUgY3VycmVudCBt dWx0aXBsZSByZWdpb24gc3VwcG9ydCwgYW5kIG1vc3Qgb2Ygam9icyB3ZXJlICB0byBzZXBhcmF0 ZSB0aGUgaW1wbGVtZW50YXRpb24gZnJvbSB0aGUgQ1MgYmVjYXVzZSB5b3UgZ3V5cyB3YW50ZWQg bWUgdG8gcHJvdmlkZSBpdCBhcyBhIHBsdWdpbi4NCg0KQW5kIEkga2VwdCBhc2tpbmcgcmV2aWV3 cyBmb3IgdGhlIGRlc2lnbiBzcGVjIGZyb20gd2hlbiBJIHB1Ymxpc2hlZCB0aGUgZG9jdW1lbnRz IHdpdGggaW5pdGlhbCBwcm90b3R5cGUsIGl0IHRvb2sgYSB3aGlsZSBmb3IgeW91IHRvIHN0YXJ0 IHRvIHJldmlldyBteSBpbXBsZW1lbnRhdGlvbiBhbmQgdGhleSBoYXZlIGJlZW4gbW9zdGx5IGFi b3V0IHRoZSBjb2Rpbmcgc3RhbmRhcmRzIGluc3RlYWQgb2YgdGhlIGxvZ2ljIGl0c2VsZi4gU28g SSdtIHNheWluZyB0aGF0IGl0IHdvdWxkIGhhdmUgYmVlbiBiZXR0ZXIgaWYgdGhlcmUgaGFzIGJl ZW4gc29tZW9uZSB0byByZXZpZXcgdGhlIGRlc2lnbiBzcGVjIGFuZCB0aGUgcHJvdG90eXBlIGZy b20gdGhlIGluaXRpYWwgcGhhc2UuDQoNCkFnYWluLCBJIHJlYWxseSBhcHByZWNpYXRlIHlvdXIg aGVscCB0byBjb21lIHRoaXMgZmFyLCBidXQgaXQgd2FzIGFsc28gdmVyeSBwYWluZnVsIGZvciBt ZS4NClRoYW5rcw0KQWxleCBPdWdoDQoNCk9uIFdlZCwgSnVuIDI1LCAyMDE0IGF0IDEwOjQxIFBN LCBBbGVuYSBQcm9raGFyY2h5ayA8QWxlbmEuUHJva2hhcmNoeWtAY2l0cml4LmNvbTxtYWlsdG86 QWxlbmEuUHJva2hhcmNoeWtAY2l0cml4LmNvbT4+IHdyb3RlOg0KQWxleCwNCg0KSW4gdGhlIGJl Z2lubmluZyB0aGUgY29kZSB3YXMgbm90IHZlcnkgd2VsbCBvcmdhbmF6aWVkLCBkaWRuJ3QgbWF0 Y2ggY29kaW5nIHN0YW5kYXJ0cyAobm8gdXNlIG9mIHNwcmluZywgbWlzbGVhZGluZyBuYW1lcywg bm90IHNlZ3JlZ2F0ZWQgdG8gaXRzIG93biBwbHVnaW4pLCBhbmQgdGhlIGNvZGUgYmFzZSB3YXMg dW5uZWNjZXNzYXJ5IGh1Z2UuDQpBbGwgb2YgdGhlIGFib3ZlIGl0IHZlcnkgaGFyZCB0byByZXZp ZXcgYW5kIHVuZGVyc3RhbmQgdGhlIGNvZGUgbG9naWMgZnJvbSB0aGUgYmVnaW5uaW5nIGFuZCBl bmdhZ2UgbW9yZSBwZW9wbGUgdG8gdGhlIHJldmlldy4gVGhlcmVmb3JlIENoaXJhZGVlcCBwb2lu dGVkIGl0IGluIGhpcyBvcmlnaW5hbCByZXZpZXcgdGhhdCB0aGUgY29kZSBuZWVkcyB0byBtYXRj aCBDUyBzdGFuZGFydHMgZmlyc3QsIGFuZCBiZSBiZXR0ZXIgb3JnYW5pemVkLiBJIGhlbHBlZCB0 byByZXZpZXcgdGhlIGZpeGVzLCBhbmQgZGlkIGxvZ2ljIHJldmlldyBhcyB3ZWxsIGFmdGVyIHRo ZSBjb2RlIGNhbWUgaW50byDigJxyZXZpZXdhYmxl4oCdIHNoYXBlLg0KDQpJJ20gYXNraW5nIEtp c2hhbi9NdXJhbGkgdG8gbG9vayBhdCBpdCB0byBzZWUgaWYgYW55dGhpbmcgaXMgbWlzc2luZyBv ciBpbmNvcnJlY3QgaW4gdGhlIGZpbmFsIHJldmlldywgbm90IHRvIG1ha2UgeW91IG92ZXJyaWRl IG9yIGNoYW5nZSBldmVyeXRoaW5nIHlvdSd2ZSBhbHJlYWR5IHB1dCBpbi4NCg0KVGhhbmsgeW91 LA0KQWxlbmEuDQoNCkZyb206IEFsZXggT3VnaCA8YWxleC5vdWdoQHN1bmdhcmRhcy5jb208bWFp bHRvOmFsZXgub3VnaEBzdW5nYXJkYXMuY29tPj4NCkRhdGU6IFdlZG5lc2RheSwgSnVuZSAyNSwg MjAxNCBhdCA3OjEyIFBNDQoNClRvOiBBbGVuYSBQcm9raGFyY2h5ayA8YWxlbmEucHJva2hhcmNo eWtAY2l0cml4LmNvbTxtYWlsdG86YWxlbmEucHJva2hhcmNoeWtAY2l0cml4LmNvbT4+DQpDYzog S2lzaGFuIEthdmFsYSA8S2lzaGFuLkthdmFsYUBjaXRyaXguY29tPG1haWx0bzpLaXNoYW4uS2F2 YWxhQGNpdHJpeC5jb20+PiwgImRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc8bWFpbHRvOmRldkBj bG91ZHN0YWNrLmFwYWNoZS5vcmc+IiA8ZGV2QGNsb3Vkc3RhY2suYXBhY2hlLm9yZzxtYWlsdG86 ZGV2QGNsb3Vkc3RhY2suYXBhY2hlLm9yZz4+LCBNdXJhbGkgUmVkZHkgPE11cmFsaS5SZWRkeUBj aXRyaXguY29tPG1haWx0bzpNdXJhbGkuUmVkZHlAY2l0cml4LmNvbT4+LCBSYW0gR2FuZXNoIDxS YW0uR2FuZXNoQGNpdHJpeC5jb208bWFpbHRvOlJhbS5HYW5lc2hAY2l0cml4LmNvbT4+LCBBbmlt ZXNoIENoYXR1cnZlZGkgPGFuaW1lc2guY2hhdHVydmVkaUBjaXRyaXguY29tPG1haWx0bzphbmlt ZXNoLmNoYXR1cnZlZGlAY2l0cml4LmNvbT4+DQpTdWJqZWN0OiBSZTogUmV2aWV3IFJlcXVlc3Qg MjAwOTk6IERvbWFpbi1BY2NvdW50LVVzZXIgU3luYyBVcCBBbW9uZyBNdWx0aXBsZSBSZWdpb25z IChDb3JlIENoYW5nZXMpDQoNCkFsZW5hLA0KDQpEb24ndCBnZXQgbWUgd3JvbmcuIFdoYXQgSSdt IHNheWluZyBpcyB0aGF0IGl0IHdvdWxkIGhhdmUgYmVlbiBiZXR0ZXIgaWYgeW91IGFza2VkIHRo ZSByZXZpZXcgdG8gd2hvbWV2ZXIgeW91IHRob3VnaHQgd2FzIGltcG9ydGFudCB3aGVuIHlvdSBz dGFydGVkIHRoZSByZXZpZXcuDQoNClRoYW5rcw0KQWxleCBPdWdoDQoNCk9uIFdlZCwgSnVuIDI1 LCAyMDE0IGF0IDk6NDUgUE0sIEFsZW5hIFByb2toYXJjaHlrIDxBbGVuYS5Qcm9raGFyY2h5a0Bj aXRyaXguY29tPG1haWx0bzpBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPj4gd3JvdGU6DQpB bGV4LA0KDQpJIGRpZCBteSBiZXN0IHRvIHJldmlldyB0aGUgY29kZSwgbWFkZSBzdXJlIGl0IGNh bWUgaW4gc2hhcGUgd2l0aCB0aGUgQ1MgZ3VpZGVsaW5lcyBhbmQgamF2YSBjb2RlIHN0eWxlIFRo ZXJlIHdhcyBubyB3YXkgdG8gYW50aWNpcGF0ZSBhbGwgdGhlIHRoaW5ncyB0byBmaXggb3JpZ2lu YWxseSwgYXMgZXZlcnkgc3Vic2VxdWVudCByZXZpZXcgdXBkYXRlIGFkZGVkIG1vcmUgdGhpbmdz IHRvIGZpeCBhcyB0aGUgcmV2aWV3IGNvZGUgd2FzIG5ldy9yZWZhY3RvcmVkLg0KDQpBbmQgSSBk b27igJl0IHNlZSBhbnl0aGluZyB3cm9uZyBhYm91dCBhc2tpbmcgZm9yIGEgRklOQUwgb3Bpbmlv biBmcm9tIG90aGVyIHBlb3BsZSBvbiB0aGUgbWFpbGluZyBsaXN0LCBjb25zaWRlcmluZyBzb21l IG9mIHRoZW0gcGFydGljaXBhdGVkIGluIHRoZSByZXZpZXcgcHJvY2VzcyBhbG9uZyB0aGUgd2F5 IGFscmVhZHkgKEtpc2hhbikuIEFueWJvZHkgY2FuIHJldmlldyB0aGUgcmV2aWV3IHRpY2tldCB0 aWxsIGl0cyBjbG9zZWQsIGFuZCBwb2ludCB0byB0aGUgaXRlbXMgdGhhdCBvdGhlciByZXZpZXdl cnMgbWlnaHQgaGF2ZSBtaXNzZWQuDQoNClRoYW5rIHlvdSwNCkFsZW5hLg0KDQpGcm9tOiBBbGV4 IE91Z2ggPGFsZXgub3VnaEBzdW5nYXJkYXMuY29tPG1haWx0bzphbGV4Lm91Z2hAc3VuZ2FyZGFz LmNvbT4+DQpEYXRlOiBXZWRuZXNkYXksIEp1bmUgMjUsIDIwMTQgYXQgNjozMyBQTQ0KVG86IEFs ZW5hIFByb2toYXJjaHlrIDxhbGVuYS5wcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0bzphbGVu YS5wcm9raGFyY2h5a0BjaXRyaXguY29tPj4NCkNjOiBLaXNoYW4gS2F2YWxhIDxLaXNoYW4uS2F2 YWxhQGNpdHJpeC5jb208bWFpbHRvOktpc2hhbi5LYXZhbGFAY2l0cml4LmNvbT4+LCAiZGV2QGNs b3Vkc3RhY2suYXBhY2hlLm9yZzxtYWlsdG86ZGV2QGNsb3Vkc3RhY2suYXBhY2hlLm9yZz4iIDxk ZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPG1haWx0bzpkZXZAY2xvdWRzdGFjay5hcGFjaGUub3Jn Pj4sIE11cmFsaSBSZWRkeSA8TXVyYWxpLlJlZGR5QGNpdHJpeC5jb208bWFpbHRvOk11cmFsaS5S ZWRkeUBjaXRyaXguY29tPj4sIFJhbSBHYW5lc2ggPFJhbS5HYW5lc2hAY2l0cml4LmNvbTxtYWls dG86UmFtLkdhbmVzaEBjaXRyaXguY29tPj4sIEFuaW1lc2ggQ2hhdHVydmVkaSA8YW5pbWVzaC5j aGF0dXJ2ZWRpQGNpdHJpeC5jb208bWFpbHRvOmFuaW1lc2guY2hhdHVydmVkaUBjaXRyaXguY29t Pj4NCg0KU3ViamVjdDogUmU6IFJldmlldyBSZXF1ZXN0IDIwMDk5OiBEb21haW4tQWNjb3VudC1V c2VyIFN5bmMgVXAgQW1vbmcgTXVsdGlwbGUgUmVnaW9ucyAoQ29yZSBDaGFuZ2VzKQ0KDQpUaGFu a3MgQWxlbmEsIGFuZCBJJ20gZ2xhZCBpZiB0aGV5IHNwZW5kIHRpbWUgZm9yIHRoZSByZXZpZXcs IGJ1dCBjb3VsZCBpdCBiZSBhIGxpdHRsZSBlYXJsaWVyIGZvciB5b3UgdG8gYXNrIHRoZW0gdG8g cmV2aWV3IGluc3RlYWQgb2YgYXQgdGhlIGxhc3QgbW9tZW50Pw0KSSdtIHJlYWxseSBleGhhdXN0 ZWQgd2l0aCByZXBlYXRlZGx5IGFkZGVkIGl0ZW1zIHdoZW5ldmVyIEkgcG9zdCBhIHJldmlldy4N Cg0KVGhhbmtzDQpBbGV4IE91Z2gNCg0KT24gV2VkLCBKdW4gMjUsIDIwMTQgYXQgNzo0NCBQTSwg QWxlbmEgUHJva2hhcmNoeWsgPEFsZW5hLlByb2toYXJjaHlrQGNpdHJpeC5jb208bWFpbHRvOkFs ZW5hLlByb2toYXJjaHlrQGNpdHJpeC5jb20+PiB3cm90ZToNCkFsZXgsIGxvb2tzIGZpbmUgdG8g bWUuIE1ha2Ugc3VyZSB0aGF0IHlvdSBwdXQgdGhlIHJlZ2lvbklkIHZhbGlkYXRpb24gYXMgb3Vy IGluLWJ1aWx0IEFQSSB2YWxpZGF0aW9uIHdvbuKAmXQgd29yayBpbiB0aGlzIGNhc2UgYmVjYXVz ZSB0aGVyZSBpcyBubyBVVUlEIGZpZWxkIHN1cHBvcnQgZm9yIHRoZSBSZWdpb24gb2JqZWN0LiBZ b3UgY2FuIGNoZWNrIGhvdyB2YWxpZGF0aW9uIGlzIGJlZ2luIGRvbmUgaW4gdXBkYXRlUmVnaW9u L2RlbGV0ZVJlZ2lvbiBzY2VuYXJpb3MuDQoNCktpc2hhbi9NdXJhbGksIGNhbiB5b3UgcGxlYXNl IHNwZW5kIHNvbWUgdGltZSBkb2luZyB0aGUgZmluYWwgcmV2aWV3IGZvciBBbGV44oCZcyB0aWNr ZXRzPyBBcyB5b3UgYXJlIHRoZSBvcmlnaW5hbCBkZXZlbG9wZXJzIGZvciBSZWdpb24sIGFuZCBw cm9iYWJseSBoYXZlIHRoZSBtb3N0IGV4cGVydGlzZSBvbiB0aGUgdG9waWMuIEkgZG9u4oCZdCB3 YW50IHRvIGNvbW1pdCB0aGUgZml4ZXMgYmVmb3JlIEkgaGVhciDigJxzaGlwIGl04oCdIGZyb20g Ym90aCBvZiB5b3UsIGd1eXMuDQoNClRoYW5rcywNCkFsZW5hLg0KRnJvbTogQWxleCBPdWdoIDxh bGV4Lm91Z2hAc3VuZ2FyZGFzLmNvbTxtYWlsdG86YWxleC5vdWdoQHN1bmdhcmRhcy5jb20+Pg0K RGF0ZTogV2VkbmVzZGF5LCBKdW5lIDI1LCAyMDE0IGF0IDQ6MDIgUE0NClRvOiBLaXNoYW4gS2F2 YWxhIDxLaXNoYW4uS2F2YWxhQGNpdHJpeC5jb208bWFpbHRvOktpc2hhbi5LYXZhbGFAY2l0cml4 LmNvbT4+DQpDYzogQWxlbmEgUHJva2hhcmNoeWsgPGFsZW5hLnByb2toYXJjaHlrQGNpdHJpeC5j b208bWFpbHRvOmFsZW5hLnByb2toYXJjaHlrQGNpdHJpeC5jb20+PiwgImRldkBjbG91ZHN0YWNr LmFwYWNoZS5vcmc8bWFpbHRvOmRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc+IiA8ZGV2QGNsb3Vk c3RhY2suYXBhY2hlLm9yZzxtYWlsdG86ZGV2QGNsb3Vkc3RhY2suYXBhY2hlLm9yZz4+LCBNdXJh bGkgUmVkZHkgPE11cmFsaS5SZWRkeUBjaXRyaXguY29tPG1haWx0bzpNdXJhbGkuUmVkZHlAY2l0 cml4LmNvbT4+LCBSYW0gR2FuZXNoIDxSYW0uR2FuZXNoQGNpdHJpeC5jb208bWFpbHRvOlJhbS5H YW5lc2hAY2l0cml4LmNvbT4+LCBBbmltZXNoIENoYXR1cnZlZGkgPGFuaW1lc2guY2hhdHVydmVk aUBjaXRyaXguY29tPG1haWx0bzphbmltZXNoLmNoYXR1cnZlZGlAY2l0cml4LmNvbT4+DQoNClN1 YmplY3Q6IFJlOiBSZXZpZXcgUmVxdWVzdCAyMDA5OTogRG9tYWluLUFjY291bnQtVXNlciBTeW5j IFVwIEFtb25nIE11bHRpcGxlIFJlZ2lvbnMgKENvcmUgQ2hhbmdlcykNCg0KSGkgQWxlbmEsDQoN CkNhbiB5b3UgY29uZmlybSBpZiB0aGlzIGZpeCBpcyBjb3JyZWN0Pw0KDQogICAgQFBhcmFtZXRl cihuYW1lID0gQXBpQ29uc3RhbnRzLk9SSUdJTkFURURfUkVHSU9OX0lELCB0eXBlID0gQ29tbWFu ZFR5cGUuSU5URUdFUiwgZGVzY3JpcHRpb24gPSAiUmVnaW9uIHdoZXJlIHRoaXMgYWNjb3VudCBp cyBjcmVhdGVkLiIsIHNpbmNlID0gIjQuNSIpDQogICAgcHJpdmF0ZSBJbnRlZ2VyIG9yaWdpbmF0 ZWRSZWdpb25JZDsNCg0KVGhhbmtzDQpBbGV4IE91Z2gNCg0KT24gV2VkLCBKdW4gMjUsIDIwMTQg YXQgMTE6MDMgQU0sIEtpc2hhbiBLYXZhbGEgPEtpc2hhbi5LYXZhbGFAY2l0cml4LmNvbTxtYWls dG86S2lzaGFuLkthdmFsYUBjaXRyaXguY29tPj4gd3JvdGU6DQpBbGV4LA0KWW91IGNhbiByZWZl ciB0byB0aGUgY29kZSBmcm9tIGluaXREYXRhU291cmNlICBtZXRob2QgaW4gVHJhbnNhY3Rpb24u amF2YS4NClByb3BlcnRpZXMgZmlsZSBjYW4gYmUgbG9hZGVkIHVzaW5nIHRoZSBmb2xsb3dpbmc6 DQoNCkZpbGUgZGJQcm9wc0ZpbGUgPSBQcm9wZXJ0aWVzVXRpbC5maW5kQ29uZmlnRmlsZShwcm9w c0ZpbGVOYW1lKTsNCg0KRnJvbTogQWxleCBPdWdoIFttYWlsdG86YWxleC5vdWdoQHN1bmdhcmRh cy5jb208bWFpbHRvOmFsZXgub3VnaEBzdW5nYXJkYXMuY29tPl0NClNlbnQ6IFdlZG5lc2RheSwg MjUgSnVuZSAyMDE0IDQ6MzEgUE0NClRvOiBLaXNoYW4gS2F2YWxhDQpDYzogQWxlbmEgUHJva2hh cmNoeWs7IGRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc8bWFpbHRvOmRldkBjbG91ZHN0YWNrLmFw YWNoZS5vcmc+OyBNdXJhbGkgUmVkZHk7IFJhbSBHYW5lc2g7IEFuaW1lc2ggQ2hhdHVydmVkaQ0K DQpTdWJqZWN0OiBSZTogUmV2aWV3IFJlcXVlc3QgMjAwOTk6IERvbWFpbi1BY2NvdW50LVVzZXIg U3luYyBVcCBBbW9uZyBNdWx0aXBsZSBSZWdpb25zIChDb3JlIENoYW5nZXMpDQoNClRoYW5rcyBL aXNoYW4sIGJ1dCB0aGVyZSBzZWVtcyB0byBiZSBsb3RzIG9mICdkYi5wcm9wZXJ0aWVzJyBmaWxl cywgc28gd2hpY2ggb25lIHNob3VsZCBiZSByZWZlcmVuY2VkPw0KDQpBbGV4IE91Z2gNCg0KT24g V2VkLCBKdW4gMjUsIDIwMTQgYXQgMjoyNSBBTSwgS2lzaGFuIEthdmFsYSA8S2lzaGFuLkthdmFs YUBjaXRyaXguY29tPG1haWx0bzpLaXNoYW4uS2F2YWxhQGNpdHJpeC5jb20+PiB3cm90ZToNCkFs ZXgsDQpBcyBBbGVuYSBtZW50aW9uZWQsIGl0IGlzIGFkbWlu4oCZcyByZXNwb25zaWJpbGl0eSB0 byBrZWVwIGlkcyBzYW1lIGFjcm9zcyBSZWdpb25zLiBJZHMgc2hvdWxkIGJlIHVzZWQgYXMgdW5p cXVlIGlkZW50aWZpZXIuIFJlZ2lvbiBuYW1lIGlzIG1lcmVseSBkZXNjcmlwdGl2ZSBuYW1lIGFu ZCBpdHMgbW9zdGx5IGFzc29jaWF0ZWQgd2l0aCBnZW9ncmFwaGljIGxvY2F0aW9uLg0KQWxzbyBu b3RlIHRoYXQgcmVnaW9uIG5hbWUgY2FuIGJlIHVwZGF0ZWQgYW55dGltZSB1c2luZyB1cGRhdGVS ZWdpb24gQVBJLg0KDQpVbmxpa2UsIG90aGVyIGludGVybmFsIElkcyBpbiBDUywgcmVnaW9uIElk cyBhcmUgYXNzaWduZWQgYnkgYWRtaW4uIFNvIGV4cG9zaW5nIHJlZ2lvbiBJZCB0byBhZG1pbiBz aG91bGQgbm90IGJlIGFuIGlzc3VlLg0KDQpJZCBvZiB0aGUgbG9jYWwgcmVnaW9uIGNhbm5vdCBi ZSBndWFyYW50ZWVkIHRvIGJlIOKAnDHigJ0gYWx3YXlzLiBSZWdpb24gSWQgaGFzIHRvIGJlIHVu aXF1ZSBhY3Jvc3MgYWxsIHJlZ2lvbnMuIFdoaWxlIGNyZWF0aW5nIG5ldyByZWdpb24gYWRtaW4g d2lsbCBwcm92aWRlIHVuaXF1ZSByZWdpb24gaWQgdG8gY2xvdWQtc2V0dXAtZGF0YWJhc2VzIHNj cmlwdC4gSWQgb2YgdGhlIGxvY2FsIHJlZ2lvbiBpcyBzdG9yZWQgaW4gZGIucHJvcGVydGllcy4g VG8gaWRlbnRpZnkgYSBMb2NhbCByZWdpb24geW91IGNhbiB1c2Ugb25lIG9mIHRoZSBmb2xsb3dp bmcgb3B0aW9uczoNCg0KMS4gICAgICAgTG9vayB1cCByZWdpb24uaWQ8aHR0cDovL3JlZ2lvbi5p ZD4gaW4gZGIucHJvcGVydGllcw0KDQoyLiAgICAgICBBZGQgYSBuZXcgY29sdW1uIGluIHJlZ2lv biB0YWJsZQ0KDQoNCkZyb206IEFsZXggT3VnaCBbbWFpbHRvOmFsZXgub3VnaEBzdW5nYXJkYXMu Y29tPG1haWx0bzphbGV4Lm91Z2hAc3VuZ2FyZGFzLmNvbT5dDQpTZW50OiBXZWRuZXNkYXksIDI1 IEp1bmUgMjAxNCA4OjE4IEFNDQpUbzogQWxlbmEgUHJva2hhcmNoeWsNCkNjOiBkZXZAY2xvdWRz dGFjay5hcGFjaGUub3JnPG1haWx0bzpkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPjsgS2lzaGFu IEthdmFsYTsgTXVyYWxpIFJlZGR5OyBSYW0gR2FuZXNoOyBBbmltZXNoIENoYXR1cnZlZGkNCg0K U3ViamVjdDogUmU6IFJldmlldyBSZXF1ZXN0IDIwMDk5OiBEb21haW4tQWNjb3VudC1Vc2VyIFN5 bmMgVXAgQW1vbmcgTXVsdGlwbGUgUmVnaW9ucyAoQ29yZSBDaGFuZ2VzKQ0KDQpUaGVyZSBpcyBv bmUgdGhpbmcgdGhhdCB3YXMgbm90IG1lbnRpb25lZCwgd2hpY2ggaXMgdGhhdCBjdXJyZW50bHkg dGhlIGlkIG9mICdMb2NhbCcgcmVnaW9uIGlzIGFsd2F5cyAxIGFuZCBpZiB3ZSBkbyBub3QgZ3Vh cmFudGVlIHRoYXQsIHRoZXJlIGlzIG5vIHdheSB0byBmaW5kIG91dCB3aGljaCBpcyB0aGUgbG9j YWwgcmVnaW9uIHVubGVzcyB3ZSBhZGQgb25lIG1vcmUgZmllbGQgdG8gdGVsbHMgd2hpY2ggaXMg dGhlIGxvY2FsIHJlZ2lvbi4NCkknbSB3b25kZXJpbmcgaWYgd2UgaGF2ZSBhIHNvbHV0aW9uIGZv ciB0aGlzIG5vdy4NCg0KVGhhbmtzDQpBbGV4IE91Z2gNCg0KT24gVHVlLCBKdW4gMjQsIDIwMTQg YXQgOTo1OSBQTSwgQWxleCBPdWdoIDxhbGV4Lm91Z2hAc3VuZ2FyZGFzLmNvbTxtYWlsdG86YWxl eC5vdWdoQHN1bmdhcmRhcy5jb20+PiB3cm90ZToNCkkgYWdyZWUgd2l0aCB0aGF0IHRoZSBpZHMg YXJlIHVuaXF1ZSBpZGVudGlmaWVyLCBidXQgdGhleSBhcmUgdXN1YWxseSBpbnRlcm5hbCBwdXJw b3NlIG5vdCBleHBvc2VkIHRvIHRoZSB1c2Vycy4gU28gaXQgaXMgYSBsaXR0bGUgc3RyYW5nZSB0 byBhc2sgdXNlcnMgdG8gYXNzaWduIGlkcyB3aGVuIHRoZXkgYWRkIG5ldyByZWdpb25zLiBBbmQg aWYgd2UgZG8gbm90IGFsbG93IGR1cGxpY2F0ZWQgbmFtZXMsIEknbSBub3Qgc3VyZSB3aHkgaXQg aXMgbm90IGdvb2QgdG8gdXNlIG5hbWVzIGFzIGEgdW5pcXVlIGlkZW50aWZpZXIuDQoNCkl0J3Mg YmVlbiBhIGxvbmcgd2F5IHRvIGNvbWUgdGhpcyBmYXIgd2l0aCBzZXZlcmFsIHJlYXNvbnMsIHNv IEkgcmVhbGx5IHdhbnQgdG8gd3JhcCB0aGlzIHVwIGFzIHNvb24gYXMgcG9zc2libGUsIGFuZCB0 aGlzIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIG1ham9yIG9ic3RhY2xlLCBzbyBsZXQgbWUganVzdCB1 c2UgJ2lkJyBhcyBhIHBhcmFtZXRlciBpZiB0aGVyZSBpcyBubyBvbmUgd2l0aCBhIGRpZmZlcmVu dCB0aG91Z2h0IHVudGlsIHRvbW9ycm93IG1vcm5pbmcuDQoNClRoYW5rcw0KQWxleCBPdWdoDQoN Ck9uIFR1ZSwgSnVuIDI0LCAyMDE0IGF0IDg6NTIgUE0sIEFsZW5hIFByb2toYXJjaHlrIDxBbGVu YS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0bzpBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXgu Y29tPj4gd3JvdGU6DQpBbGV4LCBpZCBpcyB1c2VkIGFzIGEgdW5pcXVlIGlkZW50aWZpZXIgZm9y IENTIG9iamVjdHMuIEFuZCBpdCBpcyB0aGUgQ1MgcmVxdWlyZW1lbnQgdG8gcmVmZXIgdG8gdGhl IG9iamVjdCBieSBpZCBpZiB0aGUgaWQgaXMgcHJlc2VudC4gTG9vayBhdCBhbGwgdGhlIG90aGVy IEFQSXMuIFdlIG5vd2hlcmUgcmVmZXIgdG8gdGhlIG5ldHdvcmsvdnBjL3ZtIGJ5IG5hbWUganVz dCBiZWNhdXNlIGl0cyBtb3JlIGh1bWFuIHJlYWRhYmxlLiBUaGUgaWQgaXMgdXNlZCBieSBBcGkg bGF5ZXIgd2hlbiBwYXJhbWV0ZXIgdmFsaWRhdGlvbiBpcyBkb25lLCBieSBsb3RzIG9mIERhbyBt ZXRob2RzIChmaW5kQnlJZCBpcyBvbmUgb2YgdGhlbSksIGV0Yy4gIEV2ZW4gbG9vayBhdCB1cGRh dGVSZWdpb24vZGVsZXRlUmVnaW9uIOKAkyB3ZSBkb27igJl0IHJlZmVyIHRvIHRoZW0gYnkgbmFt ZSwgYnV0IGJ5IHRoZSBpZC4NCg0KVGhlIHJlYXNvbiB3aHkgS2lzaGFuIGFkZGVkIHRoZSBzdXBw b3J0IGZvciBjb250cm9sbGluZyB0aGUgaWQgYnkgYWRkaW5nIGl0IHRvIHRoZSBjcmVhdGVSZWdp b24gY2FsbCAoYW5kIG1ha2luZyBpdCB1bmlxdWUpIGlzIGV4YWN0bHkgdGhhdCDigJMgcmVnaW9u IGFkbWluaXN0cmF0b3IgY2FuIGRlY2lkZSB3aGF0IGlkIHRvIHNldCBvbiB0aGUgcmVnaW9uLCBh bmQgdG8gaW50cm9kdWNlIHRoZSByZWdpb24gd2l0aCB0aGUgc2FtZSBpZCB0byB0aGUgb3RoZXIg cmVnaW9uc+KAmSBkYi4NCg0KU28gSSB3b3VsZCBzdGlsbCBzdWdnZXN0IG9uIHVzaW5nIHRoZSBp ZCBvZiB0aGUgcmVnaW9uIGluIHRoZSBBUEkgY2FsbHMgeW91IGFyZSBtb2RpZnlpbmcuIFVubGVz cyBkZXZlbG9wZXJzIHdobyB3b3JrZWQgb24gcmVnaW9ucyBmZWF0dXJlIOKAkyBLaXNoYW4vTXVy YWxpIOKAkyBjb21lIHVwIHdpdGggdGhlIHZhbGlkIG9iamVjdGlvbi4NCg0KVGhhbmtzLA0KQWxl bmEuDQoNCkZyb206IEFsZXggT3VnaCA8YWxleC5vdWdoQHN1bmdhcmRhcy5jb208bWFpbHRvOmFs ZXgub3VnaEBzdW5nYXJkYXMuY29tPj4NCkRhdGU6IFR1ZXNkYXksIEp1bmUgMjQsIDIwMTQgYXQg NTo0MSBQTQ0KDQpUbzogQWxlbmEgUHJva2hhcmNoeWsgPGFsZW5hLnByb2toYXJjaHlrQGNpdHJp eC5jb208bWFpbHRvOmFsZW5hLnByb2toYXJjaHlrQGNpdHJpeC5jb20+Pg0KQ2M6ICJkZXZAY2xv dWRzdGFjay5hcGFjaGUub3JnPG1haWx0bzpkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPiIgPGRl dkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc8bWFpbHRvOmRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc+ PiwgS2lzaGFuIEthdmFsYSA8S2lzaGFuLkthdmFsYUBjaXRyaXguY29tPG1haWx0bzpLaXNoYW4u S2F2YWxhQGNpdHJpeC5jb20+PiwgTXVyYWxpIFJlZGR5IDxNdXJhbGkuUmVkZHlAY2l0cml4LmNv bTxtYWlsdG86TXVyYWxpLlJlZGR5QGNpdHJpeC5jb20+PiwgUmFtIEdhbmVzaCA8UmFtLkdhbmVz aEBjaXRyaXguY29tPG1haWx0bzpSYW0uR2FuZXNoQGNpdHJpeC5jb20+PiwgQW5pbWVzaCBDaGF0 dXJ2ZWRpIDxhbmltZXNoLmNoYXR1cnZlZGlAY2l0cml4LmNvbTxtYWlsdG86YW5pbWVzaC5jaGF0 dXJ2ZWRpQGNpdHJpeC5jb20+Pg0KU3ViamVjdDogUmU6IFJldmlldyBSZXF1ZXN0IDIwMDk5OiBE b21haW4tQWNjb3VudC1Vc2VyIFN5bmMgVXAgQW1vbmcgTXVsdGlwbGUgUmVnaW9ucyAoQ29yZSBD aGFuZ2VzKQ0KDQpXZSBjYW4gdXNlIHRoZSBzYW1lIGlkcyAmIG5hbWVzLCBidXQgd2UgZG9uJ3Qg aGF2ZSB0byB1c2UgdGhlIHNhbWUgaWRzIGlmIHdlIHVzZSBuYW1lcywgd2hpY2ggaXMgYSBsaXR0 bGUgZWFzaWVyIGJlY2F1c2UgbmFtZXMgYXJlIHVzZXIgcmVhZGFibGUgYnV0IGlkcyBhcmUgbm90 LCBzbyB3ZSBkb24ndCBuZWVkIHRvIG1lbW9yaXplL2NoZWNrIGFsbCB0aGUgaWRzIHdoZW4gd2Ug YWRkIG5ldyByZWdpb25zIGluIG11bHRpcGxlIHJlZ2lvbnMsIHdoaWNoIGNhbiBiZSBjb25mdXNp bmcuDQoNClRoYW5rcw0KQWxleCBPdWdoDQoNCk9uIFR1ZSwgSnVuIDI0LCAyMDE0IGF0IDg6MzMg UE0sIEFsZW5hIFByb2toYXJjaHlrIDxBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0 bzpBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPj4gd3JvdGU6DQpBcmVu4oCZdCB3ZSBzdXBw b3NlZCB0byBzeW5jIHRoZSByZWdpb25zIGFjcm9zcyB0aGUgbXVsdGlwbGUgcmVnaW9ucyBEYnM/ IEJlY2F1c2UgdGhhdOKAmXMgd2hhdCByZWdpb24gRlMgc3RhdGVzOg0KDQpodHRwczovL2N3aWtp LmFwYWNoZS5vcmcvY29uZmx1ZW5jZS9kaXNwbGF5L0NMT1VEU1RBQ0svQVdTLVN0eWxlK1JlZ2lv bnMrRnVuY3Rpb25hbCtTcGVjLCDigJxBZGRpbmcgMm5kIHJlZ2lvbuKAnSBwYXJhZ3JhcGgsIGJ1 bGxldCAjNDoNCg0KDQoxLiBJbnN0YWxsIGEgMm5kIENTIGluc3RhbmNlLg0KDQoyLiBXaGlsZSBp bnN0YWxsaW5nIGRhdGFiYXNlIHNldCByZWdpb25faWQgdXNpbmcgLXIgb3B0aW9uIGluIGNsb3Vk LXNldHVwLWRhdGFiYXNlcyBzY3JpcHQgKE1ha2Ugc3VyZSBkYXRhYmFzZV9rZXkgaXMgc2FtZSBh Y3Jvc3MgYWxsIHJlZ2lvbnMpLg0KDQpjbG91ZC1zZXR1cC1kYXRhYmFzZXMgY2xvdWQ6PGRicGFz c3dvcmQ+QGxvY2FsaG9zdCAtLWRlcGxveS1hcz1yb290OjxwYXNzd29yZD4gLWUgPGVuY3J5cHRp b25fdHlwZT4gLW0gPG1hbmFnZW1lbnRfc2VydmVyX2tleT4gLWsgPGRhdGFiYXNlX2tleT4gLXIg PHJlZ2lvbl9pZD4NCg0KMy4gU3RhcnQgbWdtdCBzZXJ2ZXINCg0KNC4gVXNpbmcgYWRkUmVnaW9u IEFQSSwgYWRkIHJlZ2lvbiAxIHRvIHJlZ2lvbiAyIGFuZCBhbHNvIHJlZ2lvbiAyIHRvIHJlZ2lv biAxLg0KDQoNCg0KSSBhc3N1bWUgdGhhdCB3ZSBleHBlY3QgdGhlIGFkbWluIHRvIGFkZCB0aGUg cmVnaW9uIHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgdGhlIHNhbWUgaWQgdG8gQUxMIHJlZ2lvbnMg RGJzIChib3RoIGlkIGFuZCBuYW1lIHNob3VsZCBiZSBwYXNzZWQgdG8gY3JlYXRlUmVnaW9uIGNh bGwpLiBTbyB0aGV5IGFyZSBhbGwgaW4gc3luYy4gSXNu4oCZdCBpdCB0aGUgcmVxdWlyZW1lbnQ/ IElmIHNvLCB3ZSBzaG91bGQgcmVseSBvbiB0aGUgZmFjdCB0aGF0IGFsbCByZWdpb25zIERicyB3 aWxsIGhhdmUgdGhlIHNhbWUgc2V0IG9mIHJlZ2lvbnMgaGF2aW5nIHRoZSBzYW1lIGlkcyBhbmQg bmFtZXMgY3Jvc3MgcmVnaW9ucy4NCg0KDQoNClRoYW5rcywNCg0KQWxlbmEuDQpGcm9tOiBBbGV4 IE91Z2ggPGFsZXgub3VnaEBzdW5nYXJkYXMuY29tPG1haWx0bzphbGV4Lm91Z2hAc3VuZ2FyZGFz LmNvbT4+DQpEYXRlOiBUdWVzZGF5LCBKdW5lIDI0LCAyMDE0IGF0IDU6MTcgUE0NClRvOiBBbGVu YSBQcm9raGFyY2h5ayA8YWxlbmEucHJva2hhcmNoeWtAY2l0cml4LmNvbTxtYWlsdG86YWxlbmEu cHJva2hhcmNoeWtAY2l0cml4LmNvbT4+DQpDYzogImRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc8 bWFpbHRvOmRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc+IiA8ZGV2QGNsb3Vkc3RhY2suYXBhY2hl Lm9yZzxtYWlsdG86ZGV2QGNsb3Vkc3RhY2suYXBhY2hlLm9yZz4+LCBLaXNoYW4gS2F2YWxhIDxL aXNoYW4uS2F2YWxhQGNpdHJpeC5jb208bWFpbHRvOktpc2hhbi5LYXZhbGFAY2l0cml4LmNvbT4+ LCBNdXJhbGkgUmVkZHkgPE11cmFsaS5SZWRkeUBjaXRyaXguY29tPG1haWx0bzpNdXJhbGkuUmVk ZHlAY2l0cml4LmNvbT4+LCBSYW0gR2FuZXNoIDxSYW0uR2FuZXNoQGNpdHJpeC5jb208bWFpbHRv OlJhbS5HYW5lc2hAY2l0cml4LmNvbT4+LCBBbmltZXNoIENoYXR1cnZlZGkgPGFuaW1lc2guY2hh dHVydmVkaUBjaXRyaXguY29tPG1haWx0bzphbmltZXNoLmNoYXR1cnZlZGlAY2l0cml4LmNvbT4+ DQoNClN1YmplY3Q6IFJlOiBSZXZpZXcgUmVxdWVzdCAyMDA5OTogRG9tYWluLUFjY291bnQtVXNl ciBTeW5jIFVwIEFtb25nIE11bHRpcGxlIFJlZ2lvbnMgKENvcmUgQ2hhbmdlcykNCg0KV2hhdCBJ J20gdHJ5aW5nIHRvIHNheSBpcyB0aGF0IHdoZW4gd2UgcGFzcyB0aGUgaWRzIG9mIHJlZ2lvbnMs IHRoZSByZWNlaXZlcnMgZG8gbm90IGtub3cgd2hhdCB0aGUgb3JpZ2luYXRlZCByZWdpb24gaXMg YW5kIHRoZSBpZCBvZiBlYWNoIHJlZ2lvbiBpcyBub3Qgc2FtZSBhY3Jvc3MgYWxsIHRoZSByZWdp b25zLg0KDQpUaGFua3MNCkFsZXggT3VnaA0KDQpPbiBUdWUsIEp1biAyNCwgMjAxNCBhdCA3OjM1 IFBNLCBBbGVuYSBQcm9raGFyY2h5ayA8QWxlbmEuUHJva2hhcmNoeWtAY2l0cml4LmNvbTxtYWls dG86QWxlbmEuUHJva2hhcmNoeWtAY2l0cml4LmNvbT4+IHdyb3RlOg0KQWxleCwgdGhhbmsgeW91 IGZvciBzdW1tYXJpemluZy4NCg0KIEkgc3RpbGwgZG9u4oCZdCBzZWUgd2h5IGlkIGNhbuKAmXQg YmUgdW5pcXVlIGFjcm9zcyByZWdpb25zIGFzIHlvdSBjYW4gY29udHJvbCB0aGUgaWQgYXNzaWdu bWVudCDigJMgaWQgaXMgcmVxdWlyZWQgd2hlbiBjcmVhdGVSZWdpb24gY2FsbCBpcyBtYWRlLiBB bmQgdGhhdOKAmXMgaG93IHRoZSByZWdpb24gc2hvdWxkIGJlIHJlcHJlc2VudGVkIGluIG90aGVy IHJlZ2lvbuKAmXMgRGJzIOKAkyBieSBpdHMgaWQgdGhhdCBpcyB1bmlxdWUgYWNyb3NzIHRoZSBy ZWdpb25zLiBLaXNoYW4vTXVyYWxpLCBwbGVhc2UgY29uZmlybS4NCg0KVGhhbmsgeW91LA0KQWxl bmEuDQoNCkZyb206IEFsZXggT3VnaCA8YWxleC5vdWdoQHN1bmdhcmRhcy5jb208bWFpbHRvOmFs ZXgub3VnaEBzdW5nYXJkYXMuY29tPj4NCkRhdGU6IFR1ZXNkYXksIEp1bmUgMjQsIDIwMTQgYXQg NDoyMiBQTQ0KVG86ICJkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnPG1haWx0bzpkZXZAY2xvdWRz dGFjay5hcGFjaGUub3JnPiIgPGRldkBjbG91ZHN0YWNrLmFwYWNoZS5vcmc8bWFpbHRvOmRldkBj bG91ZHN0YWNrLmFwYWNoZS5vcmc+Pg0KQ2M6IEFsZW5hIFByb2toYXJjaHlrIDxhbGVuYS5wcm9r aGFyY2h5a0BjaXRyaXguY29tPG1haWx0bzphbGVuYS5wcm9raGFyY2h5a0BjaXRyaXguY29tPj4s IEtpc2hhbiBLYXZhbGEgPEtpc2hhbi5LYXZhbGFAY2l0cml4LmNvbTxtYWlsdG86S2lzaGFuLkth dmFsYUBjaXRyaXguY29tPj4sIE11cmFsaSBSZWRkeSA8TXVyYWxpLlJlZGR5QGNpdHJpeC5jb208 bWFpbHRvOk11cmFsaS5SZWRkeUBjaXRyaXguY29tPj4sIFJhbSBHYW5lc2ggPFJhbS5HYW5lc2hA Y2l0cml4LmNvbTxtYWlsdG86UmFtLkdhbmVzaEBjaXRyaXguY29tPj4sIEFuaW1lc2ggQ2hhdHVy dmVkaSA8YW5pbWVzaC5jaGF0dXJ2ZWRpQGNpdHJpeC5jb208bWFpbHRvOmFuaW1lc2guY2hhdHVy dmVkaUBjaXRyaXguY29tPj4NCg0KU3ViamVjdDogUmU6IFJldmlldyBSZXF1ZXN0IDIwMDk5OiBE b21haW4tQWNjb3VudC1Vc2VyIFN5bmMgVXAgQW1vbmcgTXVsdGlwbGUgUmVnaW9ucyAoQ29yZSBD aGFuZ2VzKQ0KDQpBbGwsDQoNClRoZXJlIGlzIG9uZSBvcGVuIHF1ZXN0aW9uIGluIHRoaXMgdG9w aWMsIHdoaWNoIGlzIHRvIGZpZ3VyZSBvdXQgd2hpY2ggdmFsdWUgaXMgYXBwcm9wcmlhdGUgdG8g cGFzcyB0aGUgcmVnaW9uIG9iamVjdCwgaWQgb3IgbmFtZT8NCkR1cmluZyB0aGlzIGltcGxlbWVu dGF0aW9uLCB3ZSBkZWNpZGVkIHRvIGFkZCB0aGUgaW5mb3JtYXRpb24gb2YgcmVnaW9ucyB3aGVy ZSB1c2VyL2FjY291bnQvZG9tYWluIG9iamVjdHMgaGF2ZSBiZWVuIG9yaWdpbmFsbHkgY3JlYXRl ZC9tb2RpZmllZC9yZW1vdmVkLg0KQnV0IHRoZSBpZHMgb2YgcmVnaW9ucyBhcmUgbm90IHNhbWUg YWNyb3NzIHRoZSByZWdpb25zIGFuZCBjdXJyZW50bHkgdGhlIHJlZ2lvbnMgZG8gbm90IGhhdmUg dXVpZHModGhleSB3aWxsIG5vdCBiZSBzYW1lIGVpdGhlciBpZiB3ZSBhZGQgdGhlbSB0byByZWdp b25zKSwgc28gSSdkIGxpa2UgdG8gdXNlIG5hbWVzLg0KDQpQbGVhc2UgbGV0IG1lIGtub3cgd2hh dCB5b3UgdGhpbmsuDQpUaGFua3MNCkFsZXggT3VnaA0KDQpPbiBUdWUsIEp1biAyNCwgMjAxNCBh dCA3OjA1IFBNLCBBbmltZXNoIENoYXR1cnZlZGkgPGFuaW1lc2guY2hhdHVydmVkaUBjaXRyaXgu Y29tPG1haWx0bzphbmltZXNoLmNoYXR1cnZlZGlAY2l0cml4LmNvbT4+IHdyb3RlOg0KTGV04oCZ cyBoYXZlIHRoZSBkaXNjdXNzaW9uIG9uIGRldiBtYWlsaW5nIGxpc3QNCg0KVGhhbmtzDQpBbmlt ZXNoDQoNCkZyb206IEFsZW5hIFByb2toYXJjaHlrDQpTZW50OiBUdWVzZGF5LCBKdW5lIDI0LCAy MDE0IDM6MDYgUE0NClRvOiBBbGV4IE91Z2g7IEtpc2hhbiBLYXZhbGE7IE11cmFsaSBSZWRkeQ0K Q2M6IEFuaW1lc2ggQ2hhdHVydmVkaTsgUmFtIEdhbmVzaA0KDQpTdWJqZWN0OiBSZTogUmV2aWV3 IFJlcXVlc3QgMjAwOTk6IERvbWFpbi1BY2NvdW50LVVzZXIgU3luYyBVcCBBbW9uZyBNdWx0aXBs ZSBSZWdpb25zIChDb3JlIENoYW5nZXMpDQoNCkFkZGluZyBLaXNoYW4gdG8gdGhlIHRocmVhZCBh cyBoZSB3YXMgdGhlIG9uZSB3aG8gaW1wbGVtZW50ZWQgdGhlIHJlZ2lvbiBmZWF0dXJlIG9yaWdp bmFsbHkuDQoNCktpc2hhbiwgaW4gYSBzaXR1YXRpb24gd2hlbiB0aGVyZSBhcmUgMiByZWdpb25z IGluIHRoZSBzeXN0ZW0sIHdlIGV4cGVjdCDigJxyZWdpb27igJ0gdGFibGUgdG8gYmUgcG9wdWxh dGVkIHdpdGggdGhlIHNhbWUgaWQvbmFtZSBpbiBib3RoIERicyBmb3IgYm90aCByZWdpb25zLCBy aWdodD8gU28gbXkgcXVlc3Rpb24gaXMg4oCTIHdoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUg cmVnaW9uIGluIENTIHN5c3RlbSBpbiBjcm9zcyByZWdpb24gc2V0dXAg4oCTIGlkL25hbWU/DQoN ClRoYXQgdW5pcXVlIGlkZW50aWZpZXIgc2hvdWxkIGJlIHRoZSB2YWx1ZSB0aGF0IGlzIHBhc3Nl ZCB0byB0aGUgY2FsbHMgeW91IG1vZGlmeSwgQWxleC4gV0UgY2Fu4oCZdCBqdXN0IHBhc3Mgc29t ZSByYW5kb20gbmFtZSB0byB0aGUgY2FsbCB3aXRob3V0IG1ha2luZyBhbnkgZnVydGhlciB2ZXJp ZmljYXRpb24uDQoNCktpc2hhbi9NdXJhbGksIHBsZWFzZSBoZWxwIHRvIHZlcmlmeSB0aGlzIHBh cnQgb2YgQWxleOKAmXMgZml4IGFzIGl0IHNob3VsZCByZWFsbHkgYmUgc29tZW9uZSB3aXRoIGFu IGV4cGVydGlzZSBpbiBSZWdpb25zLiBJ4oCZdmUgcmV2aWV3ZWQgdGhlIHJlc3Qgb2YgdGhlIGZl YXR1cmUsIGp1c3QgdGhpcyBvbmUgaXRlbSBpcyBvcGVuLiBTZWUgbXkgbGF0ZXN0IGNvbW1lbnQg dG8gdGhlIGh0dHBzOi8vcmV2aWV3cy5hcGFjaGUub3JnL3IvMTc3OTAvZGlmZi8/cGFnZT0xIzAg YXMgd2VsbCBhcyByZWZlciB0byB0aGlzIGVtYWlsIHRocmVhZCBmb3IgdGhlIGNvbnRleHQuDQoN Ci1BbGVuYS4NCg0KRnJvbTogQWxlbmEgUHJva2hhcmNoeWsgPGFsZW5hLnByb2toYXJjaHlrQGNp dHJpeC5jb208bWFpbHRvOmFsZW5hLnByb2toYXJjaHlrQGNpdHJpeC5jb20+Pg0KRGF0ZTogVHVl c2RheSwgSnVuZSAyNCwgMjAxNCBhdCAyOjU0IFBNDQpUbzogQWxleCBPdWdoIDxhbGV4Lm91Z2hA c3VuZ2FyZGFzLmNvbTxtYWlsdG86YWxleC5vdWdoQHN1bmdhcmRhcy5jb20+Pg0KU3ViamVjdDog UmU6IFJldmlldyBSZXF1ZXN0IDIwMDk5OiBEb21haW4tQWNjb3VudC1Vc2VyIFN5bmMgVXAgQW1v bmcgTXVsdGlwbGUgUmVnaW9ucyAoQ29yZSBDaGFuZ2VzKQ0KDQpUaGF0IHdoYXQgd291bGQgZXZl cnlib2R5IGFzc3VtZSAxMDAlIGp1c3QgYnkgbG9va2luZyBhdCB0aGUgcGFyYW1ldGVyIGRlc2Ny aXB0aW9uIGFuZCBwYXJhbWV0ZXIg4oCTIHRoYXQgeW91IHJlZmVyIHRvIHJlZ2lvbiBVVUlEIDog IlJlZ2lvbiB3aGVyZSB0aGlzIGFjY291bnQgaXMgY3JlYXRlZC7igJ0vT1JJR0lOQVRFRFJFR0lP TlVVSUQNCkluIENTIHRoZSBVVUlEIGhhcyBhIHNwZWNpYWwgbWVhbmluZy4gSXQgaGFzIHRvIGhh dmUgdGhlIFVVSUQgZm9ybWF0LCBhbmQgaXRzIHJhbmRvbWx5IGdlbmVyYXRlZCB2YWx1ZSB0aGF0 IGlzIHN0b3JlZCBpbiB0aGUgREIgYWxvbmcgd2l0aCB0aGUgYWN0dWFsIGRiIGlkLiBJIGNhbiBz ZWUgdGhhdCByZWdpb25WTyBsYWNrcyBVVUlEIGZpZWxkLiBMb29rcyBsaWtlIGV4aXN0aW5nIFJl Z2lvblZPIG9iamVjdCBsYWNrcyB0aGlzIGZpbGVkIHVubGlrZSBvdGhlciBDUyBvYmplY3RzICh1 c2Vydm0sIGV0YykuIEkgd2lsbCBmb2xsb3cgdXAgd2l0aCBNdXJhbGkgb24gdGhhdC4NCg0KQWxl eCwgc28gb3JpZ2luYXRlZFJlZ2lvblVVSUQgcmVmZXJzIHRvIHRoZSByZWdpb24gbmFtZSwgY29y cmVjdD8uIFdoeSBkb27igJl0IHVzZSB0aGUgcmVnaW9uIGlkIGluc3RlYWQ/IFRoYXTigJlzIHdo YXQgd2UgZG8gd2hlbiByZWZlciB0byBDUyBvYmplY3RzIOKAkyB3ZSBhbHdheXMgcmVmZXIgdG8g dGhlbSBieSBpZCB3aGljaCBpcyB1bmlxdWUuIFdoaWNoIGlzIHRydWUgZXZlbiBmb3IgdGhlIHJl Z2lvbjoNCg0KbXlzcWw+IHNob3cgY3JlYXRlIHRhYmxlIHJlZ2lvbjsNCg0KIFVOSVFVRSBLRVkg YGlkYCAoYGlkYCksDQogIFVOSVFVRSBLRVkgYG5hbWVgIChgbmFtZWApDQoNCg0KVGhhdOKAmXMg d2hhdCB5b3UgZG8gd2hlbiB5b3UgbWFuaXB1bGF0ZSB0aGUgcmVnaW9uIGl0c2VsZiAoZGVsZXRl L3VwZGF0ZVJlZ2lvbikgLSByZWZlciB0byB0aGUgcmVnaW9uIGJ5IGl0cyBpZC4gQW5kIHRoaXMg ZmllbGQgaXMgcmV0dXJuZWQgdG8geW91IHdoZW4geW91IGNhbGwgbGlzdFJlZ2lvbnMgQVBJOg0K DQpodHRwOi8vbG9jYWxob3N0OjgwOTYvP2NvbW1hbmQ9bGlzdFJlZ2lvbnMNCjxyZWdpb24+DQo8 aWQ+MTwvaWQ+DQo8bmFtZT5Mb2NhbDwvbmFtZT4NCjxlbmRwb2ludD5odHRwOi8vbG9jYWxob3N0 OjgwODAvY2xpZW50LzwvZW5kcG9pbnQ+DQo8Z3NsYnNlcnZpY2VlbmFibGVkPnRydWU8L2dzbGJz ZXJ2aWNlZW5hYmxlZD4NCjxwb3J0YWJsZWlwc2VydmljZWVuYWJsZWQ+ZmFsc2U8L3BvcnRhYmxl aXBzZXJ2aWNlZW5hYmxlZD4NCjwvcmVnaW9uPg0KDQoNClBsZWFzZSBjb3JyZWN0IGlmIEkgbWlz cyBzb21ldGhpbmcuDQotQWxlbmEuDQoNCkZyb206IEFsZXggT3VnaCA8YWxleC5vdWdoQHN1bmdh cmRhcy5jb208bWFpbHRvOmFsZXgub3VnaEBzdW5nYXJkYXMuY29tPj4NCkRhdGU6IFR1ZXNkYXks IEp1bmUgMjQsIDIwMTQgYXQgMjozMyBQTQ0KVG86IEFsZW5hIFByb2toYXJjaHlrIDxhbGVuYS5w cm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0bzphbGVuYS5wcm9raGFyY2h5a0BjaXRyaXguY29t Pj4NClN1YmplY3Q6IFJlOiBSZXZpZXcgUmVxdWVzdCAyMDA5OTogRG9tYWluLUFjY291bnQtVXNl ciBTeW5jIFVwIEFtb25nIE11bHRpcGxlIFJlZ2lvbnMgKENvcmUgQ2hhbmdlcykNCg0KVGhhbmtz IGZvciB0aGUgY2xhcmlmaWNhdGlvbiwgYnV0IGhlcmUgaXMgYSB0aGluZy4NCg0KSSdtIHBhc3Np bmcgbmFtZXMgYXMgdGhlIHZhbHVlcyBvZiBvcmlnaW5hdGVkUmVnaW9uVXVpZHMgYmVjYXVzZSB0 aGUgdXVpZHMgYXJlIHJhbmRvbWx5IGdlbmVyYXRlZCBhbmQgdGhlIHNhbWUgcmVnaW9ucyBkbyBO T1QgaGF2ZSB0aGUgc2FtZSB1dWlkc3MuDQpTbyBJJ2QgbGlrZSB0byBjaGFuZ2UgdGhlIHBhcmFt ZXRlciB0eXBlcyBpbnRvIFN0cmluZy4NCkxldCBtZSBrbm93IGlmIHlvdSB0aGluayBvdGhlcndp c2UuDQoNClRoYW5rcw0KQWxleCBPdWdoDQoNCk9uIFR1ZSwgSnVuIDI0LCAyMDE0IGF0IDU6MTcg UE0sIEFsZW5hIFByb2toYXJjaHlrIDxBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0 bzpBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPj4gd3JvdGU6DQpBbGV4LA0KDQp0YWtlIGEg bG9vayBhdCBQYXJhbVByb2Nlc3NXb3JrZXIgY2xhc3MsIGFuZCBob3cgQVBJIHBhcmFtZXRlcnMg YXJlIGJlaW5nIGRpc3BhdGNoZWQvdmVyaWZpZWQuDQoNCg0KMSkgIHB1YmxpYyB2b2lkIHByb2Nl c3NQYXJhbWV0ZXJzKGZpbmFsIEJhc2VDbWQgY21kLCBmaW5hbCBNYXAgcGFyYW1zKSBtZXRob2QN Cg0KRmlyc3Qgb2YgYWxsLCBFbnRpdHlUeXBlIHBhcmFtZXRlciBzaG91bGQgYmUgZGVmaW5lZCBp biB0aGUgQFBhcmFtZXRlciBhbm5vdGF0aW9uIGZvciB0aGUgb3JpZ2luYXRlZFJlZ2lvbklEIGZp ZWxkLiBUaGlzIHBhcmFtZXRlciBpcyB1c2VkIGJ5IHBhcmFtUHJvY2Vzc1dvcmtlciB0byBtYWtl ICJpZiBlbnRpdHkgZXhpc3RzIiB2YWxpZGF0aW9uDQoNCg0KMikgQ2hlY2sgYW5vdGhlciBtZXRo b2QgaW4gdGhlIHNhbWUgY2xhc3M6DQoNCnByaXZhdGUgdm9pZCBzZXRGaWVsZFZhbHVlKGZpbmFs IEZpZWxkIGZpZWxkLCBmaW5hbCBCYXNlQ21kIGNtZE9iaiwgZmluYWwgT2JqZWN0IHBhcmFtT2Jq LCBmaW5hbCBQYXJhbWV0ZXIgYW5ub3RhdGlvbikgdGhyb3dzIElsbGVnYWxBcmd1bWVudEV4Y2Vw dGlvbiwgUGFyc2VFeGNlcHRpb24gew0KDQpUaGF0cyB0aGUgbWV0aG9kIHJlc3BvbnNpYmxlIGZv ciBkaXNwYXRjaGluZy9zZXR0aW5nIHRoZSBmaWVsZCB2YWx1ZXMuIEhlcmUgaXMgdGhlIHNuaXBw ZXQgb2YgdGhlIGNvZGUgZm9yIHRoZSBjYXNlIHdoZW4gVVVJRCBpcyBkZWZpbmVkOg0KDQogY2Fz ZSBVVUlEOg0KICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW1PYmoudG9TdHJpbmcoKS5pc0Vt cHR5KCkpDQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAg ICAgZmluYWwgTG9uZyBpbnRlcm5hbElkID0gdHJhbnNsYXRlVXVpZFRvSW50ZXJuYWxJZChwYXJh bU9iai50b1N0cmluZygpLCBhbm5vdGF0aW9uKTsNCiAgICAgICAgICAgICAgICAgICAgZmllbGQu c2V0KGNtZE9iaiwgaW50ZXJuYWxJZCk7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KDQpp dCBhbHdheXMgdHJhbnNmb3JtcyB0aGUgVVVJRCB0byBMb25nIGlkLCBub3Qgc3RyaW5nLiBBbmQg YXQgdGhlIGVuZCwgaXQgd2lsbCBiZSBpbnRlcm5hbCBEQiBVVUlELCBub3QgdGhlIFVVSUQuIElm IHlvdSBuZWVkIHRoZSBVVUlELCB5b3UgaGF2ZSB0byBnZXQgaXQgYnkgYSkgcmV0cmlldmluZyB0 aGUgb2JqZWN0IGZyb20gdGhlIERCIGJ5IGlkIGIpIEdldHRpbmcgaXRzIFVVSUQgcHJvcGVydHku DQoNCklmIHlvdSBsZWF2ZSBpdCBhcyBhIFN0cmluZywgeW91IHdpbGwgaGl0IElsbGVnYWxBcmd1 bWVudEV4Y2VwdGlvbiBhdCAiZmllbGQuc2V0KGNtZE9iaiwgaW50ZXJuYWxJZCk7IiBsaW5lLg0K DQoNCkhvcGUgaXQgYW5zd2VycyB5b3VyIHF1ZXN0aW9ucywgYW5kIGxldCBtZSBrbm93IGlmIGFu eXRoaW5nIGVsc2UgbmVlZHMgdG8gYmUgY2xhcmlmaWVkLg0KDQotYWxlbmEuDQoNCkZyb206IEFs ZXggT3VnaCA8YWxleC5vdWdoQHN1bmdhcmRhcy5jb208bWFpbHRvOmFsZXgub3VnaEBzdW5nYXJk YXMuY29tPj4NCkRhdGU6IFR1ZXNkYXksIEp1bmUgMjQsIDIwMTQgYXQgMTo1NyBQTQ0KDQpUbzog QWxlbmEgUHJva2hhcmNoeWsgPGFsZW5hLnByb2toYXJjaHlrQGNpdHJpeC5jb208bWFpbHRvOmFs ZW5hLnByb2toYXJjaHlrQGNpdHJpeC5jb20+Pg0KU3ViamVjdDogUmU6IFJldmlldyBSZXF1ZXN0 IDIwMDk5OiBEb21haW4tQWNjb3VudC1Vc2VyIFN5bmMgVXAgQW1vbmcgTXVsdGlwbGUgUmVnaW9u cyAoQ29yZSBDaGFuZ2VzKQ0KDQpXaHkgZG8geW91IHdhbnQgdG8gY2hhbmdlIFVVSUQgdG8gJ0xv bmcnPw0KQ2FuIHlvdSBqdXN0IGNvcnJlY3Qgd2hhdCBJIGZpeGVkPw0KDQpPbiBUdWUsIEp1biAy NCwgMjAxNCBhdCA0OjIxIFBNLCBBbGVuYSBQcm9raGFyY2h5ayA8QWxlbmEuUHJva2hhcmNoeWtA Y2l0cml4LmNvbTxtYWlsdG86QWxlbmEuUHJva2hhcmNoeWtAY2l0cml4LmNvbT4+IHdyb3RlOg0K WW91IG5lZWQgdG8gcHV0Og0KDQoqICB0aGUgZW50aXR5VHlwZSBwYXJhbWV0ZXIgdG8gdGhlIGFu bm90YXRpb24uDQoNCiAgKiAgIENoYW5nZSB0aGUgdHlwZSB0byBMb25nIGFzIEnigJl2ZSBhbHJl YWR5IG1lbnRpb25lZC4gQ2hlY2sgaG93IG90aGVyIGNvbW1hbmRzIGhhbmRsZSB0aGUgcGFyYW1l dGVycyAobmV0d29ya0lkLCB2cGNJZCwgZXRjKQ0K4oCUQWxlbmEuDQoNCkZyb206IEFsZXggT3Vn aCA8YWxleC5vdWdoQHN1bmdhcmRhcy5jb208bWFpbHRvOmFsZXgub3VnaEBzdW5nYXJkYXMuY29t Pj4NCkRhdGU6IFR1ZXNkYXksIEp1bmUgMjQsIDIwMTQgYXQgMTI6NDcgUE0NCg0KVG86IEFsZW5h IFByb2toYXJjaHlrIDxhbGVuYS5wcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0bzphbGVuYS5w cm9raGFyY2h5a0BjaXRyaXguY29tPj4NClN1YmplY3Q6IFJlOiBSZXZpZXcgUmVxdWVzdCAyMDA5 OTogRG9tYWluLUFjY291bnQtVXNlciBTeW5jIFVwIEFtb25nIE11bHRpcGxlIFJlZ2lvbnMgKENv cmUgQ2hhbmdlcykNCg0KV2lsbCB0aGlzIGNoYW5nZSB3b3JrPw0KDQogICAgQFBhcmFtZXRlcihu YW1lID0gQXBpQ29uc3RhbnRzLk9SSUdJTkFURURfUkVHSU9OX0lELCB0eXBlID0gQ29tbWFuZFR5 cGUuVVVJRCwgZGVzY3JpcHRpb24gPSAiUmVnaW9uIFVVSUQgd2hlcmUgdGhpcyBhY2NvdW50IGlz IGNyZWF0ZWQuIiwgc2luY2UgPSAiNC41IikNCiAgICBwcml2YXRlIFN0cmluZyBvcmlnaW5hdGVk UmVnaW9uVVVJRDsNCg0KDQpPbiBUdWUsIEp1biAyNCwgMjAxNCBhdCAzOjI1IFBNLCBBbGV4IE91 Z2ggPGFsZXgub3VnaEBzdW5nYXJkYXMuY29tPG1haWx0bzphbGV4Lm91Z2hAc3VuZ2FyZGFzLmNv bT4+IHdyb3RlOg0KQWxlbmEsDQoNClRoaXMgaXMgd2hhdCByZWFsbHkgZnJ1c3RyYXRlcyBtZSwg YnV0IGNhbiB5b3UgZ2l2ZSB0aGUgZmluYWwgaXRlbXMgaW5zdGVhZCBvZiBrZWVwaW5nIGFkZGlu ZyBtb3JlIGl0ZW1zIHdoZW5ldmVyIEkgcG9zdCBhIHJldmlldywgcGxlYXNlPw0KQ2FuIHlvdSBn dXJhbnRlZSB0aGF0IHRoaXMgaXMgdGhlIG9ubHkgaXRlbSB5b3Ugd2FudCBtZSB0byBmaXg/DQoN Ck9uIFR1ZSwgSnVuIDI0LCAyMDE0IGF0IDM6MDQgUE0sIEFsZW5hIFByb2toYXJjaHlrIDxBbGVu YS5Qcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0bzpBbGVuYS5Qcm9raGFyY2h5a0BjaXRyaXgu Y29tPj4gd3JvdGU6DQpBbGV4LCBhcyBhIHBhcnQgb2YgdGhlIGZpeCwgYWxzbyBjaGFuZ2UgdGhl IHBhcmFtIG5hbWUgdG8gYmUgcmVnaW9uSWQgKHRoZXJlIHNob3VsZCBiZSBhIHZhbHVlIGluIGFw aWNvbnN0YW50cyBhbHJlYWR5KSBhcyB0aGUgcGFyYW1ldGVyIHJlYWxseSByZWZsZWN0cyBDUyBy ZWdpb24gb2JqZWN0LCBhbmQgd2UgdXN1YWxseSByZWZlciB0byB0aG9zZSBhcyBuZXR3b3JrSUQs IHZwY0lEIChub3QgdXVpZCkgYWx0aG91Z2ggdXVpZCBhcmUgcGFzc2VkIGluLiBDaGVjayBpZiB0 aGUgcmVzdCBvZiB0aGUgYXBpIGNoYW5nZXMgeW91J3ZlIGRvbmUsIHJlc3BlY3QgdGhpcyBydWxl LiBTb3JyeSwgb3V0IG9mIHRoZSBvZmZpY2Ugbm93IGFuZCBjYW50IGNoZWNrIG15c2VsZiBpZiB0 aGVyZSBhcmUgYW55Lg0KDQotYWxlbmENCg0KPiBPbiBKdW4gMjQsIDIwMTQsIGF0IDExOjEyIEFN LCAiQWxlbmEgUHJva2hhcmNoeWsiIDxhbGVuYS5wcm9raGFyY2h5a0BjaXRyaXguY29tPG1haWx0 bzphbGVuYS5wcm9raGFyY2h5a0BjaXRyaXguY29tPj4gd3JvdGU6DQo+DQo+DQo+IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IFRo aXMgaXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZS1tYWlsLiBUbyByZXBseSwgdmlzaXQ6 DQo+IGh0dHBzOi8vcmV2aWV3cy5hcGFjaGUub3JnL3IvMjAwOTkvI3JldmlldzQ2NTU3DQo+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+DQo+DQo+IEFsZXgsIG9uZSBzbWFsbCB0aGluZy4NCj4NCj4gSnVzdCBub3RpY2VkIHRoYXQg aW4gdGhlIEFQSSBjb21tYW5kcyB5b3UgcGFzcyByZWdpb25VVUlEIGFzIGEgc3RyaW5nLiBZb3Ug c2hvdWxkIHBhc3MgaXQgYXMgYSB0eXBlIG9mIFVVSUQgYW5kIHNwZWNpZnkgdGhlIGVudGl0eVR5 cGUgcGFyYW1ldGVyIGluIEBQYXJhbWV0ZXIgc28gdGhlIGVudGl0eSB2YWxpZGF0aW9uIGlzIGRv bmUgY29ycmVjdGx5LiBFeGFtcGxlOg0KPg0KPiBAUGFyYW1ldGVyKG5hbWU9QXBpQ29uc3RhbnRz LlpPTkVfSUQsIHR5cGU9Q29tbWFuZFR5cGUuVVVJRCwgZW50aXR5VHlwZSA9IFpvbmVSZXNwb25z ZS5jbGFzcywNCj4gICAgICAgICAgICByZXF1aXJlZD10cnVlLCBkZXNjcmlwdGlvbj0idGhlIFpv bmUgSUQgZm9yIHRoZSBuZXR3b3JrIikNCj4gICAgcHJpdmF0ZSBMb25nIHpvbmVJZDsNCj4NCj4g VGhhdCBpcyB0aGUgcnVsZSB3aGVuIHBhc3NpbmcgaWQvdXVpZCBvZiB0aGUgZmlyc3QgY2xhc3Mg Q1Mgb2JqZWN0IHRvIHRoZSBBUEkgY2FsbA0KPg0KPiBUaGVuIGJlIGF3YXJlIG9mIHRoZSBmYWN0 IHRoYXQgdGhlIEFQSURpc3BhdGNoZXIgd2lsbCB0cmFuc2Zvcm0gVVVJRCB0byB0aGUgYWN0dWFs IERCIGlkLCBhbmQgdGhhdCB3b3VsZCBiZSB0aGUgSWQgdGhhdCB5b3UgcGFzcyB0byB0aGUgc2Vy dmljZXMgY2FsbC4gSWYgd2hhdCB5b3UgbmVlZCBpcyBVVUlELCBub3QgdGhlIGFjdHVhbCBpZCwg dG8gYmUgc2F2ZWQgaW4gdGhlIGNhbGxDb250ZXh0LCB5b3UgaGF2ZSB0byB0cmFuc2Zvcm0gaXQg ZXhwbGljaXRseS4NCj4NCj4gLSBBbGVuYSBQcm9raGFyY2h5aw0KPg0KPg0KPj4gT24gSnVuZSAy NCwgMjAxNCwgMzo1NCBwLm0uLCBBbGV4IE91Z2ggd3JvdGU6DQo+Pg0KPj4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+IFRoaXMg aXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZS1tYWlsLiBUbyByZXBseSwgdmlzaXQ6DQo+ PiBodHRwczovL3Jldmlld3MuYXBhY2hlLm9yZy9yLzIwMDk5Lw0KPj4gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+DQo+PiAoVXBk YXRlZCBKdW5lIDI0LCAyMDE0LCAzOjU0IHAubS4pDQo+Pg0KPj4NCj4+IFJldmlldyByZXF1ZXN0 IGZvciBjbG91ZHN0YWNrLg0KPj4NCj4+DQo+PiBSZXBvc2l0b3J5OiBjbG91ZHN0YWNrLWdpdA0K Pj4NCj4+DQo+PiBEZXNjcmlwdGlvbg0KPj4gLS0tLS0tLQ0KPj4NCj4+IFRoaXMgaXMgdGhlIHJl dmlldyByZXF1ZXN0IGZvciB0aGUgY29yZSBjaGFuZ2VzIHJlbGF0ZWQgd2l0aCAjMTc3OTAgdGhh dCBoYXMgb25seSB0aGUgbmV3IHBsdWdpbiBjb2Rlcy4NCj4+DQo+Pg0KPj4gRGlmZnMNCj4+IC0t LS0tDQo+Pg0KPj4gIGFwaS9zcmMvY29tL2Nsb3VkL2V2ZW50L0V2ZW50VHlwZXMuamF2YSAwZmEz Y2Q1DQo+PiAgYXBpL3NyYy9jb20vY2xvdWQvdXNlci9BY2NvdW50U2VydmljZS5qYXZhIGVhYzhh NzYNCj4+ICBhcGkvc3JjL2NvbS9jbG91ZC91c2VyL0RvbWFpblNlcnZpY2UuamF2YSA0YzFmOTNk DQo+PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL0FwaUNvbnN0YW50cy5qYXZh IGFkZGE1ZjQNCj4+ICBhcGkvc3JjL29yZy9hcGFjaGUvY2xvdWRzdGFjay9hcGkvQmFzZUNtZC5q YXZhIGFjOWEyMDgNCj4+ICBhcGkvc3JjL29yZy9hcGFjaGUvY2xvdWRzdGFjay9hcGkvY29tbWFu ZC9hZG1pbi9hY2NvdW50L0NyZWF0ZUFjY291bnRDbWQuamF2YSA1MGQ2N2Q5DQo+PiAgYXBpL3Ny Yy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQvYWRtaW4vYWNjb3VudC9EZWxldGVB Y2NvdW50Q21kLmphdmEgNTc1NGVjNQ0KPj4gIGFwaS9zcmMvb3JnL2FwYWNoZS9jbG91ZHN0YWNr L2FwaS9jb21tYW5kL2FkbWluL2FjY291bnQvRGlzYWJsZUFjY291bnRDbWQuamF2YSAzZTVlMWQz DQo+PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQvYWRtaW4vYWNj b3VudC9FbmFibGVBY2NvdW50Q21kLmphdmEgZjMwYzk4NQ0KPj4gIGFwaS9zcmMvb3JnL2FwYWNo ZS9jbG91ZHN0YWNrL2FwaS9jb21tYW5kL2FkbWluL2FjY291bnQvTG9ja0FjY291bnRDbWQuamF2 YSAzYzE4NWU0DQo+PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQv YWRtaW4vYWNjb3VudC9VcGRhdGVBY2NvdW50Q21kLmphdmEgYTdjZTc0YQ0KPj4gIGFwaS9zcmMv b3JnL2FwYWNoZS9jbG91ZHN0YWNrL2FwaS9jb21tYW5kL2FkbWluL2RvbWFpbi9DcmVhdGVEb21h aW5DbWQuamF2YSAzMTJjOWVlDQo+PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBp L2NvbW1hbmQvYWRtaW4vZG9tYWluL0RlbGV0ZURvbWFpbkNtZC5qYXZhIGE2ZDJiMGINCj4+ICBh cGkvc3JjL29yZy9hcGFjaGUvY2xvdWRzdGFjay9hcGkvY29tbWFuZC9hZG1pbi9kb21haW4vVXBk YXRlRG9tYWluQ21kLmphdmEgNDA5YTg0ZA0KPj4gIGFwaS9zcmMvb3JnL2FwYWNoZS9jbG91ZHN0 YWNrL2FwaS9jb21tYW5kL2FkbWluL3JlZ2lvbi9BZGRSZWdpb25DbWQuamF2YSBmNjc0M2JhDQo+ PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQvYWRtaW4vcmVnaW9u L1VwZGF0ZVJlZ2lvbkNtZC5qYXZhIGIwOGNiYmINCj4+ICBhcGkvc3JjL29yZy9hcGFjaGUvY2xv dWRzdGFjay9hcGkvY29tbWFuZC9hZG1pbi91c2VyL0NyZWF0ZVVzZXJDbWQuamF2YSA4ZjIyM2Fj DQo+PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQvYWRtaW4vdXNl ci9EZWxldGVVc2VyQ21kLmphdmEgMDhiYTUyMQ0KPj4gIGFwaS9zcmMvb3JnL2FwYWNoZS9jbG91 ZHN0YWNrL2FwaS9jb21tYW5kL2FkbWluL3VzZXIvRGlzYWJsZVVzZXJDbWQuamF2YSBjNmUwOWVm DQo+PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQvYWRtaW4vdXNl ci9FbmFibGVVc2VyQ21kLmphdmEgZDY5ZWNjZg0KPj4gIGFwaS9zcmMvb3JnL2FwYWNoZS9jbG91 ZHN0YWNrL2FwaS9jb21tYW5kL2FkbWluL3VzZXIvTG9ja1VzZXJDbWQuamF2YSA2OTYyM2QwDQo+ PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQvYWRtaW4vdXNlci9S ZWdpc3RlckNtZC5qYXZhIDIwOTBkMjENCj4+ICBhcGkvc3JjL29yZy9hcGFjaGUvY2xvdWRzdGFj ay9hcGkvY29tbWFuZC9hZG1pbi91c2VyL1VwZGF0ZVVzZXJDbWQuamF2YSBmMjFlMjY0DQo+PiAg YXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL3Jlc3BvbnNlL1JlZ2lvblJlc3BvbnNl LmphdmEgNmM3NGZhNg0KPj4gIGFwaS9zcmMvb3JnL2FwYWNoZS9jbG91ZHN0YWNrL3JlZ2lvbi9S ZWdpb24uamF2YSBkZjY0ZTQ0DQo+PiAgYXBpL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svcmVn aW9uL1JlZ2lvblNlcnZpY2UuamF2YSBhZmVmY2M3DQo+PiAgYXBpL3Rlc3Qvb3JnL2FwYWNoZS9j bG91ZHN0YWNrL2FwaS9jb21tYW5kL3Rlc3QvUmVnaW9uQ21kVGVzdC5qYXZhIDEwYzNkODUNCj4+ ICBjbGllbnQvcG9tLnhtbCAyOWZlZjRmDQo+PiAgZW5naW5lL3NjaGVtYS9yZXNvdXJjZXMvTUVU QS1JTkYvY2xvdWRzdGFjay9jb3JlL3NwcmluZy1lbmdpbmUtc2NoZW1hLWNvcmUtZGFvcy1jb250 ZXh0LnhtbCAyZWYwZDIwDQo+PiAgZW5naW5lL3NjaGVtYS9zcmMvY29tL2Nsb3VkL3VzZXIvQWNj b3VudFZPLmphdmEgMGY1YTA0NA0KPj4gIGVuZ2luZS9zY2hlbWEvc3JjL29yZy9hcGFjaGUvY2xv dWRzdGFjay9yZWdpb24vUmVnaW9uVk8uamF2YSA2MDhiZDJiDQo+PiAgcGx1Z2lucy9uZXR3b3Jr LWVsZW1lbnRzL2p1bmlwZXItY29udHJhaWwvdGVzdC9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svbmV0 d29yay9jb250cmFpbC9tYW5hZ2VtZW50L01vY2tBY2NvdW50TWFuYWdlci5qYXZhIDQxMzZiNWMN Cj4+ICBwbHVnaW5zL3BvbS54bWwgYjVlNmE2MQ0KPj4gIHBsdWdpbnMvdXNlci1hdXRoZW50aWNh dG9ycy9sZGFwL3NyYy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svYXBpL2NvbW1hbmQvTGRhcENyZWF0 ZUFjY291bnRDbWQuamF2YSBiNzUzOTUyDQo+PiAgcGx1Z2lucy91c2VyLWF1dGhlbnRpY2F0b3Jz L2xkYXAvc3JjL29yZy9hcGFjaGUvY2xvdWRzdGFjay9hcGkvY29tbWFuZC9MZGFwSW1wb3J0VXNl cnNDbWQuamF2YSA2ZjdiZTkwDQo+PiAgc2VydmVyL3NyYy9jb20vY2xvdWQvYXBpL0FwaVJlc3Bv bnNlSGVscGVyLmphdmEgZjFmMGQyYw0KPj4gIHNlcnZlci9zcmMvY29tL2Nsb3VkL2FwaS9kaXNw YXRjaC9QYXJhbVByb2Nlc3NXb3JrZXIuamF2YSAxNTkyYjkzDQo+PiAgc2VydmVyL3NyYy9jb20v Y2xvdWQvZXZlbnQvQWN0aW9uRXZlbnRVdGlscy5qYXZhIDJiM2NmZWENCj4+ICBzZXJ2ZXIvc3Jj L2NvbS9jbG91ZC9wcm9qZWN0cy9Qcm9qZWN0TWFuYWdlckltcGwuamF2YSBkMTBjMDU5DQo+PiAg c2VydmVyL3NyYy9jb20vY2xvdWQvdXNlci9BY2NvdW50TWFuYWdlci5qYXZhIDE5NGM1ZDINCj4+ ICBzZXJ2ZXIvc3JjL2NvbS9jbG91ZC91c2VyL0FjY291bnRNYW5hZ2VySW1wbC5qYXZhIDdhODg5 ZjENCj4+ICBzZXJ2ZXIvc3JjL2NvbS9jbG91ZC91c2VyL0RvbWFpbk1hbmFnZXIuamF2YSBmNzJi MThhDQo+PiAgc2VydmVyL3NyYy9jb20vY2xvdWQvdXNlci9Eb21haW5NYW5hZ2VySW1wbC5qYXZh IGZiYmUwYzINCj4+ICBzZXJ2ZXIvc3JjL29yZy9hcGFjaGUvY2xvdWRzdGFjay9yZWdpb24vUmVn aW9uTWFuYWdlci5qYXZhIDZmMjU0ODENCj4+ICBzZXJ2ZXIvc3JjL29yZy9hcGFjaGUvY2xvdWRz dGFjay9yZWdpb24vUmVnaW9uTWFuYWdlckltcGwuamF2YSA4OTEwNzE0DQo+PiAgc2VydmVyL3Ny Yy9vcmcvYXBhY2hlL2Nsb3Vkc3RhY2svcmVnaW9uL1JlZ2lvblNlcnZpY2VJbXBsLmphdmEgOThj ZjUwMA0KPj4gIHNlcnZlci90ZXN0L2NvbS9jbG91ZC91c2VyL0FjY291bnRNYW5hZ2VySW1wbFRl c3QuamF2YSAxNzZjZjFkDQo+PiAgc2VydmVyL3Rlc3QvY29tL2Nsb3VkL3VzZXIvTW9ja0FjY291 bnRNYW5hZ2VySW1wbC5qYXZhIDc0NmZhMWINCj4+ICBzZXJ2ZXIvdGVzdC9jb20vY2xvdWQvdXNl ci9Nb2NrRG9tYWluTWFuYWdlckltcGwuamF2YSA3ZGRkZWZiDQo+PiAgc2VydmVyL3Rlc3Qvb3Jn L2FwYWNoZS9jbG91ZHN0YWNrL3JlZ2lvbi9SZWdpb25NYW5hZ2VyVGVzdC5qYXZhIGQ3YmM1MzcN Cj4+ICBzZXR1cC9kYi9kYi9zY2hlbWEtNDQwdG80NTAuc3FsIGVlNDE5YTINCj4+ICB1aS9zY3Jp cHRzL3JlZ2lvbnMuanMgMzY4YzFiZg0KPj4NCj4+IERpZmY6IGh0dHBzOi8vcmV2aWV3cy5hcGFj aGUub3JnL3IvMjAwOTkvZGlmZi8NCj4+DQo+Pg0KPj4gVGVzdGluZw0KPj4gLS0tLS0tLQ0KPj4N Cj4+IDEuIFN1Y2Nlc3NmdWxseSB0ZXN0ZWQgcmVhbCB0aW1lIHN5bmNocm9uaXphdGlvbiBhcyBz b29uIGFzIHJlc291cmNlcyBhcmUgY3JlYXRlZC9kZWxldGVkL21vZGlmaWVkIGluIG9uZSByZWdp b24uDQo+PiAyLiBTdWNjZXNzZnVsbHkgdGVzdGVkIGZ1bGwgc2NhbnMgdG8gc3luY2hyb25pemUg cmVzb3VyY2VzIHRoYXQgd2VyZSBtaXNzZWQgZHVyaW5nIHJlYWwgdGltZSBzeW5jaHJvbml6YXRp b24gYmVjYXVzZSBvZiBhbnkgcmVhc29ucyBsaWtlIG5ldHdvcmsgY29ubmVjdGlvbiBpc3N1ZXMu DQo+PiAzLiBUaGUgdGVzdHMgd2VyZSBkb25lIG1hbnVhbGx5IGFuZCBhbHNvIGF1dG9tYXRpY2Fs bHkgYnkgcmFuZG9tbHkgZ2VuZXJhdGluZyBjaGFuZ2VzIGVhY2ggcmVnaW9uLg0KPj4NCj4+DQo+ PiBUaGFua3MsDQo+Pg0KPj4gQWxleCBPdWdoDQo+DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN Cg0KDQoNCg== --_000_C7522783E0E6D3488D82B9A7F7F004B912C63382SINPEX01CL01cit_--