Received: from localhost ([::1]:53662 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1SoLc2-0007kX-F4; Mon, 09 Jul 2012 14:35:22 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:33400 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1SoLbv-0007jf-2I for wikineurotic@lojban.org; Mon, 09 Jul 2012 14:35:19 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 9 Jul 2012 14:35:14 -0700 From: "Apache" Date: Mon, 9 Jul 2012 14:35:14 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page Folleto de introducción al lojban was changed by AldoEZ at 09:35 GMT+12 You can view the page by following this link: http://www.lojban.org/tiki/Folleto%20de%20introducci%C3%B3n%20al%20lojban [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] =?utf-8?q?Wiki_page_Folleto_de_introducci=C3=B3n_a?= =?utf-8?q?l_lojban_changed_by_AldoEZ?= X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgRm9sbGV0byBkZSBpbnRyb2R1Y2Npw7NuIGFsIGxvamJhbiB3YXMgY2hhbmdlZCBi eSBBbGRvRVogYXQgMDk6MzUgR01UKzEyCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93 aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS9Gb2xsZXRvJTIwZGUl MjBpbnRyb2R1Y2NpJUMzJUIzbiUyMGFsJTIwbG9qYmFuCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJh Y2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6 Ly93d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9Rm9sbGV0byUy MGRlJTIwaW50cm9kdWNjaSVDMyVCM24lMjBhbCUyMGxvamJhbiZjb21wYXJlPTEmb2xkdmVyPTIm bmV3dmVyPTMKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBm b2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDQyLTQ4IGNoYW5nZWQgdG8gK0xpbmVzOiA0Mi00NiBAQAorLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwohIU90cm9zIHVzb3Mg ZGVsIGxvamJhbntBTkFNRSgpfW90aGVydXNlc3tBTkFNRX0KCi0gRWwgbG9qYmFuIGZ1ZSBkaXNl w7FhZG8gcGFyYSBzZXIgdW4gaWRpb21hIGh1bWFubywgbm8gdW4gbGVuZ3VhamUgZGUgcHJvZ3Jh bWFjacOzbi48YnIgLz48YnIgLz5Mb2piYW4gd2FzIGRlc2lnbmVkIGFzIGEgaHVtYW4gbGFuZ3Vh Z2UsIGFuZCBub3QgYXMgYSBjb21wdXRlciBsYW5ndWFnZS4gSXQgaXMgdGhlcmVmb3JlIGludGVu ZGVkIGZvciB1c2UgaW4gY29udmVyc2F0aW9uLCByZWFkaW5nLCB3cml0aW5nLCBhbmQgdGhpbmtp bmcuIEhvd2V2ZXIsIHNpbmNlIExvamJhbiBjYW4gYmUgcHJvY2Vzc2VkIGJ5IGEgY29tcHV0ZXIg bXVjaCBtb3JlIGVhc2lseSB0aGFuIGNhbiBhIG5hdHVyYWwgbGFuZ3VhZ2UsIExvamJhbi1iYXNl ZCBjb21wdXRlciBhcHBsaWNhdGlvbnMgYXJlIGEgbmF0dXJhbCBleHBlY3RhdGlvbi4gRHVlIHRv IGl0cyB1bmFtYmlndW91cyBncmFtbWFyIGFuZCBzaW1wbGUgc3RydWN0dXJlLCBpdCBjYW4gYmUg ZWFzaWx5IHBhcnNlZCBieSBjb21wdXRlcnMsIG1ha2luZyBpdCBwb3NzaWJsZSBmb3IgTG9qYmFu IHRvIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSBmb3IgY29tcHV0ZXItaHVtYW4gaW50ZXJhY3Rpb24s IGFuZCBwZXJoYXBzIGNvbnZlcnNhdGlvbi4gTG9qYmFuJ3MgcHJlZGljYXRlIHN0cnVjdHVyZSBp cyBzaW1pbGFyIHRvIEFJLCBzdWdnZXN0aW5nIGl0IGFzIGEgcG93ZXJmdWwgdG9vbCBpbiBBSSBw cm9jZXNzaW5nLCBlc3BlY2lhbGx5IGluIHRoZSBzdG9yaW5nIGFuZCBwcm9jZXNzaW5nIG9mIGRh dGEgYWJvdXQgdGhlIHdvcmxkIGFuZCBwZW9wbGUncyBjb25jZXB0aW9ucyBvZiBpdC4gTGluZ3Vp c3RzIGFyZSBpbnRlcmVzdGVkIGluIExvamJhbidzIHBvdGVudGlhbCBhcyBhbiBpbnRlcm1lZGlh dGUgbGFuZ3VhZ2UgaW4gY29tcHV0ZXItYWlkZWQgdHJhbnNsYXRpb24gb2YgbmF0dXJhbCBsYW5n dWFnZXMuIE90aGVyIHBlb3BsZSBhcmUgaW50ZXJlc3RlZCBpbiBMb2piYW4gYXMgYW4gaW50ZXJu YXRpb25hbCBsYW5ndWFnZS4gCisgRWwgbG9qYmFuIGZ1ZSBkaXNlw7FhZG8gcGFyYSBzZXIgdW4g aWRpb21hIGh1bWFubywgbm8gdW4gbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbi4gUG9yIHRhbnRv LCBzZSBwcm9jdXJhIHVzYXJsbyBlbiBjb252ZXJzYWNpw7NuLCBsZWN0dXJhLCBlc2NyaXR1cmEg eSBwZW5zYW1pZW50by4gU2luIGVtYmFyZ28sIHlhIHF1ZSBlbCBsb2piYW4gcHVlZGUgc2VyIHBy b2Nlc2FkbyBwb3IgdW5hIGNvbXB1dGFkb3JhIG11Y2hvIG3DoXMgZsOhY2lsbWVudGUgcXVlIHVu YSBsZW5ndWEgbmF0dXJhbCwgc2UgcHVlZGVuIHByZXZlciBhcGxpY2FjaW9uZXMgY29tcHV0YWNp b25hbGVzIGJhc2FkYXMgZW4gZWwgbG9qYmFuLiBEZWJpZG8gYSBzdSBpbmVxdcOtdm9jYSBncmFt w6F0aWNhIHkgc3Ugc2VuY2lsbGEgZXN0cnVjdHVyYSwgcHVlZGUgc2VyIGbDoWNpbG1lbnRlIGFu YWxpemFkbyBwb3IgY29tcHV0YWRvcmFzLCBoYWNpZW5kbyBwb3NpYmxlIGVsIHVzbyBkZWwgbG9q YmFuIGVuIGVsIGZ1dHVybyBwYXJhIGludGVyYWNjaW9uZXMsIHkgcXVpesOhIGNvbnZlcnNhY2lv bmVzLCBodW1hbm8tY29tcHV0YWRvcmEuIExhIGVzdHJ1Y3R1cmEgcHJlZGljYXRpdmEgZGVsIGxv amJhbiBlcyBzaW1pbGFyIGEgbGEgZGUgbGEgaW50ZWxpZ2VuY2lhIGFydGlmaWNpYWwsIGxvIHF1 ZSBsbyBwcm9wb25lIGNvbW8gdW5hIHBvZGVyb3NhIGhlcnJhbWllbnRhIGVuIGVsIHByb2Nlc2Ft aWVudG8gZGUgaW50ZWxpZ2VuY2lhIGFydGlmaWNpYWwsIGVuIGVzcGVjaWFsIGVuIGVsIGFsbWFj ZW5hbWllbnRvIHkgcHJvY2VzYW1pZW50byBkZSBkYXRvcyBhY2VyY2EgZGVsIG11bmRvIHkgbGFz IGlkZWFzIGRlIGxhIGdlbnRlIHNvYnJlIGVsbGEuIExvcyBsaW5nw7xpc3RhcyBlc3TDoW4gaW50 ZXJlc2Fkb3MgZW4gZWwgcG90ZW5jaWFsIGRlbCBsb2piYW4gY29tbyBsZW5ndWEgaW50ZXJtZWRp YSBlbiBsYSB0cmFkdWNjacOzbiBkZSBsZW5ndWFzIG5hdHVyYWxlcyBwb3IgY29tcHV0YWRvcmEu IEEgb3RyYXMgcGVyc29uYXMgbGVzIGludGVyZXNhIGVsIGxvamJhbiBjb21vIGxlbmd1YSBpbnRl cm5hY2lvbmFsLgoKISFUaGUgTG9qYmFuIGRlc2lnbntBTkFNRSgpfWRlc2lnbntBTkFNRX0KCgoK CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpeVHJhbnNsYXRpb24g b2YgdGhpcyBwYWdlIGlzIGluY29tcGxldGUuXgoKCgohTG9qYmFuIC0gRWwgaWRpb21hIGzDs2dp Y28KCgoKIScnbGEgbG9qYmFuLiBwbyd1IGxlIGxvZ2ppIGJhbmd1JycKCgoKKiB7QUxJTksoYW5h bWU9PmludHJvKX1JbnRyb2R1Y2Npw7Nue0FMSU5LfQoKKiB7QUxJTksoYW5hbWU9PndoeSl9wr9Q b3IgcXXDqSBmdWUgY3JlYWRvIGVsIGxvamJhbj97QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+b3Ro ZXJ1c2VzKX1PdHJvcyB1c29zIGRlbCBsb2piYW57QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+ZGVz aWduKX1FbCBkaXNlw7FvIGRlbCBsb2piYW57QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+Y3VycmVu dCl9VXNvIHkgZXN0YWRvIGFjdHVhbHtBTElOS30KCioge0FMSU5LKGFuYW1lPT51bmFtYmlndWl0 eSl9TGEgbmF0dXJhbGV6YSBpbmVxdcOtdm9jYSBkZWwgbG9qYmFue0FMSU5LfQoKKiB7QUxJTkso YW5hbWU9PnNhcGlyd2hvcmYpfUVsIGxvamJhbiB5IFNhcGlyLVdob3Jme0FMSU5LfQoKKiB7QUxJ TksoYW5hbWU9Pm90aGVybGluZyl9T3RyYXMgYXBsaWNhY2lvbmVzIGxpbmd1w61zdGljYXN7QUxJ Tkt9CgoqIHtBTElOSyhhbmFtZT0+aW50ZXJuYXRpb25hbCl9RWwgbG9qYmFuIGNvbW8gdW4gaWRp b21hIGludGVybmFjaW9uYWx7QUxJTkt9CgoqIHtBTElOSyhhbmFtZT0+cmVhc29ucyl9VmFyaWFz IHJhem9uZXMgcGFyYSBhcHJlbmRlciBsb2piYW4gQUhPUkF7QUxJTkt9CgoqIHtBTElOSyhhbmFt ZT0+aG93KX1Dw7NtbyBhcHJlbmRlciBsb2piYW57QUxJTkt9CgoqICgoQ29udGFjdCBVU3xFbnRy YXIgZW4gY29udGFjdG8pKQoKISFJbnRyb2R1Y2Npw7Nue0FOQU1FKCl9aW50cm97QU5BTUV9CgoK CkVsIF9fbG9qYmFuX18gKC9MT0xMLWJhbi8gY29uIHllw61zbW8gYXJnZW50aW5vKSBlcyB1bmEg bGVuZ3VhIGNvbnN0cnVpZGEuIE9yaWdpbmFsbWVudGUgZXJhIGxsYW1hZG8gIl9fbG9nbGFuX18i IHBvciBlbCBfX0RyLiBKYW1lcyBDb29rZSBCcm93bl9fLCBmdW5kYWRvciBkZWwgcHJveWVjdG8s IHF1aWVuIGNvbWVuesOzIGEgZGVzYXJyb2xsYXIgZWwgaWRpb21hIGVuIF9fMTk1NV9fLiBMYXMg bWV0YXMgZGVsIGlkaW9tYSBzZSBkZXNjcmliaWVyb24gcG9yIHByaW1lcmEgdmV6IGVuIGVsIGFy dMOtY3VsbyAiTG9nbGFuIiBkZSAnJ1NjaWVudGlmaWMgQW1lcmljYW4sIEp1bmlvLCAxOTYwJycu IEVsIGxvZ2xhbi9sb2piYW4gc2UgY29uc3RydXnDsyBlbiBtw6FzIGRlIHRyZXMgZMOpY2FkYXMg cG9yIGRvY2VuYXMgZGUgdHJhYmFqYWRvcmVzIHkgY2llbnRvcyBkZSBzZWd1aWRvcmVzLCBkaXJp Z2lkb3MgcG9yIGVsIF9fTG9naWNhbCBMYW5ndWFnZSBHcm91cF9fIGRlc2RlIF9fMTk4N19fLgoK CgpFeGlzdGVuIG11Y2hhcyBsZW5ndWFzIGFydGlmaWNpYWxlcywgcGVybyBlbCBsb2dsYW4vbG9q YmFuIHNlIGhhIHRyYWJhamFkbyBpbmdlbmllcmlsbWVudGUgcGFyYSBzZXIgw7puaWNvIGRlIHZh cmlhcyBtYW5lcmFzLiBMYXMgc2lndWllbnRlcyBzb24gbGFzIGNhcmFjdGVyw61zdGljYXMgcHJp bmNpcGFsZXMgZGVsIGxvamJhbjoKCgoKKiBFbCBsb2piYW4gZXN0w6EgZGlzZcOxYWRvIHBhcmEg c2VyIHV0aWxpemFkbyBwb3IgbGEgZ2VudGUgZW4gY29tdW5pY2FjacOzbiBjb24gb3RyYXMgcGVy c29uYXMgeSwgdGFsIHZleiwgZW4gZWwgZnV0dXJvLCBjb24gY29tcHV0YWRvcmFzLgoKKiBFbCBs b2piYW4gZXN0w6EgZGlzZcOxYWRvIHBhcmEgc2VyIG5ldXRybyBlbnRyZSBsYXMgY3VsdHVyYXMu CgoqIExhIGdyYW3DoXRpY2EgZGVsIGxvamJhbiBlc3TDoSBiYXNhZGEgZW4gbG9zIHByaW5jaXBp b3MgZGUgbGEgbMOzZ2ljYSBkZSBwcmltZXIgb3JkZW4uCgoqIEVsIGxvamJhbiB0aWVuZSB1bmEg Z3JhbcOhdGljYSBpbmVxdcOtdm9jYSBwZXJvIGZsZXhpYmxlLgoKKiBFbCBsb2piYW4gdGllbmUg dW5hIGVzY3JpdHVyYSBmb27DqXRpY2EgZSBpbmVxdcOtdm9jYW1lbnRlIHJlc3VlbHZlIHN1cyBz b25pZG9zIGVuIHBhbGFicmFzLgoKKiBFbCBsb2piYW4gZXMgc2VuY2lsbG8gY29tcGFyYWRvIGNv biBsYXMgbGVuZ3VhcyBuYXR1cmFsZXM7IGVzIGbDoWNpbCBkZSBhcHJlbmRlci4KCiogTGFzIDEz MDAgcmHDrWNlcyBkZWwgbG9qYmFuIHB1ZWRlbiBjb21iaW5hcnNlIGbDoWNpbG1lbnRlIHBhcmEg Zm9ybWFyIHVuIHZvY2FidWxhcmlvIGRlIG1pbGxvbmVzIGRlIHBhbGFicmFzLgoKKiBFbCBsb2pi YW4gZXMgcmVndWxhcjsgbGFzIHJlZ2xhcyBkZWwgaWRpb21hIG5vIHRpZW5lbiBleGNlcGNpb25l cy4KCiogRWwgbG9qYmFuIGludGVudGEgcmVtb3ZlciBsYXMgcmVzdHJpY2Npb25lcyBlbiBlbCBw ZW5zYW1pZW50byB5IGxhIGNvbXVuaWNhY2nDs24gY3JlYXRpdm9zIHkgY2xhcm9zLgoKKiBFbCBs b2piYW4gdGllbmUgdW5hIGdyYW4gdmFyaWVkYWQgZGUgdXNvcywgZGVzZGUgbG8gY3JlYXRpdm8g aGFzdGEgbG8gY2llbnTDrWZpY28geSBkZSBsbyB0ZcOzcmljbyBhIGxvIHByw6FjdGljby4KCiog RWwgbG9qYmFuIHNlIGhhIG1hbmlmZXN0YWRvIGVuIHRyYWR1Y2Npb25lcyB5IGVuIHRyYWJham9z IG9yaWdpbmFsZXMgZW4gcHJvc2EgeSBlbiB2ZXJzby4KCiAKCgoKISHCv1BvciBxdcOpIGZ1ZSBj cmVhZG8gZWwgbG9qYmFuP3tBTkFNRSgpfXdoeXtBTkFNRX0KCgoKT3JpZ2luYWxtZW50ZSwgZWwg bG9qYmFuIGZ1ZSBkaXNlw7FhZG8gY29uIGVsIHByb3DDs3NpdG8gZGUgYXl1ZGFyIGVuIGxhIGlu dmVzdGlnYWNpw7NuIGRlIHVuIGNvbmNlcHRvIGNvbm9jaWRvIGNvbW8gbGEgaGlww7N0ZXNpcyBk ZSBfX1NhcGlyLVdob3JmX186IMKrbGEgZXN0cnVjdHVyYSBkZSB1biBpZGlvbWEgcmVzdHJpbmdl IGVsIHBlbnNhbWllbnRvIGRlIGxhIGdlbnRlIHF1ZSBsbyB1c2HCuy4gRWwgbG9qYmFuIGNvbmNl ZGUgdG9kYSBsYSBjYXBhY2lkYWQgZXhwcmVzaXZhIGRlIHVuYSBsZW5ndWEgbmF0dXJhbCwgcGVy byBzdSBlc3RydWN0dXJhIGVzIGRpZmVyZW50ZSBhIGxhIGRlIG90cm9zIGlkaW9tYXMgZGUgbWFu ZXJhIGltcG9ydGFudGUuIEVzdG8gcGVybWl0ZSBzdSB1c28gY29tbyB2ZWjDrWN1bG8gZGUgcHJ1 ZWJhIHBvciBsb3MgY2llbnTDrWZpY29zIHF1ZSBlc3R1ZGlhbiBsYXMgcmVsYWNpb25lcyBlbnRy ZSBpZGlvbWEsIHBlbnNhbWllbnRvIHkgY3VsdHVyYS4KCgoKISFPdHJvcyB1c29zIGRlbCBsb2pi YW57QU5BTUUoKX1vdGhlcnVzZXN7QU5BTUV9CgoKCkVsIGxvamJhbiBmdWUgZGlzZcOxYWRvIHBh cmEgc2VyIHVuIGlkaW9tYSBodW1hbm8sIG5vIHVuIGxlbmd1YWplIGRlIHByb2dyYW1hY2nDs24u IFBvciB0YW50bywgc2UgcHJvY3VyYSB1c2FybG8gZW4gY29udmVyc2FjacOzbiwgbGVjdHVyYSwg ZXNjcml0dXJhIHkgcGVuc2FtaWVudG8uIFNpbiBlbWJhcmdvLCB5YSBxdWUgZWwgbG9qYmFuIHB1 ZWRlIHNlciBwcm9jZXNhZG8gcG9yIHVuYSBjb21wdXRhZG9yYSBtdWNobyBtw6FzIGbDoWNpbG1l bnRlIHF1ZSB1bmEgbGVuZ3VhIG5hdHVyYWwsIHNlIHB1ZWRlbiBwcmV2ZXIgYXBsaWNhY2lvbmVz IGNvbXB1dGFjaW9uYWxlcyBiYXNhZGFzIGVuIGVsIGxvamJhbi4gRGViaWRvIGEgc3UgaW5lcXXD rXZvY2EgZ3JhbcOhdGljYSB5IHN1IHNlbmNpbGxhIGVzdHJ1Y3R1cmEsIHB1ZWRlIHNlciBmw6Fj aWxtZW50ZSBhbmFsaXphZG8gcG9yIGNvbXB1dGFkb3JhcywgaGFjaWVuZG8gcG9zaWJsZSBlbCB1 c28gZGVsIGxvamJhbiBlbiBlbCBmdXR1cm8gcGFyYSBpbnRlcmFjY2lvbmVzLCB5IHF1aXrDoSBj b252ZXJzYWNpb25lcywgaHVtYW5vLWNvbXB1dGFkb3JhLiBMYSBlc3RydWN0dXJhIHByZWRpY2F0 aXZhIGRlbCBsb2piYW4gZXMgc2ltaWxhciBhIGxhIGRlIGxhIGludGVsaWdlbmNpYSBhcnRpZmlj aWFsLCBsbyBxdWUgbG8gcHJvcG9uZSBjb21vIHVuYSBwb2Rlcm9zYSBoZXJyYW1pZW50YSBlbiBl bCBwcm9jZXNhbWllbnRvIGRlIGludGVsaWdlbmNpYSBhcnRpZmljaWFsLCBlbiBlc3BlY2lhbCBl biBlbCBhbG1hY2VuYW1pZW50byB5IHByb2Nlc2FtaWVudG8gZGUgZGF0b3MgYWNlcmNhIGRlbCBt dW5kbyB5IGxhcyBpZGVhcyBkZSBsYSBnZW50ZSBzb2JyZSBlbGxhLiBMb3MgbGluZ8O8aXN0YXMg ZXN0w6FuIGludGVyZXNhZG9zIGVuIGVsIHBvdGVuY2lhbCBkZWwgbG9qYmFuIGNvbW8gbGVuZ3Vh IGludGVybWVkaWEgZW4gbGEgdHJhZHVjY2nDs24gZGUgbGVuZ3VhcyBuYXR1cmFsZXMgcG9yIGNv bXB1dGFkb3JhLiBBIG90cmFzIHBlcnNvbmFzIGxlcyBpbnRlcmVzYSBlbCBsb2piYW4gY29tbyBs ZW5ndWEgaW50ZXJuYWNpb25hbC4KCgoKISFUaGUgTG9qYmFuIGRlc2lnbntBTkFNRSgpfWRlc2ln bntBTkFNRX0KCgoKTG9qYmFuJ3MgY2hhcmFjdGVyIHNldCB1c2VzIG9ubHkgc3RhbmRhcmQga2V5 Ym9hcmQga2V5czsgY2FwaXRhbGl6YXRpb24gaXMgcmFyZTsgcHVuY3R1YXRpb24gaXMgc3Bva2Vu IGFzIHdvcmRzLiBXcml0dGVuIGxhbmd1YWdlIGNvcnJlc3BvbmRzIGV4YWN0bHkgdG8gdGhlIHNv dW5kcyBvZiB0aGUgc3Bva2VuIGxhbmd1YWdlOyBzcGVsbGluZyBpcyBwaG9uZXRpYyBhbmQgdW5h bWJpZ3VvdXMsIGFuZCB0aGUgZmxvd2luZyBzb3VuZHMgb2YgdGhlIGxhbmd1YWdlIGJyZWFrIGRv d24gdW5pcXVlbHkgaW50byB3b3Jkcy4gVGhlc2UgZmVhdHVyZXMgbWFrZSBjb21wdXRlciBzcGVl Y2ggcmVjb2duaXRpb24gYW5kIHRyYW5zY3JpcHRpb24gbW9yZSBwcmFjdGljYWwuIExlYXJuaW5n IHRvIHdyaXRlIGFuZCBzcGVsbCBMb2piYW4gaXMgdHJpdmlhbC4KCgoKTG9qYmFuJ3MgcHJlZGlj YXRlIGdyYW1tYXIgd2FzIGRlcml2ZWQgZnJvbSB0aGF0IG9mIGZvcm1hbCBsb2dpYy4gTG9qYmFu IHNlbnRlbmNlcyBhcmUgc3RhdGVkIGFzIHNldHMgb2YgYXJndW1lbnRzIHRpZWQgdG9nZXRoZXIg YnkgcHJlZGljYXRlcy4gVGhlc2UgcHJlZGljYXRlIHN0cnVjdHVyZXMgY2FuIGJlIHVzZWQgdG8g ZXhwcmVzcyAnbm9uLWxvZ2ljYWwnIHRob3VnaHQ7IGxvZ2ljaWFucyBhcmUgYWJsZSB0byBhbmFs eXplIGFsbCBtYW5uZXIgb2YgdmVyYmFsIGV4cHJlc3Npb25zIGJ5IGNvbnZlcnRpbmcgdGhlbSBp bnRvIHByZWRpY2F0ZSBub3RhdGlvbi4gQnV0IHdoaWxlIExvamJhbiB3aWxsIGFscmVhZHkgYmUg ZXhwcmVzc2VkIGluIGEgcHJlZGljYXRlLWJhc2VkIHN5c3RlbSwgYWxsb3dpbmcgZWFzeSBsb2dp Y2FsIGFuYWx5c2lzLCBpdCBhbHNvIGNvbnRhaW5zIHRoZSB3aWRlIHZhcmlldHkgb2YgZWxlbWVu dHMgZm91bmQgaW4gbmF0dXJhbCBsYW5ndWFnZSBmb3IgZXhwcmVzc2lvbiBvZiBhdHRpdHVkZXMs CgplbW90aW9ucywgYW5kIHJpY2ggbWV0YXBob3IuCgoKCkxvamJhbiBoYXMgbm9uZSBvZiB0aGUg c3RhbmRhcmQgcGFydHMgb2Ygc3BlZWNoLiBMb2piYW4ncyAncHJlZGljYXRlIHdvcmRzJyBjYW4g c2VydmUgYXMgdGhlIGVxdWl2YWxlbnQgb2YgYSBub3VuLCB2ZXJiLCBhZGplY3RpdmUsIG9yIGFk dmVyYi4gQWN0aW9uIGFuZCBleGlzdGVuY2UgYXJlIGVxdWFsbHkgYWNjZXNzaWJsZSB0byBhIHNw ZWFrZXI7IHRoZSBkaXN0aW5jdGlvbiBjYW4gYmUgaWdub3JlZCwgb3IgY2FuIGJlIGV4cGxpY2l0 bHkgZXhwcmVzc2VkLiBBIHZhcmlldHkgb2Ygb3BlcmF0b3JzIGRlYWwgd2l0aCBhYnN0cmFjdGlv bnMgc3VjaCBhcyBldmVudHMsIHN0YXRlcywgcHJvcGVydGllcywgYW1vdW50cywgaWRlYXMsIGV4 cGVyaWVuY2UsIGFuZCB0cnV0aCwgYW5kIHdpdGggYXQgbGVhc3QgZm91ciBwcmUtZGVmaW5lZCB2 YXJpZXRpZXMgb2YgY2F1c2FsaXR5LgoKCgpMb2piYW4gaGFzIG5vIG1hbmRhdG9yeSBpbmZsZWN0 aW9ucyBhbmQgZGVjbGVuc2lvbnMgb24gbm91bnMsIHZlcmJzLCBhbmQgYWRqZWN0aXZlcy4gTmF0 dXJhbCBsYW5ndWFnZXMgZXZvbHZlZCBzdWNoIHZhcmlhdGlvbnMgdG8gcmVkdWNlIGFtYmlndWl0 eSBhcyB0byBob3cgd29yZHMgYXJlIHJlbGF0ZWQgaW4gYSBzZW50ZW5jZS4gRXZvbHV0aW9uYXJ5 IGRldmVsb3BtZW50IG1hZGUgdGhlc2UgaW5mbGVjdGlvbnMgYW5kIGRlY2xlbnNpb25zIGhpZ2hs eSBpcnJlZ3VsYXIgYW5kIHRodXMgZGlmZmljdWx0IHRvIGxlYXJuLiBUaGUgc2ltcGxlIGJ1dCBm bGV4aWJsZSBwcmVkaWNhdGUgcmVsYXRpb25zaGlwIGVyYXNlcyBib3RoIHRoZSBpcnJlZ3VsYXJp dHkgYW5kIHRoZSBkZWNsZW5zaW9ucy4KCgoKVGVuc2UgYW5kIGxvY2F0aW9uIG1hcmtlcnMgKGlu ZmxlY3Rpb25zKSwgYWR2ZXJicywgYW5kIHByZXBvc2l0aW9ucyBhcmUgY29tYmluZWQgaW50byBv bmUgcGFydCBvZiBzcGVlY2guIE5ldyBwcmVwb3NpdGlvbi1saWtlIGZvcm1zIGNhbiBiZSBidWls dCBhdCB3aWxsIGZyb20gcHJlZGljYXRlczsgdGhlc2UgYWxsb3cgdGhlIHVzZXIgdG8gZXhwYW5k IHVwb24gYSBzZW50ZW5jZSBieSBhdHRhY2hpbmcgYW5kIHJlbGF0aW5nIGNsYXVzZXMgbm90IG5v cm1hbGx5IGltcGxpZWQgaW4gdGhlIG1lYW5pbmcgb2YgYSB3b3JkLgoKCgpOdW1iZXJzIGFuZCBx dWFudGlmaWVycyBhcmUgY29uY2VwdHVhbGx5IGV4cGFuZGVkIGZyb20gbmF0dXJhbCBsYW5ndWFn ZXMuICJNYW55IiwgImVub3VnaCIsICJ0b28gbXVjaCIsICJhIGZldyIsIGFuZCAiYXQgbGVhc3Qi IGFyZSBhbW9uZyBjb25jZXB0cyB0aGF0IGFyZSBleHByZXNzZWQgYXMgbnVtYmVycyBpbiBMb2pi YW4uIENvcmUgY29uY2VwdHMgb2YgbG9naWMsIG1hdGhlbWF0aWNzLCBhbmQgc2NpZW5jZSBhcmUg YnVpbHQgaW50byB0aGUgcm9vdCB2b2NhYnVsYXJ5LiBPbiB0b3Agb2YgdGhlIGNvcmUgY29uY2Vw dHMgb2YgcHJlZGljYXRlIGxvZ2ljLCBMb2piYW4gYWRkcyBpbiBub24tbG9naWNhbCBjb25zdHJ1 Y3RzIHRoYXQgZG8gbm90IGFmZmVjdCBvciBvYnNjdXJlIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSwg YWxsb3dpbmcgY29tbXVuaWNhdGlvbnMgdGhhdCBhcmUgbm90IGFtZW5hYmxlIHRvIGxvZ2ljYWwg YW5hbHlzaXMuIEZvciBleGFtcGxlLCBMb2piYW4gaGFzIGEgZnVsbCBzZXQgb2YgZW1vdGlvbmFs IGluZGljYXRvcnMsIHNpbWlsYXIgdG8gc3VjaCBlamFjdWxhdGlvbnMgaW4gRW5nbGlzaCBhcyAi T2ghIiwgIkFoYSEiLCBhbmQgIldoZWVlISIsIGV4Y2VwdCB0aGF0IGVhY2ggaGFzIGEgc3BlY2lm aWMgbWVhbmluZy4gU2ltaWxhcmx5LCBMb2piYW4gaGFzIGluZGljYXRvcnMgb2YgdGhlIHNwZWFr ZXIncyByZWxhdGlvbnNoaXAgdG8gd2hhdCBpcyBzYWlkLCBzaW1pbGFyIHRvIHRob3NlIGZvdW5k IGluIHNvbWUgQW1lcmljYW4gSW5kaWFuIGxhbmd1YWdlcy4KCgoKTG9qYmFuIHN1cHBvcnRzIG1l dGFsaW5ndWlzdGljIGRpc2N1c3Npb24gYWJvdXQgdGhlIHNlbnRlbmNlcyBiZWluZyBzcG9rZW4g d2hpbGUgcmVtYWluaW5nIHVuYW1iaWd1b3VzLiBMb2piYW4gYWxzbyBzdXBwb3J0cyBhICd0ZW5z ZScgbG9naWMgdGhhdCBhbGxvd3MgZXh0cmVtZSBzcGVjaWZpY2l0eSBvZiB0aW1lIGFuZCBzcGFj ZSByZWxhdGlvbnNoaXBzLCBldmVuIHRob3NlIGltcGxpZWQgYnkgdGltZSB0cmF2ZWwuIExvamJh bidzIGdyYW1tYXIgaXMgZGVzaWduZWQgdG8gc3VwcG9ydCB1bmFtYmlndW91cyBzdGF0ZW1lbnQg b2YgbWF0aGVtYXRpY2FsIGV4cHJlc3Npb25zIGFuZCByZWxhdGlvbnMgaW4gYSBtYW5uZXIgY29t cGF0aWJsZSBib3RoIHdpdGggaW50ZXJuYXRpb25hbCB1c2FnZSBhbmQgTG9qYmFuJ3Mgbm9uLW1h dGhlbWF0aWNhbCBncmFtbWFyLgoKCgpMb2piYW4gaXMgbXVjaCBzaW1wbGVyIHRoYW4gbmF0dXJh bCBsYW5ndWFnZXMuIEl0cyBncmFtbWFyIGlzIGNvbXBhcmFibGUgaW4gY29tcGxleGl0eSB3aXRo IHRoZSBjdXJyZW50IGdlbmVyYXRpb24gb2YgY29tcHV0ZXIgbGFuZ3VhZ2VzIChzdWNoIGFzIEFE QSkuIExvamJhbidzIHByb251bmNpYXRpb24sIHNwZWxsaW5nLCB3b3JkIGZvcm1hdGlvbiwgYW5k IGdyYW1tYXIgcnVsZXMgYXJlIGZpeGVkLCBhbmQgdGhlIGxhbmd1YWdlIGlzIGZyZWUgb2YgZXhj ZXB0aW9ucyB0byB0aGVzZSBydWxlcy4KCgoKISFDdXJyZW50IHN0YXR1cyBhbmQgdXNhZ2V7QU5B TUUoKX1jdXJyZW50e0FOQU1FfQoKCgpUaGUgbGFuZ3VhZ2UsIHRoZW4gY2FsbGVkIF9fTG9nbGFu X18sIHdhcyBmaXJzdCBkZXNjcmliZWQgaW4gdGhlIDE5NTAncywgYnkgRHIuIEphbWVzIENvb2tl IEJyb3duLiBUaGUgMTk2MCBTY2llbnRpZmljIEFtZXJpY2FuIGFydGljbGUgIkxvZ2xhbiIgd2Fz IGhpcyBjYWxsIGZvciBhc3Npc3RhbmNlIGluIGRldmVsb3BpbmcgdGhlIGxhbmd1YWdlLiBBIHJl dm9sdXRpb24gaW4gbGluZ3Vpc3RpY3Mgd2FzIHNpbXVsdGFuZW91c2x5IHRha2luZyBwbGFjZTsg dGhlIHJlc3VsdGluZyBpbmNyZWFzZSBpbiBrbm93bGVkZ2Ugb2YgdGhlIG5hdHVyZSBvZiBsYW5n dWFnZSBjaGFuZ2VkIHRoZSByZXF1aXJlbWVudHMgZm9yIExvZ2xhbi4gVGhlIGZpcnN0IHdpZGVs eSBkaXN0cmlidXRlZCBMb2dsYW4gZGljdGlvbmFyeSBhbmQgbGFuZ3VhZ2UgZGVzY3JpcHRpb24g ZGlkIG5vdCBhcHBlYXIgdW50aWwgMTk3NTsgdGhpcyBkZXNjcmlwdGlvbiB3YXMgaW5jb21wbGV0 ZSwgYW5kIGNvbnRpbnVlZCBkZXZlbG9wbWVudCB3b3JrIGRpc2NvdXJhZ2VkIGxlYXJuaW5nIHRo ZSBsYW5ndWFnZS4gQ29tcHV0ZXJzIGNhdWdodCB1cCB3aXRoIExvZ2xhbiBqdXN0IHRoZW4sIG1h a2luZyBpdCBwb3NzaWJsZSB0byByZWZpbmUgdGhlIGdyYW1tYXIsIGVsaW1pbmF0ZSBhbWJpZ3Vp dHkgYW5kIG1hdGhlbWF0aWNhbGx5IHByb3ZlIGl0cyBhYnNlbmNlOyB0aGlzIHdvcmsgaGFzIGp1 c3QgYmVlbiBjb21wbGV0ZWQuIEZvciBvdmVyIDM1IHllYXJzLCB0aGlzIHdvcmsgaGFzIGJlZW4g cGVyZm9ybWVkIGJ5IHZvbHVudGVlcnMsIGFuZCB3aXRob3V0IGZpbmFuY2lhbCBzdXBwb3J0LiBO b3csIGFmdGVyIHNldmVyYWwgdmVyc2lvbnMgb2YgdGhlIGxhbmd1YWdlLCBwZW9wbGUgYXJlIGxl YXJuaW5nIGFuZCB1c2luZyB0aGUgY3VycmVudCB2ZXJzaW9uLCB3aGljaCBpcyB0aGUgZmlyc3Qg Y2FsbGVkIF9fTG9qYmFuX18gKGZyb20gdGhlIHJvb3RzICJsb2dpY2FsLWxhbmd1YWdlIiBpbiBM b2piYW4pLgoKCgpUaGlzIHZlcnNpb24gaXMgdGhlIGZpcnN0IHZlcnNpb24gd2l0aCBhIHN0YWJs ZSB2b2NhYnVsYXJ5LCBhbmQgdGhlIGZpcnN0IHRvIGhhdmUgYSBzdGFibGUgYW5kIGNvbXBsZXRl bHkgZGVmaW5lZCBncmFtbWFyICh0aGUgZ3JhbW1hciBvZiBtYXRoZW1hdGljYWwgZXhwcmVzc2lv bnMsIGZvciBleGFtcGxlLCB3YXMgbm90IGRldmVsb3BlZCB1bnRpbCAxOTkwKS4gVGhlIGJhc2lj IExvamJhbiB2b2NhYnVsYXJ5IHdhcyBiYXNlbGluZWQgKHN0YWJpbGl6ZWQgYWdhaW5zdCBjaGFu Z2UpIGluIHRoZSBsYXN0IGhhbGYgb2YgMTk4OCwgYW5kIHRoZSBncmFtbWFyIHNpbWlsYXJseSBz dGFiaWxpemVkIGluIGxhdGUtMTk5MCwgYWZ0ZXIgY29tcGxldGlvbiBvZiB0aGUgZmlyc3QgTG9q YmFuIGNvdXJzZXMsIGFjdHVhbCB1c2FnZSBvZiB0aGUgbGFuZ3VhZ2UsIGFuZCBzZXZlcmFsIGl0 ZXJhdGlvbnMgb2YgY2FyZWZ1bCBhbmFseXNpcy4gVGhlIGZ1bGwgbGFuZ3VhZ2UgZGVzaWduIHdh cyBiYXNlbGluZWQgaW4gMTk5NywgYW5kIG5vIGNoYW5nZXMgd2lsbCBldmVuIGJlIGNvbnNpZGVy ZWQgdW50aWwgNSB5ZWFycyBhZnRlciB0aGUgc2V0IG9mIGJvb2tzIGRlc2NyaWJpbmcgdGhlIGxh bmd1YWdlIGlzIHB1Ymxpc2hlZCAodGh1cyBhdCBsZWFzdCAyMDA1KS4gVGh1cywgd2hpbGUgdGhl IGxhbmd1YWdlIHdhcyBmaXJzdCBzdGFydGVkIDM1IHllYXJzIGFnbywgTG9nbGFuL0xvamJhbiBp cyBhIHZlcnkgbmV3IGxhbmd1YWdlLgoKCgpUbyBlbnN1cmUgTG9qYmFuIHJlbWFpbnMgc3RhYmxl IHdoaWxlIHBlb3BsZSBsZWFybiBpdCwgdGhlIGxhbmd1YWdlIGRlZmluaXRpb24gaXMgcHJlc2Ny aWJlZCBhbmQgY2xvc2VseSBjb250cm9sbGVkLiBXaGVuIHRoZSBudW1iZXIgb2Ygc3BlYWtlcnMg aGFzIGdyb3duIHNpZ25pZmljYW50bHksIGFuZCBhIExvamJhbiBsaXRlcmF0dXJlIGhhcyBkZXZl bG9wZWQsIExvamJhbiB3aWxsIGJlIHRyZWF0ZWQgbGlrZSBhIG5hdHVyYWwgbGFuZ3VhZ2UgYW5k IGFsbG93ZWQgdG8gZ3JvdyBhbmQgZmxvdXJpc2ggd2l0aG91dCBjb25zdHJhaW50LCBhcyBkbyBv dGhlciBuYXR1cmFsIGxhbmd1YWdlcy4KCgoKT3JpZ2luYWwgdGV4dCBhbmQgcG9ldHJ5IGhhdmUg YmVlbiB3cml0dGVuIGluIExvamJhbiwgYW5kIHNvbWUgaGFzIGJlZW4gdHJhbnNsYXRlZCBpbnRv IHRoZSBsYW5ndWFnZS4gTG9qYmFuJ3MgcG93ZXJmdWwgbWV0YXBob3Igc3RydWN0dXJlIGFsbG93 cyBidWlsZGluZyBuZXcgY29uY2VwdHMgaW50byB3b3JkcyBlYXNpbHksIGFzIG5lZWRlZC4gQSBM b2piYW4gc3BlYWtlciBkb2Vzbid0IG5lZWQgYSBkaWN0aW9uYXJ5IHRvIHVzZSBhbmQgdW5kZXJz dGFuZCBtaWxsaW9ucyBvZiB3b3JkcyB0aGF0IGNhbiBwb3RlbnRpYWxseSBleGlzdCBpbiB0aGUg bGFuZ3VhZ2UuCgoKCkFzIG9mIDE5OTcsIHRoZXJlIGFyZSBhYm91dCAxMjAwIHBlb3BsZSBvbiBv dXIgbWFpbGluZyBsaXN0cywgaW5jbHVkaW5nIGFib3V0IDMwMCBsaXN0ZWQgYXMgYWN0aXZlbHkg dHJ5aW5nIHRvIGxlYXJuIHRoZSBsYW5ndWFnZS4gT3ZlciAxMDAgb2YgdGhlc2UgaGF2ZSBkZW1v bnN0cmF0ZWQgY29tbXVuaWNhdGl2ZSBhYmlsaXR5IHRvIHVzZSB0aGUgbGFuZ3VhZ2UgaW4gY29u dmVyc2F0aW9uLCB0cmFuc2xhdGlvbiwgb3Igb3JpZ2luYWwgd3JpdGluZywgYW5kIG9uZSBwZXJz b24gaXMgc3VmZmljaWVudGx5IHNraWxsZWQgdG8gYmUgY29uc2lkZXJlZCBmbHVlbnQgaW4gdGhl IGxhbmd1YWdlLiBTZXZlcmFsIG9mIHRoZXNlIHJlZ3VsYXJseSBnZXQgdG9nZXRoZXIgaW4gdGhl IFdhc2hpbmd0b24gREMgYXJlYSBmb3IgY29udmVyc2F0aW9uLCBhbmQgYW4gYW5udWFsIG1lZXRp bmcvbWluaS1jb252ZW50aW9uIGlzIGhlbGQgdGhlcmUgZXZlcnkgc3VtbWVyLiBUaGlzIHByb2dy ZXNzIGlzIHJlbWFya2FibGUgc2luY2UgdGhlcmUgaXMgbm8gZGljdGlvbmFyeSBmb3IgdGhlIGN1 cnJlbnQgbGFuZ3VhZ2UsIGFuZCBhIHRleHRib29rIGV4aXN0cyBvbmx5IGluIHBhcnRpYWwgZHJh ZnQgZm9ybTsgcGVvcGxlIHVzZSB0aGUgbGFuZ3VhZ2UgcmVmZXJlbmNlIG1hbnVhbCBhcyBhIGxl YXJuaW5nIHNvdXJjZSwgYW5kIHdlJ3ZlIGV2b2x2ZWQgbWV0aG9kcyBvZiB0ZWFjaGluZyB0aGUg bGFuZ3VhZ2UgYXQgYSBkaXN0YW5jZSB0aGF0IG92ZXJjb21lIHRoaXMgaGFuZGljYXAuCgoKCiEh TG9qYmFuJ3MgdW5hbWJpZ3VpdHl7QU5BTUUoKX11bmFtYmlndWl0eXtBTkFNRX0KCgoKTG9qYmFu IGhhcyBhbiB1bmFtYmlndW91cyBncmFtbWFyIChwcm92ZW4gYnkgY29tcHV0ZXIgYW5hbHlzaXMg b2YgYSBmb3JtYWwgZ3JhbW1hciB3aXRoIFlBQ0MpLCBwcm9udW5jaWF0aW9uLCBhbmQgbW9ycGhv bG9neSAod29yZCBmb3JtcykuIFRoZSBwZXJzb24gd2hvIHJlYWRzIG9yIGhlYXJzIGEgTG9qYmFu IHNlbnRlbmNlIGlzIG5ldmVyIGluIGRvdWJ0IGFzIHRvIHdoYXQgd29yZHMgaXQgY29udGFpbnMg b3Igd2hhdCByb2xlcyB0aGV5IHBsYXkgaW4gdGhlIHNlbnRlbmNlLiBMb2piYW4gaGFzIG5vIHdv cmRzIHRoYXQgc291bmQgYWxpa2UgYnV0IGhhdmUgZGlmZmVyZW50IG1lYW5pbmdzIChsaWtlICJo ZXJkIiBhbmQgImhlYXJkIiksIHRoYXQgaGF2ZSBtdWx0aXBsZSB1bnJlbGF0ZWQgbWVhbmluZ3Mg KCJzZXQiKSwgb3IgdGhhdCBkaWZmZXIgb25seSBpbiBwdW5jdHVhdGlvbiBidXQgbm90IGluIHNv dW5kIChsaWtlIHRoZSBhYm9taW5hYmxlICJpdHMiIGFuZCAiaXQncyIpLiBUaGVyZSBpcyBuZXZl ciBhbnkgZG91YnQgYWJvdXQgd2hlcmUgd29yZHMgYmVnaW4gYW5kIGVuZCAoImNhcmdvIHNoaXBt ZW50IiBjYW4gYmUgaGVhcmQgYXMgMiwgMywgb3IgNCB3b3JkcykuIFRoZSBmdW5jdGlvbiBvZiBl YWNoIHdvcmQgaXMgY2xlYXI7IHRoZXJlIGlzIG5vdGhpbmcgbGlrZSB0aGUgRW5nbGlzaCAiVGlt ZSBmbGllcyBsaWtlIGFuIGFycm93LiIsIGluIHdoaWNoIGFueSBvZiB0aGUgZmlyc3QgdGhyZWUg d29yZHMgY291bGQgYmUgdGhlIHZlcmIuIFByZWNpc2lvbiBpbiBubyB3YXkgY29uZmluZXMgdGhl IG1lYW5pbmcgb2YgYSBMb2piYW4gc2VudGVuY2UuIEl0IGlzIHBvc3NpYmxlIHRvIHNwZWFrIG5v bnNlbnNlLCB0byB0ZWxsIGEgbGllLCBvciB0byBiZSBtaXN1bmRlcnN0b29kLiBZb3UgY2FuIGJl IHZlcnkgc3BlY2lmaWMsIG9yIHlvdSBjYW4gYmUgaW50ZW50aW9uYWxseSB2YWd1ZS4gWW91ciBo ZWFyZXIgbWF5IG5vdCB1bmRlcnN0YW5kIHdoYXQgeW91IG1lYW50LCBidXQgd2lsbCBhbHdheXMg dW5kZXJzdGFuZCB3aGF0IHlvdSBzYWlkLgoKCgpMb2piYW4gaXMgTk9UIGVudGlyZWx5IHVuYW1i aWd1b3VzOyBodW1hbiBiZWluZ3Mgb2NjYXNpb25hbGx5IGRlc2lyZSB0byBiZSBhbWJpZ3VvdXMg aW4gdGhlaXIgZXhwcmVzc2lvbnMuIEluIExvamJhbiwgdGhpcyBhbWJpZ3VpdHkgaXMgbGltaXRl ZCB0byBzZW1hbnRpY3MsIG1ldGFwaG9yLCBhbmQgaW50ZW50aW9uYWwgb21pc3Npb24gb2YgaW5m b3JtYXRpb24gKGVsbGlwc2lzKS4gU2VtYW50aWMgYW1iaWd1aXR5IGluIGxhbmd1YWdlIHJlc3Vs dHMgYmVjYXVzZSB3b3JkcyBpbiBuYXR1cmFsIGxhbmd1YWdlcyByZXByZXNlbnQgZmFtaWxpZXMg b2YgY29uY2VwdHMgcmF0aGVyIHRoYW4gaW5kaXZpZHVhbCBtZWFuaW5ncywgb2Z0ZW4gd2l0aCBv bmx5IHdlYWsgc2VtYW50aWMgcmVsYXRpb25zaGlwcyB0byBlYWNoIG90aGVyLiBJbiBhZGRpdGlv biwgZWFjaCBpbmRpdmlkdWFsJ3MgcGVyc29uYWwgZXhwZXJpZW5jZXMgcHJvdmlkZSBlbW90aW9u YWwgY29ubm90YXRpb25zIHRvIHdvcmRzLiBCeSBwcm92aWRpbmcgYSBmcmVzaCwgY3VsdHVyYWxs eS1uZXV0cmFsIHN0YXJ0LCBMb2piYW4gYXR0ZW1wdHMgdG8gbWluaW1pemUgdGhlIHRyYW5zZmVy ZW5jZSBvZiB0aGVzZSBhc3NvY2lhdGlvbnMgYXMgcGVvcGxlIGxlYXJuIHRoZSBsYW5ndWFnZS4g QnkgaW50ZW50aW9uLCBtb3N0IExvamJhbiB3b3JkcyBkbyBub3QgY2xvc2VseSByZXNlbWJsZSBj b3JyZXNwb25kaW5nIHdvcmRzIGluIG90aGVyIGxhbmd1YWdlczsgdGhlIGRpZmZlcmVuY2VzIGFp ZCBpbiBtYWtpbmcgdGhpcyBmcmVzaCBzdGFydCBwb3NzaWJsZS4gTG9qYmFuJ3MgcG93ZXJmdWwg bWV0YXBob3IgYW5kIHdvcmQtYnVpbGRpbmcgZmVhdHVyZXMgbWFrZSBpdCBlYXN5IHRvIG1ha2Ug ZmluZSBkaXN0aW5jdGlvbnMgYmV0d2VlbiBjb25jZXB0cywgZGlzY291cmFnaW5nIGluZGl2aWR1 YWwgd29yZHMgZnJvbSBoYXZpbmcgZmFtaWxpZXMgb2YgbWVhbmluZ3MuIExvamJhbiBtZXRhcGhv cnMgYXJlIHRoZW1zZWx2ZXMgYW1iaWd1b3VzLCBzcGVjaWZ5aW5nIGEgcmVsYXRpb25zaGlwIGJl dHdlZW4gY29uY2VwdHMsIGJ1dCBub3Qgd2hhdCB0aGUgcmVsYXRpb25zaGlwIGlzLiBUaGF0IHJl bGF0aW9uc2hpcCBjYW4gYmUgbWFkZSBleHBsaWNpdCB1c2luZyB1bmFtYmlndW91cyBsb2dpY2Fs IGNvbnN0cnVjdHMgaWYgbmVjZXNzYXJ5LCBvciBjYW4gYmUgbGVmdCB2YWd1ZSBhcyB0aGUgc3Bl YWtlciAodXN1YWxseSkgZGVzaXJlcy4gU2ltaWxhcmx5LCBwb3J0aW9ucyBvZiB0aGUgbG9naWNh bCBzdHJ1Y3R1cmUgb2YgYSBMb2piYW4gZXhwcmVzc2lvbiBjYW4gYmUgb21pdHRlZCwgZ3JlYXRs eSBzaW1wbGlmeWluZyB0aGUgZXhwcmVzc2lvbiB3aGlsZSBjYXVzaW5nIHNvbWUgYW1iaWd1aXR5 LiBVbmxpa2UgaW4gdGhlIG5hdHVyYWwgbGFuZ3VhZ2VzLCB0aG91Z2gsIHRoaXMgYW1iaWd1aXR5 IGlzIHJlYWRpbHkgaWRlbnRpZmllZCBieSBhIHJlYWRlciBvciBsaXN0ZW5lci4gVGh1cyBhbGwg YW1iaWd1aXR5IGluIExvamJhbiBpcyBjb25zdHJhaW5lZCBhbmQgcmVjb2duaXphYmxlLCBhbmQg Y2FuIGJlIGNsYXJpZmllZCBhcyBuZWNlc3NhcnkgYnkgZnVydGhlciBpbnRlcmFjdGlvbi4KCgoK ISFMb2piYW4gYW5kIFNhcGlyLVdob3Jme0FOQU1FKCl9c2FwaXJ3aG9yZntBTkFNRX0KCgoKVGhp cyBoeXBvdGhlc2lzIHN0YXRlcyB0aGF0IHRoZSBzdHJ1Y3R1cmUgb2YgYSBsYW5ndWFnZSBjb25z dHJhaW5zIHRob3VnaHQgaW4gdGhhdCBsYW5ndWFnZSwgYW5kIGNvbnN0cmFpbnMgYW5kIGluZmx1 ZW5jZXMgdGhlIGN1bHR1cmUgdGhhdCB1c2VzIGl0LiBJbiBvdGhlciB3b3JkcywgaWYgY29uY2Vw dHMgb3Igc3RydWN0dXJhbCBwYXR0ZXJucyBhcmUgZGlmZmljdWx0IHRvIGV4cHJlc3MgaW4gYSBs YW5ndWFnZSwgdGhlIHNvY2lldHkgYW5kIGN1bHR1cmUgdXNpbmcgdGhlIGxhbmd1YWdlIHdpbGwg dGVuZCB0byBhdm9pZCB0aGVtLiBJbmRpdmlkdWFscyBtaWdodCBvdmVyY29tZSB0aGlzIGJhcnJp ZXIsIGJ1dCB0aGUgc29jaWV0eSBhcyBhIHdob2xlIHdpbGwgbm90LiBUaGUgU2FwaXItV2hvcmYg aHlwb3RoZXNpcyBpcyBpbXBvcnRhbnQsIGFuZCBjb250cm92ZXJzaWFsOyBpdCBjYW4gYmUgdXNl ZCBhcyBhIHNvY2lvbG9naWNhbCBhcmd1bWVudCB0byBqdXN0aWZ5IG9yIHRvIG9wcG9zZSByYWNp c20gYW5kIHNleGlzbSAoYW5kIGEgdmFyaWV0eSBvZiBvdGhlciAnaXNtcycpLiBGb3IgZXhhbXBs ZSwgdGhlIGFzc2VydGlvbiB0aGF0IHNpbmNlIGdlbmRlcmxlc3MgZXhwcmVzc2lvbnMgaW4gRW5n bGlzaCB1c2UgJ21hc2N1bGluZScgZm9ybXMsIEVuZ2xpc2ggaXMgJ3NleGlzdCcsIHByZXN1bWVz IHRoZSBTYXBpci1XaG9yZiBoeXBvdGhlc2lzIGlzIHRydWUuIFVuZGVyc3RhbmRpbmcgdGhlIHBv dGVudGlhbCBmb3IgU2FwaXItV2hvcmYgZWZmZWN0cyBjb3VsZCBsZWFkIHRvIGJldHRlciBpbnRl ci1jdWx0dXJhbCB1bmRlcnN0YW5kaW5nLCBwcm9tb3RpbmcgY29tbXVuaWNhdGlvbiBhbmQgcGVh Y2UuCgoKCkl0IGlzIGtub3duIHRoYXQgcGVvcGxlJ3MgaWRlYXMgYW5kIHRob3VnaHQgY2hhbmdl IHNvbWV3aGF0IHdoZW4gdGhleSBsZWFybiBhIGZvcmVpZ24gbGFuZ3VhZ2UuIEl0IGlzIG5vdCBr bm93biB3aGV0aGVyIHRoaXMgY2hhbmdlIGlzIGR1ZSB0byBleHBvc3VyZSB0byBhIGRpZmZlcmVu dCBjdWx0dXJlIG9yIGV2ZW4ganVzdCBnZXR0aW5nIG91dHNpZGUgb2Ygb25lcyBvd24gY3VsdHVy ZS4gSXQgaXMgYWxzbyBub3Qga25vd24gaG93IG11Y2ggKGlmIGFueSkgb2YgdGhlIGNoYW5nZSBp cyBkdWUgdG8gdGhlIG5hdHVyZSBvZiB0aGUgbGFuZ3VhZ2UsIGFzIG9wcG9zZWQgdG8gdGhlIGN1 bHR1cmFsIGFzc29jaWF0aW9ucy4KCgoKVGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgd2FzIGlt cG9ydGFudCBpbiBsaW5ndWlzdGljcyBpbiB0aGUgMTk1MCdzLCBidXQgaW50ZXJlc3QgZmVsbCBv ZmYgcGFydGlhbGx5IGJlY2F1c2UgcHJvcGVybHkgdGVzdGluZyBpdCB3YXMgc28gZGlmZmljdWx0 LiBMb2dsYW4vTG9qYmFuIGlzIGEgbmV3IGFwcHJvYWNoIHRvIHN1Y2ggdGVzdGluZy4gT2J2aW91 c2x5LCBpZiBhIGN1bHR1cmUtaW5kZXBlbmRlbnQgbGFuZ3VhZ2UgY291bGQgYmUgdGF1Z2h0IHRv IGdyb3VwcyBvZiBwZW9wbGUsIHRoZSBlZmZlY3RzIG9mIGxhbmd1YWdlIGNvdWxkIG1vcmUgZWFz aWx5IGJlIHNlcGFyYXRlZCBmcm9tIHRob3NlIG9mIGN1bHR1cmUuCgoKClVuaXF1ZSBmZWF0dXJl cyBvZiBMb2piYW4gcmVtb3ZlIGNvbnN0cmFpbnRzIG9uIGxhbmd1YWdlIGluIHRoZSBhcmVhcyBv ZiBsb2dpYywgYW1iaWd1aXR5LCBhbmQgZXhwcmVzc2l2ZSBwb3dlciwgb3BlbmluZyB1cCBhcmVh cyBvZiB0aG91Z2h0IHRoYXQgaGF2ZSBub3QgYmVlbiBlYXNpbHkgYWNjZXNzaWJsZSBieSBodW1h biBsYW5ndWFnZSBiZWZvcmUuIE1lYW53aGlsZSwgdGhlIGZvcm1hbCByaWdpZGl0eSBvZiB0aGUg bGFuZ3VhZ2UgZGVmaW5pdGlvbiBhbGxvd3Mgc3BlYWtlcnMgdG8gY2FyZWZ1bGx5IGNvbnRyb2wg dGhlaXIgZXhwcmVzc2lvbnMgKGFuZCBwZXJoYXBzIHRoZXJlZm9yZSB0aGVpciB0aG91Z2h0IHBy b2Nlc3NlcykuIFRoaXMgZ2l2ZXMgc29tZSBtZWFzdXJlIG9mIHByZWRpY3RpdmUgcG93ZXIgdGhh dCBjYW4gYmUgdXNlZCBpbiBkZXNpZ25pbmcgYW5kIHByZXBhcmluZyBmb3IgYWN0dWFsIFNhcGly LVdob3JmIGV4cGVyaW1lbnRzLgoKCgpPbmUgb2YgdGhlIHByZXJlcXVpc2l0ZXMgb2YgYSBTYXBp ci1XaG9yZiBleHBlcmltZW50IGlzIGFuIGludGVybmF0aW9uYWwgYm9keSBvZiBMb2piYW4gc3Bl YWtlcnMuIFdlIG5lZWQgdG8gYmUgYWJsZSB0byB0ZWFjaCBMb2piYW4gdG8gc3ViamVjdHMgd2hv IGtub3cgb25seSB0aGVpciBuYXRpdmUgKG5vbi1FbmdsaXNoKSB0b25ndWUsIGFuZCB3ZSBuZWVk IHRvIGtub3cgaW4gYWR2YW5jZSB0aGUgZGlmZmljdWx0aWVzIHRoYXQgcGVvcGxlIGZyb20gZWFj aCBsYW5ndWFnZSBhbmQgY3VsdHVyZSB3aWxsIGhhdmUgaW4gbGVhcm5pbmcgTG9qYmFuLiBUaHVz LCB0aGUgTG9qYmFuIGNvbW11bml0eSBpcyBhY3RpdmVseSByZWFjaGluZyBvdXQgdG8gc3BlYWtl cnMgb2YgbGFuZ3VhZ2VzIG90aGVyIHRoYW4gRW5nbGlzaC4KCgoKTG9qYmFuIGRvZXMgbm90IG5l ZWQgdG8gcHJvdmUgb3IgZGlzcHJvdmUgdGhlIFNhcGlyLVdob3JmIGh5cG90aGVzaXMgaW4gb3Jk ZXIgdG8gYmUgc3VjY2Vzc2Z1bC4gSG93ZXZlciwgaWYgZXZpZGVuY2UgaXMgcHJvZHVjZWQgc3Vw cG9ydGluZyB0aGUgU2FwaXItV2hvcmYgZWZmZWN0LCBMb2piYW4gd2lsbCBsaWtlbHkgYmUgcGVy Y2VpdmVkIGFzIGFuIG91dHN0YW5kaW5nIHRvb2wgb2YgYW5hbHl0aWNhbCBhbmQgY3JlYXRpdmUg dGhvdWdodC4gKChTYXBpci1XaG9yZiBIeXBvdGhlc2lzfE1vcmUuLi4pKQoKCgohIU90aGVyIGxp bmd1aXN0aWMgYXBwbGljYXRpb25ze0FOQU1FKCl9b3RoZXJsaW5ne0FOQU1FfQoKCgpBbiBhcnRp ZmljaWFsIGxhbmd1YWdlIChBTCkgaXMgYSBzaW1wbGUgbW9kZWwgb2YgYSBuYXR1cmFsIGxhbmd1 YWdlLiBJdCBpcyB1c2VkIGZvciBjb21tdW5pY2F0aW9uIGxpa2UgbmF0dXJhbCBsYW5ndWFnZXMs IHNpbXBsZXIsIG1vcmUgcmVndWxhciwgYW5kIHJlbGF0aXZlbHkgdW5jb250YW1pbmF0ZWQgYnkg Y3VsdHVyZSBlZmZlY3RzLiBVbmxpa2UgbW9zdCBuYXR1cmFsIGxhbmd1YWdlcywgYW4gQUwgaGFz IG5vdCBldm9sdmVkIHRocm91Z2ggbmF0dXJhbCBwcm9jZXNzZXMgb2YgaW50ZXJuYWwgY2hhbmdl IG9yIGNvbnRhY3Qgd2l0aCBvdGhlciBsYW5ndWFnZXMuIEluIGFkZGl0aW9uLCB0byB0aGUgZXh0 ZW50IHRvIHdoaWNoIGRldGFpbHMgb2YgYW4gQUwgaXMgcHJlLWRlZmluZWQsIHRoZSBpbnRlcm5h bCBzdHJ1Y3R1cmUgb2YgdGhlIGxhbmd1YWdlIGlzIGZhciBiZXR0ZXIga25vd24gdGhhbiB0aGF0 IG9mIGFueSBuYXR1cmFsIGxhbmd1YWdlLgoKCgpTdWNoIGEgcHJlLWRlZmluaXRpb24sIGEgbGFu Z3VhZ2UgJ3ByZXNjcmlwdGlvbicsIG1ha2VzIGFuIEFMIGEgdW5pcXVlIHRvb2wgZm9yIHN0dWR5 aW5nIHRoZSBuYXR1cmUgb2YgbGFuZ3VhZ2UuIEFzIHBlb3BsZSBsZWFybiB0aGUgbGFuZ3VhZ2Us IHRoZSB3YXkgdGhleSAnYWNxdWlyZScgdW5kZXJzdGFuZGluZyBvZiB0aGF0IHByZXNjcmlwdGlv biBjYW4gdGVsbCBzY2llbnRpc3RzIGhvdyAnbmF0dXJhbCcgdGhlIHByZXNjcmliZWQgZm9ybXMg YXJlLiBBY3R1YWwgdXNhZ2Ugb2YgdGhlIGxhbmd1YWdlIGNhbiBiZSBjb21wYXJlZCB0byB0aGUg cHJlc2NyaXB0aW9uIHByb3ZpZGluZyBxdWFudGl0YXRpdmUgZGF0YSBvbiBzcGVjaWZpYyBwYXR0 ZXJucyBvZiB1c2FnZS4gQXMgdGhlIGxhbmd1YWdlIGV2b2x2ZXMgZnJvbSBpdHMgcmVsYXRpdmVs eSBwcmlzdGluZSBpbml0aWFsIHN0YXRlLCBpdCBtYXkgZGV2aWF0ZSBmcm9tIGl0cyBwcmVzY3Jp cHRpb24uIFN1Y2ggZGV2aWF0aW9ucyB3aWxsIGJldHRlciBpbmZvcm0gcmVzZWFyY2hlcnMgYXMg dG8gdGhlIHByb3BlcnRpZXMgb2YgYSAnbmF0dXJhbCcgbGFuZ3VhZ2UuIFRoZSBwcm9jZXNzIG9m IGxhbmd1YWdlIGNoYW5nZSBpdHNlbGYgd2lsbCBiZSBvcGVuIHRvIGludmVzdGlnYXRpb24gaW4g YSB3YXkgbmV2ZXIgYmVmb3JlIHBvc3NpYmxlLiBGaW5hbGx5LCB0aGUgZXhpc3RlbmNlIG9mIGEg cmVsYXRpdmVseSBjb21wbGV0ZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gYXQgdGhlIGJpcnRoIG9m IHRoZSBsYW5ndWFnZSBtZWFucyB0aGF0IGEgJ2Rlc2NyaXB0aW9uJyBvZiBhY3R1YWwgdXNhZ2Ug YWZ0ZXIgdGhhdCBpbml0aWFsIHN0YXRlIGNhbiBiZSBtb3JlIHNpbXBseSBjcmVhdGVkLCBtYWlu dGFpbmVkLCBhbmQgc3R1ZGllZC4KCgoKTG9qYmFuIGlzIHVuZG91YnRlZGx5IHRoZSBtb3N0IGNh cmVmdWxseSBkZXNpZ25lZCBhbmQgZGVmaW5lZCBBTCBldmVyIGNyZWF0ZWQuIEFsbCBhc3BlY3Rz IG9mIGl0cyBkZXNpZ24gaGF2ZSBiZWVuIGNhcmVmdWxseSBlbmdpbmVlcmVkIGJ5IHNldmVyYWwg cGVvcGxlIGVuY29tcGFzc2luZyBleHBlcnRpc2UgaW4gYSB2YXJpZXR5IG9mIGRpc2NpcGxpbmVz LCBpbmNsdWRpbmcgbGluZ3Vpc3RpY3MuIFRoZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gaXMgc2lt aWxhcmx5IHRoZSBtb3N0IGNvbXBsZXRlIG9mIGFueSBsYW5ndWFnZS4gQXMgc3VjaCwgaXQgc2Vy dmVzIGFzIGEgdW5pcXVlIGJhc2lzIGZvciB0aGUgc3R1ZHkgb2YgbGFuZ3VhZ2UgdXNhZ2UgYW5k IGxhbmd1YWdlIGNoYW5nZS4KCgoKQSBuZXcgbGFuZ3VhZ2UgbGlrZSBMb2piYW4sIHdpdGggbm8g bmF0aXZlIHNwZWFrZXJzLCBpcyBhICdwaWRnaW4nLiBBcyB0aGUgbGFuZ3VhZ2UgZXZvbHZlcywg bmF0aXZlIHNwZWFrZXJzIG9mIG90aGVyIGxhbmd1YWdlcyB3aWxsIGxlYXJuIGl0LCBhbmQgd2ls bCBicmluZyBpbnRvIHRoZWlyIExvamJhbiB1c2FnZSB0aGUgcGVyc3BlY3RpdmUgYW5kIHBhdHRl cm5zIG9mIHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gVGhpcyBpbnRlcmFjdGlvbiBwcm9jZXNzLCBj YWxsZWQgJ2NyZW9saXphdGlvbicsIGFmZmVjdHMgYWxsIGxhbmd1YWdlcywgYW5kIG1heSBiZSB0 aGUgcHJpbmNpcGxlIGNhdXNlIG9mIGxhbmd1YWdlIGNoYW5nZS4gQXMgTG9qYmFuIGlzIGxlYXJu ZWQgYnkgc3BlYWtlcnMgb2YgYSB2YXJpZXR5IG9mIG5hdHVyYWwgbGFuZ3VhZ2VzLCB0aGlzIHBy b2Nlc3MgY2FuIGJlIHN0dWRpZWQgZGlyZWN0bHkgaW4gYSB3YXkgbmV2ZXIgYmVmb3JlIHBvc3Np YmxlLCB3aXRoIHRoZSBsYW5ndWFnZSBwcmVzY3JpcHRpb24gc2VydmluZyBhcyBhIHN0YW5kYXJk IGJ5IHdoaWNoIGRldmlhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHNwZWFrZXIgb3JpZ2luLCBhbmQg ZXZvbHV0aW9uIG9mIHVzYWdlLCBjYW4gYmUgbWVhc3VyZWQgYW5kIGRlc2NyaWJlZCBpbiBkZXRh aWwuCgoKCkFuIEFMIGxpa2UgTG9qYmFuIGhhcyBuZWl0aGVyIGFuIGFzc29jaWF0ZWQgJ25hdGl2 ZSBhY2NlbnQnIG5vciBhIGN1bHR1cmUgYmFzZS4gQmVpbmcgbXVjaCBzaW1wbGVyIGFuZCBtb3Jl IHJlZ3VsYXIgdGhhbiBhIG5hdHVyYWwgbGFuZ3VhZ2UsIGFuIGFkdWx0IHNwZWFrZXIgc2hvdWxk IGFjcXVpcmUgYSBmbHVlbmN5IHNlbGRvbSBhY2hpZXZlZCB3aGVuIHN0dWR5aW5nIGEgbmF0dXJh bCBsYW5ndWFnZSwgYW5kIGluIGEgcmVsYXRpdmVseSBzaG9ydCB0aW1lLiBMb2piYW4gdGh1cyBt YWtlcyBwb3NzaWJsZSByZWxhdGl2ZWx5IHNob3J0LXRlcm0gc3R1ZGllcyBvZiBsYW5ndWFnZSBs ZWFybmluZyBhbmQgbGFuZ3VhZ2UgY2hhbmdlLiBQcm9jZXNzZXMgdGhhdCB0YWtlIGdlbmVyYXRp b25zIGluIG5hdHVyYWwgbGFuZ3VhZ2VzIG1heSBiZSBvYnNlcnZlZCBpbiBhIGZldyB5ZWFycyBp biBMb2piYW4gc3BlYWtlcnMuCgoKCldpdGggdGhlIGxlYXJuaW5nIG9mIG90aGVyIGxhbmd1YWdl cyBhY3F1aXJpbmcgY3JpdGljYWwgaW1wb3J0YW5jZSBpbiB0b2RheSdzIGludGVybmF0aW9uYWwg ZWNvbm9teSwgTG9qYmFuIHByb3ZpZGVzIGEgdG9vbCBmb3IgcmVzZWFyY2ggaW4gbGFuZ3VhZ2Ug YWNxdWlzaXRpb24uIEFnYWluLCBMb2piYW4ncyBzaW1wbGljaXR5IGFsbG93cyB0aGUgcmVzdWx0 cyBvZiBzdWNoIHJlc2VhcmNoIHRvIGJlIG9idGFpbmVkIG1vcmUgcXVpY2tseSB0aGFuIGluIHNp bWlsYXIgc3R1ZGllcyBvZiBuYXR1cmFsIGxhbmd1YWdlIGFjcXVpc2l0aW9uLgoKCgpObyBjbGFp bSBpcyBtYWRlIHRoYXQgc3R1ZHlpbmcgTG9qYmFuIHdpbGwgdGVsbCAnYWxsJyBhYm91dCBsYW5n dWFnZS4gTG9qYmFuLCBhdCBsZWFzdCBmb3Igc2V2ZXJhbCBkZWNhZGVzLCB3aWxsIG9ubHkgYmUg YSAnbW9kZWwnIG9mIGEgbGFuZ3VhZ2UsIHdob3NlICduYXR1cmFsbmVzcycgd2lsbCBiZSBzdXNw ZWN0LiBIb3dldmVyLCB0byB0aGUgZXh0ZW50IHRoYXQgTG9qYmFuIHNlcnZlcyB0aGUgY29tbXVu aWNhdGl2ZSBhbmQgZXhwcmVzc2l2ZSBmdW5jdGlvbnMgb2YgaHVtYW4gbGFuZ3VhZ2UsIGFueSB0 aGVvcnkgYWJvdXQgdGhlIG5hdHVyZSBvZiBodW1hbiBsYW5ndWFnZSBtdXN0IGFwcGx5IHRvIExv amJhbi4gTGFuZ3VhZ2UgZmVhdHVyZXMgYW5kIHByb2Nlc3NlcyBtb3JlIGVhc2lseSBpZGVudGlm aWVkIGluIHN0dWR5aW5nIExvamJhbiBjYW4gdGhlbiBiZSBjb25maXJtZWQgaW4gbmF0dXJhbCBs YW5ndWFnZXMuIFNpbWlsYXJseSwgdGhlb3JpZXMgb2YgdGhlIG5hdHVyZSBvZiBsYW5ndWFnZSBj YW4gYmUgdGVzdGVkIGFuZCByZWZpbmVkIGFnYWluc3QgdGhpcyBzaW1wbGVyIG1vZGVsIG9mIGEg bGFuZ3VhZ2UgYmVmb3JlIGZhY2luZyB0aGUgbW9yZSBkaWZmaWN1bHQgYW5kIHRpbWUtY29uc3Vt aW5nIHRlc3RpbmcgYW5kIGFuYWx5c2lzIGludm9sdmVkIGluIG5hdHVyYWwgbGFuZ3VhZ2UgcmVz ZWFyY2guCgoKCkJlY2F1c2UgTG9qYmFuIGlzIHJlbGF0aXZlbHkgY3VsdHVyZS1mcmVlLCBhbmQg YmVjYXVzZSBvZiBpdHMgcHJlc2NyaWJlZCBzdHJ1Y3R1cmUgdGhhdCBpcyBjb25zaXN0ZW50IHdp dGggcHJlZGljYXRlIGxvZ2ljLCBMb2piYW4gaXMgYW4gaWRlYWwgbWVkaXVtIGZvciB0aGUgYW5h bHlzaXMgYW5kIGRlc2NyaXB0aW9uIG9mIG90aGVyIGxhbmd1YWdlcy4gQ3VycmVudGx5LCBmZWF0 dXJlcyBpbiBsYW5ndWFnZSBtdXN0IGJlIGNvbXBhcmVkIGFnYWluc3Qgb3RoZXIgbmF0dXJhbCBs YW5ndWFnZXMsIGFuZCBhcmUgdXN1YWxseSBkZXNjcmliZWQgaW4gc2NpZW50aWZpYyBsaXRlcmF0 dXJlIGJ5IGdsb3NzZWQgdHJhbnNsYXRpb24gaW50byBFbmdsaXNoLiBMb2piYW4gaXMgc2ltcGxl IGFuZCByZWd1bGFyIGVub3VnaCB0byBiZSBhY3F1aXJlZCBhcyBhIG1ldGFsYW5ndWFnZSBmb3Ig ZGVzY3JpYmluZyBvdGhlciBsYW5ndWFnZXM7IGl0cyBzdHJ1Y3R1cmVzIGFsbG93IGNsZWFyZXIg cmVmbGVjdGlvbiBvZiB0aGUgcGF0dGVybnMgb2YgdGhlIGxhbmd1YWdlIGJlaW5nIGRlc2NyaWJl ZCwgd2l0aG91dCBpbnRlcmZlcmVuY2UgZnJvbSB0aGUgY29tcGV0aW5nIHBhdHRlcm5zIG9mIEVu Z2xpc2guCgoKCkZpbmFsbHksIExvamJhbidzIHByZWRpY2F0ZSBncmFtbWFyLCBtYWtlcyBpdCBl bWluZW50bHkgc3VpdGVkIGZvciBvbmdvaW5nIGNvbXB1dGVyIHJlc2VhcmNoIGludG8gbmF0dXJh bCBsYW5ndWFnZXMuIExvamJhbiBjYW4gYmUgdXNlZCBmb3IgcGFyc2luZyBhbmQgYW5hbHlzaXMs IGFzIGFuIGludGVybmFsIG1lZGl1bSBvZiBkYXRhIHN0b3JhZ2UsIG9yIGFzIGFuIGludGVybWVk aWF0ZSBsYW5ndWFnZSBmb3IgbWFjaGluZSB0cmFuc2xhdGlvbi4gSGF2aW5nIGEgY29tYmluYXRp b24gb2YgbG9naWNhbCBhbmQgbmF0dXJhbCBsYW5ndWFnZSBzdHJ1Y3R1cmVzLCBMb2piYW4gY29t YmluZXMgdGhlIGJlc3Qgb2YgYm90aCBtYWpvciBzdHJ1Y3R1cmFsIGFwcHJvYWNoZXMgdG8gbGFu Z3VhZ2UgcHJvY2Vzc2luZyBpbiBjb21wdXRlcnMuCgoKClRoZSBleGVyY2lzZSBvZiB0cnlpbmcg dG8gaW52ZW50IGEgbGFuZ3VhZ2UgY2FuIHRlYWNoIHVzIHRoaW5ncyBhYm91dCBsYW5ndWFnZSB0 aGF0IHByb2JhYmx5IGNhbid0IGJlIGxlYXJuZWQgaW4gYW55IG90aGVyIHdheS4gRXZlbiBpZiBM b2piYW4gc2hvdWxkIGZhaWwgYXMgYSBsYW5ndWFnZSwgd2Ugd2lsbCBsZWFybi4gSG93ZXZlciwg dG8gdGhlIGV4dGVudCBMb2piYW4gc3VjY2VlZHMsIGl0cyBwb3RlbnRpYWwgYXMgYSBiYXNpcyBm b3IgdGVzdGluZyBpZGVhcyBhYm91dCBsYW5ndWFnZSwgaXRzIHN0cnVjdHVyZSwgYW5kIHVzYWdl LCBpcyB1bmxpbWl0ZWQuIFRoZSBpbnZlbnRpb24gb2YgTG9qYmFuIGlzIHRoZSBpbnZlbnRpb24g b2YgdGhlIHNjaWVuY2Ugb2YgZXhwZXJpbWVudGFsIGxpbmd1aXN0aWNzLgoKCgohIUxvamJhbiBh cyBhbiBpbnRlcm5hdGlvbmFsIGxhbmd1YWdle0FOQU1FKCl9aW50ZXJuYXRpb25hbHtBTkFNRX0K CgoKTG9qYmFuIG1heSBiZSB0aGUgZmlyc3QgYXJ0aWZpY2lhbCBsYW5ndWFnZSBOT1QgaW4gZGly ZWN0IGNvbXBldGl0aW9uIHdpdGggRXNwZXJhbnRvLCBpbiB0aGF0IExvamJhbidzIHBvdGVudGlh bCBzdWNjZXNzIGlzIG5vdCBkZXBlbmRlbnQgb24gaXRzIGltbWVkaWF0ZSBwcmFjdGljYWwgdXNl IGFzIGFuIGludGVybmF0aW9uYWwgbGFuZ3VhZ2UuIEluZGVlZCwgd2UgdXNlIEVzcGVyYW50byBh cyBvbmUgbWVhbnMgb2YgcmFwaWRseSBzcHJlYWRpbmcgaW5mb3JtYXRpb24gYWJvdXQgTG9qYmFu IHRvIG5vbi1FbmdsaXNoIHNwZWFrZXJzLCBzcGVlZGluZyBhIHByb2Nlc3MgdGhhdCB3b3VsZCB0 YWtlIGRlY2FkZXMgdXNpbmcgZGlyZWN0IHRyYW5zbGF0aW9uIHRvIGFsbCB0YXJnZXQgbGFuZ3Vh Z2VzLiBMb2piYW4gaGFzIHByb3ZlbiBhdHRyYWN0aXZlIHRvIEVzcGVyYW50aXN0cyBpbnRlcmVz dGVkIGluIGFjcXVpcmluZyBhIG5ldyBwZXJzcGVjdGl2ZSBvbiB0aGVpciBvd24gaW50ZXJuYXRp b25hbCBsYW5ndWFnZTsgdGhlc2UgZmVlbCBsZXNzIHRocmVhdGVuZWQgYmVjYXVzZSBMb2piYW4g aGFzIGRpZmZlcmVudCBnb2Fscy4gTG9qYmFuJ3Mgc3VwcG9ydGVycyByZWNvZ25pemUgdGhhdCBp dCB3aWxsIHRha2UgZGVjYWRlcyBmb3IgTG9qYmFuIHRvIGFjcXVpcmUgYm90aCB0aGUgbnVtYmVy IGFuZCB2YXJpZXR5IG9mIHNwZWFrZXJzIGFuZCB0aGUgZXh0ZW5zaXZlIGhpc3Rvcnkgb2YgdXNh Z2UgdGhhdCBtYXJrcyBFc3BlcmFudG8gY3VsdHVyZS4gTWVhbndoaWxlLCBlYWNoIGxhbmd1YWdl IGNvbW11bml0eSBoYXMgbXVjaCB0byBsZWFybiBmcm9tIGVhY2ggb3RoZXI7IHRoaXMgcHJvY2Vz cyBoYXMgc3RhcnRlZCBhbmQgaXMgbW9zdCBhY3RpdmUuCgoKCiEhU2V2ZXJhbCByZWFzb25zIGZv ciBsZWFybmluZyBMb2piYW4gTk9Xe0FOQU1FKCl9cmVhc29uc3tBTkFNRX0KCgoKVGhvc2Ugd29y a2luZyB3aXRoIHRoZSBsYW5ndWFnZSBub3cgYXJlIGFjdGl2ZWx5IGNvbnN1bHRlZCBmb3IgdGhl aXIgb3BpbmlvbnMgb24gaG93IHRvIHRlYWNoIGFuZCBzcHJlYWQgdGhlIGxhbmd1YWdlLiBQZW9w bGUgd2hvIHdyaXRlIGluIHRoZSBsYW5ndWFnZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBncm93 dGggb2YgdGhlIGxleGljb24sIGFuZCBlc3RhYmxpc2hpbmcgdGhlIGNvbnZlbnRpb25zIGFuZCBp ZGlvbXMgdGhhdCB3aWxsIGd1aWRlIGxhbmd1YWdlIHVzZSBpbiBmdXR1cmUgeWVhcnMuIFBlb3Bs ZSB3aG8gYXJlIGVzcGVjaWFsbHkgYWN0aXZlIGhhdmUgam9pbmVkIHRoZSBwcm9qZWN0IGxlYWRl cnNoaXAgd2l0aGluIGEgZmV3IG1vbnRocyBvZiBiZWNvbWluZyBpbnZvbHZlZC4KCgoKVGhvc2Ug d2l0aCBhIGNvbXB1dGVyIGJhY2tncm91bmQgY2FuIGxlYWQgZGV2ZWxvcG1lbnQgb2YgdGhlIGZp cnN0IGNvbXB1dGVyIGFwcGxpY2F0aW9ucyBmb3IgdGhlIGxhbmd1YWdlLiBFeHBlcnRpc2UgaW4g dGhlIGxhbmd1YWdlIHdpbGwgbm8gZG91YnQgYmUgdmFsdWFibGUgYXMgTG9qYmFuIGJlY29tZXMg cmVjb2duaXplZCBhcyBhIHVzZWZ1bCB0b29sIGZvciBjb21wdXRlciBhcHBsaWNhdGlvbnMgYnkg dGhlIGNvbXB1dGVyIGluZHVzdHJ5LiBDb21wdXRlci1vcmllbnRlZCBMb2piYW5pc3RzIGNhbiBh bHNvIGFpZCBpbiBkZXZlbG9waW5nIGNvbXB1dGVyLWFpZGVkIGluc3RydWN0aW9uIHRvb2xzIG9y IGNvbnZlcnRpbmcgZXhpc3Rpbmcgc29mdHdhcmUgdG8gcnVuIG9uIG5ldyBjb21wdXRlcnMuCgoK ClJlZ2FyZGxlc3Mgb2YgYmFja2dyb3VuZCwgbGVhcm5pbmcgTG9qYmFuIGlzIGEgbWluZC1leHBh bmRpbmcgZXhwZXJpZW5jZS4gTGVhcm5pbmcgYW55IGxhbmd1YWdlIG90aGVyIHRoYW4geW91ciBu YXRpdmUgdG9uZ3VlIGJyb2FkZW5zIHlvdXIgcGVyc3BlY3RpdmVzIGFuZCBhbGxvd3MgeW91IHRv IHRyYW5zY2VuZCB0aGUgbGltaXRlZCB2aWV3cG9pbnRzIG9mIHlvdXIgbmF0aXZlIGxhbmd1YWdl IGN1bHR1cmUuIExvamJhbiwgYmVpbmcgbXVjaCBzaW1wbGVyIHRvIGxlYXJuIHRoYW4gbmF0dXJh bCBsYW5ndWFnZXMsIHByb3ZpZGVzIHRoaXMgYmVuZWZpdCBtdWNoIG1vcmUgcXVpY2tseSB0aGFu IGRvZXMgdGhlIHN0dWR5IG9mIG90aGVyIGxhbmd1YWdlcy4gQmVpbmcgc28gc3Ryb25nbHkgZGlm ZmVyZW50LCB0aGUgaW50ZW5zaXR5IG9mIHRoZSBlZmZlY3Qgc2VlbXMgdG8gYmUgaGVpZ2h0ZW5l ZC4gV2hlbiBMb2piYW5pc3RzIHRhbGsgYWJvdXQgbGFuZ3VhZ2UsIHRoZSBkaXNjdXNzaW9uIGhh cyBiZWVuIG9ic2VydmVkIHRvIGJlIG1vcmUgc29waGlzdGljYXRlZCBhcyB3ZWxsIGFzIHF1YWxp dGF0aXZlbHkgZGlmZmVyZW50IGZyb20gdGhlIHRhbGsgb2Ygc3R1ZGVudHMgb2Ygc2Vjb25kIG5h dHVyYWwgbGFuZ3VhZ2VzLgoKCgpUaGUgbG9naWNhbCBvcmdhbml6YXRpb24gZW1iZWRkZWQgaW4g TG9qYmFuIGFpZHMgaW4gb3JnYW5pemluZyBhbmQgY2xhcmlmeWluZyB0aG91Z2h0cy4gSGF2aW5n IGRvbmUgc28sIHlvdXIgbmV3IHBlcnNwZWN0aXZlIG9uIGxhbmd1YWdlLCBhbWJpZ3VpdHksIGFu ZCBjb21tdW5pY2F0aW9uIHdpbGwgYWxsb3cgeW91IHRvIGV4cHJlc3MgdGhvc2UgdGhvdWdodHMg bW9yZSBjbGVhcmx5LCBldmVuIHdoZW4geW91IHVzZSBhbiBhbWJpZ3VvdXMgbmF0dXJhbCBsYW5n dWFnZS4KCgoKQSByZWxhdGl2ZWx5IHNob3J0IHN0dWR5IG9mIExvamJhbiBieSBoaWdoIHNjaG9v bCAob3IgeW91bmdlcikgc3R1ZGVudHMgaGFzIGJlZW4gcHJvcG9zZWQsIHByb3ZpZGluZyB0aGUg bGluZ3Vpc3RpYyB1bmRlcnN0YW5kaW5nIHRoYXQgd2FzIG9uY2UgYXNzb2NpYXRlZCB3aXRoIHN0 dWR5aW5nIExhdGluIGFuZCBvdGhlciBsYW5ndWFnZXMgZm9yIG11Y2ggbG9uZ2VyIHBlcmlvZHMg b2YgdGltZS4gU3VjaCBzdHVkeSBjYW4gYmUgdGllZCBpbiB3aXRoIGNvbmNlcHRzIG9mIGxvZ2lj LCBhbmQgcG9zc2libHkgd2l0aCBjb21wdXRlci1yZWxhdGVkIGFjdGl2aXRpZXMsIGhlbHBpbmcg dG8gc2hvdyB0aGUgZXNzZW50aWFsIGludGVycmVsYXRlZCBuYXR1cmUgb2YgbGFuZ3VhZ2UgYW5k IG90aGVyIGh1bWFuIGVuZGVhdm9yLgoKCgpZb3UgbmVlZG4ndCBsZWFybiBMb2piYW4gZm9yIGFu eSBwcmFjdGljYWwgcHVycG9zZSwgaG93ZXZlci4gTWFueSBvZiB0aG9zZSBsZWFybmluZyBMb2pi YW4gYXJlIGRvaW5nIHNvIGJlY2F1c2UgaXQgaXMgZnVuLiBMZWFybmluZyBMb2piYW4gaXMgaW50 ZWxsZWN0dWFsbHkgc3RpbXVsYXRpbmcsIGFuZCBwcm92aWRlcyBodW1hbiBpbnRlcmFjdGlvbiBh bmQgbWVudGFsIGNoYWxsZW5nZS4gTG9qYmFuIGhhcyBhbGwgdGhlIGJlbmVmaXRzIG9mIGdhbWVz IGRlc2lnbmVkIGZvciBlbnRlcnRhaW5tZW50LCB3aXRoIHRoZSBhZGRlZCBwcm9zcGVjdCBvZiBk ZXZlbG9waW5nIHVzZWZ1bCBza2lsbHMgYXMgYSBzaWRlIGJlbmVmaXQuIExlYXJuaW5nIExvamJh biBhcyBhbiAnaW50ZWxsZWN0dWFsIHRveScgbWVhbnMgdGhhdCB5b3UgY2FuIGdldCBlbmpveW1l bnQgZnJvbSBsZWFybmluZyBMb2piYW4gd2l0aG91dCBuZWFybHkgdGhlIGVmZm9ydCBuZWVkZWQg dG8gYmVuZWZpdCBmcm9tIHN0dWR5aW5nIG90aGVyIGxhbmd1YWdlcy4gV2hpbGUgYmVjb21pbmcg Zmx1ZW50IGluIExvamJhbiB3aWxsIHByb2JhYmx5IHRha2UgaHVuZHJlZHMgb2YgaG91cnMgb3Zl ciBzZXZlcmFsIG1vbnRocywgeW91IGNhbiBmZWVsIHNvbWUgc2Vuc2Ugb2YgYWNjb21wbGlzaG1l bnQgaW4gdGhlIGxhbmd1YWdlIGFmdGVyIGp1c3QgYSBmZXcgaG91cnMgb2Ygc3R1ZHkuIFlvdSBj YW4gdXNlIExvamJhbiBpbW1lZGlhdGVseSBmb3IgZnVuLCB3aGlsZSBnYWluaW5nIHNraWxsIHdp dGggZ3JlYXRlciBleHBlcmllbmNlLgoKCgohIUhvdyB0byBsZWFybiBMb2piYW57QU5BTUUoKX1o b3d7QU5BTUV9CgoKCldyaXRlIHRvIFtodHRwOi8vd3d3LmxvamJhbi5vcmcvbGxnL2NvbnRhY3Qu aHRtbHxUaGUgTG9naWNhbCBMYW5ndWFnZSBHcm91cCwgSW5jLl0sIGFuZCB3ZSB3aWxsIGJlIGhh cHB5IHRvIHByb3ZpZGUgaW5mb3JtYXRpb24sIHRob3VnaCBvdXIgY29sbGVjdGVkIFdlYiBhbmQg ZmlsZSBhcmNoaXZlcyBjb250YWluIGFsbCBpbmZvcm1hdGlvbiB0aGF0IHdlIGhhdmUgaW4gZGlz dHJpYnV0YWJsZSBmb3JtLiBGb3IgcHJpbnRlZCBtYXR0ZXIsIHdlIHJlcXVlc3QgYSBjb250cmli dXRpb24gb2YgJDUgdG8gY292ZXIgdGhlIGNvc3RzIG9mIGludHJvZHVjdG9yeSBtYXRlcmlhbHMg KGluY2x1ZGluZyBhIGNvcHkgb2YgdGhpcyBlc3NheSksIGJ1dCB3aWxsIHNlbmQgdGhpcyBwYWNr YWdlIG9uIHNwZWN1bGF0aW9uLiBBZGRpdGlvbmFsIG1hdGVyaWFscyBhdmFpbGFibGUgdG90YWwg aHVuZHJlZHMgb2YgcGFnZXMsIHdoaWNoIGFyZSBwcmljZWQgYXBwcm94aW1hdGVseSBhdCBvdXIg Y29zdHM7IHdlIGFyZSBhIG5vbi1wcm9maXQgZWR1Y2F0aW9uYWwvc2NpZW50aWZpYyBvcmdhbml6 YXRpb24uICgoQ29udGFjdCBVcykpIHVzIHJlZ2FyZGluZyBpbnRlcm5hdGlvbmFsIHBheW1lbnQ7 IHdlIG9mZmVyIHNldmVyYWwgb3B0aW9ucy4gQSBsaW1pdGVkIHBvbGljeSBleGlzdHMgZm9yIHBy b3ZpZGluZyBtYXRlcmlhbHMgdG8gcGVvcGxlIHdobyBjYW5ub3QgYWZmb3JkIHBheW1lbnQuCgoK CldlIGVuY291cmFnZSBuZXcgcGVvcGxlIHRvIGNvbmNlbnRyYXRlIG9uIHZvY2FidWxhcnkuIEFs bW9zdCBhbnkgdXNlIG9mIExvamJhbiByZXF1aXJlcyBzb21lIG1hc3Rlcnkgb2YgdGhlIGJhc2lj IHZvY2FidWxhcnkgKDEwMDAtMjAwMCB3b3JkcykuIFlvdSBjYW4gbGVhcm4gZW5vdWdoIExvamJh biBncmFtbWFyIHRvIHN1cHBvcnQgY29udmVyc2F0aW9uIGluIGp1c3QgYSBjb3VwbGUgb2YgaG91 cnMsIGJ1dCBmYWNlIG1hbnkgaG91cnMgb2Ygdm9jYWJ1bGFyeSB3b3JrIGluIG9yZGVyIHRvIGVm ZmVjdGl2ZWx5IHVzZSB0aGF0IGdyYW1tYXIuIFdlIGRpc3RyaWJ1dGUgZmxhc2ggY2FyZHMgYW5k IGhhdmUgZGV2ZWxvcGVkIGZsYXNoIGNhcmQgdGVjaG5pcXVlcyB0aGF0IGFyZSBleHRyZW1lbHkg ZWZmaWNpZW50IGluIGxlYXJuaW5nIHZvY2FidWxhcnkuIFRoZXNlIHRlY2huaXF1ZXMgaGF2ZSBi ZWVuIGF1dG9tYXRlZCBpbnRvIGNvbXB1dGVyLWFpZGVkLXRlYWNoaW5nIHByb2dyYW1zIHNvbGQg YW5kIGRpc3RyaWJ1dGVkIGFzIFNoYXJld2FyZSB1bmRlciB0aGUgbmFtZSAiTG9nRmxhc2giLCB3 aXRoIE1TLURPUyBhbmQgTWFjSW50b3NoIHZlcnNpb25zCgpjdXJyZW50bHkgYXZhaWxhYmxlLgoK CgpZb3UgY2FuIGxlYXJuIHRoZSBMb2piYW4gZ3JhbW1hciBpbiBzZXZlcmFsIHdheXMsIGluY2x1 ZGluZyBzdHVkeSBvZiBleGFtcGxlcyBpbiB0aGUgcXVhcnRlcmx5IGpvdXJuYWwgKChqdSdpIGxv YnlwbGl8X18nJ2p1J2kgbG9ieXBsaScnX18pKSBvciBieSBpbnNwZWN0aW9uIGFuZCBhbmFseXNp cyBvZiBZQUNDIGFuZCBFLUJORiBmb3JtYWwgZ3JhbW1hciBkZXNjcmlwdGlvbnMuIFRoZXJlIGlz IG5vdyBhIHB1Ymxpc2hlZCBsYW5ndWFnZSByZWZlcmVuY2UgW2h0dHA6Ly93d3cubG9qYmFuLm9y Zy9wdWJsaWNhdGlvbnMvY2xsLmh0bWx8IFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2VdLCBi eSBKb2huIENvd2FuLiBEcmFmdCBsZXNzb24gbWF0ZXJpYWxzIChhYm91dCAxODAgcGFnZXMpIGFy ZSB0aGUgYmVzdCBtYXRlcmlhbHMgYXZhaWxhYmxlIGZvciBzZWxmLXN0dWR5LiBBIExvamJhbiB0 ZXh0LWJvb2sgaXMgYmVpbmcgd3JpdHRlbiB0byByZWZsZWN0IHdoYXQgaXMgbGVhcm5lZCBmcm9t IHRoZSBmaXJzdCBsZWFybmluZyBlZmZvcnRzLCBhbmQgaXMgYmVpbmcgZGVzaWduZWQgc28gdGhh dCBpdCBjYW4gYmUgdXNlZCBmb3Igc2VsZi1pbnN0cnVjdGlvbiwgY2xhc3Nyb29tIHRlYWNoaW5n LCBvciBncm91cCBzdHVkeS4gQSBmb3JtYWwgJ0xvamJhbiBkaWN0aW9uYXJ5JyB3aWxsIHJlcGxh Y2UgbW9zdCBvZiB0aGUgZXhpc3Rpbmcgd29yZCBsaXN0cyBhbmQgbGFuZ3VhZ2UgZGVzY3JpcHRp b24gbWF0ZXJpYWxzLCBhbmQgaXMgYmVpbmcgd29ya2VkIG9uLCBidXQgcHJlc2VudCBtYXRlcmlh bHMgY29udGFpbiB0aGUgZXF1aXZhbGVudCBvZiBhIGJhc2ljIGRpY3Rpb25hcnkuCgoKCkFmdGVy IHRoZSBkaWN0aW9uYXJ5IGFuZCB0ZXh0Ym9vayBoYXZlIGJlZW4gcHVibGlzaGVkIHRoZSBMb2pi YW4gbGFuZ3VhZ2UgZGVmaW5pdGlvbiB3aWxsIGJlIGJhc2VsaW5lZCAoZnJvemVuKSBmb3IgYSBt aW5pbXVtIG9mIDUgeWVhcnMsIGFuZCBMb2piYW4gd2lsbCB0aGVyZWFmdGVyIGJlIHNvbGVseSBj b250cm9sbGVkIGJ5IHNwZWFrZXJzIG9mIHRoZSBsYW5ndWFnZS4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0 Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9s aXN0aW5mby93aWtpbmV1cm90aWMK