MESSAGE
DATE | 2014-12-06 |
FROM | Ruben Safir
|
SUBJECT | Subject: [LIU Comp Sci] All the notes through External Memory
|
From owner-learn-outgoing-at-mrbrklyn.com Sat Dec 6 17:54:23 2014 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix) id C387116007B; Sat, 6 Dec 2014 17:54:23 -0500 (EST) Delivered-To: learn-outgoing-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 28) id 9F8AE16112F; Sat, 6 Dec 2014 17:54:23 -0500 (EST) Delivered-To: learn-at-nylxs.com Received: from mailbackend.panix.com (mailbackend.panix.com [166.84.1.89]) by mrbrklyn.com (Postfix) with ESMTP id 117E916007B for ; Sat, 6 Dec 2014 17:54:22 -0500 (EST) Received: from [10.0.0.42] (unknown [96.57.23.82]) by mailbackend.panix.com (Postfix) with ESMTPSA id A51FD13E06; Sat, 6 Dec 2014 17:54:21 -0500 (EST) Message-ID: <54838947.7010603-at-panix.com> Date: Sat, 06 Dec 2014 22:55:03 +0000 From: Ruben Safir User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: learn-at-nylxs.com, samir Iabbassen Subject: [LIU Comp Sci] All the notes through External Memory Content-Type: multipart/mixed; boundary="------------080603090100050903020603" Sender: owner-learn-at-mrbrklyn.com Precedence: bulk Reply-To: learn-at-mrbrklyn.com
This is a multi-part message in MIME format. --------------080603090100050903020603 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit
This is all the notes until CD external drives etc (cpt 7)
Please review and edit if need be
How is the homework coming?
http://www.nylxs.com/docs/grad_school/arch/memory_notes.txt.html
Ruben
--------------080603090100050903020603 Content-Type: text/plain; charset=UTF-8; name="memory_notes.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="memory_notes.txt"
CjYuMCAgQ29tcHV0ZXIgTWVtb3J5CgoJNi4wMSBMb2NhdGlvbjoKCQk2LjAxMSBpbnRlcm5h bAoJCQk2LjAxMTEgTWFpbiBNZW1vcnkKCQkJNi4wMTEyIFJlZ2lzdGVyczogUHJvY2Vzc29y IExvY2FsIE1lbW9yeSAKCQkJNi4wMTEzICBDb250cm9sIFVuaXQgTWVtb3J5CgkJCTYuMDEx NCAgQ2FjaGUKIAoJCTYuMDEyIGV4dGVybmFsCgkJCTYuMDEyMSBQZXJpcGhlcmFsIFN0b3Jh Z2UgRGV2aWNlcwoJCQkJNi4wMTIxMiAgVGFwZXMgYW5kIERpc2tzCgkJCTYuMDEyMiAgQXZh aWxibGUgdGhyb3VnaCBJL08gY29udHJvbGxlcnMKCgk2LjAyICBDYXBhY2l0eToKCQk2LjAy MSBCaXRzCgkJNi4wMjIgQnl0ZXMKCQk2LjAyMyBXb3JkcyAoOCwxNiwzMiBhbmQgNjQgYml0 cykKCgk2LjAzIFVuaXRzIG9mIFRyYW5mZXI6CgkJNi4wMzEgRXF1YWwgdG8gdGhlIG51bWJl ciBvZiBsaW5lcyBpbiBhbmQgb3V0IG9mIHRoZSBtZW1vcnkgZGV2aWNlCgkJNi4wMzIgTWF5 IGJlIGVxdWFsIHRvIGEgd29yZCBvciBsYXJnZXIgKDY0LCAxMjgsIDI1NikKCQk2LjAzMyBN YWluIE1lbW9yeTogIFRoZSBOdW1iZXIgb2YgYml0cyByZWFkL3dyaXRlIGludG8KCQltZW1v cnkgYXQgYSBzaW5nbGUgdGltZS4KCQk2LjAzNCBFeHRlcm5hbDogIE9mdGVuIHRyYW5zZmVy ZWQgaW4gdW5pdHMgbGFyZ2VyIHRoYW4gYQoJCXdvcmQsIHN1Y2ggYXMgYSBibG9jay4KCgk2 LjA0ICBBZGRyZXNzYWJsZSBVbml0czogIFVzdWFsbHkgYSBXb3JkIHNpemUgYnV0IHNvbWUg dW5pdHMKCWFsbG93IGZvciBCeXRlIFNpemUgYWRkcmVzc2luZwoKCQk2LjA0MSAgVGhlIHJl bGF0aW9uc2hpcCBiZXR3ZWVuIGxlbmd0aCBpbiBiaXRzIEEgb2YgYW4KCQlhZGRyZXNzIGFu ZCB0aGUgbnVtYmVyIG9mIGFkZHJlc3NhYmxlIHVuaXRzOgoJCQkyQSA9IE4gIDw9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT1XaGF0PwoJCQoJNi4xICBNZW1vcnkgQWNjZXNzOgoJ CTYuMTEgTWV0aG9kczogIAoJCQlTZXF1ZW50aWFsCgkJCURpcmVjdAoJCQlSYW5kb20KCQkJ QXNzb2NpYXRpdmUJCgkJNi4xMiAgU2VxdWVuY3Rpb24gQWNjZXNzOgoJCQkuMTIxIE1lbW9y eSBvcmdhbnplZCBpbnRvIFJlY29yZCBVbml0cwoJCQkuMTIyIEFjY2VzcyBpcyBsaW5lYXIK CQkJLjEyMyBBZGRyZXNzaW5nIEluZm9ybWF0aW9uIGlzIHN0b3JlZCB0byBtYWtlCgkJCVJl Y29yZCBBY2Nlc3NpbmcgZWFzaWVyCgkJCS4xMjQgU2hhcmVkIFJlYWQvV3JpdGUgTWVjaGFu aXNtIGlzIHVzZWQKCQkJLjEyNSBBY2Nlc3MgcmVxdWlyZXMgbW92aW5nIHRocm91Z2ggcmVj b3JkcyB0bwoJCQlmaW5kIHdoYXQgeW91IHdhbnQgdG8gdXNlIGZvciBSL1cKCQkJLjEyNiBF eGFtcGxlOiBCYWNrdXAgVGFwZXMKCQk2LjEzICBEaXJlY3QgQWNjZXNzOgoJCQkuMTMxICBT aGFyZWQgQWNjZXNzIChSL1cpIG1lY2hhbmlzbSAoc2ltaWxhciB0bwoJCQkJCXNlcXVudGlh bCkKCQkJLjEzMiAgQmxvY2sgb3IgUmVjb3JkcyBoYXZlIHVuaXF1ZSBBZGRyZXNzZXMKCQkJ YmFzZWQgb24gcGh5c2ljYWwgbG9jYXRpb24KCQkJLjEzMyAgRGlyZWN0IEFjY2VzIHRvIHRo ZSBhcmVhIG9mIHRoZSBzdG9yYWdlIGFuZAoJCQl0aGVuIHNlcXVlbnRpYWwgY291bnRpbmcg dG8gZmluZCB0aGUgZXhhY3QgZGF0YQoJCQlsb2NhdGlvbgoJCQkuMTM0IFZhcmlhYmxlIEFj Y2VzcyBUaW1lCgkJCS4xMzUgRXhhbXBsZTogIERpc2sgVW5pdHMKCQk2LjE0ICBSYW5kb20g QWNjZXNzOgoJCQkuMTQxIEVhY2ggTWVtb3J5IFVuaXQgaGFzIGEgc3BlY2lmaWMsIHVuaXF1 ZSwgd2lyZWQgYWRkcmVzcwoJCQkuMTQyIFRpbWUgdG8gYWNjZXNzIGVhY2ggbG9jYXRpb24g aXMgaW5kZXBlbmRlbnQKCQkJb2YgcHJldmlvdXMgbWVtb3J5IGFjY2VzcyBhbmQgYWNjZXNz IGlzIGZhaXJseQoJCQljb25zdGFudAoJCQkuMTQzIEV4YW1wbGU6ICBNYWluIE1lbW9yeSBh bmQgY2VydGFpbiBjYWNoZS4KCQk2LjE1ICBBc3NvY2lhdGl2ZSBBY2Nlc3M6CgkJCS4xNTEg IEEgdHlwZSBvZiByYW5kb20gYWNjZXNzCgkJICAgICAgICAuMTUyICBlbmFibGVzIG9uZSB0 byBtYWtlIGEgY29tcGFyaXNvbiBvZiBkZXNpcmVkIGJpdCAKCQkJbG9jYXRpb25zIHdpdGhp biBhIHdvcmQgZm9yIGEgc3BlY2lmaWVkIG1hdGNoCgkJCS4xNTMgRG9lcyB0aGlzIGZvciBh bGwgV29yZHMgc2ltdWxhdGVub3VzbHkKCQkJLjE1NCBBIHdvcmQgaXMgcmV0cmlldmVkIGJh c2VkIG9uIGl0cyBjb250ZW50LAoJCQlyYXRoZXIgdGhhbiBpdHMgYWRkcmVzcy4KCQkJLjE1 NSBSZXRyaWV2YWwgVGltZSBjb250YXN0YW50IC0gRWFjaCBsb2NhdGlvbgoJCQloYXMgaXRz IG93biBhZGRyZXNzaW5nIGxvY2F0aW9uCgkJCS4xNTYgRXhhbXBsZXM6ICBTb21lIENhY2hl IG1lbW9yaWVzCgoJNi4yIE1lbW9yeSBDaGFyYWN0b3Jpc3RpY3M6CgkJNi4yMSBDYXBhY2l0 eQoJCTYuMjIgIFBlcmZvcm1hbmNlCgkJCS4yMjEgIEFjY2VzcyBUaW1lOiAgVGhlIFRpbWUg aXQgdGFrZXMgdG8gcGVyZm9ybQoJCQlhbiBpbmRpdmlkdWFsIFIvVwoJCQkuMjIyICBNZW1v cnkgQ3ljbGUgVGltZTogIFN5c3RlbSBCdXMgZGVwZW5kZW50CgkJCXRpbWUgd2hlcmUgdGhl IGEgUi9XIGNhbiBzdGFydCBhZnRlciBvbmUKCQkJY29tcGxldGVzLgoJCQkJLjIyMjEgTW9z dCBhIFJhbmRvbSBBY2Nlc3MgTWVtb3J5IElzc3VlCgkJCS4yMjMgIFRyYW5zZmVyIFJhdGU6 ICBUaGUgcmF0ZSBpbiB3aGljaCBkYXRhIGNhbgoJCQl0cmFuc2ZlciBpbiBhbmQgb3V0IG9m IGEgbWVtb3J5IHVuaXQKCgk2LjMgUGh5c2ljYWwgTWVtb3J5IFR5cGVzOgoJCTYuMzEgIFNl bWljb25kdWN0b3IKCQkJLjMxMSBWb2xhdGlsZSBvciBOb25Wb2xhdGlsZQoJCTYuMzIgIE1h Z25ldGljIFN1cmZhY2UKCQkJLjMyMSBOb25Wb2xhdGlsZQoJCTYuMzMgIE9wdGljYWwKCQk2 LjM0ICBNYWduZXRvLU9wdGljYWwKCgkJNi4zNSBNZW1vcnkgUGh5c2ljYWwgUHJvcGVydGll czoKCQkJNi4zNTEgVm9sYXRpbGU6ICBMZWFrcyBNZW1vcnkgYW5kIERpc2FwYXRlcyB3aGVu CgkJCXBvd2VyZWQgZG93bi4KCQkJCgkJCTYuMzUyIE5vblZvbGF0aWxlOiAgTWVtb3J5IHJl bWFpbnMgb25jZSBzdG9yZWQKCQkJdW50aWwgZGVsaWJlcmF0ZWx5IGNoYW5nZWQKCQkJCgkJ CTYuMzUzIE5vbmVyYXNhYmxlOiAgUk9NIGluIFNlbWljb25kdWN0b3IgTWF0ZXJpYWwKCQkJ CgkJCTYuMzU0ICBPcmdhbml6YXRpb24gRGVzaWduIC0gRXNwZWNpYWxseSBmb3IgUkFNCgkJ CWlzIGVzc2VudGlhbCB0byBpdHMgdXNlIGFuZCBkZXNjcmlwdGlvbi4gIEhvdwoJCQl0aGUg Yml0cyBhbmQgd29yZHMgYXJlIHRyYW5zbGF0ZWQgaW4gcGh5c2ljYWwKCQkJbWVtb3J5LgoJ Cgk2LjQgIE1lbW9yeSBIZWlyYWNoeTogIFRyYWRpdGlvbmFsIG1lbW9yeSBkZXNpZ24gd2hl cmUgdGhlCglmYXN0ZXN0IGFuZCBtb3N0IGV4cGVuc2l2ZSBmb3JtIG9mIG1lbW9yeSBpcyBj bG9zZSB0byB0aGUKCXByb2Nlc3NvciBhbmQgbGVzcyBleHBlbnNpdmUgYW5kIGxhcmdlciBt ZW1vcnkgcmVzb3VyY2VzIGFyZQoJZnVydGhlciBvZmYgdGhlIHN5c3RlbSBjb3JlLgoKCQk2 LjQxIExvY2FsaXR5IG9mIHJlZmVyZW5jZTogIFRoZSB0aGVvcnkgdGhhdCBhcmVhcyBvZgoJ CW1lbW9yeSwgb3ZlciB0aGUgc2hvcnQgcGVyaW9kIG9mIHRpbWUsIGlzIG1vcmUgaW50ZW5z bHkKCQl1c2VkIHRoYW4gb3V0c2lkZSBjbHVzdGVycyBvZiBtZW1vcnkuICBUaGlzIGdpdmVz CgkJYWR2YW50YWdlIHRvIGEgc3lzdGVtIG9mIG1lbW9yeSBtb3ZlbWVudCB3aGVyZSB0aGUK CQlzeXN0ZW0gY2FzaGVzIGNsdXN0ZXJzIG9mIG1lbW9yeSBmb3IgcHJvY2Vzc2luZyB1c2Fn ZS4KCgkJNi40MiAgSW5ib2FyZCBNZW1vcnk6CgkJCTYuNDIxICBSZWdpc3RlcnMsIENhY2hl LCBNYWluIE1lbW9yeQoJCTYuNDMgIE91dGJvYXJkIFN0b3JhZ2U6CgkJCTYuNDMxICBNYWdu ZXRpYyBEaXNrLCBPcHRpY2FsIERpc2tzLCBldGMKCQk2LjQ0ICBPZmZsaW5lIFN0b3JhZ2U6 CgkJCTYuNDQxICBCQWNrdXAgVGFwZXMKCgkJCUhlaXJhcmNoeQoJCQktLS0tLS0tLS0tLQoJ CQkgIFJlZ2lzdGVyICAgIAoJCQkgICBDYWNoZQoJCQkgTWFpbiBNZW1vcnkKCgkJCU1hZ25l dGljIERpc2sKCgoJCQkgICAgVGFwZQoKCTYuNSBNZW1vcnkgQ2FjaGluZyBUZWNobmlxdWUK CQoJQ1BVIDw9PT09PiBDYWNoZSA8PT09PT4gTWFpbiBNZW1vcnkKCSAgICAgIGZhc3QgICAg ICAgICBzbG93CQoKCQoJQ1BVIDw9PT4gTDEgPD09PiBMMiA8PT0+IEwzIDw9PT4gTWFpbiBN ZW1vcnkKICAgICAgICAgIEZhc3Rlc3QgICBGYXN0ICAgIExlc3MgICAgU2xvdyAgICAKCQkJ ICAgIEZhc3QKCgkJNi41MSAgRWFjaCBDYWNoZSBsb2NhdGlvbiB3b3VsZCBoYXZlIGEgbnVt ZXIgb2YgbWVtb3J5CgkJd29yZHMgYXQgYSBzaW5nbGUgbG9jYXRpb24uCgoJCQk2LjUxMSAg UHJvY2Vzc29yIGdlbmVyYXRlcyBhIHJlYWQgYWRkcmVzcwoJCQk2LjUxMiAgQ2hlY2sgaWYg dGhlIGFkZHJlc3MgaXMgaW4gdGhlIGJsb2NrCgkJCWNvbnRhaW5lZCBpbiB0aGUgY2FjaGUu CgkJCQkuNTEyMSBJZiBpdCBpcyBpbiB0aGUgY2FjaGUgYmxvY2ssCgkJCQlyZXR1cm4gdGhl IGRhdGEgZm9yIHRoZSBhZGRyZXNzCgoJCQkJLjUxMjEyIElmIHRoYXQgYWRkcmVzcyBpcyBu b3QgaW4gYW55IG9mCgkJCQl0aGUgYmxvY2tzIGluIHRoZSBjYWNoZSwgcmV0cmlldmUgdGhl CgkJCQlibG9jayB3aXRoIHRoZSBhZGRyZXNzLiAgVGhlIGNhY2hlIHRoZW4KCQkJCXNlbmQg dGhlIGRhdGEgb24gdG8gdGhlIENQVQoKCQkJCS41MTIxMyBBbHRlcm5hdGl2ZWx5LCB0aGUg RGF0YSBhbmQKCQkJCUFkZHJlc3MgbGluZXMgY2FuIGJlIGNvbm5lY3RlZCBmcm9tIHRoZQoJ CQkJQ1BVIHRvIHRoZSBNYWluIE1lbW9yeSBhbmQgdGhlIENhY2hlIGluCgkJCQlwYXJhbGxl bC4gIFRoaXMgZ2l2ZXMgdGhlIGFkdmFudGFnZSB0aGF0CgkJCQl3aGVuIHlvdSBoYXZlIGEg Y2FjaGUgbWlzcywgdGhlIGNhY2hlCgkJCQljYW4gY2FsbCBmb3IgdGhlIG1lbW9yeSBhbmQg aXQgZW50ZXJzCgkJCQl0aGUgY2FjaGUgYW5kIHRoZSBDUFUgcmVnaXN0ZXJzCgkJCQlzaW11 bHRhbmVvdXNseS4KCglodHRwOi8vd3d3Lm55bHhzLmNvbS9kb2NzL2dyYWRfc2Nob29sL2Fy Y2gvY2FjaGVfbWVtb3J5X3BhcmVsbGVsLnBuZwoJCQkJCgkJCQkuNTEyMTMxIFBhcmFsbGVs IENvbnRyb2wKCQkJCVdoZW4gYSBtZW1vcnkgYWRkcmVzcyBpcyBsaXN0ZWQgaW4gdGhlCgkJ CQljYWNoZSBpbiBhIHBhcmFsbGVsIGFyY2hpdGVjdHVyZSwgdGhlbgoJCQkJdGhlIGNhY2hl LCB3aGljaCBoYXMgdGhlIGNvbnRyb2wgbGluZQoJCQkJYmV0d2VlbiB0aGUgc3lzdGVtIGJ1 cyBhbmQgdGhlCgkJCQlwcm9jZXNzb3IsIHR1cm5zIG9mZiBhY2Nlc3MgdG8gdGhlCgkJCQlz eXN0ZW0gYnVzLCBwcmV2ZW50aW5nIHRyYWZmaWMgb24gdGhlCgkJCQlidXMuCgoJCQk2LjUy ICBFbGVtZW50cyBvZiBDYWNoZSBEZXNpZ246CgkJCQk2LjUyMSBBZGRyZXNzaW5nOiAgTG9n aWNhbCBvciBQaHlzaWNhbAoJCQkJCTYuNTIxMSAgVmlydHVhbCBNZW1vcnkgLQoJCQkJCUhh cmR3YXJlIE1lbW9yeSBNYW5hZ2VtZW50CgkJCQkJTW9kdWxlIHRyYW5zbGF0ZXMgdmlydHVh bAoJCQkJCWFkZHJlc3NlcyBmb3IgcmVhbCBwaHlzaWNhbAoJCQkJCWFkZHJlc3MuCgkJCQkJ CTYuNTIxMTEgTU1VIC0gTWVtb3J5CgkJCQkJCU1hbmFnZW1lbnQgVW5pdDogIENhbgoJCQkJ CQlzaXQgYmV0d2VlbiBjYWNoZSBhbmQKCQkJCQkJdGhlIHByb2Nlc3NvciBvciBiZXR3ZWVu CgkJCQkJCWNhY2hlIGFuZCB0aGUgc3lzdGVtCgkJCQkJCWJ1cy4KCgkJCQkJCTYuNTIxMTIg TG9naWNhbAoJCQkJCQlBZGRyZXNzaW5nOiAgQ2FjaGUgaXMKCQkJCQkJYmV0d2VlbiB0aGUg YW5kIHRoZSBNTVUKCgkJCQkJNTIxMTIxOiAgTm8gTU1VIGFjY2VzcyBmb3IgY2FjaGUKCQkJ CQloaXRzIChnb29kKQoJCQkJCTUyMTEyMjogIEFkZHJlc3NlcyBub3QgdW5pcXVlCgkJCQkJ YW5kIHRoZXJlZm9yLCB0aGUgY2FjaGUgbXVzdCBiZQoJCQkJCWZsdXNoZWQgY2xlYW4gYmV0 d2VlbgoJCQkJCWFwcGxpY2F0aW9uIHN3aXRjaGVzIG9yIGV4dHJhCgkJCQkJYml0cyBuZWVk IHRvIGJlIGFkZGVkIHRvIHRoZQoJCQkJCWFkZHJlc3MgdG8gc3BlY2lmeSB0aGUgdmlydHVh bAoJCQkJCXByb2Nlc3MgcnVubmluZyB0aGUgdmlydHVhbAoJCQkJCW1lbW9yeQoKCgoKCgkJ CQk2LjUyMiBDYWNoZSBTaXplCgkJCQk2LjUyMyBNYXBwaW5nIEZ1bmN0aW9uOgoJCQkJCVRo ZSBNZW1vcnkgaXMgbGFyZ2VyIHRoYW4gdGhlCgkJCQkJY2FjaGUgc28gaW4gb3JkZXIgdG8g cmVhY2ggYWxsCgkJCQkJbWVtb3J5IGxvY2F0aW9ucywgYW4gYWxnb3JpdGhtCgkJCQkJbXVz dCBiZSBjb25zdHJ1Y3RlZAoKCQkJCQkuNTIzMSAgRGlyZWN0IC0gTWFwcyBlYWNoIG1lbW9y eQoJCQkJCWFkZHJlc3MgdG8gYSBzaW5nbGUgcG9zc2libGUKCQkJCQljYWNoZSBsaW5lIGlu IGEgYm94IG9mIGNhY2hlLgoKCWh0dHA6Ly93d3cubnlseHMuY29tL2RvY3MvZ3JhZF9zY2hv b2wvYXJjaC9kaXJlY3RfY2FjaGVfbW9kZWwucG5nCgkJCQkJLjUyMzExICBUSU8gLSBUYWcs IEluZGV4LCBPZmZzZXQKCQkJCQkJMTExOiBNZW1vcnkgTWFwIG9mIHRoZQoJCQkJCQltZW1v cnkgYWRkcmVzcyB3aGljaAoJCQkJCQltaWdodCBiZSByZXF1ZXN0ZWQgYnkgYQoJCQkJCQlD UFUgYW4gbWFwcGVkIHRvIGEgQ2FjaGUuCgkgICAgX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoJICAgfCAgVEFHICAgICAgICAg ICAgICB8IEluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgfE9mZnNldCB8CgkgICB8X19f X19fX19fX19fX19fX19fX3xfX19fX19fX19fX19fX19fX19fX19fX19fX19fX198X19fX19f X3wKCgkgICAJCQkJCTExMjogIEV4YW1wbGU6CgpDb25zaWRlciBhIG1hY2hpbmUgIHdpdGgg YSBieXRlIGFkZHJlc3NhYmxlIG1haW4gbWVtb3J5ICBvZiAyXjE2IGJ5dGVzCmFuZCBibG9j ayBzaXplIG9mIDggYnl0ZXMuIEFzc3VtZSAgdGhhdCAgYSBkaXJlY3QgbWFwcGVkIGNhY2hl IGNvbnNpc3RpbmcKb2YgMzIgbGluZXMgaXMgdXNlZCB3aXRoIHRoaXMgbWFjaGluZS4KCk1l bW9yeSBpcyBhZGRyZXNzZWQgd2l0aCAxNiBiaXRzLiAgMTYgYml0cyBpcyAyXjE2IGluZGl2 aWR1YWwgcG9zc2libGUKYWRkcmVzc2VzLgoKU2luY2UgYSBibG9jayBpcyA4IGJ5dGVzLCBh bmQgYSBieXRlIGlzIGEgd29yZCwgdGhlbiAzIGJpdHMgYWRkcmVzcyB0aGUKb2Zmc2V0ICgy XjMpLgoKU2luY2UgdGhlcmUgYXJlIDMyIGxpbmVzIGluIGVhY2ggY2FjaGUgdGhlbiAyXjUg b3IgNSBiaXRzIGFkZHJlc3MgdGhlCmluZGV4LiAgCgpUaGF0IGxlYXZlcyA4IGJpdHMgZm9y IHRoZSB0YWcuICBOb3RlIHRoYXQgdGhpcyBkb2VzIE5PVCBpbmNsdWRlIHRoZQpkYXRhIGF0 IHRoZSBtZW1vcnkgYWRkcmVzcy4KClN1cHBvc2UgdGhlIGJ5dGUgd2l0aCBhZGRyZXNzIDAw MDEgMTAxMCAwMDAxIDEwMTAgaXMgc3RvcmVkIGluIHRoZSAKY2FjaGUuIFdoYXQgYXJlIHRo ZSBhZGRyZXNzZXMgb2YgdGhlIG90aGVyICBieXRlcyBzdG9yZWQgIGFsb25nIHdpdGggCml0 PwoKMSkgVGhlIGZpcnN0IGVpZ2h0IGFyZSB0aGUgdGFnOiAgMDAwMSAxMDEwIDogIEluIGFu eSBsaW5lIHlvdSBjYW4gCmhhdmUgQU5ZIHRhZwoKMikgVGhlIG5leHQgNSBhcmUgdGhlIElO REVYOiAgMDAwMTE6ICBBbGwgdGhlIHdvcmRzL2J0eWVzIG9mIHRoaXMgaW5kZXgKYXJlIGlu IHRoZSBjYWNoZTogIFRoaXMgaW5jbHVkZXMgYWRkcmVzcyBvZiBvZmZzZXQgMDAxIC0+IDEx MQoKMDAwMSAxMDEwIDAwMDEgMTAwMAowMDAxIDEwMTAgMDAwMSAxMDAxCjAwMDEgMTAxMCAw MDAxIDEwMTAKMDAwMSAxMDEwIDAwMDEgMTAxMQowMDAxIDEwMTAgMDAwMSAxMTAwCjAwMDEg MTAxMCAwMDAxIDExMDEKMDAwMSAxMDEwIDAwMDEgMTExMAowMDAxIDEwMTAgMDAwMSAxMTEx CgoKSG93IG1hbnkgdG90YWwgYnl0ZXMgb2YgbWVtb3J5ICBjYW4gYmUgc3RvcmVkICBpbiB0 aGUgY2FjaGU/IFdoeSBpcyB0aGUgdGFnIGFsc28gc3RvcmVkICBpbiB0aGUgY2FjaGU/Cgoz MiB4IDggYnl0ZXMgb2YgKipkYXRhKiogMl44IGJ5dGVzID0gMjU2IGJ0eWVzLiAgVGhlIHRh ZyBpcyBzdG9yZWQgaW4Kb3JkZXIgdG8gZGlmZmVyZW50aWFsIGJldHdlZW4gbWF0Y2hpbmcg MzIgYmxvY2tzIG9mIG1lbW9yeSBzZWdtZW50cy4KCgoKCgoJCQkJCS41MjMyICBBc3NvY2lh dGl2ZSAtIAoJCQkJCQkKCQkJCQkJMjEgQW55IE1lbW9yeQoJCQkJCQlibG9jayBjYW4gYmUg CgkJCQkJCWFzc2lnbmVkIHRvIGFueQoJCQkJCQljYWNoZSBsaW5lCgkJCQkJCQoJCQkJCQky MiBBbiBhZGRyZXNzIGlzCgkJCQkJCWludGVycHJldGVkIGFzIGEgVEFHIGFuZAoJCQkJCQlX T1JEIGZpZWxkCgkJCQkJCQkyMjMgRWFjaCB0YWcKCQkJCQkJCXJlcHJlc2VudHMgYQoJCQkJ CQkJYmxvY2sgb2YgbWVtb3J5CgkJCQkJCQkKCQkJCQkJCTIyNCBFdmVyeSB0YWcgaW4KCQkJ CQkJCXRoZSBjYWNoZSBoYXMgdG8KCQkJCQkJCWJlIGV4YW1pbmVkIGZvcgoJCQkJCQkJYSBt YXRjaAoKCQkJCQkJCS4yMjUgQWRkcmVzcwoJCQkJCQkJTGVuZ3RoIGlzIHMrIHcKCQkJCQkJ CWJpdHMgKHRoZXJlIGlzCgkJCQkJCQlubyBpbmRleCBvciByKQoKCQkJCQkJCS4yMjYgTnVt YmVyIG9mCgkJCQkJCQlBZGRyZXNzZXMgaXMgCgkJCQkJCQkyXihzK3cpCgkJCQkJCQkgCgkJ CQkJCQkuMjI3IEJsb2NrIFNpemUKCQkJCQkJCW9mIGRhdGEgCgkJCQkJCQlpcyBhIGNhc2gg bGluZQoJCQkJCQkJc2l6ZSB3aXRoIGlzIGluCgkJCQkJCQlvdXIgZXhhbXBsZSAyXlcKCQkJ CQkJCW9yIGJ5dGVzCgoJCQkJCQkJLjIyOCAgVG90YWwKCQkJCQkJCUJsb2NrcyBpbiBNYWlu CgkJCQkJCQlNZW1vcnk6CgoJCQkJCQkJMl4ocyArIHcpCgkJCQkJCQktLS0tLS0tLS0gICA9 CgkJCQkJCQkyXncKCgoJCQkJCQkJMl5zIHdoaWNoIGlzIHRoZQoJCQkJCQkJbnVtYmVyIG9m IHRhZ3MKCgoKCgkJCQkJCTIzIEV2ZXJ5IGxpbmUgaXMgbG9va2VkCgkJCQkJCWZvciBhIG1h dGNoaW5nIHRhZyBhcwoJCQkJCQl0aGUgY3VycmVudGx5IHJlcXVlc3RlZCBtZW1vcnkKCQkJ CQkJYWRkcmVzcyBpbiBvcmRlciB0bwoJCQkJCQlkZXRlcm1pbmUgaWYgaXQgaXMgaW4KCQkJ CQkJdGhlIGNhY2hlIG9yIG5vdAoKCQkJCQkuNTIzMyAgU2V0IEFzc29jaWF0aXZlIC0gIEEg bGl0dGxlIGJpdCBvZiAKCQkJCQllYWNoIG9mIHRoZSBhYm92ZSBpbiBhbiBlZmZvcnQKCQkJ CQl0byByZWR1Y2UgdGhlaXIgZGlzYWR2YW50YWdlcy4KCgkJCQkJICA1MjMzMSBDYWNoZSBp cyBhIG51bWJlciBvZgoJCQkJCSAgc2V0cwoJCQkJCSAgNTIzMzIgRWFjaCBzZXQgYSBudW1i ZXIgb2YKCQkJCQkgIGxpbmVzCgkJCQkJICA1MjMzMyAgQSBnaXZlbiBsaW5lIG1hcHMgaW50 bwoJCQkJCSAgYW55IGxpbmUgb2YgYSBnaXZlbiBzZXQKCgkJCQkJICA1MjMzNCBBcyB3aXRo IGFzc29jaWF0aXZlCgkJCQkJICBtYXBwaW5nLCBlYWNoIHdvcmQgbWFwcyBpbnRvCgkJCQkJ ICBtdWx0aXBsZSBjYWNoZSBsaW5lcy4gRm9yCgkJCQkJICBzZXQtYXNzb2NpYXRpdmUgbWFw cGluZywgZWFjaAoJCQkJCSAgd29yZCBtYXBzIGludG8gYWxsIHRoZSBjYWNoZQoJCQkJCSAg bGluZXMgaW4gYSBzcGVjaWZpYyBzZXQsIHNvCgkJCQkJICB0aGF0IG1haW4gbWVtb3J5IGJs b2NrIEIwIG1hcHMKCQkJCQkgIGludG8gc2V0IDAsIGFuZCBzbyBvbi4gVGh1cywKCQkJCQkg IHRoZSBzZXQtYXNzb2NpYXRpdmUgY2FjaGUgY2FuCgkJCQkJICBiZSBwaHlzaWNhbGx5IGlt cGxlbWVudGVkCgkJCQkJICBhcyBuIGFzc29jaWF0aXZlIGNhY2hlcy4gSXQKCQkJCQkgIGlz IGFsc28gcG9zc2libGUgdG8gaW1wbGVtZW50CgkJCQkJICB0aGUgc2V0LWFzc29jaWF0aXZl IGNhY2hlIGFzCgkJCQkJICBrIGRpcmVjdCBtYXBwaW5nIGNhY2hlcwoKCQkJCQkgNTIzMzQK CQkJCQkgV2hlcmUgaSA9IHRoZSBjYWNoZSBzZXQgbnVtYmVyCgkJCQkJICAgICAgIGogPSB0 aGUgbWFpbiBtZW1vcnkgYmxvY2sKCQkJCQkgICAgICAgbnVtYmVyCgkJCQkJICAgICAgIG0g PSB0aGUgbnVtYmVyIG9mIGxpbmVzCgkJCQkJICAgICAgIGluIGNhY2hlCgkJCQkJICAgICAg IHYgPSBudW1iZXIgb2Ygc2V0cwoJCQkJCSAgICAgICBrID0gbnVtYmVyIG9mIGxpbmVzIHBl cgoJCQkJCSAgICAgICBzZXQgdGhlbjoKCgkJCQkJICAgICAgIG0gPSB2KmsgKHRoZSBudW1i ZXIgb2YKCQkJCQkgICAgICAgc2V0cyBieSB0aGUgc2l6ZSBvZiBlYWNoCgkJCQkJICAgICAg IHNldCkKCgkJCQkJICAgICAgIGkgPSBqJXYgKHRoZSBjYWNoZSBzZXQKCQkJCQkgICAgICAg bnVtYmVyIGlzIHRoZSByZW1haW5kZXIKCQkJCQkgICAgICAgZnJvbSB0aGUgbWFpbiBtZW1v cnkKCQkJCQkgICAgICAgYmxvY2sgbnVtYmVyIGRpdmlkZWQgYnkKCQkJCQkgICAgICAgdGhl IG51bWJlciBvZiBzZXRzIGluCgkJCQkJICAgICAgIGNhY2hlKQpFeGFtcGxlOgoKICAgIF9f X19fX19fX19fX19fX19fX19fX19fX19fal9fX19fX19fX19fX19fX19fX19fX19fXwogICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAog X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KIHwgVGFnICB8ICBTZXQgKGkpICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfFdvcmRPZmZzZXR8CiB8X19fX19ffF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX3xfX19fX19fX19ffAoKICAgOWJp dHMgICAgICAgICAgIDEzIGJpdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAyIGJpdHMKCklmIHRoaXMgaXMgYSAyd2F5IGFzc29jaWF0aXZlIHNldCBjYWNoZSAodHdv IGxpbmVzIHBlciBzZXQpCgpJbiB0aGlzIGNhc2UgdGhlcmUgYXJlIDJeMTMgU0VUUyB3aGlj aCBhcmUgbnVtYmVyZWQgMHgwMDAwID0+IDB4MUZGRgpUYWdzIGFyZSBhc3NvY2lhdGVkIHdp dGggdGhlIGhpZ2hlciBvcmRlciBtYWluIG1lbW9yeSBsb2NhdGlvbnMgYW5kCmFzc2lnbmVk IHRvIGEgc2V0IHdpdGggdGhlIDMyIGJpdHMgb2YgZGF0YS4gIFRoZSB3b3JkIGlzIGFuIG9m ZmVzdCBvZgp0aGUgZGF0YSB3aGljaCAod2hpY2ggaXMgYSBtZW1vcnkgYmxvY2sgb2YgNCBi eXRlcyBpbiB0aGlzIGNhc2UpLgoKCgoKCgoJCQkJNi41MjQgIFJlcGxhY2VtZW50IEFsZ29y aXRobSAtIEZvcgoJCQkJQXNzb2NpYXRlIGFuZCBTZXQtQXNzb2NpYXRlIGNhY2hpbmcgYW5k CgkJCQlERUNJU0lPTiBoYXMgdG8gYmUgbWFkZSBvbiB3aGljaCBvcgoJCQkJc2V2ZXJhbCBw b3NzaWJsZSBtZW1vcmllcyBuZWVkIHRvIGJlCgkJCQlidW1wZWQuICBUaGlzIGlzIHRoZSBw dXJwb3NlIG9mCgkJCQloYXJkd2FyZSBpbXBsZW1lbnRlZCByZXBsYWNlbWVudAoJCQkJYWxn b3JpdGhtcy4KCgkJCQkJLjUyNDEgIExlYXN0IFJlY2VudGx5IFVzZWQgKExSVSkKCQkJCQkK CQkJCQlMUlUgaW1wbGVtZW50aW5nIGZvciBhIGZ1bGx5CgkJCQkJYXNzb2NpYXRpdmUgY2Fj aGUuIFRoZSBjYWNoZQoJCQkJCW1lY2hhbmlzbSBtYWludGFpbnMgYSBzZXBhcmF0ZQoJCQkJ CWxpc3Qgb2YgaW5kZXhlcyB0byBhbGwgdGhlIGxpbmVzCgkJCQkJaW4gdGhlIGNhY2hlLiBX aGVuIGEgbGluZSBpcwoJCQkJCXJlZmVyZW5jZWQsIGl0IG1vdmVzIHRvIHRoZSBmcm9udAoJ CQkJCW9mIHRoZSBsaXN0LiBGb3IgcmVwbGFjZW1lbnQsCgkJCQkJdGhlIGxpbmUgYXQgdGhl IGJhY2sgb2YgdGhlIGxpc3QKCQkJCQlpcyB1c2VkLgoKCQkJCQkgIC41MjQxMiAgCgoJCQkJ CS41MjQyICBGaXJzdCBpbiBGaXJzdCBPdXQgKEZJRk8pCgkJCQkJLjUyNDMgIExlYXN0IEZy ZXF1ZW50bHkgVXNlZAoJCQkJCShMRlUpCgkJCQkJLjUyNDQgIFJhbmRvbQoKCgoJCQkJNi41 MjUgIFdyaXRlIFBvbGljeQkKCQkJCQkuNTI1MSAgV3JpdGUgVGhyb3VnaCAtIEFsbAoJCQkJ CSAgICB3cml0ZXMgdG8gQ2FjaGUgYXJlIGFsc28KCQkJCQkgICAgd3JpdHRlbiB0byBtYWlu IG1lbW9yeSAodGhlbgoJCQkJCSAgICB3aGF0IGlzIHRoZSBwb2ludD8pCgoJCQkJCSAgICA1 MjUxMSBCdXMgd2F0Y2hpbmcgd2l0aCB3cml0ZSAKCQkJCQkgICAgdGhyb3VnaDogIEFsbCBj YWNoZSBkZXZpY2VzCgkJCQkJICAgIHdhdGNoIHRoZSBidXMgZm9yIGNoYW5nZXMKCQkJCQkg ICAgYW5kIGFsbCB3cml0ZSB0aHJvdWdoIHRvCgkJCQkJICAgIG1lbW9yeS4KCgkJCQkJLjUy NTIgIFdyaXRlIEJhY2sgLSB1cGRhdGVzIG9ubHkKCQkJCQkgICBpbiBjYWNoZS4KCQkJCQkg IAoJCQkJCSAgLjUyNTIxIFBhcnRzIG9mIE1haW4gTWVtb3J5CgkJCQkJICBhcmUgdGhlbiBp bnZhbGlkIGFuZCBJL08KCQkJCQkgIG1vZHVsZXMgdXNpbmcgRE1FIGNhbiBiZQoJCQkJCSAg d29ya2luZyBvbiBpbnZhbGlkIGRhdGEuCgoJCQkJNi41MjYgIExpbmUgU2l6ZSAtIHRoZSBz aXplIG9mIHRoZSBsaW5lCgkJCQlkZXRlcm1pbmVzIHRoYXQgc2l6ZSBvZiB0aGUgYmxvY2sg b2YKCQkJCW1haW4gbWVtb3J5IGlzIHN0b3JlZCB3aXRoaW4gY2FjaGUuCgkJCQlMYXJnZSBi bG9ja3MgaGF2ZSBtb3JlIGhpdHMgYnV0IHJlZHVjZQoJCQkJdGhlIG51bWJlciBvZiBjYWNo ZSBsaW5lcyBhbmQgY2F1c2UgbW9yZQoJCQkJbWVtb3J5IHRvIGJlIHN3YXBwZWQgaW4gYW5k IG91dCwKCQkJCXJlZHVjaW5nIGhpdCByYXRlcy4gIFNvIHRoZXJlIGlzIGEgc3dlZXQKCQkJ CXNwb3Qgb24gbGluZSBzaXplLgoKCQkJCQoJCQkJNi41MjcJVmljdGltIENhY2hlIC0gT24g d3JpdGUgdG8gdGhlCgkJCQlDYWNoZSwgYSBwcmVleGlzdGluZyBsaW5lIGlzIG1vdmVkIHRv IGEKCQkJCXNtYWxsIGNhY2hlIGJldHdlZW4gdGhlIEwxIERpcmVjdCBjYWNoZQoJCQkJYW5k IHRoZSBuZXh0IGxldmVsLgoJCQkJCQoJCQkJCS41MjcxIFJlZHVjZXMgdGhlICdjb3N0JyBv ZiBhCgkJCQkJbWlzcyBpbiB0aGUgY2FjaGUKCgkJCQkJLjUyNzIgVmljdGltcyBDYWNoZSBu ZWVkcyB0byBiZSAKCQkJCQlmdWxseSBhc3NvY2lhdGl2ZTogIGl0CgkJCQkJY2FuJ3QgYmUg ZGlyZWN0IG1lbW9yeS4ueW91CgkJCQkJZG9uJ3Qga25vdyB3aGF0IGlzIGJlaW5nCgkJCQkJ dmljdGltaXplZAoJCQkJCQoJCQkJCS41MjczICBVc3VhbGx5IDQtMTYgbGluZXMgb2YKCQkJ CQljYWNoZQoKCQkJCTYuNTI4IE11bHRpbGV2ZWwgQ2FjaGVzOiAgTW9kZXJuIHN5c3RlbXMK CQkJCWFyZSBmYXIgbW9yZSBjb21wbGV4IHRoYW4gdGhlc2Ugc2ltcGxlCgkJCQltb2R1bGVz IGFuZCBsZXZlcmFnZSBTRFJBTSBhbmQgQ2hpcHNpZGUKCQkJCWNhY2hpbmcgaW4gYSBtdWx0 aWxldmVsIHNjaGVtZSBvZiBMMSwgTDIKCQkJCWFuZCBldmVuIEwzIGxldmVscyBvZiBjYWNo ZS4KCgkJCQkJLjUyODEgIEludGVybmFsIENhY2hlIGlzCgkJCQkJZGVzaWduYXRlZCBMMSBh bmQgZG9lcyBub3QgdXNlCgkJCQkJdGhlIHN5c3RlbSBidXMuCgoJCQkJCS41MjgyICBFeHRl cm5hbCBDYWNoZSBpcwoJCQkJCWRlc2lnbmF0ZWQgTDIKCgkJCQk2LjUyOSBVbmlmaWVkIG9y IFNwbGl0IGZ1bmN0aW9uIENhY2hlOgoJCQkJICBTcGxpdCBpcyBwZXJoYXBzIGltcGxlbWVu dGVkIGFzIDIgTDEgY2FjaGVzLCBvbmUKCQkJCSAgZm9yIEluc3RydWN0aW9ucyBhbmQgb25l IGZvciBEYXRhLgoKCQkJCSAgLjUyOTEgLSBVbmlmaWVkIG1pZ2h0IGhhdmUgbW9yZSBoaXQK CQkJCSAgcmF0ZXMuCgkJCQkgIC41MjkyIC0gU3BsaXQgY2FjaGUgY2FuIGFsbG93IGZvciBt b3JlCgkJCQkgIHBpcGVsaW5pbmcgYW5kIHByZXZlbnRzIGNvbnRlbnRpb24gYXQKCQkJCSAg dGhlIEZFQ0hFWCBsZXZlbAoJCQkJICAJLjUyOTIxIC0gUHJvY2Vzc29yIGNhbiBmZXRjaCBh CgkJCQkJYmxvY2sgb2YgaW5zdHJ1Y3Rpb25zIGF0IG9uZQoJCQkJCXRpbWUgYW5kIHdhaXQg Zm9yIHRoZSBleGVjdXRpb24KCQkJCQlhbmQgZGVjb2RpbmcgY3ljbGUgdG8gZnVuY3Rpb24K CQkJCQlhdCBpdHMgcGFjZSB1c2luZyB0aGUgc2VwYXJhdGUKCQkJCQlkYXRhIGNhY2hlIGZv ciBkYXRhLgoKCQkJCQoKCgkJCQlOb3RlIC0gdGhlcmUgaXMgYSBzZWdtZW50IG9uIHRoZQoJ CQkJc3BlY2lmaWNzIG9mIHRoZSBQZW50aXVtIDQgYW5kIEFybQoJCQkJUHJvY2Vzc29yIG9u IGNhY2hpbmcgd2l0aGluIHRoZSBjaGFwdGVyCgkJCQl0aGF0IG1pZ2h0IGJlIHdvcnRoIHJl dmlld2luZy4gIEFzIG9mCgkJCQkyMDE0Q0UgdGhvdWdoLCBtdWNoIG9mIGl0IGlzIG9sZCBu ZXdzLgoKCgo3LjAgIE1lbW9yeSBDZWxscyBoYXZlIHRocmVlIGlucHV0cyBhbmQgMiBtb2Rh bGl0aWVzCgkuMDEgU2Vtbmljb25kdWN0b3IgbWVtb3J5IGNvbnNpc3RzIG9mIE1lbW9yeSBD ZWxsczoKCgkuMDIgV3JpdGUgTW9kZQpgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbAoJ CQl8CQogICAgICAgICAgICAgICAgICAgICAgX198X18KICAgICAgICAgICAgICAgICAgICAg fCAgICAgfAogICAgICAgICAgICBTZWxlY3QgLS18IENlbGx8LS0gRGF0YSBJbgoJICAgICAg ICAgICAgIHxfX19fX3wKCgoJCQkJCgkgLjAzIFJlYWQgTW9kZQkKCQkgICBDb250cm9sCgkJ CXwJCiAgICAgICAgICAgICAgICAgICAgICBfX3xfXwogICAgICAgICAgICAgICAgICAgICB8 ICAgICB8CiAgICAgICAgICAgIFNlbGVjdCAtLXwgQ2VsbHwtLSAgU2Vuc2UgCgkgICAgICAg ICAgICAgfF9fX19ffAoKICAuMDQgVHdvIFN0YWJsZSBTdGF0ZXMgLSBJbiBaZXJvIG9yIE9u ZQoJLjA0MSBZb3UgY2FuIHdyaXRlIHRvIHRoZW0gYXQgbGVhc3Qgb25jZQoJLjA0MiBZb3Ug Y2FuIHJlYWQgZnJvbSB0aGVuIHRoZWlyIHN0YXRlLgoJCiAgLjA1IExpbmVzOgoJLjA1MSBT ZWxlY3QgTGluZSBTZWxlY3RzIHRoZSBjZWxsIGZvciByZWFkaW5nIG9yIHdyaXRpbmcKIAku MDUyIENvbnRyb2wgaW5kaWNhdGVzIFJlYWQgb3IgV3JpdGUgT3BlcmF0aW9uCgkuMDUzIFRo ZSBUaGlyZCBMaW5lIGlzIHRoZSBkYXRhIGxpbmUuICBJdCBlaXRoZXIgdHJhbnNtaXRzIGEK CSAgICAgY2hhcmdlIGludG8gdGhlIGNlbGwgKG1ha2luZyBpdCBvbmUgb3IgemVybykgb3Ig aXQgZGVsaXZlcnMKCSAgICAgdGhlIHN0YXRlIG9mIHRoZSBjZWxsIG91dCB0byB0aGUgc3lz dGVtLgo3LjEgVHlwZXMgb2YgU2VtaWNvbmR1Y3RvciBtZW1vcnk6CgoJNy4xMSBSYW5kb20g QWNjZXNzIE1lbW9yeToKCSAgNy4xMTAgRFJBTSBhbmQgU1JBTQoJICAJLjExMDEgRFJBTTog IER5bmFtaWMgUmFtIC0gc3RvcmVzIGRhdGEgb24gY2FwYWNpdG9ycwoJCQoJCWh0dHA6Ly93 d3cubnlseHMuY29tL2RvY3MvZ3JhZF9zY2hvb2wvYXJjaC9kcmFtLnBuZwoKCQkgLjExMDEx IFByZXNlbmNlIG9yIEFic2VuY2Ugb2YgQ2hhcmdlIGlzIG9uL29mZgoJCSAuMTEwMTIgUmVx dWlyZXMgRWxlY3Ryb25pYyByZWZyZXNoaW5nCgkJIC4xMTAxMyBDaGFyZ2UgbGVha3MgZXZl biB3aXRoIGNvbnN0YW50IHBvd2VyIGFwcGxpZWQKCQkgLjExMDE0IEl0IGhhcyBhbiBBZGRy ZXNzIGxpbmUsIHRyYW5zaXN0b3IsIEJpdCBMaW5lLAoJCSAgIGNhcGFjaXRvciBhbmQgYSBn cm91bmQgKHNlZSBkaWFncmFtKQoJCSAuMTEwMTUgIEFkZHJlc3MgTGluZSBpcyBhY3RpdmUg d2hlbiByZWFkaW5nIG9yIHdyaXRpbmcKCQkgaXMgZGVzaXJlZC4gIFRoZSBBZGRyZXNzIExp bmUgaXMgY29ubmVjdGVkIHRvIHRoZQoJCSB0cmFuc2lzdG9yLgoJCSAuMTEwMTYgIFRoZSB0 cmFuc2lzdG9yIGlzIGNsb3NlZCB3aGVuIHBvd2VyIG9zIG9uIHRoZQoJCSBhZGRyZXNzIGxp bmUgYW5kIG9wZW4gd2hlbiB0aGVyZSBpcyBubyBwb3dlciBvbiB0aGUKCQkgYWRkcmVzcyBs aW5lCgkJIC4xMTAxNyAgQml0IExpbmUgLSBjYXJyaWVzIHRoZSBkYXRhIC0gaGlnaCBjaGFy Z2UgaXMKCQkgb25lIGFuZCBsb3cgY2hhcmdlIGlzIHplcm8uCgkJIC4xMTAxOCAgVXBvbiBy ZWFkaW5nIHRoZSBjYXBhY2l0b3IgaXMgZGlzY2hhcmdlZCBhbmQKCQkgbmVlZHMgdG8gYmUg cmVjaGFyZ2VkIHdpdGggdGhlIGNvcnJlY3Qgdm9sdGFnZSAoMCBvciAxKQoJCSBhZnRlciBl YWNoIHJlYWQgb3BlcmF0aW9uLgoKCQkuMTEwMiBTRFJBTSAtIGlzIGNvbXBsZXRlbHkgZGlm ZmVyZW50IGZyb20gRFJBTS4gIEl0IGlzCgkJYSBkb3VibGUgYmFjayBzd2l0Y2ggd2l0aCA0 IHRyYW5zaXN0b3JzIHRoYXQgaG9sZCBjaGFyZ2UKCQlhcyBsb25nIGFzIHRoZXkgYXJlIHBv d2VyZWQgd2l0aG91dCBuZWVkIGZvciByZWZyZXNoLgoKCWh0dHA6Ly93d3cubnlseHMuY29t L2RvY3MvZ3JhZF9zY2hvb2wvYXJjaC9zZHJhbS5wbmcKCQkKCQkuMTEwMjEgVGhlcmUgYXJl IHR3byBiaXRsaW5lcyBhdHRhY2hlZCBhbmQgdHdvCgkJIGNvbnRyb2xsaW5nIHRyYW5zaXN0 b3JzIGluIGFkZGl0aW9uIHRvIHRoZSA0IGluIHRoZQoJCSBzd2l0Y2guCgkJCgkJLjExMDIy ICBJbiBsb2dpYyBzdGF0ZSAxLCBwb2ludCBDMSBpcyBoaWdoIGFuZCBwb2ludCBDMiAKCQkg aXMgbG93OyBpbiB0aGlzIHN0YXRlLCBUMSBhbmQgVDQgYXJlIG9mZi4gIFQxIGFuZCBUNAoJ CSBhcmUga2F0dHljb3JuZXIgdG8gZWFjaCBvdGhlci4KCQkgCTExMDIyMSByZW1lYmVyIHRo YXQgVDMgYW5kIFQ0IE1VU1QgYmUgb3Bwb3NpdGUKCQkJb2YgZWFjaCBvdGhlciBhdCBhbGwg dGltZXMgaW4gdGhpcyBjaXJjdWl0LgoKCQkgLjExMDIzICBJbiBsb2dpYyBzdGF0ZSAwLCBw b2ludCBDMSBpcyBsb3cgYW5kIHBvaW50IEMyIAoJCSBpcyBoaWdoOyBpbiB0aGlzIHN0YXRl LCBUMSBhbmQgVDQgYXJlIG9uIGFuZCBUMiBhbmQgVDMgCgkJIGFyZSBvZmYuIAoJCSAuMTEw MjQgVGhlIEFkZHJlc3MgbGluZSBjb250cm9scyB0d28gdHJhbnNpc3RvcnMgVDUgYW5kCgkJ IFQ2LiAgQ2xvc2luZyB0aGUgdHJhbnNpc3RvcnMgYWxsb3dzIGZvciB0aGUgdm9sdGFnZSB0 bwoJCSBiZSByZWFkIHRvIG9yIHdyaXR0ZW4gZnJvbSB0aGUgYml0IGxpbmVzLiAgVGhlIHR3 byBiaXQKCQkgbGluZXMgYXJlIGFsd2F5cyBpbiByZXZlcnNlLgoKCQkgLjExMDMgU1JBTSBp cyBmYXN0ZXIgYW5kIHVzdWFsbHkgdXNlZCBpbiBvbmJvYXJkCgkJIGNhY2hpbmcgYW5kIHdp dGhpbiB0aGUgQ1BVLiAgRFJBTSBpcyBzbWFsbGVyLCBhbmQgbGVzcwoJCSBleHBlbnNpdmUg YW5kIGlzIHVzZWQgaW4gbWFpbiBtZW1vcnkuCgoKCgoJICA3LjExMSBDYXRlZ29yeTogIFJl YWQgLSBXcml0ZQoJICA3LjExMiBFcmFzdXJlOiAgRWxlY3Ryb25pY2FsbHkgQnl0ZSBMZXZl bAoJICA3LjExMyBXcml0ZSBNZWNoYW5pc206ICBFbGVjdHJvbmljYWxseQoJICA3LjExNCBW b2xhdGlsaXR5CgoJNy4xMiBSZWFkIE9ubHkgTWVtb3J5CgkgIDcuMTIxIENhdGVnb3J5OiAg UmVhZCBPbmx5IE1lbW9yeQoJICA3LjEyMiBFcmFzdXJlOiBOb3QgUG9zc2libGUKCSAgNy4x MjMgV3JpdGUgTWVjaGFuaXNtOiBNYXNrcyBFbGVjdHJvbmljYWxseQoJICA3LjEyNCBWb2xh dGlsaXR5OiBOb252b2xhdGlsZQoKCSAgNy4xMjUgQSBwYXR0ZXJuIG9mIGJpdHMgYXJlIGZh YnJpY2F0ZWQgb250byB0aGUgY2hpcHMuCgkgIDcuMTI2IFRoZXkgZG8gbm90IG5lZWQgdG8g YmUgbG9hZGVkLCB0aGV5IGp1c3QgJ2FyZScKCSAgNy4xMjcgRGF0YSBJbnNlcnRpb24gaXMg ZXhwZW5zaXZlIGFzIGl0IGlzIGRvbmUgd2hlbiBidWlsZGluZwoJICB0aGUgY2hpcHMuCgkg IDcuMTI4IFVzZWQgZm9yIG1pY3JvcHJvZ3JhbW1pbmcsIHN5c3RlbSBwcm9ncmFtcywgZnVu Y3Rpb24KCSAgdGFibGVzLCBsaWJyYXJ5IHN1YnJvdXRpbmVzIGZvciByZXBlYXRlZGx5IG5l ZWRlZCBmdW5jdGlvbnMuIAoJCgk3LjEzIFByb2dyYW1tYWJsZSBSZWFkIE9ubHkgTWVtb3J5 CgkgIDcuMTMxIENhdGVnb3J5OiBSZWFkIE9ubHkgTWVtb3J5CgkgIDcuMTMyIEVyYXN1cmU6 IE5vdCBQb3NzaWJsZQoJICA3LjEzMyBXcml0ZSBNZWNoYW5pc206IE1hc2tzIEVsZWN0cm9u aWNhbGx5CgkgIDcuMTM0IFZvbGF0aWxpdHk6IE5vbnZvbGF0aWxlCgkgIDcuMTM1IE5lZWRz IHNwZWNpYWwgZXF1aXBtZW50ICBpbiBvcmRlciB0byBwcm9ncmFtLgoJICA3LjEzNiBHb29k IGZvciBzbWFsbCBiYXRjaGVzIG9mIFJPTSBuZWVkZWQgY2hpcHMuCgoJCgk3LjE0IEVyYXNh YmxlIFByb2dyYW1tYWJsZSByZWFkIE9ubHkgTWVtb3J5OiAgRVBST00KCSAgNy4xNDEgIENh dGVnb3J5OiBSZWFkIE1vc3RseSBNZW1vcnkKCSAgNy4xNDIgIEVyYXN1cmU6ICBVViBMaWdo dCwgQ2hpcCBMZXZlbAoJICA3LjE0MyAgV3JpdGUgTWVjaGFuaXNtOiBNYXNrcyBFbGVjdHJp Y2FsbHkKCSAgNy4xNDQgIFZvbGF0aWxpdHk6ICBub252b2xhdGlsZQoJICA3LjE0NSAgVVYg TGlnaHQgZXJhc2VzIG1lbW9yeSBvbiBhcHBsaWNhdGlvbiwgYWxsb3dpbmcgZm9yCgkgIHJl dXNlIG9yIHJlcHJvZ3JhbW1pbmcuCgoJNy4xNSAgRWxlY3Ryb25pY2FsbHkgRXJhc2FibGUg UHJvZ3JhbW1hYmxlIG1lbW9yeQoJICA3LjE1MSAgQ2F0ZWdvcnk6ICBSZWFkIE1vc3RseQoJ ICA3LjE1MiAgRXJhc3VyZTogIEVsZWN0cmljYWxseSBCeXRlIExldmVsCgkgIDcuMTUzICBX cml0ZSBNZWNoYW5pc206IE1hc2tzIEVsZWN0cmljYWxseQoJICA3LjE1NCAgVm9sYXRpbGl0 eTogIG5vbnZvbGF0aWxlCgkgIDcuMTU1ICBUaGUgY2hpcCBkb2VzIG5vdCBoYXZlIHRvIGJl IGVyYXNlZCBwcmlvciB0bwoJICByZXByb2dyYW1taW5nLCBtYWtpbmcgaXQgbW9yZSBsaWtl IGEgc3RhbmRhcmQgcHJvZ3JhbW1pbmcKCSAgZW52aXJvbm1lbnQuICBFRVBST01TIGNhbiB0 YWtlIDEwMCdzIG9mIG1zIHBlciBieXRlIHRvIHdyaXRlCgkgIHRvICh0aGF0IGlzIGxvbmcg aW4gY29tcHV0ZXIgdGVybXMpLgoJICA3LjE1NiAgRUVQUk9NUyBjYW4gYmUgcHJvZ3JhbW1l ZCBpbiBzaXR1ICh3aGlsZSBpbiB0aGUKCSAgc3lzdGVtKSwgYnkgbm9ybWFsIGVsZWN0cm9u aWNzLgoKCQoJNy4xNiAgRmxhc2gKCSAgNy4xNjEgIENhdGVnb3J5OiAgUmVhZCBNb3N0bHkK CSAgNy4xNjIgIEVyYXN1cmU6ICBFbGVjdHJvbmljYWxseSBCbG9jayBMZXZlbAoJICA3LjE2 MwkgV3JpdGUgTWVjaGFuaXNtOiAgTWFza3MgRWxlY3RyaWNhbGx5CgkgIDcuMTY0ICBWb2xh dGlsaXR5OiAgTm9udm9sYXRpbGUKCSAgNy4xNjUgVGhlIGVudGlyZSBmbGFzaCBjYW4gYmUg ZXJhc2VkIGluIGEgZmV3IHNlY29uZHMuCgkgIDcuMTY2IE5vIGJ5dGUgbGV2ZWwgZXJhc3Vy ZQoKNy4yIERSQU0gQ29uZmlndXJhdGlvbjogIFRoZW9yZXRpY2FsIE1vZGVsCmh0dHA6Ly93 d3cubnlseHMuY29tL2RvY3MvZ3JhZF9zY2hvb2wvYXJjaC9kcmFtX2NvbmYucG5nCiAgLjIw MSBhc3N1bWUgdGhhdCA0IGJpdHMgYXJlIHJlYWQvd3JpdGUgYXQgYSB0aW1lCiAgLjIwMiBB cnJheSBhcnJhaWduZWQgYXMgNCBzcXVhcmVzIG9mIDIwNDggeCAyMDQ4IGVsZW1lbnRzIChz d2l0Y2hlcz8pCiAgICAgICBlYWNoLCB3aXRoIGVhY2ggZWxlbWVudCBoYXZpbmcgNCBiaXRz LgogIC4yMDMgQXJyYXlzIGFyZSBjb25uZWN0ZWQgYnkgbGluZXMgb24gdGhlIGNvbHVtbnMg YW5kIHRoZSByb3dzIGxpa2UgYQogICAgICAgZ3JpZAogIC4yMDQgVGhlIGNvbHVtbiBsaW5l IGlzIGNvbm5lY3RlZCB0byB0aGUgU2VsZWN0IFRlcm1pbmFsCiAgLjIwNSBUaGUgUm93IGxp bmUgaXMgY29ubmVjdGVkIHRvIHRoZSBkYXRhIHNlbnNlIChiaXQgbGluZSkKICAuMjA2IEFk ZHJlc3MgbGluZXMgc3VwcGx5IHRoZSBhZGRyZXNzIG9mIHRoZSB3b3JkIHRvIGJlIHNlbGVj dGVkLiAKICAgICAuMjA2MSBBIHRvdGFsIG9mIGxvZzIgVyBsaW5lcyBhcmUgbmVlZGVkLiAK ICAgICAuMjA2MiBmb3IgMjA0OCBlbGVtZW50cywgMTEgYWRkcmVzcyBsaW5lcyBhcmUgbmVl ZGVkIHRvIHNlbGVjdCBvbmUgb2YgMjA0OAoJICAgcm93cy4gKDJeMTEgPSAyMDQ4KQoJICAg CiAgICAgLjIwNjMgICBUaGVzZSAxMSBsaW5lcyBhcmUgZmVkIGludG8gYSByb3cgZGVjb2Rl ciwgd2hpY2ggaGFzIDExCiAgICAgICAgICAgICBsaW5lcyBvZiBpbnB1dCBhbmQgMjA0OCwg aXQgaXMgYSBtdWx0aXBsZXhlciwgbGluZXMgZm9yIG91dHB1dC4gVGhlIAogICAgICAgICAg ICAgbG9naWMgb2YgdGhlIGRlY29kZXIgYWN0aXZhdGVzIGEgc2luZ2xlIG9uZSBvZiB0aGUg MjA0OCBvdXRwdXRzLgogICAgICAgICAgICAgVGhlIDExIGxpbmVzIGZvcm0gYSBiaXQgcGF0 dGVybiAoMl4xMSA9IDIwNDgpLgogIC4yMDcgIDExIGxpbmVzIGFsc28gYWRkcmVzcyB0aGUg Y29sdW1ucyBmb3IgZGF0YS4gIAogICAgICAuMjA3MSAgVGhlcmUgYXJlIDQgZGF0YSBsaW5l cyBmb3IgZWFjaCBiaXQgcGVyIGNvbHVtbi4KCiAgLjIwOCAgVGhlcmUgYXJlIG9ubHkgMTEg YWRkcmVzcyBsaW5lcyAoQTDigJNBMTApLCBoYWxmIHRoZSBudW1iZXIgeW91CiAgICAgIHdv dWxkIGV4cGVjdCBmb3IgYSAyMDQ4ICogMjA0OCBhcnJheSB3aXRoIDJeMjIgdG90YWwgZWxl bWVudHMuCiAgICAgIFRoaXMgaXMgZG9uZSB0byBzYXZlIG9uIHRoZSBudW1iZXIgb2YgcGlu cy4KCgkuMjA4MSAgVGhlIDIyIHJlcXVpcmVkIGFkZHJlc3MgbGluZXMgYXJlIHBhc3NlZCB0 aHJvdWdoIHNlbGVjdCBsb2dpYyAKCWV4dGVybmFsIHRvIHRoZSBjaGlwIGFuZCBtdWx0aXAw bGV4ZWQgb250byB0aGUgMTEgYWRkcmVzcyBsaW5lcy4gCgkuMjA4MiBGaXJzdCwgMTEgYWRk cmVzcyBzaWduYWxzIGFyZSBwYXNzZWQgdG8gdGhlIGNoaXAgdG8gZGVmaW5lIHRoZSAKCXJv dyBhZGRyZXNzIG9mIHRoZSBhcnJheSwgYW5kIHRoZW4gdGhlIG90aGVyIDExIGFkZHJlc3Mg c2lnbmFscyBhcmUKCXByZXNlbnRlZCBmb3IgdGhlIGNvbHVtbiBhZGRyZXNzLiAKCS4yMDgz ICBUaGVzZSBzaWduYWxzIGFyZSBhY2NvbXBhbmllZCBieSByb3cgYWRkcmVzcyBzZWxlY3Qg KFJBUyApIAoJICAgIGFuZCBjb2x1bW4gYWRkcmVzcyBzZWxlY3QgKENBUykgc2lnbmFscyB0 byBwcm92aWRlIHRpbWluZyB0byB0aGUgY2hpcC4KCgkgICAgKioqU2VlIHRoZSBEaWFncmFt KioqCgoJLjIwODQgIFRoZSB3cml0ZSBlbmFibGUgKFdFKSBhbmQgb3V0cHV0IGVuYWJsZSAo T0UpIHBpbnMgZGV0ZXJtaW5lIHdoZXRoZXIgYQoJCXdyaXRlIG9yIHJlYWQgb3BlcmF0aW9u IGlzIHBlcmZvcm1lZC4gCgkuMjA4NSAgVHdvIG90aGVyIHBpbnMsIG5vdCBzaG93biBpbiBG aWd1cmUgNS4zLCBhcmUgZ3JvdW5kIChWc3MpIGFuZCBhIHZvbHRhZ2Ugc291cmNlIChWY2Mp LgogIAoKICAgLjIwOSBFeHRlcm5hbCBDb25uZWN0aW9uIG9mIERSQU06ICBRdW90ZSBmcm9t IHRoZSBUZXh0OgoKQ2hpcCBQYWNrYWdpbmcKQXMgd2FzIG1lbnRpb25lZCBpbiBDaGFwdGVy IDIsIGFuIGludGVncmF0ZWQgY2lyY3VpdCBpcyBtb3VudGVkIG9uCmEgcGFja2FnZSB0aGF0 IGNvbnRhaW5zIHBpbnMgZm9yIGNvbm5lY3Rpb24gdG8gdGhlIG91dHNpZGUgd29ybGQuCkZp Z3VyZSA1LjRhIHNob3dzIGFuIGV4YW1wbGUgRVBST00gcGFja2FnZSwgd2hpY2ggaXMgYW4g OC1NYml0IGNoaXAKb3JnYS0gbml6ZWQgYXMgMU0gKiA4LiBJbiB0aGlzIGNhc2UsIHRoZSBv cmdhbml6YXRpb24gaXMgdHJlYXRlZCBhcwphIG9uZS13b3JkLXBlci1jaGlwIHBhY2thZ2Uu IFRoZSBwYWNrYWdlIGluY2x1ZGVzIDMyIHBpbnMsIHdoaWNoIGlzCm9uZSBvZiB0aGUgc3Rh bmRhcmQgY2hpcCBwYWNrYWdlIHNpemVzLiBUaGUgcGlucyBzdXBwb3J0IHRoZSBmb2xsb3dp bmcKc2lnbmFsIGxpbmVzOiDigKIgVGhlIGFkZHJlc3Mgb2YgdGhlIHdvcmQgYmVpbmcgYWNj ZXNzZWQuIEZvciAxTSB3b3JkcywKYSB0b3RhbCBvZiAyMCAoMjIwID0gMU0pIHBpbnMgYXJl IG5lZWRlZCAoQTDigJNBMTkpLgoK4oCiIFRoZSBkYXRhIHRvIGJlIHJlYWQgb3V0LCBjb25z aXN0aW5nIG9mIDggbGluZXMgKEQw4oCTRDcpLgrigKIgVGhlIHBvd2VyIHN1cHBseSB0byB0 aGUgY2hpcCAoVmNjKS4K4oCiIEEgZ3JvdW5kIHBpbiAoVnNzKS4K4oCiIEEgY2hpcCBlbmFi bGUgKENFKSBwaW4uIAoKQmVjYXVzZSB0aGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSBtZW1v cnkgY2hpcCwgZWFjaCBvZiB3aGljaCBpcyBjb25uZWN0ZWQKdG8gdGhlIHNhbWUgYWRkcmVz cyBidXMsIHRoZSBDRSBwaW4gaXMgdXNlZCB0byBpbmRpLSBjYXRlIHdoZXRoZXIgb3Igbm90 CnRoZSBhZGRyZXNzIGlzIHZhbGlkIGZvciB0aGlzIGNoaXAuIFRoZSBDRSBwaW4gaXMgYWN0 aXZhdGVkIGJ5IGxvZ2ljCmNvbm5lY3RlZCB0byB0aGUgaGlnaGVyLW9yZGVyIGJpdHMgb2Yg dGhlIGFkZHJlc3MgYnVzIChpLmUuLCBhZGRyZXNzCmJpdHMgYWJvdmUgQTE5KS4gVGhlIHVz ZSBvZiB0aGlzIHNpZ25hbCBpcyBpbGx1c3RyYXRlZCBwcmVzZW50bHkuICAKCuKAoiBBIHBy b2dyYW0gdm9sdGFnZSAoVnBwKSB0aGF0IGlzIHN1cHBsaWVkIGR1cmluZyBwcm9ncmFtbWlu ZyAod3JpdGUKb3BlcmF0aW9ucykuICBBIHR5cGljYWwgRFJBTSBwaW4gY29uZmlndXJhdGlv biBpcyBzaG93biBpbiBGaWd1cmUgNS40YiwKZm9yIGEgMTYtTWJpdCBjaGlwIG9yZ2FuaXpl ZCBhcyA0TSAqIDQuIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVuY2VzCmZyb20gYSBST00g Y2hpcC4gQmVjYXVzZSBhIFJBTSBjYW4gYmUgdXBkYXRlZCwgdGhlIGRhdGEgcGlucyBhcmUK aW5wdXQvb3V0cHV0LiBUaGUgd3JpdGUgZW5hYmxlIChXRSkgYW5kIG91dHB1dCBlbmFibGUg KE9FKSBwaW5zIGluZGljYXRlCndoZXRoZXIgdGhpcyBpcyBhIHdyaXRlIG9yIHJlYWQgb3Bl cmF0aW9uLiBCZWNhdXNlIHRoZSBEUkFNIGlzIGFjY2Vzc2VkCmJ5IHJvdyBhbmQgY29sdW1u LCBhbmQgdGhlIGFkZHJlc3MgaXMgbXVsdGlwbGV4ZWQsIG9ubHkgMTEgYWRkcmVzcyBwaW5z CmFyZSBuZWVkZWQgdG8gc3BlY2lmeSB0aGUgNE0gcm93L2NvbHVtbiBjb21iaW5hdGlvbnMg KDIxMSAqIDIxMSA9IDIyMiA9CjRNKS4gVGhlIGZ1bmN0aW9ucyBvZiB0aGUgcm93IGFkZHJl c3Mgc2VsZWN0IChSQVMpIGFuZCBjb2x1bW4gYWRkcmVzcyBzZS0KbGVjdCAoQ0FTKSBwaW5z IHdlcmUgZGlzY3Vzc2VkIHByZXZpb3VzbHkuIEZpbmFsbHksIHRoZSBubyBjb25uZWN0IChO QykKcGluIGlzIHByby0gdmlkZWQgc28gdGhhdCB0aGVyZSBhcmUgYW4gZXZlbiBudW1iZXIg b2YgcGlucy4KCgo3LjMgU0RSQU0gKG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIFNSQU0pIC0g YW4gYWR2YW5jZWQgZm9yIG9mIGRyYW0gd2hpY2ggaXMgCmRlc2lnbmVkIHRvIGJldHRlciBo YW5kbGUgYm90dGxlbmVjayBwcm9ibGVtcyBiZXR3ZWVuIHRoZSBDUFUgYW5kIHN5c3RlbQpt ZW1vcnkgYnVzLi4KICAuMzAxIFRoZSBTRFJBTSBwZXJmb3JtcyBiZXN0IHdoZW4gaXQgaXMg dHJhbnNmZXJyaW5nIGxhcmdlIGJsb2NrcyBvZgogIGRhdGEgc2VyaWFsbHkgKEdyYXBoaWNz LCBNb3ZpZXMpCgogIDcuMzEgU3luY2hyb25vdXMgYWNjZXNzOiAgVGhlIGNoaXBzIGZ1bmN0 aW9uIG9uIHRoZSBzeXN0ZW0gY2xvY2sgd2hpY2gKYWxsb3dzIHRoZSBDUFUgdG8gZG8gb3Ro ZXIgdGhpbmdzIHdoaWxlIHRoZSBTRFJBTSBpcyB3b3JraW5nIHNpbmNlIGRhdGEKaXMgcmV0 dXJuZWQgb24gdGhlIHN5c3RlbSBjbG9jay4gIAoJLjMzMiBQaW4gQXNzaWdubWVudHM6Cgkg IC4zMzIxIENMSyBDbG9jayBJbnB1dCAJIAoJICAuMzMyMiBDS0UgQ2xvY2sgRW5hYmxlIAkg CgkgIC4zMzIzIENTIENoaXAgU2VsZWN0CSAKCSAgLjMzMjQgUkFTIFJvdyBBZGRyZXNzIFN0 cm9iZQkgCgkgIC4zMzI1IENBUyBDb2x1bW4gQWRkcmVzcyBTdHJvYmUJIAoJICAuMzMyNiBX RSAgV3JpdGUgRW5hYmxlCSAKCSAgLjMzMjcgRFEwIC0gRFE3IERhdGEgaW5wdXQvb3V0cHV0 CSAKCSAgLjMzMjggRFFNIERhdGEgTWFzawoKICA3LjMyIFNEUkFNIEJ1cnN0IE1vZGUgLSBQ dXRzIG91dCBhIHNlcmllcyBvZiBiaXRzIGluIHNlcmlhbAogIDcuMzMgbXVsdGlwbGUtYmFu ayBpbnRlcm5hbCBhcmNoaXRlY3R1cmUgdGhhdCBpbXByb3ZlcyAKCW9wcG9ydHVuaXRpZXMg Zm9yIG9uLWNoaXAgcGFyYWxsZWxpc20JIAogIDcuMzQgIE1vZGUgUmVnaXN0ZXIgYW5kIExv Z2ljOiAgQWxsb3dzIHRvIGN1c3RvbWl6ZSBiZWhhdmlvciBhY2NvcmRpbmcKICB0byB0YWsg cmVxdWlyZW1lbnRzOgogIAkuMzQxICBzcGVjaWZpZXMgdGhlIGJ1cnN0IGxlbmd0aCwgdGhl IGFtb3VudCBvZiBkYXRhIHRoYXQgY2FuIGJlCglwbGFjZWQgb24gdGhlIGJ1cy4KCS4zNDIg YWxsb3dzIHRoZSBwcm9ncmFtbWVyIHRvIGFkanVzdCB0aGUgbGF0ZW5jeSBiZXR3ZWVuIHJl Y2VpcHQKCW9mIGEgcmVhZCByZXF1ZXN0IGFuZCB0aGUgYmVnaW5uaW5nIG9mIGRhdGEgdHJh bnNmZXIuCiAgNy4zNSAgRERSLVNEUkFNIC0gQ2FuIHNlbmQgZGF0YSB0d2ljZSBwZXIgY2xv Y2sgY3ljbGUKIAogNy40IFJEUkFNIC0gUmFtYnVzIERyYW06IGRlbGl2ZXJzIGFkZHJlc3Mg YW5kIGNvbnRyb2wgaW5mb3JtYXRpb24gdXNpbmcKIGFuIGFzeW5jaHJvbm91cyBibG9jay1v cmllbnRlZCBwcm90b2NvbC4KIAkuNDEgIEFmdGVyIGFuIGluaXRpYWwgNDgwIG5zIGFjY2Vz cyB0aW1lLCB0aGlzIHByb2R1Y2VzIHRoZSAxLjYgR0JwcyBkYXRhIHJhdGUKCS40MiAgVGhl IGJ1cyBkZWZpbmVzIGltcGVkYW5jZXMsIGNsb2NraW5nLCBhbmQgc2lnbmFscyB2ZXJ5Cglw cmVjaXNlbHkKCS40MyAgUkRSQU0gZ2V0cyBhIG1lbW9yeSByZXF1ZXN0IG92ZXIgdGhlIGhp Z2gtc3BlZWQgYnVzLiBUaGlzCglyZXF1ZXN0IGNvbnRhaW5zIHRoZSBkZXNpcmVkIGFkZHJl c3MsIHRoZSB0eXBlIG9mIG9wZXJhdGlvbiwgYW5kCgl0aGUgbnVtYmVyIG9mIGJ5dGVzIGlu IHRoZSBvcGVyYXRpb24uCgkuNDQgIEJ1cyBpbmNsdWRlcyAxOCBkYXRhIGxpbmVzICgxNiBh Y3R1YWwgZGF0YSwgdHdvIHBhcml0eSkgY3ljbGluZyAKCWF0IHR3aWNlIHRoZSBjbG9jayBy YXRlLgoJLjQ1ICBBbm90aGVyIDggbGluZXMgKFJDKSB1c2VkIGZvciBhZGRyZXNzIGFuZCBj b250cm9sIHNpZ25hbHMuCgkuNDYgIENsb2NrIHNpZ25hbCB0aGF0IHN0YXJ0cyBhdCB0aGUg ZmFyIGVuZCBmcm9tIHRoZSBjb250cm9sbGVyCglwcm9wYWdhdGVzIHRvIHRoZSBjb250cm9s bGVyIGVuZCBhbmQgdGhlbiBsb29wcyBiYWNrLiAKCS40NyAgIEEgUkRSQU0gbW9kdWxlIHNl bmRzCglkYXRhIHRvIHRoZSBjb250cm9sbGVyIHN5bmNocm9ub3VzbHkgdG8gdGhlIGNsb2Nr IHRvIG1hc3RlciwgYW5kCgl0aGUgY29udHJvbGxlciBzZW5kcyBkYXRhIHRvIGFuIFJEUkFN IHN5bmNocm9ub3VzbHkgd2l0aCB0aGUgY2xvY2sgc2lnbmFsIGluCgl0aGUgb3Bwb3NpdGUg ZGlyZWN0aW9uLgoKCSoqKlFVRVNUSU9OKioqIFRoZSBjb250cm9sIGlzIGFzeW5jaG9ub3Vz IGJ1dCB0aGUgY29udHJvbCB0byB0aGUKCVJEUkFNIGlzIHN5bmNob25vdXMgYmV0d2VlbiBl YWNoIG90aGVyPwoKNy41IEREUiBEUkFNOiAgMnggY2xvY2sgY3ljbGUgZGF0YSBkZWxpdmVy eQoJLjUxICAgVGhlIGRhdGEgdHJhbnNmZXIgaXMgc3luY2hyb25pemVkIHRvIGJvdGggdGhl IHJpc2luZyBhbmQgZmFsbGluZyAKCWVkZ2Ugb2YgdGhlIGNsb2NrLiAKCS41MiBTeW5jaHJv bml6ZWQgdG8gYSBiaWRpcmVjdGlvbmFsIGRhdGEgc3Ryb2JlIChEUVMpIHNpZ25hbCB0aGF0 IGlzIAoJcHJvdmlkZWQgYnkgdGhlIG1lbW9yeSBjb250cm9sbGVyIGR1cmluZyBhIHJlYWQg YW5kIGJ5IHRoZSBEUkFNIGR1cmluZyAKCWEgd3JpdGUuIAoJCS41MjEgVHlwaWNhbCBpbXBs ZW1lbnRhdGlvbnMgdGhlIERRUyBpcyBpZ25vcmVkIGR1cmluZyB0aGUgcmVhZAoKCS41MyAg VGhyb3VnaCBwcmViaXQgY2FjaGluZyBmcmVxdWVuY3kgcmF0ZXMgaGF2ZSBiZWVuIGltcHJv dmVkCglvdmVyIHRpbWUgYW5kIHdlIG5pb3cgaGF2ZSBERFIyICg0Yml0cylhbmQgRERSMyAo NmJpdHMpCgoKOC4wICBFWFRFUk5BTCBNRU1PUlk6ICBEaXNrcywgdGFwZXMgYW5kIGFycmF5 czoKCTguMDEgCgoJOC4xIE1hZ25ldGljIERpc2tzOgoJCS4xMSAgR2xhc3Mgb3IgQWx1bWlu dW0gc3Vic3RyYXRlIHdpdGggYSBmaWxtIG9mCgkJZmVyby1lbGV0cm9tYWdldGljIG1hdGVy aWFsCgkJLjEyICBIZWFkOiAgQSBNYWduZXRpYyBDb2lsIHVzZWQgdG8gcmVhZCBvciB3cml0 ZSBkYXRhCgkJdG8gdGhlIGZpbG0KCQkuMTMgIFRoZSB3cml0ZSBoZWFkIGl0c2VsZiBpcyBt YWRlIG9mIGVhc2lseQoJCW1hZ25ldGl6YWJsZSBtYXRlcmlhbCBhbmQgaXMgaW4gdGhlIHNo YXBlIG9mIGEgcmVjdGFuZ3VsYXIKCQlkb3VnaG51dCB3aXRoIGEgZ2FwIGFsb25nIG9uZSBz aWRlIGFuZCBhIGZldyB0dXJucyBvZgoJCWNvbmR1Y3Rpbmcgd2lyZSBhbG9uZyB0aGUgb3Bw b3NpdGUgc2lkZQoJCSAgCgkJICAuMTMxCUFuIGVsZWN0cmljIGN1cnJlbnQgaW4gdGhlIHdp cmUgaW5kdWNlcyBhIG1hZ25ldGljCgkJICBmaWVsZCBhY3Jvc3MgdGhlIGdhcCwgd2hpY2gg aW4gdHVybiBtYWduZXRpemVzIGEKCQkgIHNtYWxsIGFyZWEgb2YgdGhlIHJlY29yZGluZyBt ZWRpdW0uIFJldmVyc2luZyB0aGUKCQkgIGRpcmVjdGlvbiBvZiB0aGUgY3VycmVudCByZXZl cnNlcyB0aGUgZGlyZWN0aW9uIG9mCgkJICB0aGUgbWFnbmV0aXphdGlvbiBvbiB0aGUgcmVj b3JkaW5nIG1lZGl1bS4KCQkgIC4xMzIgIFJlYWQgSGVhZHM6ICBQb3NpdGlvbmVkIG5lYXIg dGhlIHdyaXRlIGhlYWQKCQkgICAgLjEzMjEgICBQYXJ0aWFsbHkgc2hpZWxkZWQgbWFnbmV0 b3Jlc2lzdGl2ZSAoTVIpCgkJICAgIHNlbnNvcgoJCSAgICAuMTMyMiAgcGFzc2luZyBhIGN1 cnJlbnQgdGhyb3VnaCB0aGUgTVIgc2Vuc29yLAoJCSAgICByZXNpc3RhbmNlIGNoYW5nZXMg YXJlIGRldGVjdGVkIGFzIHZvbHRhZ2Ugc2lnbmFscy4gCgoqKnF1ZXN0aW9uIHdoYXQgaXMg ZXhhY3RseSBFbGVjdGlyY2FsIFJlc2lzdGFuY2UgaW4gdGhpcyBjb250ZXh0LioqCmh0dHA6 Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy8yLzJhL0FuaW1hdGlv bl9hYm91dF90aGVfbWFnbmV0b3Jlc2lzdGFuY2VfZGlzY292ZXJ5X0dyYXBocy5vZ3YKCTgu MiBEaXNrIE9yZ2FuaXphdGlvbjoKCQkuMjEgdHJhY2tzOiAgQ29uY2VudHJpYyBSaW5ncyBv biB0aGUgbWVkaWEgdGhhdCBhcmUgdGdoZQoJCXdpZHRoIG9mIHRoZSBoZWFkLiAgVGhvdXNh bmQgcGVyIGRpc2suCgkJLjIyIHNlY3RvcnM6ICBBIGJsb2NrIG9mIGRhdGEgb24gYSB0cmFj ayB0aGUgc2l6ZSB0aGF0CgkJY2FuIGJlIHRyYW5zcG9ydGVkIGluIHcvciBvcGVyYXRpb25z OiAgMTAwJ3MgcGVyIHNlY290cnMKCQlwZXIgdHJhY2sKCQkgICAuMjIxIHVzdWFsbHkgZml4 ZWQtbGVuZ3RoIHNlY3RvcnMgYXJlIHVzZWQsIHdpdGggNTEyCgkJCWJ5dGVzIGJlaW5nIHRo ZSBuZWFybHkgdW5pdmVyc2FsIHNlY3RvciBzaXplLiAKCQkgICAuMjIyIGludHJhdHJhY2sg Z2FwcyBleGlzdCBiZXR3ZWVuIHNlY3RvcnMKCQkgICAuMjIzIGNvbnN0YW50IGFuZ3VsYXIg dmVsb2NpdHkgLSBzZWN0b3JzIGFyZSBzcHJlYWQKCQkgICBvdXQgYWNjb3JkaW5nIHRvIHRo ZSB0aGVpciBpbm5lciBvciBvdXRlciBwb3NpdGlvbiBvbgoJCSAgIHRoZSBkaXNrIHRvIGFz dXJlIHRoYXQgZGF0YSBpcyByZWFkIGF0IHRoZSBzYW1lIHJhdGUuICAKCQkgICAuMjI0IG11 bHRpcGxlIHpvbmUgcmVjb3JkaW5nIC0gbmV3IGFwcHJvYWNoIHRoYXQgaGFzCgkJICAgbW9y ZSB1bmlmb3JtIHNlY3RvciBzaXplcyBhbmQgaGF2ZSBhIGNvbnN0YW50IGJpdCBwZXIKCQkg ICBpbmNoIGRlbmlzaXR5IHdpdGhpbiB6b25lcy4KCQkgICAJLjIyNDEgQ29tbW9ubHkgdGhl cmUgYXJlIDE2IHpvbmVzIGluIGFuIG91dGVyCgkJCXRyYWNrLgoJCSAgIC4yMjUgY29udHJv bCBkYXRhLCBpbmZvbXMgb2YgdGhlIHVuaXF1ZSBpZCBvZiBlYWNoCgkJICAgc2VjdG9yIGFu ZCBpcyBzcGVjaWZpYyB0byB0aGUgZGlzayBoYXJkd2FyZQoKCQkuMjMgIEhlYWRzIGNhbiBt b3JlIG9yIGJlIHN0YXRpYyAobW9zdCBvZnRlbiBtb3ZpbmcpCgkJLjI0ICBNdWx0aWkgcGxh dHRlcnM6IFN0YWNrZWQgdG9nZXRoZXIuICBBbGlnbmVkIHRyYWNrcwoJCWFyZSB0aGVuIGlk ZW50aWZpZWQgYXMgY3lsaW5kZXJzLiAgCgkJLjI1IFdpbmNoZXN0ZXIgaGVhZHM6ICBJbiBz ZWFsZWQgRGl1cyBEcml2ZXMgU2l0cyBvbgoJCWRpc2sgdW50aWwgaXQgc3BpbnMgdGhlbiBp dCBhY3RzIGFzIGFuIGFpcmZvaWwgYW5kIGxpZnRzCgkJZnJvbSB0aGUgc3VyZmFjZS4KCgk4 LjMgRGlzayBQZXJmb3JtYW5jZToKCSAgLjMxOiAgRGlza3Mgc3BpbiBhdCBhIGNvbnN0YW50 IHNwZWVkCgkgICAgLjMxMiAgSGVhZHMgbmVlZCB0byBiZSBwb3N0aW9uZWQgYXQgdGhlIGJl Z2lubmluZyBvZiBzZWN0b3JzCgkgICAgLjMxMyAgVHJhY2sgU2VsZWN0aW9uIG1lYW5zIGhl YWQgbW92ZW1lbnQKCSAgICAuMzE0ICBTZWVrIFRpbWU6ICBUaW1lIGZvciB0aGUgaGVhZCB0 byBmaW5kIGEgdHJhY2sKCSAgICAuMzE1ICBSb3RhdGlvbmFsIERlbGF5OiAgVGltZSBpdCB0 YWtlcyBmb3IgdGhlIGJlZ2lubmluZyBvZiBhCgkgICAgc2VjdG9yIHRvIGxpbmUgdXAgd2l0 aCBhIGhlYWQuCgkgICAgLjMxNiAgQWNjZXNzIFRpbWUgPSBTZWVrIFRpbWUgYW5kIFJvdGF0 aW9uYWwgRGVsYXkgKFNvCgkgICAgd2hhdC4uKQoJICAgIC4zMTcgIFRyYW5zZmVyIFRpbWU6 ICBUaW1lIHRoZSBoZWFkIGlzIHJlYWRpbmcgb3Igd3JpdGluZwoJICAgIGZyb20gdGhlIGRp c2sKCgk5LjAgUkFJRFM6ICBBbiBhcnJheSBvZiBkaXNrcyBmb3IgZW5oYW5jZWQgcGVyZm9y bWFuY2Ugb3IgYmV0dGVyCglwcm90ZWN0aW9uIGFnYWluc3QgZGlzIGZhaWx1cmUuCgoJICAg IDkuMDEgUkFJRCBpcyBhIHNldCBvZiBwaHlzaWNhbCBkaXNrIGRyaXZlcyB2aWV3ZWQgYnkg dGhlCgkgICAgb3BlcmF0aW5nIHN5c3RlbSBhcyBhIHNpbmdsZSBsb2dpY2FsIGRyaXZlLgog ICAgICAgICAgICAKCSAgICA5LjAyIERhdGEgYXJlIGRpc3RyaWJ1dGVkIGFjcm9zcyB0aGUg cGh5c2ljYWwgZHJpdmVzIG9mIGFuCiAgICAgICAgICAgIGFycmF5IGluIGEgc2NoZW1lIGtu b3duIGFzIHN0cmlwaW5nLgoJICAgIAoJICAgIDkuMDMgIFJlZHVuZGFudCBkaXNrIGNhcGFj aXR5IGlzIHVzZWQgdG8gc3RvcmUgcGFyaXR5CiAgICAgICAgICAgIGluZm9ybWF0aW9uLCB3 aGljaCBndWFyYW50ZWVzIGRhdGEgcmVjb3ZlcmFiaWxpdHkgaW4gY2FzZQogICAgICAgICAg ICBvZiBhIGRpc2sgZmFpbHVyZS4KCgk5LjExMSBSYWlkIDAgY29uc2lzdHMgb2Ygc3RyaXBp bmcsIHdpdGhvdXQgbWlycm9yaW5nIG9yIHBhcml0eS4gIAoJCTExIFN0aXBpbmcKCQkxMiBO b25yZWR1bmRlbnQKCQkxMyBOIGRpc2tzIHJlcXVpcmVkIAoJCTE0IExlc3MgdGhhbiBhIHNp bmdsZSBkaXNrIG9mIGRhdGEgaXMgYXZhaWxhYmxlCgkJMTUgSS9PIERhdGEgdHJhbnNmZXIg YXZhaWxhYmxlIGlzIHZlcnkgaGlnaAoJCTE2IFNtYWxsIERhdGEgVHJhbnNmZXIgcmF0ZXMg YXJlIGhpZ2ggZm9yIHIvdwoJCTE3IFRoZSBtYWluIHB1cnBvc2UgaXMgdG8gaW5jcmVhc2Ug ZGF0YSB0cmFuc3BvcnQgYnkgc3ByZWFkaW5nIAoJCXRoZSAgZGF0YSBvbiBOIGRpc2tzIHdp dGggTiBkaXNrIGNvbnRyb2xsZXJzIGdpdmluZyBOIGluY3JlYXNlIAoJCWluIHRocm91Z2hw dXQuCgoKCTkuMTEyIFJhaWQgMSBNaXJyb3JpbmcgZGlza3MgZm9yIHJlZHVuZGFuY3ksIGFu ZCB0aGVyZSBpcyBubwoJcGFyaXR5LgoJCTIxIE1pcnJvcmluZwoJCTIyIE5lZWRzIDJOIGRp c2NzICh0aGV5IGFyZSBiZWluZyBtaXJyb3JlZCkKCQkyMyBEYXRhIEF2YWlsYWJpbGl0eSBp cyBoaWdoZXIgdGhhbiBSYWlkIDIsMyw0IGFuZCA1IGJ1dCBsZXNzIAoJCXRoYW4gUmFpZCA2 CgkJMjQgRm9yIGxhcmdlIGRhdGEgdHJhbnNmZXIgcmVhZCBpcyBzbGlnaHRseSBiZXR0ZXIg dGhhbiBhIGRpc2sKCQlidXQgZm9yIHdyaXRlLCBzbGlnaHRseSBzbG93ZXIuCgkJMjUgU21h bGwgRGF0YSByZXF1ZXN0cyB1cCB0byB0d2ljZSBhcyBoaWdoIGFzIGEgc2luZ2xlIGRpc2sg YW5kCgkJZm9yIHdyaXRlIGl0IGlzIHNpbWlsYXIgYXMgYSBkaXNrCgkJMjYgIEEgcmVhZCBy ZXF1ZXN0IGNhbiBiZSBzZXJ2aWNlZCBieSBlaXRoZXIgb2YgdGhlIHR3bwoJCWRpc2tzIHRo YXQgY29udGFpbnMgdGhlIHJlcXVlc3RlZCBkYXRhLCB3aGljaGV2ZXIgb25lCgkJaW52b2x2 ZXMgdGhlIG1pbmltdW0gc2VlayB0aW1lIHBsdXMgcm90YXRpb25hbCBsYXRlbmN5LgoJCTI3 IFdyaXRlcyB0byBib3RoIGRpc2tzIGFyZSBpbiBwYXJyZWxsZWwgCgkJICAgMjcxIHRoZXJl IGlzIG5vIOKAnHdyaXRlIHBlbmFsdHnigJ0gd2l0aCBSQUlEIDEuICAKCjkuMTIgTGV2ZWxz IDAgYW5kIDEgcmFpZCBkbyBub3QgYWxsb3cgZm9yIHBhcml0eSB3aXRoIGZvciByZWR1bmRl bmN5CmFuZCBlcnJvciBjaGVja2luZy4gIAoKOS4xMyBMZXZlbCAyLDMsNCBhbmQgNSBoYXZl IGhpZ2hlciB0aGFuIHNpbmdsZSBkaXNrIGRhdGEgYXZhaWxhYmlsaXR5CndoaWNoIGlzIHNp bWlsYXIgdG8gZWFjaCBvdGhlci4KCjkuMTQgUkFJRCBsZXZlbHMgMiBhbmQgMyBtYWtlIHVz ZSBvZiBhIHBhcmFsbGVsIGFjY2VzcyB0ZWNobmlxdWUuIEluIGEgcGFyYWxsZWwgYWNjZXNz CmFycmF5LCBhbGwgbWVtYmVyIGRpc2tzIHBhcnRpY2lwYXRlIGluIHRoZSBleGVjdXRpb24g b2YgZXZlcnkgSS9PIHJlcXVlc3QuIAoKOS4xNSBSQUlEIGxldmVscyA0IHRocm91Z2ggNiBt YWtlIHVzZSBvZiBhbiBpbmRlcGVuZGVudCBhY2Nlc3MgdGVjaG5pcXVlLgoKCTkuIDE1MSBJ biBhbiBpbmRlcGVuZGVudCBhY2Nlc3MgYXJyYXksIGVhY2ggbWVtYmVyIGRpc2sgb3BlcmF0 ZXMKCWluZGVwZW5kZW50bHksIHNvIHRoYXQgc2VwYXJhdGUgSS9PIHJlcXVlc3RzIGNhbiBi ZSBzYXRpc2ZpZWQgaW4KCXBhcmFsbGVsLiAKCgk5LjE1MiBCZWNhdXNlIG9mIHRoaXMsIGlu ZGVwZW5kZW50IGFjY2VzcyBhcnJheXMgYXJlIG1vcmUKCXN1aXRhYmxlIGZvciBhcHBsaWNh dGlvbnMgdGhhdCByZXF1aXJlIGhpZ2ggSS9PIHJlcXVlc3QgcmF0ZXMKCWFuZCBhcmUgcmVs YXRpdmVseSBsZXNzIHN1aXRlZCBmb3IgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZQoJaGln aCBkYXRhIHRyYW5zZmVyIHJhdGVzLgoKCgk5LjExMyBSYWlkIDIgIFBhcmFsbGVsIEFjY2Vz cyAKCQkzMSBSZWR1bmRlbnQgd2l0aCBoYW1tZXIgcGFyaXR5IC0gYW4gZXJyb3ItY29ycmVj dGluZyBjb2RlIGlzIGNhbGN1bGF0ZWQgCgkJYWNyb3NzIGNvcnJlc3BvbmRpbmcgYml0cyBv biBlYWNoIGRhdGEgZGlzaywgYW5kIHRoZSBiaXRzIG9mIHRoZSBjb2RlIAoJCWFyZSBzdG9y ZWQgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYml0IHBvc2l0aW9ucyBvbiBtdWx0aXBsZSBwYXJp dHkgZGlza3MuIAoJCVR5cGljYWxseSwgYSBIYW1taW5nIG1vZGVsLgoJCQoJCTMyIFJlcXVp cmVzIE4gKyBtIGRyaXZlLiAgVGhlIG51bWJlciBvZiByZWR1bmRhbnQgZGlza3MgaXMKCQlw cm9wb3J0aW9uYWwgdG8gdGhlIGxvZyBvZiB0aGUgbnVtYmVyIG9mIGRhdGEgZGlza3MuCgoJ CTMzICBEYXRhIGF2YWlsYWJsZSBpcyBoaWdoZXIgdGhhbiBhIHNpbmdsZSBkaXNrIGFuZCBz aW1pbGFyIHRvIAoJCVJhaWQgMyw0IGFuZCA1LgoJCTM0ICBIaWdoZXN0IGxldmVsIG9yIGJp ZyBkYXRhIHRyYW5zZmVycyByYXRlcwoJCTM1ICBmb3Igc21hbGwgZGF0YSBpdCBpcyBhYm91 dCB0d2ljZSB0aGF0IG9mIGEgc2luZ2xlIGRpc2suCgoKCgk5LjExNCBSYWlkIDM6IFBhcmFs bGVsIEFjY2VzczogY29uc2lzdHMgb2YgYnl0ZS1sZXZlbCBzdHJpcGluZwoJd2l0aCBkZWRp Y2F0ZWQgcGFyaXR5LiBBbGwgZGlzayBzcGluZGxlIHJvdGF0aW9uIGlzIHN5bmNocm9uaXpl ZAoJYW5kIGRhdGEgaXMgc3RyaXBlZCBzdWNoIHRoYXQgZWFjaCBzZXF1ZW50aWFsIGJ5dGUg aXMgb24gYQoJZGlmZmVyZW50IGRyaXZlLiBQYXJpdHkgaXMgY2FsY3VsYXRlZCBhY3Jvc3Mg Y29ycmVzcG9uZGluZwoJYnl0ZXMgYW5kIHN0b3JlZCBvbiBhIGRlZGljYXRlZCBwYXJpdHkg ZHJpdmUuWzldIAoJCQoJCQk0MDEgUkFJRCAzIGlzIG9yZ2FuaXplZCBpbiBhIHNpbWlsYXIg ZmFzaGlvbiB0bwoJCQlSQUlEIDIuICBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IFJBSUQgMyBy ZXF1aXJlcwoJCQlvbmx5IGEgc2luZ2xlIHJlZHVuZGFudCBkaXNrLCBubyBtYXR0ZXIgaG93 CgkJCWxhcmdlIHRoZSBkaXNrIGFycmF5LgoKCQkJNDAyIEluc3RlYWQgb2YgYW4gZXJyb3It Y29ycmVjdGluZyBjb2RlLCBhCgkJCXNpbXBsZSBwYXJpdHkgYml0IGlzIGNvbXB1dGVkIGZv ciB0aGUgc2V0IG9mCgkJCWluZGl2aWR1YWwgYml0cyBpbiB0aGUgc2FtZSBwb3NpdGlvbiBv biBhbGwgb2YKCQkJdGhlIGRhdGEgZGlza3MuCgoJCQk0MDMgSW4gdGhlIGV2ZW50IG9mIGEg ZHJpdmUgZmFpbHVyZSwgdGhlIHBhcml0eQoJCQlkcml2ZSBpcyBhY2Nlc3NlZCBhbmQgZGF0 YSBpcyByZWNvbnN0cnVjdGVkIGZyb20KCQkJdGhlIHJlbWFpbmluZyBkZXZpY2VzLiBPbmNl IHRoZSBmYWlsZWQgZHJpdmUgaXMKCQkJcmVwbGFjZWQsIHRoZSBtaXNzaW5nIGRhdGEgY2Fu IGJlIHJlc3RvcmVkIG9uCgkJCXRoZSBuZXcgZHJpdmUgYW5kIG9wZXJhdGlvbiByZXN1bWVk LgoKCQkJNDA0IERhdGEgcmVjb25zdHJ1Y3Rpb24gaXMgc2ltcGxlLiBDb25zaWRlciBhbgoJ CQlhcnJheSBvZiBmaXZlIGRyaXZlcyBpbiB3aGljaCBYMCB0aHJvdWdoIFgzIGNvbnRhaW4g CgkJCWRhdGEgYW5kIFg0IGlzIHRoZSBwYXJpdHkgZGlzay4KCQkJCgkJCVRoZSBwYXJpdHkg Zm9yIHRoZSBpdGggYml0IGlzIGNhbGN1bGF0ZWQgYXMgZm9sbG93czogCgkJCQoJCQlYNChp KSA9IFgzKGkpIOKKlSBYMihpKSDiipUgWDEoaSkg4oqVIFgwKGkpCgkJCQoJCQl3aGVyZSDi ipUgaXMgZXhjbHVzaXZlLU9SIGZ1bmN0aW9uLiAgCgkJCQoJCQlTdXBwb3NlIHRoYXQgZHJp dmUgWDEgaGFzIGZhaWxlZC4gSWYgd2UgYWRkIAoJCQlYNChpKSDiipUgWDEoaSkgdG8gYm90 aCBzaWRlcyBvZiB0aGUgcHJlY2VkaW5nIAoJCQllcXVhdGlvbiwgd2UgZ2V0IAoJCQkKCQkJ WDEoaSkgPSBYNChpKSDiipUgWDMoaSkg4oqVIFgyKGkpIOKKlSBYMChpKQoJCQkKCgoJCQlU aHVzLCB0aGUgY29udGVudHMgb2YgZWFjaCBzdHJpcCBvZiBkYXRhIG9uIFgxIGNhbiBiZSAK CQkJcmVnZW5lcmF0ZWQgZnJvbSB0aGUgY29udGVudHMgb2YgdGhlIGNvcnJlc3BvbmRpbmcg CgkJCXN0cmlwcyBvbiB0aGUgcmVtYWluaW5nIGRpc2tzIGluIHRoZSBhcnJheS4gVGhpcyAK CQkJcHJpbmNpcGxlIGlzIHRydWUgZm9yIFJBSUQgbGV2ZWxzIDMgdGhyb3VnaCA2LgoKCgoJ CTQxICBCaXQgSW50ZXJsZWF2ZWQgUGFyaXR5CgkJNDIgIE4rMSBEaXNrcyByZXF1aXJlZAoJ CTQzICBEYXRhIGF2YWlsYWJsZSBoaWdoZXIgdGhhbiBhIHNpbmdsZSBkaXNrIHNpbWlsYXIg dG8KCQkyLDQsNQoJCTQ0ICBIaWdoZXN0IGxldmVsIG9mIGxhcmdlIGRhdGEgdGhyb3VnaHB1 dAoJCTQ1ICBTbWFsbCByZWFkcyBhbmQgd3JpdGVzIGhhdmUgYWJvdXQgdHdvY2UgdGhlIHRo cm91Z2hwdXQKCQlvZiBhIHNpbmdsZSBkaXNrLgoKCTkuMTE1IFJhaWQgNCAgY29uc2lzdHMg b2YgYmxvY2stbGV2ZWwgc3RyaXBpbmcgd2l0aCBkZWRpY2F0ZWQgcGFyaXR5LgoKCQk1MSBC bG9ja3dpc2UgaW50ZXJsZWF2ZWQgcGFyaXR5CgkJNTIgTisxIERpc2tzIHJlcXVpcmVkCgkJ NTMgRGF0YSBBdmFpbGFiaWxpdHkgaXMgaGlnaGVyIHRoYW4gc2luZ2xlIGRpc2ssIGxpa2Ug MiwzLG9yCgkJCTUuCgkJNTQgTGFyZ2UgdHJhbnNmZXJzIGFyZSBzaW1pbGFyIHRvIHJhaWQg MCBmb3IgcmVhZGluZyBidXQKCQkgICBsb3dlciB0aGFuIGEgc2luZ2xlIGRpc2sgZm9yIHdy aXRpbmcgLgoKCQk1NSAgZm9yIHNtYWxsIGxldmVsIHIvdyBpdCBpcyBzaW1pbGFyIHRvIHJl YWQgdG8gcmFpZCAwLAoJCWFuZCBsb3dlciBmb3Igd3JpdGluZy4KCgkJNTYgUkFJRCA0IGlu dm9sdmVzIGEgd3JpdGUgcGVuYWx0eSB3aGVuIGFuIEkvTyB3cml0ZQoJCXJlcXVlc3Qgb2Yg c21hbGwgc2l6ZSBpcyBwZXJmb3JtZWQuIEVhY2ggdGltZSB0aGF0CgkJYSB3cml0ZSBvY2N1 cnMsIHRoZSBhcnJheSBtYW5hZ2VtZW50IHNvZnR3YXJlIG11c3QKCQl1cGRhdGUgbm90IG9u bHkgdGhlIHVzZXIgZGF0YSBidXQgYWxzbyB0aGUgY29ycmVzcG9uZGluZwoJCXBhcml0eSBi aXRzLgoKCQl3ZSBoYXZlIHRoZSBmb2xsb3dpbmcgcmVsYXRpb25zaGlwOgoJCVg0KGkpID0g WDMoaSkg4oqVIFgyKGkpIOKKlSBYMShpKSDiipUgWDAoaSkKCQlBZnRlciB0aGUgdXBkYXRl LCB3aXRoIHBvdGVudGlhbGx5IGFsdGVyZWQgYml0cyBpbmRpY2F0ZWQgCgkJYnkgYSBwcmlt ZSBzeW1ib2w6CgoJCVg0JyhpKSA9IFgzKGkpIOKKlSBYMihpKSDiipUgWDHCvyhpKSDiipUg WDAoaSkKCQkKCQk9IFgzKGkpIOKKlSBYMihpKSDiipUgWDEnKGkpIOKKlSBYMChpKSDiipUg WDEoaSkg4oqVIFgxKGkpfChBIHhvciBBID0gMCkKCQk9IFgzKGkpIOKKlSBYMihpKSDiipUg WDEoaSkg4oqVIFgwKGkpIOKKlSBYMShpKSDiipUgWDEnKGkpfHJlYXJyYW5nZQoJCT0gWDQo aSkg4oqVIFgxKGkpIOKKlSBYMScoaSkKCQkKCQlFdmVyeSB3cml0ZSBvcGVyYXRpb24gbXVz dCBpbnZvbHZlIHRoZSBwYXJpdHkgZGlzaywgd2hpY2ggdGhlcmUtCgkJZm9yZSBjYW4gYmVj b21lIGEgYm90dGxlbmVjay4KCgoKCTkuMTE2IFJhaWQgNSBjb25zaXN0cyBvZiBibG9jay1s ZXZlbCBzdHJpcGluZyB3aXRoIGRpc3RyaWJ1dGVkCglwYXJpdHkuICBVcG9uIGZhaWx1cmUg b2YgYSBzaW5nbGUgZHJpdmUsIHN1YnNlcXVlbnQgcmVhZHMgY2FuIGJlCgljYWxjdWxhdGVk IGZyb20gdGhlIGRpc3RyaWJ1dGVkIHBhcml0eSBzdWNoIHRoYXQgbm8gZGF0YSBpcyBsb3N0 LgoKCQk2MDEgUmFpZDUgaXMgbGlrZSBSYWlkIDQgZXhjZXB0IHRoYXQgcGFyaXR5IGJpdHMg YXJlIHNwcmVhZAoJCW9uIGFsbCBkaXNrcywgcmVkdWNpbmcgYSBib3R0bGVuZWNrLgoKCQk2 MSBCbG9jayBpbnRlcmxlYXZlZCBkaXN0cmlidXRlZCBwYXJpdHkuCgkJNjIgTisxIERpc2sg cmVxdWlyZWQKCQk2MyBEYXRhIEF2YWlsYWJpbGl0eSBhcyB3aXRoIDItNS4KCQk2NCBsYXJn ZSBJL08gaXMgc2ltaWxhciB0byB6ZXJvIGZvciByZWFkaW5nIGFuZCBsb3dlciB0aGFuCgkJ ICAgc2luZ2xlIGRpc2sgZm9yIHdyaXRpbmcKCQk2NSBTbWFsbCBJL08gaXMgZ2VuZXJhbGx5 IGxpa2UgYSBSYWlkIDAgZm9yIHJlYWQgYW5kIGxvd2VyCgkJICAgdGhhbiBhIHNpbmdsZSBk aXNrIGZvciB3cml0aW5nLgoKCTkuMTE3IFJhaWQgNiBjb25zaXN0cyBvZiBibG9jay1sZXZl bCBzdHJpcGluZyB3aXRoIGRvdWJsZSBkaXN0cmlidXRlZCAKCXBhcml0eS4gRG91YmxlIHBh cml0eSBwcm92aWRlcyBmYXVsdCB0b2xlcmFuY2UgdXAgdG8gdHdvIGZhaWxlZCBkcml2ZXMu CgkKCQk3MSBCbG9jayBpbnRlcmxlYXZlZCBkdWFsIGRpc3RyaWJ1dGVkIHBhcml0eQoJCTcy IE4rMiBEaXNrcyByZXF1aXJlZAoJCTczIEhpZ2hlc3QgbGV2ZWwgb2YgRGF0YSBBdmFpbGFi aWxpdHkKCQk3NCAgTGFyZ2UgdGhyb3VnaHB1dCBzaW1pbGFyIHRvIHJhaWQgMCBmb3IgcmVh ZGluZyBhbmQKCQlsb3dlciB0aGFuIHJhaWQgNSBmb3Igd3JpdGluZwoJCTc1IFNtYWxsIEkv TyByZWFkaW5nIGlzIHNpbWlsYXIgdG8gcmFkaSB6ZXJvIGFuZCB3cml0aW5nCgkJc2xpZ2h0 bHkgbG93ZXIgdGhhbiBSYWlkIDUuCgoJCSAgNzUxIFJhaWQgNiB1c2VzIDIgcGFyaXR5IGJp dCBhbGdvcml0aG1zLiAKCQkgIDc1MiBPbmUgb2YgdGhlIHR3byBpcyB0aGUgZXhjbHVzaXZl LU9SIGNhbGN1bGF0aW9uIHVzZWQgCgkJICBpbiBSQUlEIDQgYW5kIDUuIFRoZSBvdGhlciBp cyBhbiBpbmRlcGVuZGVudCBkYXRhIGNoZWNrCgkJICBhbGdvcml0aG0uIAoJCSAgCgkJICA3 NTMgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gcmVnZW5lcmF0ZSBkYXRhIGV2ZW4gaWYg dHdvIAoJCSAgZGlza3MgY29udGFpbmluZyB1c2VyIGRhdGEgZmFpbC4KCgkJICA3NTQgVGhl IGFkdmFudGFnZSBvZiBSQUlEIDYgaXMgdGhhdCBpdCBwcm92aWRlcyBleHRyZW1lbHkKCQkg IGhpZ2ggZGF0YSBhdmFpbGFiaWxpdHkuICBUaHJlZSBkaXNrcyB3b3VsZCBoYXZlIHRvIGZh aWwKCQkgIHdpdGhpbiB0aGUgTVRUUiAobWVhbiB0aW1lIHRvIHJlcGFpcikgaW50ZXJ2YWwg dG8gY2F1c2UKCQkgIGRhdGEgdG8gYmUgbG9zdC4gCgkJICAKCQkgIDc1NSBSQUlEIDYgaW5j dXJzIGEgc3Vic3RhbnRpYWwgd3JpdGUgcGVuYWx0eSwgYmVjYXVzZQoJCSAgZWFjaCB3cml0 ZSBhZmZlY3RzIHR3byBwYXJpdHkgYmxvY2tzLiBQZXJmb3JtYW5jZQoJCSAgYmVuY2htYXJr cyBbRUlTQzA3XSBzaG93IGEgUkFJRCA2IGNvbnRyb2xsZXIgY2FuIHN1ZmZlcgoJCSAgbW9y ZSB0aGFuIGEgMzAlIGRyb3AgaW4gb3ZlcmFsbCB3cml0ZSBwZXJmb3JtYW5jZQoJCSAgY29t cGFyZWQgd2l0aCBhIFJBSUQgNSBpbXBsZW1lbnRhdGlvbi4gUkFJRCA1IGFuZCBSQUlECgkJ ICA2IHJlYWQgcGVyZm9ybWFuY2UgaXMgY29tcGFyYWJsZS4KCgpodHRwOi8vd3d3Lm55bHhz LmNvbS9pbWFnZXMvcmFpZDEucG5nCmh0dHA6Ly93d3cubnlseHMuY29tL2ltYWdlcy9yYWlk Mi5wbmcKaHR0cDovL3d3dy5ueWx4cy5jb20vaW1hZ2VzL3JhaWQzLnBuZwpodHRwOi8vd3d3 Lm55bHhzLmNvbS9pbWFnZXMvcmFpZDQucG5nCgoxMC4wIE9wdGljYWwgTWVtb3J5OgogIDEw LjEgQ29tcGFjdCBEaXNrOiAgRGlzayBvZiByZXNpbiAocG9seWNhcmJvbmF0ZSkuICAKICAJ LjExIEEgc2VyaWVzIG9mIG1pY3Jvc2NvcGljIHBpdHMgYXJlIGltcHJpbnRlZCBvbiB0aGUg c3VyZmNhZSB3aXRoCglhIGZpbmVseSBmb2N1c2VkICwgaGlnaCBpbnRlbnNpdHkgbGF6ZXIg b24gYSBtYXN0ZXIgZGlzay4KCS4xMiBtYXN0ZXIgZGlza3MgYXJlIHN0YW1wZWQgdG8gbWFr ZSBhIGRpZSBmb3IgcHJvZHVjdGlvbi4KCS4xMyAgVGhlIHN1cmZhY2UgaXMgY29hdGVkIHdp dGggYWx1bWludW0gb3IgZ29sZC4gYW5kIHRoZW4gcHJvZWN0ZWQKCXdpdGggYW4gYWNyeWxp YyBjb2F0LgoKCS4xNCBSZWFkaW5nOiAgTG93IHBvd2VyZWQgbGF6ZXIgc2hpbmVzIHRocm91 Z2ggdGhlIGNsZWFyIHJlc2luCgl3aGlsZSB0aGUgZGlzayBzcGlucy4gIFRoZSBsaWdodCBp bnRlbnNpdHkgY2hhbmdlcyB3aXRoIHRoZSBwaXRzLgoJUGhvdG9yZWNlcHRvcnMgcmVhZCB0 aGUgcGluZ3MgYW5kIHBvcHMuCgkuMTUgQ0QgZGlza3MgYXJlIG9uZSBsb25nIHNwaXJhbCwg YW5kIG5vdCBzZWN0b3JzLgoJLjE2IENEcyByb3RhdGUgYXQgdmFyaWFibGUgc3BlZWRzIHRv IGNvbXBlbnNhdGUgZm9yIGFuZ3VsYXIgc3BlZWQKCWRpZmZlcmVudGlhbHMuIChDTFYpCgku MTcgIENEcyBhcmUgbm90IGdvb2QgZm9yIHJuZG9tIGFjY2VzcyBiZWNhdXNlIG9mIENMVgoK ICAxMC4yIENSLVIgLSByZWNvcmRhYmxlOgogIAkuMjEgQ29udGFpbnMgYSBkeWUgbGF5ZXIg dG8gY2hhbmdlIHJlZmxlY3Rpdml0eS4KICAxMC4zICBDRC1SVzogIFBoYXNlIENoYW5nZTog IE1hdGVyaWFsIGhhcyB0d28gcGhhc2VzIHdpdGggdHdvIGRpZmZlcmVudAogIG9wdGljYWwg cXVhbGl0aWVzLgogIAkuMzEgTGF6YXIgbGlnaHQgY2FuIGNoYW5nZSB0aGUgc3RhdGUgb2Yg dGhlIG1hdGVyaWFsCgogICAxMC40ICBEaWdpdGFsIFZlcnNhdGlsZSBEaXNrIC0gN3ggbGFy Z2VyIGFuZCBhIENEUk9NCiAgIAk0MSBEdWFsIExheWVyCgk0MiBUd28gU2lkZWQKCTQzIDE3 R2lnIGNhcGFjaXR5CgogICAgMTAuNSBNYWduZXRpYyBUYXBlCgoKCgoKCg== --------------080603090100050903020603 Content-Type: text/html; charset=UTF-8; name="memory_notes.txt.html" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="memory_notes.txt.html"
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0 cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1l dGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz ZXQ9VVRGLTgiPgo8dGl0bGU+fi93ZWJzZXJ2ZXIvbnlseHMvZG9jcy9ncmFkX3NjaG9vbC9h cmNoL21lbW9yeV9ub3Rlcy50eHQuaHRtbDwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iVmltLzcuNCI+CjxtZXRhIG5hbWU9InBsdWdpbi12ZXJzaW9uIiBjb250 ZW50PSJ2aW03LjRfdjEiPgo8bWV0YSBuYW1lPSJzeW50YXgiIGNvbnRlbnQ9Im5vbmUiPgo8 bWV0YSBuYW1lPSJzZXR0aW5ncyIgY29udGVudD0ibnVtYmVyX2xpbmVzLHVzZV9jc3MscHJl X3dyYXAsbm9fZm9sZGNvbHVtbixleHBhbmRfdGFicyxsaW5lX2lkcyxwcmV2ZW50X2NvcHk9 Ij4KPG1ldGEgbmFtZT0iY29sb3JzY2hlbWUiIGNvbnRlbnQ9InBlYWNocHVmZiI+CjxzdHls ZSB0eXBlPSJ0ZXh0L2NzcyI+CjwhLS0KcHJlIHsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyBm b250LWZhbWlseTogbW9ub3NwYWNlOyBjb2xvcjogIzAwMDAwMDsgYmFja2dyb3VuZC1jb2xv cjogI2ZmZGFiOTsgfQpib2R5IHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6ICMw MDAwMDA7IGJhY2tncm91bmQtY29sb3I6ICNmZmRhYjk7IH0KKiB7IGZvbnQtc2l6ZTogMWVt OyB9Ci5MaW5lTnIgeyBjb2xvcjogI2NkMDAwMDsgfQotLT4KPC9zdHlsZT4KCjxzY3JpcHQg dHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KPCEtLQoKLyogZnVuY3Rpb24gdG8gb3BlbiBhbnkg Zm9sZHMgY29udGFpbmluZyBhIGp1bXBlZC10byBsaW5lIGJlZm9yZSBqdW1waW5nIHRvIGl0 ICovCmZ1bmN0aW9uIEp1bXBUb0xpbmUoKQp7CiAgdmFyIGxpbmVOdW07CiAgbGluZU51bSA9 IHdpbmRvdy5sb2NhdGlvbi5oYXNoOwogIGxpbmVOdW0gPSBsaW5lTnVtLnN1YnN0cigxKTsg Lyogc3RyaXAgb2ZmICcjJyAqLwoKICBpZiAobGluZU51bS5pbmRleE9mKCdMJykgPT0gLTEp IHsKICAgIGxpbmVOdW0gPSAnTCcrbGluZU51bTsKICB9CiAgbGluZUVsZW0gPSBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZChsaW5lTnVtKTsKICAvKiBBbHdheXMganVtcCB0byBuZXcgbG9j YXRpb24gZXZlbiBpZiB0aGUgbGluZSB3YXMgaGlkZGVuIGluc2lkZSBhIGZvbGQsIG9yCiAg ICogd2UgY29ycmVjdGVkIHRoZSByYXcgbnVtYmVyIHRvIGEgbGluZSBJRC4KICAgKi8KICBp ZiAobGluZUVsZW0pIHsKICAgIGxpbmVFbGVtLnNjcm9sbEludG9WaWV3KHRydWUpOwogIH0K ICByZXR1cm4gdHJ1ZTsKfQppZiAoJ29uaGFzaGNoYW5nZScgaW4gd2luZG93KSB7CiAgd2lu ZG93Lm9uaGFzaGNoYW5nZSA9IEp1bXBUb0xpbmU7Cn0KCi0tPgo8L3NjcmlwdD4KPC9oZWFk Pgo8Ym9keSBvbmxvYWQ9J0p1bXBUb0xpbmUoKTsnPgo8cHJlIGlkPSd2aW1Db2RlRWxlbWVu dCc+CjxzcGFuIGlkPSJMMSIgY2xhc3M9IkxpbmVOciI+ICAgMSA8L3NwYW4+CjxzcGFuIGlk PSJMMiIgY2xhc3M9IkxpbmVOciI+ICAgMiA8L3NwYW4+Ni4wICBDb21wdXRlciBNZW1vcnkK PHNwYW4gaWQ9IkwzIiBjbGFzcz0iTGluZU5yIj4gICAzIDwvc3Bhbj4KPHNwYW4gaWQ9Ikw0 IiBjbGFzcz0iTGluZU5yIj4gICA0IDwvc3Bhbj4gICAgICAgIDYuMDEgTG9jYXRpb246Cjxz cGFuIGlkPSJMNSIgY2xhc3M9IkxpbmVOciI+ICAgNSA8L3NwYW4+ICAgICAgICAgICAgICAg IDYuMDExIGludGVybmFsCjxzcGFuIGlkPSJMNiIgY2xhc3M9IkxpbmVOciI+ICAgNiA8L3Nw YW4+ICAgICAgICAgICAgICAgICAgICAgICAgNi4wMTExIE1haW4gTWVtb3J5CjxzcGFuIGlk PSJMNyIgY2xhc3M9IkxpbmVOciI+ICAgNyA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAg ICAgNi4wMTEyIFJlZ2lzdGVyczogUHJvY2Vzc29yIExvY2FsIE1lbW9yeQo8c3BhbiBpZD0i TDgiIGNsYXNzPSJMaW5lTnIiPiAgIDggPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAg IDYuMDExMyAgQ29udHJvbCBVbml0IE1lbW9yeQo8c3BhbiBpZD0iTDkiIGNsYXNzPSJMaW5l TnIiPiAgIDkgPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIDYuMDExNCAgQ2FjaGUK PHNwYW4gaWQ9IkwxMCIgY2xhc3M9IkxpbmVOciI+ICAxMCA8L3NwYW4+CjxzcGFuIGlkPSJM MTEiIGNsYXNzPSJMaW5lTnIiPiAgMTEgPC9zcGFuPiAgICAgICAgICAgICAgICA2LjAxMiBl eHRlcm5hbAo8c3BhbiBpZD0iTDEyIiBjbGFzcz0iTGluZU5yIj4gIDEyIDwvc3Bhbj4gICAg ICAgICAgICAgICAgICAgICAgICA2LjAxMjEgUGVyaXBoZXJhbCBTdG9yYWdlIERldmljZXMK PHNwYW4gaWQ9IkwxMyIgY2xhc3M9IkxpbmVOciI+ICAxMyA8L3NwYW4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA2LjAxMjEyICBUYXBlcyBhbmQgRGlza3MKPHNwYW4gaWQ9 IkwxNCIgY2xhc3M9IkxpbmVOciI+ICAxNCA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAg ICAgNi4wMTIyICBBdmFpbGJsZSB0aHJvdWdoIEkvTyBjb250cm9sbGVycwo8c3BhbiBpZD0i TDE1IiBjbGFzcz0iTGluZU5yIj4gIDE1IDwvc3Bhbj4KPHNwYW4gaWQ9IkwxNiIgY2xhc3M9 IkxpbmVOciI+ICAxNiA8L3NwYW4+ICAgICAgICA2LjAyICBDYXBhY2l0eToKPHNwYW4gaWQ9 IkwxNyIgY2xhc3M9IkxpbmVOciI+ICAxNyA8L3NwYW4+ICAgICAgICAgICAgICAgIDYuMDIx IEJpdHMKPHNwYW4gaWQ9IkwxOCIgY2xhc3M9IkxpbmVOciI+ICAxOCA8L3NwYW4+ICAgICAg ICAgICAgICAgIDYuMDIyIEJ5dGVzCjxzcGFuIGlkPSJMMTkiIGNsYXNzPSJMaW5lTnIiPiAg MTkgPC9zcGFuPiAgICAgICAgICAgICAgICA2LjAyMyBXb3JkcyAoOCwxNiwzMiBhbmQgNjQg Yml0cykKPHNwYW4gaWQ9IkwyMCIgY2xhc3M9IkxpbmVOciI+ICAyMCA8L3NwYW4+CjxzcGFu IGlkPSJMMjEiIGNsYXNzPSJMaW5lTnIiPiAgMjEgPC9zcGFuPiAgICAgICAgNi4wMyBVbml0 cyBvZiBUcmFuZmVyOgo8c3BhbiBpZD0iTDIyIiBjbGFzcz0iTGluZU5yIj4gIDIyIDwvc3Bh bj4gICAgICAgICAgICAgICAgNi4wMzEgRXF1YWwgdG8gdGhlIG51bWJlciBvZiBsaW5lcyBp biBhbmQgb3V0IG9mIHRoZSBtZW1vcnkgZGV2aWNlCjxzcGFuIGlkPSJMMjMiIGNsYXNzPSJM aW5lTnIiPiAgMjMgPC9zcGFuPiAgICAgICAgICAgICAgICA2LjAzMiBNYXkgYmUgZXF1YWwg dG8gYSB3b3JkIG9yIGxhcmdlciAoNjQsIDEyOCwgMjU2KQo8c3BhbiBpZD0iTDI0IiBjbGFz cz0iTGluZU5yIj4gIDI0IDwvc3Bhbj4gICAgICAgICAgICAgICAgNi4wMzMgTWFpbiBNZW1v cnk6ICBUaGUgTnVtYmVyIG9mIGJpdHMgcmVhZC93cml0ZSBpbnRvCjxzcGFuIGlkPSJMMjUi IGNsYXNzPSJMaW5lTnIiPiAgMjUgPC9zcGFuPiAgICAgICAgICAgICAgICBtZW1vcnkgYXQg YSBzaW5nbGUgdGltZS4KPHNwYW4gaWQ9IkwyNiIgY2xhc3M9IkxpbmVOciI+ICAyNiA8L3Nw YW4+ICAgICAgICAgICAgICAgIDYuMDM0IEV4dGVybmFsOiAgT2Z0ZW4gdHJhbnNmZXJlZCBp biB1bml0cyBsYXJnZXIgdGhhbiBhCjxzcGFuIGlkPSJMMjciIGNsYXNzPSJMaW5lTnIiPiAg MjcgPC9zcGFuPiAgICAgICAgICAgICAgICB3b3JkLCBzdWNoIGFzIGEgYmxvY2suCjxzcGFu IGlkPSJMMjgiIGNsYXNzPSJMaW5lTnIiPiAgMjggPC9zcGFuPgo8c3BhbiBpZD0iTDI5IiBj bGFzcz0iTGluZU5yIj4gIDI5IDwvc3Bhbj4gICAgICAgIDYuMDQgIEFkZHJlc3NhYmxlIFVu aXRzOiAgVXN1YWxseSBhIFdvcmQgc2l6ZSBidXQgc29tZSB1bml0cwo8c3BhbiBpZD0iTDMw IiBjbGFzcz0iTGluZU5yIj4gIDMwIDwvc3Bhbj4gICAgICAgIGFsbG93IGZvciBCeXRlIFNp emUgYWRkcmVzc2luZwo8c3BhbiBpZD0iTDMxIiBjbGFzcz0iTGluZU5yIj4gIDMxIDwvc3Bh bj4KPHNwYW4gaWQ9IkwzMiIgY2xhc3M9IkxpbmVOciI+ICAzMiA8L3NwYW4+ICAgICAgICAg ICAgICAgIDYuMDQxICBUaGUgcmVsYXRpb25zaGlwIGJldHdlZW4gbGVuZ3RoIGluIGJpdHMg QSBvZiBhbgo8c3BhbiBpZD0iTDMzIiBjbGFzcz0iTGluZU5yIj4gIDMzIDwvc3Bhbj4gICAg ICAgICAgICAgICAgYWRkcmVzcyBhbmQgdGhlIG51bWJlciBvZiBhZGRyZXNzYWJsZSB1bml0 czoKPHNwYW4gaWQ9IkwzNCIgY2xhc3M9IkxpbmVOciI+ICAzNCA8L3NwYW4+ICAgICAgICAg ICAgICAgICAgICAgICAgMkEgPSBOICAmbHQ7PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09V2hhdD8KPHNwYW4gaWQ9IkwzNSIgY2xhc3M9IkxpbmVOciI+ICAzNSA8L3NwYW4+Cjxz cGFuIGlkPSJMMzYiIGNsYXNzPSJMaW5lTnIiPiAgMzYgPC9zcGFuPiAgICAgICAgNi4xICBN ZW1vcnkgQWNjZXNzOgo8c3BhbiBpZD0iTDM3IiBjbGFzcz0iTGluZU5yIj4gIDM3IDwvc3Bh bj4gICAgICAgICAgICAgICAgNi4xMSBNZXRob2RzOgo8c3BhbiBpZD0iTDM4IiBjbGFzcz0i TGluZU5yIj4gIDM4IDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICBTZXF1ZW50aWFs CjxzcGFuIGlkPSJMMzkiIGNsYXNzPSJMaW5lTnIiPiAgMzkgPC9zcGFuPiAgICAgICAgICAg ICAgICAgICAgICAgIERpcmVjdAo8c3BhbiBpZD0iTDQwIiBjbGFzcz0iTGluZU5yIj4gIDQw IDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICBSYW5kb20KPHNwYW4gaWQ9Ikw0MSIg Y2xhc3M9IkxpbmVOciI+ICA0MSA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgQXNz b2NpYXRpdmUKPHNwYW4gaWQ9Ikw0MiIgY2xhc3M9IkxpbmVOciI+ICA0MiA8L3NwYW4+ICAg ICAgICAgICAgICAgIDYuMTIgIFNlcXVlbmN0aW9uIEFjY2VzczoKPHNwYW4gaWQ9Ikw0MyIg Y2xhc3M9IkxpbmVOciI+ICA0MyA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgLjEy MSBNZW1vcnkgb3JnYW56ZWQgaW50byBSZWNvcmQgVW5pdHMKPHNwYW4gaWQ9Ikw0NCIgY2xh c3M9IkxpbmVOciI+ICA0NCA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgLjEyMiBB Y2Nlc3MgaXMgbGluZWFyCjxzcGFuIGlkPSJMNDUiIGNsYXNzPSJMaW5lTnIiPiAgNDUgPC9z cGFuPiAgICAgICAgICAgICAgICAgICAgICAgIC4xMjMgQWRkcmVzc2luZyBJbmZvcm1hdGlv biBpcyBzdG9yZWQgdG8gbWFrZQo8c3BhbiBpZD0iTDQ2IiBjbGFzcz0iTGluZU5yIj4gIDQ2 IDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICBSZWNvcmQgQWNjZXNzaW5nIGVhc2ll cgo8c3BhbiBpZD0iTDQ3IiBjbGFzcz0iTGluZU5yIj4gIDQ3IDwvc3Bhbj4gICAgICAgICAg ICAgICAgICAgICAgICAuMTI0IFNoYXJlZCBSZWFkL1dyaXRlIE1lY2hhbmlzbSBpcyB1c2Vk CjxzcGFuIGlkPSJMNDgiIGNsYXNzPSJMaW5lTnIiPiAgNDggPC9zcGFuPiAgICAgICAgICAg ICAgICAgICAgICAgIC4xMjUgQWNjZXNzIHJlcXVpcmVzIG1vdmluZyB0aHJvdWdoIHJlY29y ZHMgdG8KPHNwYW4gaWQ9Ikw0OSIgY2xhc3M9IkxpbmVOciI+ICA0OSA8L3NwYW4+ICAgICAg ICAgICAgICAgICAgICAgICAgZmluZCB3aGF0IHlvdSB3YW50IHRvIHVzZSBmb3IgUi9XCjxz cGFuIGlkPSJMNTAiIGNsYXNzPSJMaW5lTnIiPiAgNTAgPC9zcGFuPiAgICAgICAgICAgICAg ICAgICAgICAgIC4xMjYgRXhhbXBsZTogQmFja3VwIFRhcGVzCjxzcGFuIGlkPSJMNTEiIGNs YXNzPSJMaW5lTnIiPiAgNTEgPC9zcGFuPiAgICAgICAgICAgICAgICA2LjEzICBEaXJlY3Qg QWNjZXNzOgo8c3BhbiBpZD0iTDUyIiBjbGFzcz0iTGluZU5yIj4gIDUyIDwvc3Bhbj4gICAg ICAgICAgICAgICAgICAgICAgICAuMTMxICBTaGFyZWQgQWNjZXNzIChSL1cpIG1lY2hhbmlz bSAoc2ltaWxhciB0bwo8c3BhbiBpZD0iTDUzIiBjbGFzcz0iTGluZU5yIj4gIDUzIDwvc3Bh bj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdW50aWFsKQo8 c3BhbiBpZD0iTDU0IiBjbGFzcz0iTGluZU5yIj4gIDU0IDwvc3Bhbj4gICAgICAgICAgICAg ICAgICAgICAgICAuMTMyICBCbG9jayBvciBSZWNvcmRzIGhhdmUgdW5pcXVlIEFkZHJlc3Nl cwo8c3BhbiBpZD0iTDU1IiBjbGFzcz0iTGluZU5yIj4gIDU1IDwvc3Bhbj4gICAgICAgICAg ICAgICAgICAgICAgICBiYXNlZCBvbiBwaHlzaWNhbCBsb2NhdGlvbgo8c3BhbiBpZD0iTDU2 IiBjbGFzcz0iTGluZU5yIj4gIDU2IDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAu MTMzICBEaXJlY3QgQWNjZXMgdG8gdGhlIGFyZWEgb2YgdGhlIHN0b3JhZ2UgYW5kCjxzcGFu IGlkPSJMNTciIGNsYXNzPSJMaW5lTnIiPiAgNTcgPC9zcGFuPiAgICAgICAgICAgICAgICAg ICAgICAgIHRoZW4gc2VxdWVudGlhbCBjb3VudGluZyB0byBmaW5kIHRoZSBleGFjdCBkYXRh CjxzcGFuIGlkPSJMNTgiIGNsYXNzPSJMaW5lTnIiPiAgNTggPC9zcGFuPiAgICAgICAgICAg ICAgICAgICAgICAgIGxvY2F0aW9uCjxzcGFuIGlkPSJMNTkiIGNsYXNzPSJMaW5lTnIiPiAg NTkgPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIC4xMzQgVmFyaWFibGUgQWNjZXNz IFRpbWUKPHNwYW4gaWQ9Ikw2MCIgY2xhc3M9IkxpbmVOciI+ICA2MCA8L3NwYW4+ICAgICAg ICAgICAgICAgICAgICAgICAgLjEzNSBFeGFtcGxlOiAgRGlzayBVbml0cwo8c3BhbiBpZD0i TDYxIiBjbGFzcz0iTGluZU5yIj4gIDYxIDwvc3Bhbj4gICAgICAgICAgICAgICAgNi4xNCAg UmFuZG9tIEFjY2VzczoKPHNwYW4gaWQ9Ikw2MiIgY2xhc3M9IkxpbmVOciI+ICA2MiA8L3Nw YW4+ICAgICAgICAgICAgICAgICAgICAgICAgLjE0MSBFYWNoIE1lbW9yeSBVbml0IGhhcyBh IHNwZWNpZmljLCB1bmlxdWUsIHdpcmVkIGFkZHJlc3MKPHNwYW4gaWQ9Ikw2MyIgY2xhc3M9 IkxpbmVOciI+ICA2MyA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgLjE0MiBUaW1l IHRvIGFjY2VzcyBlYWNoIGxvY2F0aW9uIGlzIGluZGVwZW5kZW50CjxzcGFuIGlkPSJMNjQi IGNsYXNzPSJMaW5lTnIiPiAgNjQgPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIG9m IHByZXZpb3VzIG1lbW9yeSBhY2Nlc3MgYW5kIGFjY2VzcyBpcyBmYWlybHkKPHNwYW4gaWQ9 Ikw2NSIgY2xhc3M9IkxpbmVOciI+ICA2NSA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3RhbnQKPHNwYW4gaWQ9Ikw2NiIgY2xhc3M9IkxpbmVOciI+ICA2NiA8L3NwYW4+ ICAgICAgICAgICAgICAgICAgICAgICAgLjE0MyBFeGFtcGxlOiAgTWFpbiBNZW1vcnkgYW5k IGNlcnRhaW4gY2FjaGUuCjxzcGFuIGlkPSJMNjciIGNsYXNzPSJMaW5lTnIiPiAgNjcgPC9z cGFuPiAgICAgICAgICAgICAgICA2LjE1ICBBc3NvY2lhdGl2ZSBBY2Nlc3M6CjxzcGFuIGlk PSJMNjgiIGNsYXNzPSJMaW5lTnIiPiAgNjggPC9zcGFuPiAgICAgICAgICAgICAgICAgICAg ICAgIC4xNTEgIEEgdHlwZSBvZiByYW5kb20gYWNjZXNzCjxzcGFuIGlkPSJMNjkiIGNsYXNz PSJMaW5lTnIiPiAgNjkgPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIC4xNTIgIGVu YWJsZXMgb25lIHRvIG1ha2UgYSBjb21wYXJpc29uIG9mIGRlc2lyZWQgYml0CjxzcGFuIGlk PSJMNzAiIGNsYXNzPSJMaW5lTnIiPiAgNzAgPC9zcGFuPiAgICAgICAgICAgICAgICAgICAg ICAgIGxvY2F0aW9ucyB3aXRoaW4gYSB3b3JkIGZvciBhIHNwZWNpZmllZCBtYXRjaAo8c3Bh biBpZD0iTDcxIiBjbGFzcz0iTGluZU5yIj4gIDcxIDwvc3Bhbj4gICAgICAgICAgICAgICAg ICAgICAgICAuMTUzIERvZXMgdGhpcyBmb3IgYWxsIFdvcmRzIHNpbXVsYXRlbm91c2x5Cjxz cGFuIGlkPSJMNzIiIGNsYXNzPSJMaW5lTnIiPiAgNzIgPC9zcGFuPiAgICAgICAgICAgICAg ICAgICAgICAgIC4xNTQgQSB3b3JkIGlzIHJldHJpZXZlZCBiYXNlZCBvbiBpdHMgY29udGVu dCwKPHNwYW4gaWQ9Ikw3MyIgY2xhc3M9IkxpbmVOciI+ICA3MyA8L3NwYW4+ICAgICAgICAg ICAgICAgICAgICAgICAgcmF0aGVyIHRoYW4gaXRzIGFkZHJlc3MuCjxzcGFuIGlkPSJMNzQi IGNsYXNzPSJMaW5lTnIiPiAgNzQgPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIC4x NTUgUmV0cmlldmFsIFRpbWUgY29udGFzdGFudCAtIEVhY2ggbG9jYXRpb24KPHNwYW4gaWQ9 Ikw3NSIgY2xhc3M9IkxpbmVOciI+ICA3NSA8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAg ICAgaGFzIGl0cyBvd24gYWRkcmVzc2luZyBsb2NhdGlvbgo8c3BhbiBpZD0iTDc2IiBjbGFz cz0iTGluZU5yIj4gIDc2IDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAuMTU2IEV4 YW1wbGVzOiAgU29tZSBDYWNoZSBtZW1vcmllcwo8c3BhbiBpZD0iTDc3IiBjbGFzcz0iTGlu ZU5yIj4gIDc3IDwvc3Bhbj4KPHNwYW4gaWQ9Ikw3OCIgY2xhc3M9IkxpbmVOciI+ICA3OCA8 L3NwYW4+ICAgICAgICA2LjIgTWVtb3J5IENoYXJhY3RvcmlzdGljczoKPHNwYW4gaWQ9Ikw3 OSIgY2xhc3M9IkxpbmVOciI+ICA3OSA8L3NwYW4+ICAgICAgICAgICAgICAgIDYuMjEgQ2Fw YWNpdHkKPHNwYW4gaWQ9Ikw4MCIgY2xhc3M9IkxpbmVOciI+ICA4MCA8L3NwYW4+ICAgICAg ICAgICAgICAgIDYuMjIgIFBlcmZvcm1hbmNlCjxzcGFuIGlkPSJMODEiIGNsYXNzPSJMaW5l TnIiPiAgODEgPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIC4yMjEgIEFjY2VzcyBU aW1lOiAgVGhlIFRpbWUgaXQgdGFrZXMgdG8gcGVyZm9ybQo8c3BhbiBpZD0iTDgyIiBjbGFz cz0iTGluZU5yIj4gIDgyIDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICBhbiBpbmRp dmlkdWFsIFIvVwo8c3BhbiBpZD0iTDgzIiBjbGFzcz0iTGluZU5yIj4gIDgzIDwvc3Bhbj4g ICAgICAgICAgICAgICAgICAgICAgICAuMjIyICBNZW1vcnkgQ3ljbGUgVGltZTogIFN5c3Rl bSBCdXMgZGVwZW5kZW50CjxzcGFuIGlkPSJMODQiIGNsYXNzPSJMaW5lTnIiPiAgODQgPC9z cGFuPiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgd2hlcmUgdGhlIGEgUi9XIGNhbiBz dGFydCBhZnRlciBvbmUKPHNwYW4gaWQ9Ikw4NSIgY2xhc3M9IkxpbmVOciI+ICA4NSA8L3Nw YW4+ICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVzLgo8c3BhbiBpZD0iTDg2IiBj bGFzcz0iTGluZU5yIj4gIDg2IDwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC4yMjIxIE1vc3QgYSBSYW5kb20gQWNjZXNzIE1lbW9yeSBJc3N1ZQo8c3BhbiBpZD0i TDg3IiBjbGFzcz0iTGluZU5yIj4gIDg3I |
|