ZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy8ucHJvamVjdCBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy8ucHJvamVjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmVkZGIzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzLy5wcm9qZWN0CkBAIC0wLDAgKzEsMzkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8cHJvamVjdERlc2NyaXB0aW9uPgorCTxuYW1lPldUUCBBcmNoQW5kRGVzaWduPC9uYW1lPgorCTxjb21tZW50PjwvY29tbWVudD4KKwk8cHJvamVjdHM+CisJPC9wcm9qZWN0cz4KKwk8YnVpbGRTcGVjPgorCQk8YnVpbGRDb21tYW5kPgorCQkJPG5hbWU+Y29tLmlibS5ldG9vbHMud2VidG9vbHMuYWRkaXRpb25zLmxpbmtzYnVpbGRlcjwvbmFtZT4KKwkJCTxhcmd1bWVudHM+CisJCQk8L2FyZ3VtZW50cz4KKwkJPC9idWlsZENvbW1hbmQ+CisJCTxidWlsZENvbW1hbmQ+CisJCQk8bmFtZT5jb20uaWJtLmV0b29scy53ZWJwYWdlLnRlbXBsYXRlLnRlbXBsYXRlYnVpbGRlcjwvbmFtZT4KKwkJCTxhcmd1bWVudHM+CisJCQk8L2FyZ3VtZW50cz4KKwkJPC9idWlsZENvbW1hbmQ+CisJCTxidWlsZENvbW1hbmQ+CisJCQk8bmFtZT5jb20uaWJtLmV0b29scy5zaXRlZWRpdC5TaXRlTmF2QnVpbGRlcjwvbmFtZT4KKwkJCTxhcmd1bWVudHM+CisJCQk8L2FyZ3VtZW50cz4KKwkJPC9idWlsZENvbW1hbmQ+CisJCTxidWlsZENvbW1hbmQ+CisJCQk8bmFtZT5jb20uaWJtLmV0b29scy5zaXRlZWRpdC5TaXRlVXBkYXRlQnVpbGRlcjwvbmFtZT4KKwkJCTxhcmd1bWVudHM+CisJCQk8L2FyZ3VtZW50cz4KKwkJPC9idWlsZENvbW1hbmQ+CisJCTxidWlsZENvbW1hbmQ+CisJCQk8bmFtZT5jb20uaWJtLmV0b29scy52YWxpZGF0aW9uLnZhbGlkYXRpb25idWlsZGVyPC9uYW1lPgorCQkJPGFyZ3VtZW50cz4KKwkJCTwvYXJndW1lbnRzPgorCQk8L2J1aWxkQ29tbWFuZD4KKwk8L2J1aWxkU3BlYz4KKwk8bmF0dXJlcz4KKwkJPG5hdHVyZT5jb20uaWJtLmV0b29scy5qMmVlLlN0YXRpY1dlYk5hdHVyZTwvbmF0dXJlPgorCQk8bmF0dXJlPmNvbS5pYm0uZXRvb2xzLndlYnBhZ2UudGVtcGxhdGUudGVtcGxhdGVuYXR1cmU8L25hdHVyZT4KKwkJPG5hdHVyZT5jb20uaWJtLmV0b29scy5zaXRlZWRpdC5XZWJTaXRlTmF0dXJlPC9uYXR1cmU+CisJPC9uYXR1cmVzPgorPC9wcm9qZWN0RGVzY3JpcHRpb24+CmRpZmYgLS1naXQgYS9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvLnNlcnZlclByZWZlcmVuY2UgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvLnNlcnZlclByZWZlcmVuY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYxYWJlNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy8uc2VydmVyUHJlZmVyZW5jZQpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8c2VydmVyLXByZWZlcmVuY2U+CisgICA8ZGVwbG95YWJsZSBmYWN0b3J5SWQ9ImNvbS5pYm0uZXRvb2xzLndlYnRvb2xzLnNlcnZlci5zdGF0aWMiCisgICAgICBtZW1lbnRvPSJXVFAiIHNlcnZlcj0iL1NlcnZlcnMvZGVmYXVsdFNlcnZlci5zdyIvPgorPC9zZXJ2ZXItcHJlZmVyZW5jZT4KZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy8ud2Vic2V0dGluZ3MgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvLndlYnNldHRpbmdzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4Y2U4NTIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvLndlYnNldHRpbmdzCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8d2Vic2V0dGluZ3MgdmVyc2lvbj0iNTAwIj4KKyAgICA8cHJvamVjdC10eXBlPlNUQVRJQzwvcHJvamVjdC10eXBlPgorICAgIDx3ZWJjb250ZW50PldlYkNvbnRlbnQ8L3dlYmNvbnRlbnQ+CisgICAgPGZlYXR1cmVzPgorICAgICAgICA8ZmVhdHVyZT4KKyAgICAgICAgICAgIDxmZWF0dXJlLWlkPnRlbXBsYXRlZmVhdHVyZTwvZmVhdHVyZS1pZD4KKyAgICAgICAgPC9mZWF0dXJlPgorICAgICAgICA8ZmVhdHVyZT4KKyAgICAgICAgICAgIDxmZWF0dXJlLWlkPldlYlByb2plY3RDU1NGaWxlRmVhdHVyZTwvZmVhdHVyZS1pZD4KKyAgICAgICAgPC9mZWF0dXJlPgorICAgICAgICA8ZmVhdHVyZT4KKyAgICAgICAgICAgIDxmZWF0dXJlLWlkPmNvbS5pYm0uZXRvb2xzLnNpdGVlZGl0LndpemFyZHMucHJvamVjdGZlYXR1cmUuV2ViU2l0ZUZlYXR1cmU8L2ZlYXR1cmUtaWQ+CisgICAgICAgIDwvZmVhdHVyZT4KKyAgICA8L2ZlYXR1cmVzPgorICAgIDxjb250ZXh0LXJvb3Q+V1RQPC9jb250ZXh0LXJvb3Q+Cis8L3dlYnNldHRpbmdzPgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzLy53ZWJzaXRlLWNvbmZpZyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy8ud2Vic2l0ZS1jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNkNWMwNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy8ud2Vic2l0ZS1jb25maWcKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHdlYnNpdGUgdmVyc2lvbj0iNTEwIj4KKyAgICA8c3RydWN0dXJlLz4KKzwvd2Vic2l0ZT4KZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy9XZWJDb250ZW50L2FyY2hfYW5kX2Rlc2lnbi9BcmNoaXRlY3R1cmVPdmVydmlldy5odG1sIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL0FyY2hpdGVjdHVyZU92ZXJ2aWV3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGJhNTU1MAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy9XZWJDb250ZW50L2FyY2hfYW5kX2Rlc2lnbi9BcmNoaXRlY3R1cmVPdmVydmlldy5odG1sCkBAIC0wLDAgKzEsMjY2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxMS9EVEQveGh0bWwxMS5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIiAvPgorPG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJJQk0gU29mdHdhcmUgRGV2ZWxvcG1lbnQgUGxhdGZvcm0iIC8+Cis8dGl0bGU+RWNsaXBzZSBXZWJ0b29scyBBcmNoaXRlY3R1cmUgT3ZlcnZpZXc8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGFsaWduPSJjZW50ZXIiPgorPHRhYmxlIGJvcmRlcj0iMSIgY2VsbHBhZGRpbmc9IjEwIiBoZWlnaHQ9IjUwJSIgd2lkdGg9IjcwJSI+CisJPHRib2R5PgorCQk8dHIgYWxpZ249ImxlZnQiIHZhbGlnbj0ibWlkZGxlIj4KKwkJCTx0ZCB2YWxpZ249Im1pZGRsZSIgYWxpZ249ImxlZnQiPgorCQkJPGJsb2NrcXVvdGUgc3R5bGU9IiI+CisJCQk8cD48Y2l0ZT5UaGUgYmFja2dyb3VuZCBhbmQgc3RhdHVzIG9mIHRoaXMgZG9jdW1lbnQ6PC9jaXRlPjwvcD4KKwkJCTxwPjxjaXRlPlRoaXMgdmVyc2lvbiBpcyBhIHNlY29uZCBkcmFmdCBvZiBXVFAgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3CisJCQlhbmQgaGFzIGluY29ycG9yYXRlZCBjb21tZW50cyByZWNlaXZlZC4gQ29tbWVudHMgdG8gd3RwLWRldiBsaXN0IGFyZSB3ZWxjb21lLiA8L2NpdGU+PC9wPgorCQkJPHA+PGNpdGU+IFZlcnNpb24gMC4zIERlY2VtYmVyIDIsIDIwMDQuIDwvY2l0ZT48L3A+CisJCQk8L2Jsb2NrcXVvdGU+CisJCQk8L3RkPgorCQk8L3RyPgorCTwvdGJvZHk+Cis8L3RhYmxlPgorPC9kaXY+Cis8aDE+RWNsaXBzZSBXZWJ0b29scyBBcmNoaXRlY3R1cmUgT3ZlcnZpZXc8L2gxPgorPHA+VGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvd2VidG9vbHMvbWFpbi5odG1sIj5XZWIgVG9vbGluZworUGxhdGZvcm0gKFdUUCkgUHJvamVjdDwvYT4gaXMgbWFkZSB1cCBvZiB0d28gc3VicHJvamVjdHMsIDxhCisJaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy93ZWJ0b29scy93c3QvbWFpbi54bWwiPldlYiBTdGFuZGFyZCBUb29scworKFdTVCk8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3dlYnRvb2xzL2pzdC9tYWluLnhtbCI+SjJFRQorU3RhbmRhcmQgVG9vbHMgKEpTVCk8L2E+LjwvcD4KKzxwPlRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3dlYnRvb2xzL3dzdC9jb21wb25lbnRzLnhtbCI+bGlzdAorb2YgY29tcG9uZW50cyBmb3IgV1NUPC9hPiBhbmQgdGhlPGEKKwlocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3dlYnRvb2xzL2pzdC9jb21wb25lbnRzLnhtbCI+IGxpc3Qgb2YKK2NvbXBvbmVudHMgZm9yIEpTVDwvYT4gZ2l2ZSBkZXNjcmlwdGlvbnMgb2YgdGhlIGNvbXBvbmVudHMgYW5kCitbZXZlbnR1YWxseSB3aWxsIGNvbnRhaW5dIGxpbmtzIHRvIHRoYXQgY29tcG9uZW50J3Mgc3BlY2lmaWMgZGVzaWduCitkb2N1bWVudHMuCis8cD5UaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0aGUgPGI+c3Vic3lzdGVtczwvYj4gdGhhdCB0aGVzZSBjb21wb25lbnRzCitmb3JtLiBUaGVzZSBkaXZpc2lvbnMgaW50byBzdWJzeXN0ZW1zIGFyZSBpbXBvcnRhbnQgYmVjYXVzZSB0aGV5IGZvcm0KK3RoZSBiYXNpcyBvZiB3aGF0IGlzIGF2YWlsYWJsZSB0byBvdGhlciBwcm9qZWN0cywgYW5kIGVuZC11c2VyIHVwZGF0ZQorbWFuYWdlciBmZWF0dXJlcywgYW5kIGZlYXR1cmVzIGZvciBtYWludGVuYW5jZSBzdHJlYW1zLiBBbHNvLCBpdCBhbGxvd3MKK2EgaGlnaCBsZXZlbCBkZXNjcmlwdGlvbiBvZiBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgZGVwZW5kYW5jaWVzLjwvcD4KKworPHA+Rm9yIGVuZC11c2VycywgdGhlcmUgaXMgY3VycmVudGx5IG9ubHkgb25lIG5ld3MgZ3JvdXAsIDxhCisJaHJlZj0ibmV3czpvcmcuZWNsaXBzZS5kZXYvZWNsaXBzZS53ZWJ0b29scyI+ZWNsaXBzZS53ZWJ0b29sczwvYT4uIEZvcgorZGV2ZWxvcGVycywgdGhlcmUgYXJlIGN1cnJlbnRseSB0aHJlZSBtYWlsaW5nIGxpc3RzIDxhCisJaHJlZj0ibWFpbHRvOnd0cC1kZXZAZWNsaXBzZS5vcmciPnd0cC1kZXY8L2E+LCA8YQorCWhyZWY9Im1haWx0bzp3dHAtd3N0LWRldkBlY2xpcHNlLm9yZyI+d3RwLXdzdC1kZXY8L2E+LCBhbmQgPGEKKwlocmVmPSJtYWlsdG86d3RwLWpzdC1kZXZAZWNsaXBzZS5vcmciPnd0cC1qc3QtZGV2PC9hPi4gQXMgdGhlIHByb2plY3QKK2NvbnRpbnVlcywgaWYgdHJhZmZpYyBzZWVtcyAiaGVhdnkiIGZvciBhIHBhcnRpY3VsYXIgY29tcG9uZW50LCB0aGVuIG5ldworbWFpbGluZyBsaXN0cyBhbmQvb3IgbmV3cyBncm91cHMgd2lsbCBiZSBjcmVhdGVkIGFzIG5lZWRlZC48L3A+CisKKzxwPlRoaXMgZG9jdW1lbnQgZGVjcmliZXMgdGhlIDxhIGhyZWY9IiNzdWJzeXN0ZW12aWV3Ij5TdWJzeXN0ZW0gVmlldzwvYT4sIDxhCisJaHJlZj0iI2VjbGlwc2VkZXBlbmRhbmNpZXMiPkRlcGVuZGFuY2llcyBvbiB0aGUgRWNsaXBzZSBQcm9qZWN0PC9hPiwgPGEKKwlocmVmPSIjdG9vbHNkZXBlbmRhbmNpZXMiPkRlcGVuZGFuY2llcyBvbiBUb29scyBQcm9qZWN0czwvYT4sIDxhCisJaHJlZj0iI3JlbGF0aW9udG9vdGhlcnByb2plY3RzIj5SZWxhdGlvbiB0byBvdGhlciBQcm9qZWN0cyBhbmQgUHJvZHVjdHM8L2E+LCA8YQorCWhyZWY9IiNncmFwaGljYWxzdW1tYXJ5Ij5TdW1tYXJ5IGluIEdyYXBoaWNhbCBmb3JtPC9hPiwgYW5kIDxhCisJaHJlZj0iI2RlcGxveXJtZW50dmlldyI+RGVwbG95bWVudCBWaWV3PC9hPi48L3A+Cis8aDE+PGEgbmFtZT0ic3Vic3lzdGVtdmlldyI+U3Vic3lzdGVtIFZpZXc8L2E+PC9oMT4KKzxoMj5XU1QgUHJvamVjdDwvaDI+CisKKzxoMz5CdWlsZCBhbmQgVGVzdCBTdWJzeXN0ZW08L2gzPgorPHA+Rm9yIGNvbXBsZXRlbmVzcywgSSdsbCBtZW50aW9uIG91ciBidWlsZCBhbmQgdGVzdCBjb21wb25lbnQsIGhpZ2hseQorbW9kZWxlZCBhZnRlciB0aGUgYmFzZSBFY2xpcHNlIGJ1aWxkIGFuZCB0ZXN0IGNvbXBvbmVudHMuPC9wPgorPHVsPgorCTxsaT5vcmcuZWNsaXBzZS53dHAucmVsZW5nPC9saT4KKzwvdWw+CisKKzxoMz5Db21tb24gU3Vic3lzdGVtPC9oMz4KKzxwPkNvbXBvbmVudHMgaW4gdGhpcyBzdWJzeXN0ZW0gaGF2ZSBubyBkZXBlbmRhbmNpZXMgb24gb3RoZXIgd2VidG9vbGluZworY29tcG9uZW50cyBhbmQgYXJlIG5vdCBzcGVjaWZpYyB0byB3ZWIgdG9vbGluZyBmdW5jdGlvbmFsaXR5LCBidXQgYXJlCituZWVkZWQgYnkgb3RoZXIgd2ViIHRvb2xpbmcgY29tcG9uZW50cy4KKzx1bD4KKwk8bGk+Q29tbW9uIENvbXBvbmVudAorCTx1bD4KKwkJPGxpPkV4dGVuc2libGUgTmF2aWdhdG9yPC9saT4KKwkJPGxpPlRhYmJlZCBQcm9wZXJ0eSBWaWV3PC9saT4KKwkJPGxpPlNuaXBwZXRzIFZpZXc8L2xpPgorCQk8bGk+RXh0ZW5zaWJsZSBVUkkgUmVzb2x2ZXI8L2xpPgorCTwvdWw+CisJPC9saT4KKwk8bGk+VmFsaWRhdGlvbiBGcmFtZXdvcmsgQ29tcG9uZW50PC9saT4KKwk8bGk+Q29tbWFuZCBGcmFtZXdvcmsgQ29tcG9uZW50PC9saT4KKzwvdWw+CisKKzxoMz5TZXJ2ZXIgU3Vic3lzdGVtPC9oMz4KKzx1bD4KKwk8bGk+U2VydmVyIENvbXBvbmVudDwvbGk+CisJPGxpPkludGVybmV0IENvbXBvbmVudDwvbGk+Cis8L3VsPgorPGgzPkRhdGFiYXNlIFN1YnN5c3RlbTwvaDM+CisKKzxwPldpbGwgYmUgYW4gdXBkYXRlIG1hbmFnZXIgZmVhdHVyZS48L3A+Cis8dWw+CisJPGxpPlJEQi9TUUw8L2xpPgorPC91bD4KKzxoMz5YTUwgU3Vic3lzdGVtPC9oMz4KKzxwPldpbGwgYmUgYW4gdXBkYXRlIG1hbmFnZXIgZmVhdHVyZS48L3A+CisKKzx1bD4KKwk8bGk+WE1MIENvbXBvbmVudDwvbGk+CisJPGxpPlNjaGVtYSBDb21wb25lbnQ8L2xpPgorCTxsaT5EVEQgQ29tcG9uZW50PC9saT4KKwk8bGk+U1NFIENvbXBvbmVudDwvbGk+Cis8L3VsPgorCis8aDM+V2ViIFNlcnZpY2VzIFN1YnN5c3RlbTwvaDM+CisKKzx1bD4KKwk8bGk+V1MgQ29tcG9uZW50PC9saT4KKwk8bGk+V1NETCBDb21wb25lbnQ8L2xpPgorCTxsaT5XU0kgQ29tcG9uZW50PC9saT4KKzwvdWw+CisKKzxoMz5XZWIgUmVzb3VyY2VzIFN1YnN5c3RlbTwvaDM+CisKKzx1bD4KKwk8bGk+SFRNTCBDb21wb25lbnQ8L2xpPgorCTxsaT5DU1MgQ29tcG9uZW50PC9saT4KKwk8bGk+SmF2YVNjcmlwdCBDb21wb25lbnQ8L2xpPgorPC91bD4KKzxoMz5HZW5lcmljIFdlYiBNb2R1bGUgU3Vic3lzdGVtPC9oMz4KKworPHVsPgorCTxsaT5XZWIgQ29tcG9uZW50PC9saT4KKzwvdWw+CisKKzxoMj5KU1QgUHJvamVjdDwvaDI+CisKKzxoMz5TZXJ2ZXIgU3Vic3lzdGVtPC9oMz4KKworPHVsPgorCTxsaT5TZXJ2ZXIgQ29tcG9uZW50PC9saT4KKzwvdWw+CisKKzxoMz5KU1AgUmVzb3VyY2VzIFN1YnN5c3RlbTwvaDM+CisKKzxwPldpbGwgYmUgYW4gdXBkYXRlIG1hbmFnZXIgZmVhdHVyZS48L3A+Cis8dWw+CisJPGxpPkpTUCBDb21wb25lbnQ8L2xpPgorPC91bD4KKworCis8aDM+QmFzaWMgSjJFRSBTdWJzeXN0ZW08L2gzPgorCis8dWw+CisJPGxpPlNlcnZsZXQgQ29tcG9uZW50PC9saT4KKwk8bGk+SjJFRSBDb21wb25lbnQ8L2xpPgorPC91bD4KKworPGgzPkFkdmFuY2VkIEoyRUUgU3Vic3lzdGVtPC9oMz4KKworPHVsPgorCTxsaT5FSkIgQ29tcG9uZW50PC9saT4KKwk8bGk+V1MgQ29tcG9uZW50PC9saT4KKzwvdWw+CisKKzxoMT48YSBuYW1lPSJlY2xpcHNlZGVwZW5kYW5jaWVzIj5EZXBlbmRhbmNpZXMgb24gdGhlIEVjbGlwc2UgUHJvamVjdDwvYT48L2gxPgorPGgyPlBsYXRmb3JtPC9oMj4KKzxwPkFsbCBjb21wb25lbnRzIHBlcnZhc2l2ZWx5IHJlcXVpcmVkIGJ5IGJvdGggV1NUIGFuZCBKU1QuIE5vdGUsIHRoZXJlCittaWdodCBiZSBhIGZldyBub3QgcmVxdWlyZWQgaW4gc2hvcnQgdGVybSwgc3VjaCBhcyBkZWJ1ZyBjb21wb25lbnQsIGJ1dAorbG9uZyB0ZXJtIGl0IGlzIGVhc2lseSBpbWFnaW5lZCB0byBiZSBuZWVkZWQuPC9wPgorPGgyPkpEVDwvaDI+Cis8cD5Ob3QgcmVxdWlyZWQgYnkgV1NULCBidXQgcmVxdWlyZWQgYnkgSlNULiBOb3RlOiB3ZSBkb24ndCBydWxlIG91dAordGhhdCB3ZSBtaWdodCByZXF1aXJlIGl0IHNvbWVkYXkgaW4gV1NUIC4uLiBidXQgbm8ga25vd24gY2FzZXMKK2N1cnJlbnRseS48L3A+Cis8aDI+UERFPC9oMj4KKzxwPk5vdCByZXF1aXJlZCwgdGhvdWdoIG9idmlvdXNseSB3YW50IHRvIHZlcmlmeSBjby1leGlzdGVuY2UuPC9wPgorPGgyPldlYkRhdjwvaDI+Cis8cD5XaGlsZSBub3QgYW4gb2ZmaWNpYWwgcGxhdGZvcm0gcHJvamVjdCBvciBjb21wb25lbnQsIHdlIGRvIHdhbnQgdG8KK3ZlcmlmeSBjby1leGlzdGVuY2UuPC9wPgorPGgxPjxhIG5hbWU9InRvb2xzZGVwZW5kYW5jaWVzIj5EZXBlbmRhbmNpZXMgb24gVG9vbHMgUHJvamVjdHM8L2E+PC9oMT4KKzxwPkluIGFkZGl0aW9uIHRvIHRoZSBiYXNlIEVjbGlwc2UsIHRoZSBmb2xsb3dpbmcgcHJvamVjdHMvcGFja2FnZXMgYXJlCitwcmVyZXF1aXNpdGVzIG9mIHRoZSBXZWJ0b29saW5nIFBsYXRmb3JtLiBHRUYsIEVNRiwgYW5kIFhTRCBhcmUKK3ByZS1yZXEnZCBieSBlbm91Z2ggb2YgV1NUIHRvIHNheSBpdHMgYWx3YXlzIHJlcXVpcmVkLiBUaGUgSkVNIHBhY2thZ2UKK2lzIG9ubHkgcHJlLXJlcSdkIGJ5IEpTVC48L3A+Cis8aDI+RU1GPC9oMj4KKzxwPkVNRiwgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9lbWYvIiB0YXJnZXQ9Il90b3AiPkVjbGlwc2UKK01vZGVsaW5nIEZyYW1ld29yazwvYT4sIGlzIGEgd2F5IHRvIGRlZmluZSBtZXRhIG1vZGVscywgYW5kIHRoZW4KK2luc3RhbnRpYXRlIHNwZWNpZmljIGluc3RhbmNlcyBvZiB0aG9zZSBtb2RlbHMuIEl0cyBwYXJ0aWN1bGFybHkgZmFtb3VzCitmb3IgYmVpbmcgdXNlZnVsIHRvIG1haW50YWluIG1vZGVscyBhY3Jvc3MgbXVsdGlwbGUgcHJvZHVjdHMsIGVzcGVjaWFsbHkKK3doZW4gdGhlIG1vZGVsIG1heSBjaGFuZ2UgZnJvbSBvbmUgcmVsZWFzZSB0byBhbm90aGVyICh0aGUgd2F5IHRoYXQKK2RlcGxveW1lbnQgZGVzY3JpcHRvcnMgYW5kIEoyRUUgc3BlY3MgY2hhbmdlIGZyb20gdmVyc2lvbiB0byB2ZXJzaW9uLjwvcD4KKzxoMj5YU0Q8L2gyPgorPHA+VGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcveHNkLyIgdGFyZ2V0PSJfdG9wIj5YU0QsIFhNTAorU2NoZW1hIEluZm9zZXQgTW9kZWwsIFByb2plY3Q8L2E+IHByb3ZpZGVzIGEgbW9kZWwgYW5kIEFQSSBmb3IgcXVlcnlpbmcKK2RldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHNjaGVtYXMgYW5kIG1hbmlwdWxhdGluZyB0aGVtLiBbTm90ZToKK3RlY2huaWNhbGx5IFhTRCBJbmZvc2V0IGlzIHBhcnQgb2YgVGVjaG5vbG9neSBQcm9qZWN0LCBidXQgaXMKK2Rpc3RyaWJ1dGVkIHdpdGggRU1GXTwvcD4KKzxoMj5HRUY8L2gyPgorPHA+R0VGLCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2dlZi8iIHRhcmdldD0iX3RvcCI+R3JhcGhpY2FsCitFZGl0aW5nIEZyYW1ld29yazwvYT4sIGlzIGEgZnJhbWV3b3JrICZxdW90O29uIHRvcCZxdW90OyBvZiBTV1QgdGhhdAorbWFrZXMgaXQgZWFzaWVyIHRvIGRldmVsb3Agc29waGlzdGljYXRlZCwgaGlnaGx5IGN1c3RvbWl6YWJsZSB1c2VyCitpbnRlcmZhY2VzIHRoYXQgZ28gYmV5b25kIHR5cGljYWwgd2lkZ2V0cyAuPC9wPgorPGgyPkpFTSBQYWNrYWdlPC9oMj4KKzxwPlRoZSBKRU0gcGFja2FnZSwgSmF2YSBFTUYgTW9kZWwsIGlzIGFjdHVhbGx5IHBhcnQgb2YgdGhlIDxhCisJaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy92ZXAvIiB0YXJnZXQ9Il90b3AiPlZFIFByb2plY3Q8L2E+LiBUaGUgVkUKK3RlYW0gaGFzIHJlY2VudGx5IG1hZGUgaXQgYXZhaWxhYmxlIGFzIHNlcGFyYXRlIGRvd25sb2FkIGZyb20gdGhlaXIgPGEKKwlocmVmPSJodHRwOi8vZG93bmxvYWQuZWNsaXBzZS5vcmcvdG9vbHMvdmUvZG93bmxvYWRzL2Ryb3BzL1MtMS4wTTItMjAwNDA3MzAxNDEwL2luZGV4Lmh0bWwiCisJdGFyZ2V0PSJfdG9wIj5WRSBidWlsZCBwYWdlczwvYT4uIEluIGFkZGl0aW9uIHRvIGFsbG93aW5nIGVhc2llcgoraW50ZXJhY3Rpb24gd2l0aCBvdGhlciBFTUYgbW9kZWxzLCBpdCBhbHNvIGluY29ycG9yYXRlcyBCZWFuSW5mbyBpbnRvCitpdHMgbW9kZWxzIChub3QganVzdCByZWZsZWN0aW9uKS4gV2UgdXNlIGl0IGluIGNvbm5lY3Rpb24gdG8gb3VyIEoyRUUKK0VNRi1iYXNlZCBtb2RlbHMuIEZyb20gd2hhdCBJIGhlYXIsIHRoZXJlJ3Mgbm8gSVNWIGRvY3VtZW50YXRpb24gZm9yCit0aGlzIHBhY2thZ2UsIGJ1dCB0aGUgcm9zZSBtb2RlbHMgdGhhdCBhcmUgdXNlZCB0byBjcmVhdGUgdGhlIG1ldGEgbW9kZWwKK2NhbiBiZSBmb3VuZCBpbiBDVlMgb24gZGV2LmVjbGlwc2Uub3JnPGJyIC8+CisvaG9tZS90b29sczxiciAvPgordW5kZXI8YnIgLz4KKy9vcmcuZWNsaXBzZS5qZW0vcm9zZTxiciAvPgorVG8gbG9hZCBpbnRvIHJvc2UgKGZyb20gd29ya3NwYWNlKSB5b3UnZCBhbHNvIGhhdmUgdG8gaGF2ZQorb3JnLmVjbGlwc2UuZW1mLmVjb3JlIGluIHdvcmtzcGFjZSwgYW5kIGRlZmluZSwgaW4gUm9zZSwgYW4gRWRpdFBhdGhNYXAKK29mIFdvcmtzcGFjZVJvb3QgYXMgd2hhdCBldmVyIHlvdXIgd29ya3NwYWNlIHJvb3QgaXMgb24geW91ciBmaWxlc3lzdGVtCisodGhlbiBpdCBjYW4gZmluZCBpbmNsdWRlZCBmaWxlcy9tb2RlbHMgYXV0b21hdGljYWxseSkuPC9wPgorCis8aDI+T3RoZXJzPC9oMj4KKzxwPjxiPlhlcmNlczwvYj4uIFdlIGN1cnJlbnRseSBzaGlwIFhlcnhlcyBiaW5hcmllcyB3aXRoaW4gcGx1Z2luJ3MKK3J1bnRpbWVzIHRoYXQgcmVxdWlyZSB0aGVtLiBbVGhlcmUncyBiZWVuIHNvbWUgZGlzY3Vzc2lvbiB0aGF0IHdpdGggT1NHSQorY2xhc3Nsb2FkaW5nIG9mIFBQUyAoUGxhdGZvcm0gKGJvb3Rsb2FkZXIpLCBQcmUtcmVxcywgU2VsZiksIHRoYXQgaXQKK3Nob3VsZCBiZSBlYXNpZXIgdG8gcHJvdmlkZSBhIGNvbW1vbiBYZXJ4ZXMgcGx1Z2luLCBhcyBsb25nIGFzIHRoZXJlJ3MKK25vIHZlcnNpb24gcmVxdWlyZW1lbnRzIGNvbmZsaWN0cywgYW5kIG5vIGN1c3RvbSBjbGFzcyBsb2FkZXJzIGludm9sdmVkLAorYW5kIGFwcHJvcHJpYXRlIGZhY3RvcmllcyB1c2VkIHRvICZxdW90O2dldCZxdW90OyB0aGUgc3BlY2lmaWMgcGFydHMgb2YKK1hlcnhlcyBuZWVkZWQgdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlIHBsYXRmb3JtcyBydW50aW1lXS48L3A+CisKKzxoMT48YSBuYW1lPSJyZWxhdGlvbnRvb3RoZXJwcm9qZWN0cyI+UmVsYXRpb24gdG8gb3RoZXIgUHJvamVjdHM8L2E+IGFuZCBQcm9kdWN0czwvaDE+Cis8aDI+SjJFRSBTZXJ2ZXJzPC9oMj4KKzx1bD4KKwk8bGk+QXBhY2hlIFRvbWNhdDwvbGk+CisJPGxpPkpCb3NzPC9saT4KKwk8bGk+KEpvbmFzKWIgPC9saT4KKzwvdWw+Cis8aDI+RGF0YWJhc2UgU2VydmVyczwvaDI+Cis8dWw+CisJPGxpPkRlcmJ5IChDbG91ZHNjYXBlKTwvbGk+CisJPGxpPldpdGggYWRhcHRlcnMgZm9yIG90aGVyIHByb2R1Y3RzIGFzIHdlbGwsIGRiMi5pc2VyaWVzLCBkYjIubHV3LCBkYjIuenNlcmllcywgaW5mb3JtaXgsIG9yYWNsZSwgc3Fsc2VydmVyLCBzeWJhc2U8L2xpPgorPC91bD4KKworPGgxPjxhIG5hbWU9ImdyYXBoaWNhbHN1bW1hcnkiPlN1bW1hcnkgaW4gR3JhcGhpY2FsIGZvcm08L2E+PC9oMT4KKzxwPlRoZSBmb2xsb3dpbmcgZGlhZ3JhbXMgc3VtbWFyaXplIHRoZSBzdWJzeXN0ZW0gYW5kIHJlbGF0aW9uc2hpcHMKK2Rlc2NyaWJlZCBhYm92ZS48L3A+Cis8cD48L3A+Cis8cD48aW1nIHNyYz0iaW1hZ2VzL3dzdGFuZGpzdGRlcGVuZGFuY2llcy5wbmciIHdpZHRoPSI4NjciIGhlaWdodD0iNDU0IgorCWJvcmRlcj0iMiIgLz48L3A+Cis8cD48YnIgLz4KK1RoZSBkYXJrZXIgc2hhZGVkIHN1YnN5c3RlbXMgYXJlIGFjY2Vzc2libGUgYnkgZW5kLXVzZXJzIGFuZCBvdGhlcgorY29tcG9uZW50cyB2aWEgdXBkYXRlIG1hbmFnZXIuPC9wPgorPHA+PGltZyBzcmM9ImltYWdlcy93c3RzdWJzeXN0ZW1zLnBuZyIgd2lkdGg9IjYwNiIgaGVpZ2h0PSI0NTAiCisJYm9yZGVyPSIyIiAvPjwvcD4KKzxwPjxiciAvPlRoZSBkYXJrZXIgc2hhZGVkIHN1YnN5c3RlbSAob3JhbmdlKSBpcyAgYWNjZXNzaWJsZSBieSBlbmQtdXNlcnMgYW5kIG90aGVyCitjb21wb25lbnRzIHZpYSB1cGRhdGUgbWFuYWdlci4KKzxiciAvPlRoZSB3aGl0ZSBzdWJzeXRlbXMgaW5kaWNhdGUgdGhlICZxdW90O2xpbmtzJnF1b3Q7IGludG8gdGhlIFdTVCBzdWJzeXN0ZW0uIFRoZSBKRFQgYW5kIEpFTSBjb21wb25lbnRzIGluZGljYXRlIHR3byA8YnIgLz5jb21wb25lbnRzIGZyb20gb3RoZXIgcHJvamVjdHMgcmVxdWlyZWQgaW4gSlNULCBidXQgbm90IHJlcXVpcmVkIGluIFdTVC4KKzwvcD4KKzxoMT48aW1nIHNyYz0iaW1hZ2VzL2pzdHN1YnN5c3RlbXMucG5nIiB3aWR0aD0iNzY5IiBoZWlnaHQ9IjQ3NSIKKwlib3JkZXI9IjIiIC8+PGEgbmFtZT0iZGVwbG95cm1lbnR2aWV3Ij48YnIgLz4KK0RlcGxveW1lbnQgVmlldzwvYT48L2gxPgorPHA+VGhpcyBzZWN0aW9uIG1ha2VzIGV4cGxpY2l0IHdoYXQgaXMgY3VycmVudGx5IHBsYW5uZWQgdG8gYmUgbWFkZSBhdmFpbGFibGUgYXMgZGVwbG95YWJsZSBmZWF0dXJlcyB2aWEgdXBkYXRlIG1hbmFnZXIuIFRoaXMgaXMgcGFyaXRhbGx5IGRyaXZlbiBieSB2aWV3cyBleHByZXNzZWQgYnkgY29tbXVuaXR5IHVzZXJzLCBhbmQgcGFydGlhbGx5IGRpcnZlbiBieSB0aGUgZXhwcmVzc2VkIG5lZWRzIG9mIG90aGVyIHByb2plY3RzLiBJdCBtYXkgbm90IGJlIHRoZSBwZXJmZWN0ICZxdW90O3NsaWNlIGFuZCBkaWNlJnF1b3Q7IG9mIHRoZSAgd2hvbGUgcGFja2FnZSB0aGF0IHdvdWxkIHN1aXQgZXZlcnlvbmUsIGJ1dCB0aGUgZXhwZWNhdGlvbiBpcyB0aGF0IG90aGVyIHByb2plY3RzIGNhbiBhbHdheXMgZG93bmxvYWQgbW9yZSB0aGFuIHRoZXkgbmVlZCwgYW5kIHBpY2sgYW5kIGNob29zZSB0aGUgZXhhY3QgY29tcG9uZW50cyB0aGV5IHdhbnQgdG8gcmUtZGlzdHJpYnV0ZS48L3A+Cis8cD5BbGwgZGVwbG95bWVudCBmZWF0dXJlcyBiZWxvdyB3aWxsIGhhdmUgYSAmcXVvdDtiaW5hcnkmcXVvdDsgcnVudGltZQordmVyc2lvbiwgYW5kIGFuIFNESyB2ZXJzaW9uLCB3aXRoIGFsbCBzb3VyY2UgYW5kIGRldmVsb3BlcgorZG9jdW1lbnRhdGlvbi4gPC9wPgorPHA+QXQgdGhlIGhpZ2h0ZXN0IGxldmVsLCBpcyBKU1QgYW5kIFdTVCBzZXBlcmF0ZWx5LiAoV2l0aCBKU1QgcmVxdWlyZWluZworV1NUKS4gPC9wPgorPHA+V2l0aGluIEpTVCwgdXNlcidzIGNhbiBjaG9vc2UgYWxsIG9mIEpTVCwgb3IgSlNQIFN1YnN5c3RlbS4gPC9wPgorPHA+V2l0aGluIFdTVCwgdXNlcnMncyBjYW4gY2hvb3NlIGFsbCBvZiBXU1QsIG9yIHRoZSBYTUwgU3Vic3lzdGVtCisoaW5jbHVkZXMgU2NoZW1hIGFuZCBEVEQgY29tcG9uZW50cyksIG9yIHRoZSBEYXRhIFN1YnN5c3RlbSA8L3A+Cis8cD5PZiBDb3Vyc2UsIGF0IGFueSBwb2ludCBvZiBhIGRlY2lzaW9uLCB0aGUgY2hvb3NlbiAmcXVvdDtzdWJjb21wb25lbnQmcXVvdDsgd2lsbCBzdGlsbCAmcXVvdDtwdWxsIGFsbG9uZyZxdW90OyBhbGwgdGhhdCBpdHMgZGVwZW5kZW50IG9uLiA8L3A+Cis8cD48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vQXJjaGl0ZWN0dXJlT3ZlcnZpZXdJbml0aWFsLmh0bWwgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vQXJjaGl0ZWN0dXJlT3ZlcnZpZXdJbml0aWFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBlZjFmMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy9XZWJDb250ZW50L2FyY2hfYW5kX2Rlc2lnbi9BcmNoaXRlY3R1cmVPdmVydmlld0luaXRpYWwuaHRtbApAQCAtMCwwICsxLDUyNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMTEvRFREL3hodG1sMTEuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIgLz4KKzxtZXRhIG5hbWU9IkdFTkVSQVRPUiIgY29udGVudD0iUHNldWRvIFdUUCIgLz4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU3R5bGUtVHlwZSIgY29udGVudD0idGV4dC9jc3MiIC8+Cis8bGluayBocmVmPSJ0aGVtZS9kZWZhdWx0X3N0eWxlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKzwhLS0KKzxsaW5rIGhyZWY9InRoZW1lL01hc3Rlci5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+CistLT4KKzx0aXRsZT5FY2xpcHNlIFdUUCBBcmNoaXRlY3R1cmUgT3ZlcnZpZXc8L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKzwhLS0KK2R0IHsKKwlmb250LXdlaWdodDogYm9sZAorfQorLS0+Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGFsaWduPSJjZW50ZXIiPgorPGgxPkVjbGlwc2UgV2VidG9vbHMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3PC9oMT4KKzwvZGl2PgorCis8ZGl2IGFsaWduPSJjZW50ZXIiPgorPHRhYmxlIGJvcmRlcj0iMSIgY2VsbHBhZGRpbmc9IjEwIiBoZWlnaHQ9IjUwJSIgd2lkdGg9IjcwJSI+CisJPHRib2R5PgorCQk8dHIgYWxpZ249ImxlZnQiIHZhbGlnbj0ibWlkZGxlIj4KKwkJCTx0ZCB2YWxpZ249Im1pZGRsZSIgYWxpZ249ImxlZnQiPgorCQkJPGJsb2NrcXVvdGU+CisJCQk8cD48Y2l0ZT5UaGUgYmFja2dyb3VuZCBhbmQgc3RhdHVzIG9mIHRoaXMgZG9jdW1lbnQuPC9jaXRlPjwvcD4KKwkJCTxwPjxjaXRlPiBWZXJzaW9uIDAuMSBBdWd1c3QgMTYsIDIwMDQuIDwvY2l0ZT48L3A+CisJCQk8cD48Y2l0ZT5XaGlsZSB0aGlzIGRvY3VtZW50IGlzIGEgd29yayBwcm9kdWN0IG9mIHRoZSA8YQorCQkJCWhyZWY9IiNhcmNoaXRlY3R1cmVncm91cCI+V1RQIEFyY2hpdGVjdHVyZSBHcm91cDwvYT4gSSB3aWxsIGhhdmUgdG8gdGFrZQorCQkJZnVsbCByZXNwb25zaWJpbGl0eSBmb3IgYWxsIHRoZSBtYW55IGVycm9ycyBhbmQgb21pc3Npb25zIGl0IGNvbnRhaW5zLAorCQkJYnV0IHdpbGwgZ2l2ZSBjcmVkaXQgYm90aCB0byB0aGUgQXJjaGl0ZWN0dXJlIEdyb3VwIGFuZCB0aGUgbWFueSBvdGhlcgorCQkJdGVhbXMgZm9yIHRoZWlyIG1hbnkgdmFsdWFibGUgY29udHJpYnV0aW9ucyB0byBpdCBhbmQgdGhlIHRpbWUgdGhleSBzcGVuZAorCQkJZWR1Y2F0aW5nIG1lLjwvY2l0ZT48L3A+CisJCQk8cD48Y2l0ZT5UaGlzIGZpcnN0IHZlcnNpb24gb2YgdGhpcyBkb2N1bWVudCBpcyBiZWluZyBkaXN0cmlidXRlZCBub3csCisJCQlldmVuIHRob3VnaCBzdGlsbCByb3VnaCBhbmQgaW5jb21wbGV0ZSAoSSdkIGd1ZXNzIGFib3V0IDUwJSBpbmNvbXBsZXRlKSwgdG8gZ2V0IHNvbWUgY29tbXVuaXR5CisJCQlyZWFkZXJzaGlwIHRvIGRldGVybWluZSBpZiBpdCByZXByZXNlbnRzIGEgdXNlZnVsIGRpcmVjdGlvbiBhbmQgaWYgaXQKKwkJCXNob3VsZCBiZSBjb250aW51ZWQuIEZlZWRiYWNrLCBxdWVzdGlvbnMsIGFuZCBjb21tZW50cyBjYW4gYmUgbWFkZSB0bworCQkJdGhlIHd0cC1kZXYgbWFpbGluZyBsaXN0LjwvY2l0ZT48L3A+CisJCQk8cD5UaGFuayB5b3UgZm9yIHlvdXIgY29udHJpYnV0aW9ucywgRGF2aWQgV2lsbGlhbXMgKGRhdmlkX3dpbGxpYW1zQHVzLmlibS5jb20pPC9wPgorCQkJPC9ibG9ja3F1b3RlPjwvdGQ+CisJCTwvdHI+CisJPC90Ym9keT4KKzwvdGFibGU+Cis8L2Rpdj4KKzxoMj5QdXJwb3NlIGFuZCBPYmplY3RpdmVzPC9oMj4KKworCis8cD5HaXZlbiAgYSBoZXRlcm9nZW5lb3VzIGdyb3VwIG9mIHBlb3BsZSwgY29tcGFuaWVzLCBhbmQgY29udHJpYnV0aW9ucywgaXQKK3dvdWxkIGJlIGRpZmZpY3VsdCBmb3IgV1RQIHRvIGJlIGVhc2lseSAmcXVvdDtvcGVuJnF1b3Q7IHRvIGEgY29tbXVuaXR5IHdpdGhvdXQgc29tZQorb3ZlcnZpZXcgb2YgaXRzIGFyY2hpdGVjdHVyZS4gVGhlCitwdXJwb3NlIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gZ2l2ZSBhIGhpZ2gtbGV2ZWwgdmlldyBvZiB0aGUKK2FyY2hpdGVjdHVyZSB0aGF0IGlzIGltcGxpY2l0IGluIG1vc3Qgb2YgdGhlIGluaXRpYWwgY29udHJpYnV0aW9ucy4gT3ZlciB0aW1lLCB0aGlzIGRvY3VtZW50IHdpbGwgY2FwdHVyZSB0aGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBFY2xpcHNlIFdlYiBUb29saW5nIFBsYXRmb3JtLiBUaGlzIGRvY3VtZW50IGlzIG5vdCB0aGUgQXJjaGl0ZWN0dXJhbCBQbGFuLCBhcyByZXF1aXJlZCBieSB0aGUgPGEKKwlocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvRWNsaXBzZSUyMERldmVsb3BtZW50JTIwUHJvY2VzcyUyMDIwMDNfMTFfMDklMjBGSU5BTC5wZGYiPkVjbGlwc2UKK0RldmVsb3BtZW50IFByb2Nlc3M8L2E+IGxpc3RlZCBvbiB0aGUgRWNsaXBzZSA8YQorCWhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL2RvY3VtZW50cy9tYWluLmh0bWwiIHRhcmdldD0iX3RvcCI+R292ZXJuYW5jZTwvYT4gcGFnZS4gVGhhdCBQbGFuIHdpbGwgYmUgd3JpdHRlbiBsYXRlciwgYnV0LCBob3BlZnVsbHksIGFzIGFuIG91dGdyb3d0aCBvZiB0aGlzIGRvY3VlbnQuICA8L3A+CisKKzxwPlRoaXMKK092ZXJ2aWV3ICBkb2N1bWVudHMgdGhlIGN1cnJlbnQgYW5kIGRlc2lyZWQgYXJjaGl0ZWN0dXJlIG9mIFdUUAorYXMgYSB3aG9sZSAtLSB0aGF0IGlzLCBjb250cmlidXRlZCBjb21wb25lbnRzIHdpbGwgKHN0aWxsKSBiZSBleHBlY3RlZCB0bworZG9jdW1lbnQgdGhlaXIgb3duIGFyY2hpdGVjdHVyZSwgZGVzaWducywgQVBJcywgYW5kIGhvdyB0aGV5IGZpdCBpbiB0bworb3ZlcmFsbCBhcmNoaXRlY3R1cmUgLS0gYW5kLCBzaW5jZSBpdCBpcyBhIGNvbXVuaXR5IGJhc2VkIHByb2plY3QsIHRoZSBsZXZlbCBhbmQgdGltaW5nIG9mIHRoYXQgZG9jdW1lbnRhdGlvbiB3aWxsIHZhcnkgZ3JlYXRseS4gPC9wPgorPHA+CitUaGUgYmVuZWZpdCBvZiBoYXZpbmcgYW4gb3ZlcmFsbCBkb2N1bWVudCBpcyB0aGF0IGl0IGNhbiBjYXB0dXJlIHRoaW5ncwordGhhdCBhcmUgbm90IGNhcHR1cmVkIGJ5IGluZGl2aWR1YWwgcGllY2VzOiBib3RoIGFjcm9zcyBjb21wb25lbnQgcmVsYXRpb25zaGlwcyBhbmQKK2Fsc28gdGhpbmdzIHdoaWNoIG1pZ2h0IHNlZW0gdW5pcXVlIHdoZW4gaW5kaXZpZHVhbCBwaWVjZXMgYXJlIGV4YW1pbmVkLAorYnV0IHdoaWNoIGFyZSByZWFsbHkgY29tbW9uIHdoZW4gdGhlIHN5c3RlbSBpcyB2aWV3ZWQgYXMgYSB3aG9sZS48L3A+CisKKzxwPlRoZQorcHJpbWFyeSByZWFzb24gZm9yIGRvaW5nIHRoaXMgd29yayBpcyB0byBtYWtlIGl0IGVhc2llciBmb3Igb3RoZXJzIHRvCitjb250cmlidXRlIHRvIFdUUCBhbmQgdG8gaW50ZWdyYXRlIHdpdGggaXQuIFRoYXQgaXMsIGl0IGlzIHRvIHNlcnZlIGFzCitzb21ldGhpbmcgb2YgYSByb2FkIG1hcCwgZ3VpZGluZyBjb250cmlidXRvcnMgYW5kIGludGVncmF0b3JzIG9uIHRoZQorbW9zdCBzY2VuaWMgYXJlYXMgb2YgaW50ZXJlc3QuIEl0IGlzIGRlZmluaXRlbHkgbm90IGludGVuZGVkIHRvIGJlIGEgJnF1b3Q7aG93IHRvJnF1b3Q7IG1hbnVhbCAtLSBpdCB3b24ndCBnaXZlIGFsbCB0aGUgYW5zd2VycyB0byBzcGVjaWZpYyBxdWVzdGlvbnMgKGFuZCBhY3R1bGx5IGluIG1vc3QgY2FzZXMgbm90IGFueSBvZiB0aGUgYW5zd2VycyB0byBzcGVjaWZpYyBxdWVzdGlvbnMpIC0tIGJ1dCBob3BlZnVsbHkgd2lsbCBtYWtlIGl0IGVhc2llciB0byBmaW5kIHdoZXJlIHRvIGxvb2sgZm9yIHRoZSBhbnN3ZXJzLiBBbHNvLCBpdCBpcyBkZWZpbml0ZWx5IG5vdCBpbnRlbmRlZCB0byBiZSBhCityZXR1cm4gdG8gY2VudHJhbGl6ZWQgZGV2ZWxvcG1lbnQgcHJhY3RpY2VzLCBidXQgc2ltcGx5IHRvIGhlbHAgZ3VpZGUKK2RlY2VudHJhbGl6ZWQgZGV2ZWxvcG1lbnQuIFRvIHN0cmV0Y2ggYSBjb21tb25seSB1c2VkIG9wZW4gc291cmNlCittZXRhcGhvciwgdGhlIGFyY2hpdGVjdHVyZSBkb2N1bWVudCBpcyB0byBiZSBtb3JlIG9mIGFyY2hpdGVjdHVyZSBvZiBhCitiYXphYXIsIHJhdGhlciB0aGFuIHRoZSBhcmNoaXRlY3R1cmUgb2YgYSBjYXRoZWRyYWwgKGFuZCwgdG8gYmUKK2V4cGxpY2l0LCB0aGUgYmVzdCBiYXphYXJzIGRvIGhhdmUgc29tZSBvcmdhbml6YXRpb24gLS0gdGhleSBhcmUgbm90CitqdXN0IHJhbmRvbSBhbmFyY2h5ISkuPC9wPgorCis8cD5BIHNlY29uZCByZWFzb24gZm9yIGRvaW5nIHRoaXMgd29yayBpcyB0byBoZWxwIGtlZXAgdHJhY2sgb2YgaG9sZXMgb3IgZXJyb3JzIGluCitjdXJyZW50IGFyY2hpdGVjdHVyZSAtLSBvciwgc3RhdGVkIGFub3RoZXIgd2F5LCBmaW5kIHRoaW5ncyB0aGF0IGFyZSBub3QKK2FyY2hpdGVjdGVkLCBidXQgbWVyZWx5IGltcGxlbWVudGVkLiA8L3A+CisKKzxwPgorVGhpcyBhcmNoaXRlY3R1cmUgZG9jdW1lbnQgbWF5IHN1bW1hcml6ZSB0aGUKK2V4dGVuc2libGUgYW5kIHBsdWdnYWJsZSBhcmVhcyB3aGVyZSBjb21wb25lbnRzIGNhbiBiZSBlYXNpbHkgY2hhbmdlZCBvcgorZXh0ZW5kZWQuIEJ1dCB0aGF0J3MgcHJpbWFyaWx5IGRvY3VtZW50ZWQgY29tcG9uZW50IGJ5IGNvbXBvbmVudC4gPC9wPgorCis8cD5JdAoraXMgaG9wZWQgdGhpcyBkb2N1bWVudCB3aWxsIGFsc28gYmUgdXNlZnVsIGFzIHBsYW5uaW5nIGFuZCByZXF1aXJlbWVudHMKK2lucHV0LCBmb3IgZXhhbXBsZSwgaWYgdGhlcmUgYXJlIG1pc3Npbmcgb3IgcmVkdW5kYW50IHBpZWNlcywgaXQgd291bGQKK2JlIGVhc2llciB0byBwbGFuIHdoYXQgdG8gZG8gYWJvdXQgdGhhdCwgZ2l2ZW4gc29tZSBvdmVyYWxsCitkb2N1bWVudGF0aW9uLCByYXRoZXIgdGhhbiB0cnlpbmcgdG8gZGVjaWRlIGVhY2ggaW5kaXZpZHVhbCBjYXNlIGluCitpc29sYXRpb24uIEV2ZW50dWFsbHksIGluIHRoZSBsb25nIHJ1biwgaG9wZWZ1bGx5IGl0J2xsIGV2b2x2ZSB0byB3b3JrIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gdG9vLCBpbnB1dCBmcm9tIHJlcXVpcmVtZW50cyBhbmQgcGxhbm5uaW5nIGNhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGlzIGRvY3VtZW50IGFuZCB0aGUgYXJjaGl0ZWN0dXJlIGl0c2VsZi48L3A+CisKKzxwPlRoaXMgYXJjaGl0ZWN0dXJlIGRvY3VtZW50IGlzIGV4cGVjdGVkIHRvIGJlIGEgJnF1b3Q7bGl2aW5nJnF1b3Q7IGRvY3VtZW50LAordXBkYXRlZCBhdCBsZWFzdCBldmVyeSBtaWxlc3RvbmUgYm90aCB0byByZW1haW4gJnF1b3Q7Y3VycmVudCZxdW90OyBhbmQgdG8gYmUKK2ltcHJvdmVkIHdpdGggZmVlZGJhY2sgZnJvbSB0aGUgY29tbXVuaXR5LiBJdCBpcyBhbHNvIGFudGljaXBhdGVkIHRoYXQKK3Blb3BsZSBjb250cmlidXRpbmcgdG8gdGhpcyBkb2N1bWVudCB3aWxsIGJlIGNvZGUtY29udHJpYnV0aW5nIG1lbWJlcnMuLi4uIHRoYXQKK2lzLCBpdHMgbm8gaXZvcnkgdG93ZXIgd2hlcmUgd29yayBnb2VzIG9uIGluIGlzb2xhdGlvbiE8L3A+CisKKzxoMj5XZWIgU3RhbmRhcmQgVG9vbHMgdnMuIEoyRUUgU3RhbmRhcmQgVG9vbHM8L2gyPgorPHA+T3ZlcmFsbCB0aGUgcHJvamVjdCBpcyAmcXVvdDtzcGxpdCZxdW90OyBpbnRvIFdlYiBTdGFuZGFyZCBUb29scyAoV1NUKSBhbmQgSjJFRSBTdGFuZGFyZCBUb29scyAoSlNUKSwgYXMgaXMgd2VsbCBkZXNjcmliZWQgYnkgdGhlIGxpbmtzIGZyb20gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9qZWN0IDxhCisJaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy93ZWJ0b29scy9pbmRleC5odG1sIiB0YXJnZXQ9Il90b3AiPkVjbGlwc2UgV2ViIFRvb2xzCitQbGF0Zm9ybSBQcm9qZWN0IDwvYT4uPC9wPgorPHA+QXJjaGl0ZWN0dXJhbGx5LCB0aGUgSjJFRSBjb21wb25lbnRzIGRlcGVuZCBvbiB0aGUgV2ViIFN0YW5kYXJkIGNvbXBvbmVudHMsIGJ1dCBub3QgdmljZSB2ZXJzYS4gKFRoYXQgaXMsIEkgc2hvdWxkIHNheSB0aGlzIHdpbGwgYmUgY2FzZSwgdGhlcmUncyBzdGlsbCBzb21lIGNhc2Ugb2YgcmVmYWN0b3JpbmcgbmVlZGVkIHRvIGhhdmUgJnF1b3Q7cGVyZmVjdCZxdW90OyBzZXBhcmF0aW9uKS48L3A+Cis8aDI+QXJjaGl0ZWN0dXJhbGx5IHNpZ25pZmljYW50IHVzZSBjYXNlczwvaDI+Cis8cD5IaWdoIGxldmVsIHVzZXMgY2FzZSBhcmUgZG9jdW1lbnQgaGVyZSB0byBnaXZlIGEgaGlnaCBsZXZlbCBpZGVhIG9mIHRoZSB3aGF0IHRoaXMgb3ZlcnZpZXcgaXMgbWVhbnQgdG8gY292ZXIuCis8L3A+Cis8cD5bNCB0byA2IG1vcmUgaGlnaCBsZXZlbCB1c2UgY2FzZXMgdG8gYmUgYWRkZWQgbGF0ZXIuXTwvcD4KKzx1bD4KKwk8bGk+Q3JlYXRlIGEgd2ViIGFwcGxpY2F0aW9uLCBpbmNsdWRpbmcgZGVwbG95bWVudCBkZXNjcmlwdG9ycywgSFRNTCwgSlNQLCBhbmQKK0phdmEgZmlsZXMsIGFuZCBydW4gdGhlbSBmcm9tIHRoZSBXVFAtSURFIG9uIGEgbG9jYWwgb3IgcmVtb3RlIHRlc3QKK3NlcnZlci48L2xpPgorPC91bD4KKworPGgyPkFyY2hpdGVjdHVyYWwgVmlld3BvaW50czwvaDI+Cis8cD5UaGUgYXJjaGl0ZWN0dXJlIGlzIGRlc2NyaWJlZCBmcm9tIHNldmVyYWwgcG9pbnRzIG9mIHZpZXcuIEVhY2gKK3BvaW50IG9mIHZpZXcgaGlnaGxpZ2h0cyBwYXJ0aWN1bGFyIGFzcGVjdHMgb2YgdGhlIHN5c3RlbSwgYW5kIGRpZmZlcmVudAorcmVhZGVycyBtYXkgYmUgaW50ZXJlc3RlZCBpbiBvbmUgdmlldyBvdmVyIG90aGVycy4gT3ZlcmFsbCwgdGhvdWdoLCB0aGlzIGRvY3VtZW50IGZvY3VzZXMgb24gZG9jdW1lbnRpbmcgdGhlICZxdW90O21vZGVsLWRyaXZlbiZxdW90OyBhcmNoaXRlY3R1cmUsIG1lYW5pbmcgdGhhdCB0aGUgc3lzdGVtIGlzIGRlc2NyaWJlZCBpbiB0ZXJtcyBvZiB0aGUgbW9kZWwgb2JqZWN0cywgdGhlaXIgcHJvcGVydGllcywgYW5kIGhvdyB0aGV5IGludGVyYWN0IHdpdGggZWFjaCBvdGhlci4gRm9yIGV4YW1wbGUsIGl0cyBub3QgaW50ZW5kZWQgdG8gZG9jdW1lbnQgYW4gZWRpdG9yIGZvciBhIHdlYiByZXNvdXJjZSwgYnV0IHRoYXQgZmFjdCB0aGF0IGl0IGNhbiBiZSBtb2RpZmllZCBieSBjaGFuZ2luZyBzcGVjaWZpYyBtb2RlbHMgaXMgdGhlIGFyY2hpdGVjdHVyYWxseSBpbXBvcnRhbnQgcGFydC4gPC9wPgorCis8YmxvY2txdW90ZT4KKzxoMz5TdGF0aWMgRGV2ZWxvcG1lbnQgc3lzdGVtIFZpZXdwb2ludDwvaDM+Cis8L2Jsb2NrcXVvdGU+Cis8YmxvY2txdW90ZT4KKzxwPlRoaXMgaXMgdGhlIHN5c3RlbSBhcyBpdHMgJnF1b3Q7YWN0aXZlbHkgaWRsZSZxdW90OyAuLi4gdGhhdCBpcywgYQorZGV2ZWxvcGVyIGluIHVzaW5nIGl0IHRvIGNyZWF0ZSBhIHdlYiBhcHBsaWNhdGlvbiwgdXNpbmcgZWRpdG9ycywKK3dpemFyZHMsIHByb3BlcnRpZXMsIGV0Yy4gdG8gY3JlYXRlIGFydGlmYWN0cywgYnV0IGRvZXMgbm90IGluY2x1ZGUKK2FjdHVhbGx5IHJ1bm5pbmcsIGRlYnVnZ2luZywgZGVwbG95aW5nLCBvciBwdWJsaXNoaW5nIGFueXRoaW5nLjwvcD4KKzwvYmxvY2txdW90ZT4KKworPGJsb2NrcXVvdGU+Cis8aDM+UnVuL0RlYnVnIERldmVsb3BtZW50IHZpZXdwb2ludDwvaDM+Cis8L2Jsb2NrcXVvdGU+Cis8YmxvY2txdW90ZT4KKzxwPlRoaXMgdmlldyBwb2ludCBoaWdobGlnaHRzIHRob3NlIGFyZWFzIG9mIHRoZSBzeXN0ZW0gdGhhdCBjb21lIGludG8KK3BsYXkgd2hpbGUgcnVubmluZyBvciBkZWJ1Z2dpbmcgb24gYSB0ZXN0IHNlcnZlciwgdG8gdGVzdCB0aGF0IHRoZQorYXBwbGljYXRpb24gd29ya3MgY29ycmVjdGx5LjwvcD4KKzwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPGgzPkNvbXBvbmVudHMgdmlldyBwb2ludDwvaDM+Cis8L2Jsb2NrcXVvdGU+CisKKzxibG9ja3F1b3RlPgorPHA+VGhpcyB2aWV3IHBvaW50IHNob3dzIHRoZSBzeXN0ZW1zICBhcyAibG9naWNhbCBjb2xsZWN0aW9ucyIsCit0eXBpY2FsbHkgIm93bmVkIiBieSBvbmUgdGVhbSwgdHlwaWNhbGx5IGluIHNhbWUgZ2VvZ3JhcGhpY2FsIGFyZWEuPC9wPgorPC9ibG9ja3F1b3RlPgorCis8YmxvY2txdW90ZT4KKzxwPkluIGFkZGl0aW9uIHRvIHRoZSBsb2dpY2FsIGdyb3VwaW5nLCB0aGUgQ29tcG9uZW50cyB2aWV3IHBvaW50IHdpbGwKK21lbnRpb24gc2lnbmlmaWNhbnQgc3VwcG9ydGluZyBjbGFzc2VzIG9yIHByZS1yZXFzIHdoaWNoIG1pZ2h0IG5vdCBiZQorb2J2aW91cyBmcm9tIHRoZSBvdGhlciB2aWV3IHBvaW50cy48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8aHIgLz4KKzxoMj5TdGF0aWMgRGV2ZWxvcG1lbnQgc3lzdGVtPC9oMj4KKworPGgzPlNlcnZlci9SdW50aW1lIHRhcmdldDwvaDM+Cis8YmxvY2txdW90ZT4KKzxwPlRoZSBzZXJ2ZXIvcnVudGltZSB0YXJnZXQgZGVmaW5lcyB0aGUgcHJvcGVydGllcyBhbmQgcnVudGltZSBjbGFzcworbGlicmFyeSBvZiBhIHBhcnRpY3VsYXIgc2VydmVyLiBUaGVzZSBwcm9wZXJ0aWVzIGFuZCBydW50aW1lIGNsYXNzCitsaWJyYXJ5IGlzIHVzZWQgYnkgdGhlIHdlYiBwcm9qZWN0IHRvIGtub3cgd2hhdCdzIGFwcHJvcHJpYXRlIGZvciB0aGF0Cit3ZWIgcHJvamVjdCwgZ2l2ZW4gY2VydGFpbiBzZXJ2ZXJzLiA8L3A+Cis8L2Jsb2NrcXVvdGU+CisKKzxibG9ja3F1b3RlPgorPHA+VGhpcyBmaWd1cmUgb2YgYSBzaW1wbGlmaWVkIHZpZXcgb2YgdGhlIHNlcnZlciB0YXJnZXQgc2hvd3MgaG93IGl0cyBkZWZpbml0aW9uIGNvbWVzIGZyb20gYW4gRWNsaXBzZSBFeHRlbnNpb24sIGJ1dCB0aGF0IGEgcGFydGljdWxhciBkZWZpbmVkIGluc3RhbmNlIG9mIGEgc2VydmVyIHdvdWxkIGhhdmUgZXh0cmEgaW5mbyBhc3NvY2lhdGVkIChhbmQgc2F2ZWQpIHdpdGggaXQsIHN1Y2ggYXMgd2hlcmUgdGhlIHJ1bnRpbWUgamFycyBhcmUgbG9jYXRlZCBvbiB0aGUgbG9jYWwgZmlsZSBzeXN0ZW0uIFRoZSBydW50aW1lIGphcnMgYXJlIG5lZWRlZCBmb3IgJnF1b3Q7c3RhdGljIGRldmVsb3BtZW50JnF1b3Q7LCBidXQgb2YgY291cnNlIHRoZSAmcXVvdDtyZWFsJnF1b3Q7IHJ1bnRpbWUgamFycyBhcmUgdXNlZCB3aGVuIHRoZSBzZXJ2ZXIgaXMgcmFuLiA8L3A+Cis8cD48aW1nIHRpdGxlPSJUYXJnZXQgU2VydmVyIEluc3RhbmNlIiBzcmM9ImltYWdlcy9zZXJ2ZXIucG5nIiB3aWR0aD0iNTY2IiBoZWlnaHQ9IjI0NiIgbmFtZT0iU2VydmVyVGFyZ2V0SW5zdGFuY2UiIGFsdD0iU2VydmVyVGFyZ2V0SW5zdGFuY2UiLz48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8aDM+V2ViUHJvamVjdCBhbmQgV2VibmF0dXJlPC9oMz4KKworPGJsb2NrcXVvdGU+Cis8cD5UaGUgV2ViUHJvamVjdCBhbmQgV2ViTmF0dXJlIGRlc2NyaWJlcyBob3cgYW5kIHdoZXJlIHZhcmlvdXMgZGVwbG95bWVudCBhcnRpZmFjdHMgKHJlc291cmNlcyBzdWNoIGFzIHdlYi54bWwgZmlsZXMsIGV0Yy4pIGFyZSBzdG9yZWQsIGFuZCBvdGhlciBpbmZvcm1hdGlvbiB0aGF0J3MgaW1wb3J0YW50IGF0ICZxdW90O2RldmVsb3BtZW50IHRpbWUmcXVvdDsgc3VjaCBhcyB0aGUgaW50ZW5kZWQgdGFyZ2V0IHNlcnZlci4gPC9wPgorPC9ibG9ja3F1b3RlPgorCis8YmxvY2txdW90ZT4KKzxwPkl0cyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZSBhY3R1YWwgZGVwbG95bWVudCBkZXNjcmlwdG9yIGZvciBhIHdlYgorYXBwLCBuYW1lbHkgd2ViLnhtbCwgaXMsIGluIG91ciBzeXN0ZW0sIGNvbmNlcHR1YWxseSBqdXN0IGEgc2VyaWFsaXplZAorZm9ybSBvZiB0aGUgd2ViIGFwcCBtb2RlbC4gVGhpcyBpcyBhIGZyZXF1ZW50IHBhdHRlcm4gdGhvdWdoIG91dCB0aGUgZnJhbWV3b3JrLiBBbmQsIG9mIGNvdXJzZSwgdGhlIHdlYi54bWwgZmlsZSBpcyBzdGlsbCBzdGFuZGFyZCwgY2FuIHN0aWxsIGJlIGRlcGxveWVkIGFzIHVzdWFsLCBldGMuIE9mIGNvdXJzZSwgdGhlcmUgaXMgb2NjYXNpb25zIHdoZW4gdGhlcmUgaXMgZXh0cmEgaW5mb3JtYXRpb24gd2UnZCBsaWtlIHRvIGtlZXAgdHJhY2sgb2YgZHVlIHRvIGJlaW5nIGluIGFuIElERSBlbnZpcm9pbm1lbnQgdGhhdCBpcyBub3QgcmVhbGx5IHBhcnQgb2YgdGhlIHN0YW5kYXJkIGRlcGxveW1lbnQgZGVzY3JpcHRvciwgc28gdGhhdCBpcyB3cml0dGVuIHRvIHNvbWUgbWV0YSBkYXRhIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9qZWN0LiBUaGVzZSByZWxhdGlvbnNoaXBzIGFyZSBzaG93biBpbiB0aGUgZm9sbG93aW5nIGZpZ3VyZS4gPGJyIC8+Cis8YnIgLz4KKzxpbWcgc3JjPSJpbWFnZXMvd2ViQXBwQW5kU2VydmVyVGFyZ2V0LnBuZyIgd2lkdGg9IjY0NSIgaGVpZ2h0PSIyNDYiIC8+Cis8L3A+Cis8L2Jsb2NrcXVvdGU+Cis8aDM+V2ViIHJlc291cmNlcyAoaHRtbCwganNwLCB4bWwgZmlsZXMsIGV0YykuPC9oMz4KKworPGJsb2NrcXVvdGU+Cis8cD5UaGUgbWFpbiBtb2RlbCBvYmplY3QgdXNlZCB0byBtYW5pcHVsYXRlIHdlYiByZXNvdXJjZXMgYXJlIGEKK1N0cnVjdHVyZWRNb2RlbCBhbmQgYSBTdHJ1Y3R1ZWREb2N1bWVudC4gWE1MLCBKU1AsIGFuZCBIVE1MIGFsbCBoYXZlIGEKK3NwZWNpYWwgRE9NIE1vZGVsIGFzc29jaWF0ZWQgd2l0aCB0aGVtLiBEVEQgYW5kIENTUyBoYXZlIHNpbWlsYXIKK0RPTS1saWtlIG1vZGVscyBhc3NvY2lhdGVkIHdpdGggdGhlbSwgYnV0IHRlY2huaWNhbGx5IGRvbid0IG1lZXQgdGhlIERPTQorc3BlYy4gKERURCBpcyB2ZXJ5IGNsb3NlLCBDU1MgaXMgbW9yZSBsaWtlIGEgbGlzdCBvZiBub2RlcywgcmF0aGVyIGNhbiBhCitoaWVyYWNoZXkgb2Ygbm9kZXMpLiBUaGUgU3RydWN0dXJlZERvY3VtZW50IGlzIHZlcnkgc2ltaWxhciB0byB0aGUKK0lEb2N1bWVudCBpbnRlcmZhY2UsIGFuZCBqdXN0IGFkZHMgc29tZSBzcGVjaWFsaXplZCBldmVudHMgdG8gbWFrZQoraW5jcmVtZW50YWwgdXBkYXRlcyBwb3NzaWJsZS4gVGhlIGZvbGxvd2luZyBmaWd1cmUgc2hvd3MgdGhlc2UgcmVsYXRpb25zaGlwcyBhcyB0aGV5IG1pZ2h0IGJlIHdoaWxlIGVkaXRpbmcgYSB3ZWIueG1sIHJlc291cmNlLjxiciAvPgorPGltZyBzcmM9ImltYWdlcy9Nb2RlbEVkaXRpbmcucG5nIiB3aWR0aD0iNjY4IiBoZWlnaHQ9IjIzNiIgLz4KKzxiciAvPgorPC9wPgorPC9ibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+PHA+PC9wPgorPHA+SSBob3BlIHRoZSBjYXJlZnVsIHJlYWRlciBpcyB3b25kZXJpbmcgd2hhdCBoYXBwZW5zIGlmIHRoZSB3ZWIgYXBwIG1vZGVsIGFuZCB0aGUgRE9NIE1vZGVsIGJvdGggd2FudCB0byB1cGRhdGUgdGhlIHdlYi54bWwgdGV4dC4gVGhlcmUncyBjZXJ0YWlubHkgdGhlIHVzdWFsICZxdW90O3Jlc291cmNlIGNoYW5nZWQmcXVvdDsgbGlzdGVuZXJzIHRoYXQgYXJlIGNvbW1vbiBpbiBFY2xpcHNlIHRvIGhlbHAgdGhpbmdzIGtlZXAgaW4gc3luY2gsIGJ1dCBzb21ldGltZXMgY2hhbmdlcyBhcmUgZGVzaXJlZCBmcm9tIG9uZSBzb3VyY2Ugb3IgdGhlIG90aGVyIHdpdGhvdXQgYWN0dWFsbHkgc2F2aW5nIHRoZSByZXNvdXJjZS4gVGhpcyBsZWFkcyB0byBhbm90aGVyIHR5cGNpYWwgcGF0dGVybiB1c2VkIGluIG91ciBzeXN0ZW1zLCB0aGF0IG9mIG1vZGVsLXRvLW1vZGVsIGFkYXB0ZXJzLCBhcyBzaG93biBpbiB0aGUgZm9sbG93aW5nIGZpZ3VyZS4gPGltZyBzcmM9ImltYWdlcy9tb2RlbFRvTW9kZWwucG5nIiB3aWR0aD0iNzY2IiBoZWlnaHQ9IjM4MyIgLz4KKzwvcD4KKzwvYmxvY2txdW90ZT4KKzxoMz5EYXRhYmFzZSBNb2RlbDwvaDM+Cis8YmxvY2txdW90ZT4KKzxwPlttb3JlIHRvIGJlIHByb3ZpZGVkIGxhdGVyXTwvcD4KKzwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPHA+TW9kZWxzIGZvciBkYXRhYmFzZXMsIGNvbm5lY3Rpb25zLCB0YWJsZXMsIGV0Yy48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8aDM+RGF0YWJhc2UgUXVlcmllczwvaDM+Cis8YmxvY2txdW90ZT4KKzxwPlttb3JlIHRvIGJlIHByb3ZpZGVkIGxhdGVyXTwvcD4KKzwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPHA+U1FMIE1vZGVsIGJhc2VkIG9uIFNRTC05OSBTdGFuZGFyZC4gVXNlcy9kZXBlbmRzIG9uIEVNRi48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8aDM+V2ViU2VydmljZXM8L2gzPgorPGJsb2NrcXVvdGU+Cis8cD5bbW9yZSB0byBiZSBwcm92aWRlZCBsYXRlcl08L3A+Cis8L2Jsb2NrcXVvdGU+PGhyIC8+Cis8aDI+UnVuL0RlYnVnIERldmVsb3BtZW50IHZpZXdwb2ludDwvaDI+CisKKzxibG9ja3F1b3RlPgorPHA+PGI+W09idmlvdXNseSAuLi4gdGhpcyBzZWN0aW9uIGlzIHZlcnkgaW5jb21wbGV0ZSAuLi4uIG1vcmUgdG8gY29tZSAuLi4gaWYgZGVlbWVkIGltcG9ydGFudCwgYW5kIGlmIHRoZXJlJ3MgdGltZSwgd2hpY2ggSSBvbmx5IHNheSBzaW5jZSBpdCBjb3VsZCBiZSBvbmUgb2YgdGhlIG1vcmUgY29tcGxpY2F0ZWQgdG8gZG9jdW1lbnQgdXNlZnVsbHldPC9iPjwvcD4KKzwvYmxvY2txdW90ZT4KKzxoND5TZXJ2ZXIgKHByb3h5KTwvaDQ+Cis8YmxvY2txdW90ZT4KKzxwPlRoaXMgc2VydmVyIG9iamVjdCBkaWZmZXJzIHNvbWUgZnJvbSB0aGUgc2VydmVyL3J1bnRpbWUgdGFyZ2V0LCBpbgordGhhdCBpdCBhY3R1YWxseSBjb250cm9scyB0aGUgJnF1b3Q7cnVubmluZyZxdW90OyBvbiB0aGUgc2VydmVyLiBJbiB0aGUKK3N0YW5kYXJkIChjb250cmlidXRlZCkgY2FzZSwgdGhpcyBzZXJ2ZXIgZGVwZW5kcyBvbiBhCismcXVvdDtzdGFuZGFyZCZxdW90OyBFY2xpcHNlIHByb2plY3QgbGF5b3V0LiAoQSBmdXR1cmUgd29yayBpdGVtIGlzIHRvCithbGxvdyBtb3JlIGZsZXhpYmxlIHByb2plY3Qgc3RydWN0dXJlcy4pPC9wPgorPC9ibG9ja3F1b3RlPgorPGg0PlRDUElQIE1vbml0b3I8L2g0PgorPGJsb2NrcXVvdGU+Cis8cD5JdHMgcHJvYmFibHkgd29ydGggbm90aW5nIHRoYXQgdGhlIFRDUElQIG1vbml0b3IgYWN0dWFsbHkgc2V0dXBzIGEKKyZxdW90O3Byb3h5JnF1b3Q7IHNlcnZlciwgdG8gbW9uaXRvciB0cmFmZmljIHRvIGFuZCBmcm9tIHRoZSB0ZXN0IHNlcnZlcgorKGl0IGNhbiBub3QgbW9uaXRvciB0cmFmZmljIGZyb20gYW55IGFyYml0cmFyeSBzZXJ2ZXIpLi48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8aHIgLz4KKzxoMj5Db21wb25lbnRzIHZpZXcgcG9pbnQ8L2gyPgorPHA+W0VkaXRvcnMgbm90ZTogaXQgaXMgaW4gdGhpcyBzZWNpdG9uIEknZCBsaWtlIHRvIChpbiB0aGUgbG9uZyBydW4pIGhhdmUgbGlua3MgdG8gdGhlIHNwZWNmaWMgY29tcG9uZW50cyBkZXNpZ24gYW5kIEFQSSBkb2N1bWVudGF0aW9uLl08L3A+Cis8cD5EZWZpbnRpb24gb2YgdGVybXMgW29wZW4gdG8gZGViYXRlXTogSSd2ZSB0cmllZCB0byB1c2UgPGk+U3Vic3lzdGVtPC9pPiB3aGljaCBzZWVtcyB0aGUgdGVybSB0aGUgPGEKKwlocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvRWNsaXBzZSUyMERldmVsb3BtZW50JTIwUHJvY2VzcyUyMDIwMDNfMTFfMDklMjBGSU5BTC5wZGYiPkVjbGlwc2UKK0RldmVsb3BtZW50IFByb2Nlc3M8L2E+IHVzZXMgdG8gZGVub3RlIGEgbGFyZ2UsIGxvZ2ljYWxseSByZWxhdGVkIHNldCBvZiBjb21wb25lbnRzLCB3aGljaCBhcmUgZmFpcmx5IG5kZXBlbmRlbnQgb2Ygb3RoZXIgc3Vic3lzdGVtcywgYXQgbGVhc3QgY29uY2VwdHVhbGx5LiBJJ3ZlIHVzZWQgdGhlIHRlcm0gPGk+Q29tcG9uZW50PC9pPiB0byBtZWFuIHRoYXQgcGFydCBvZiBhcyBzdWJzeXN0ZW0gdGhhdCBjb25jZXB0dWFsbHkgaGFzIG1lYW5pbmcgYnkgaXRzZWxmLCBhbmQgd2hpY2ggd291bGQgYmUgcmVjb2duaXplZCBvciBzZWVuIGJ5IGFuIGVuZC11c2VyIGFzICZxdW90O3BhcnQgb2YgdGhlIHN5c3RlbSZxdW90OyBhbmQgaWRlbnRpZmlhYmxlIHdpdGggc29tZSBzdGFuZGFyZCBvciBzcGVjaWZpY2F0aW9uLiBTdWItY29tcG9uZW50IGlzIHNpbWlsYXIsIGJ1dCBtYXliZSBoaWdobHkgcmVsYXRlZCB0byBvdGhlciBjb21wb25lbnRzIChkdWUgdG8gcmUtdXNlKSBidXQgd2hpY2ggaXMgdHlwaWNhbGx5IHRyYW5zcGFyZW50IHRvIHRoZSBlbmQtdXNlci4gPC9wPgorPGgyPlN1YnN5c3RlbTogU2VydmVyLXRvb2xzPC9oMj4KKworCisKKzxibG9ja3F1b3RlPgorPGg0PldTVCBDb21wb25lbnQ6IFNlcnZlciBGcmFtZXdvcms8L2g0PgorPC9ibG9ja3F1b3RlPjxibG9ja3F1b3RlPgorPHA+VGhpcyBmcmFtZXdvcmsgaGFuZGxlcyBkZWZpbml0aW9uIG9mIGFueSAob3IsIGF0IGxlYXN0IG1hbnkpIHNlcnZlcnMKK2FuZCBzZXJ2ZXIgdHlwZXMsIGJ1dCB0aGUgYWN0dWFsIHNlcnZlciBzdXBwb3J0IGlzIHByb3ZpZGVkIGluCitzdWJjb21wb25lbnRzLjwvcD4KKzwvYmxvY2txdW90ZT4KKworCisKKzxibG9ja3F1b3RlPgorPGg0PldTVCBDb21wb25lbnQgliBIVFRQIHN0YW5kYXJkIHNlcnZlciB0b29sczwvaDQ+Cis8L2Jsb2NrcXVvdGU+Cis8YmxvY2txdW90ZT4KKzxoND5XU1QgQ29tcG9uZW50IC0gSW50ZXJuZXQgIChCdWlsdCBpbiBCcm93c2VyLCB0Y3BpcCBtb250aW9yLAorUHJveHkgcHJlZmVyZW5lcyk8L2g0PgorPC9ibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+Cis8aDQ+SlNUIENvbXBvbmVudCCWIHRvbWNhdCBzdGFuZGFyZCBzZXJ2ZXIgdG9vbHM8L2g0PgorPC9ibG9ja3F1b3RlPgorCis8aDI+U3Vic3lzdGVtOiBXZWIgUmVzb3VyY2VzIDwvaDI+CisKKzxibG9ja3F1b3RlPgorPHA+VGhpcyBmcmFtZXdvcmsgaXMgdXNlZCBmb3IgZGVwbG95bWVudCBkZXNjcmlwdG9ycyAoWE1MIHNvdXJjZSkgW05vdGU6CitubyBzcGVjaWFsIGRlcGxveW1lbnQgZWRpdG9ycyBhcmUgaW4gY3VycmVudCBjb250cmlidXRpb24sIHNvIHRoZXkgYXJlCitqdXN0IHRyZWF0ZWQgYXMgeG1sIGZpbGVzLiBBbmQsIG9mIGNvdXJzZSwgdHJ1ZSB3ZWIgcmVzb3VyY2VzIChYTUwsCitIVE1MLCBYSFRNTCwgQ1NTLCBKYXZhU2NyaXB0KS4gPC9wPgorPC9ibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+Cis8aDQ+V1NUIENvbXBvbmVudCCWIFN0cnVjdHVyZWQgU291cmNlIEVkaXRvcnMgZnJhbWV3b3JrPC9oND4KKzwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPHA+VGhlIHByaW1hcnkgcHVycG9zZSBvZiBleHRlbmRlZCB0aGUgYmFzZSB0ZXh0IGVkaXRpbmcgc3VwcG9ydCBpcyB0bworcHJvdmlkZSBzcGVjaWFsaXplZCBtb2RlbHMgYW5kIGV2ZW50cyB3aGljaCBjYW4gbGVhZCB0byBiZXR0ZXIKK3BlcmZvcm1hbmNlLCBhbmQgZWFzaWVyIGludGVyYWN0aW9uIGJldHdlZW4gb3RoZXIgbW9kZWxzLiBJbiBwYXJ0aWN1bGFyLAoraXRzIHRob3VnaHQgdGhlIG1vc3QgdXNlZCBtb2RlbCBpbiB0aGlzIGZyYW1ld29yayB3aWxsIGJlIHRoZSBET00gbW9kZWwsCit3aGljaCBpbXBsZW1lbnRzIERPTSBMZXZlbCAyIEFQSXMgYnV0IGlzIGEgJnF1b3Q7Y3VzdG9tJnF1b3Q7CitpbXBsZW1lbnRhdGlvbiwgd2hpY2ggY2FuIDEuIGhhbmRsZSBpbGwgZm9ybWVkIG1hcmt1cCAoYXMgaXQgYWx3YXlzIGlzCitkdXJpbmcgZWRpdGluZykgMi4gY2FuIGJlIGRvbmUgaW5jcmVtZW50YWxseSAoYXMgb3Bwb3NlZCB0bworJnF1b3Q7YmF0Y2gmcXVvdDsgcHJvY2Vzc2luZywgYXMgbW9zdCBET00gcGFyc2VycyBkbyksIGFuZCAzLiBwcm92aWRlcyBhCitmZXcgJnF1b3Q7ZXh0cmEmcXVvdDsgQVBJcyB0aGF0IG1ha2UgdGhlIERPTSBtb3JlIHN1aXRhYmxlIGZvciB1c2UgaW4KK3Rvb2xzLiBOb3RlOiB0aGUgSmF2YVNjcmlwdCBlZGl0b3IgZG9lcyBub3QgbWFrZSB1c2Ugb2YgJnF1b3Q7U3RydWN0dXJlZAorU291cmNlIEVkaXRvciZxdW90OyBtb2RlbHMgYW5kIHRoZXJlIGlzIG5vICZxdW90O0phdmFTY3JpcHQmcXVvdDsgbW9kZWwKK3RvIGludGVyYWN0IHdpdGggLi4uIHRoYXQgaW50ZXJhY3Rpb24gaXMgYWxsIGRvbmUgYXQgYSBkb2N1bWVudCBsZXZlbC48L3A+Cis8L2Jsb2NrcXVvdGU+CisKKworCis8YmxvY2txdW90ZT4KKzxoND5KU1QgQ29tcG9uZW50IJYgSlNQcyAoZWRpdGluZywgbWVudXMsIHdpemFyZHMsIGluZGV4aW5nLCByZWZhY3Rvcm9pbmcsIGV0Yy4pPC9oND4KKzwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPHA+SW4gb3VyIGZyYW1ld29yaywgSlNQJ3MgYXJlIHRyZWF0ZWQgYXMgYSAmcXVvdDttYXJrZWQgdXAmcXVvdDsKK2RvY3VtZW50LiBUZWNobmljYWxseSB0aGlzIGlzIG5vdCByZXF1aXJlZCBieSB0aGUgSlNQIFNwZWNpZmljYXRpb24sIGJ1dAoraW4gcHJhY3RpY2Ugc2VlbXMgdG8gYmUgdGhlIGNvbW1vbiAobWF5YmUgb25seSEpIGNhc2UuIFRoaXMgYWxsb3dzCitpbnRlcmFjdGlvbiB3aXRoIHRoZSBET00gbW9kZWwgb2YgdGhlIEpTUCB0byBtb2RpZnkgaXQsIHNlYXJjaCBpdCwgZXRjLgorPC9wPgorPC9ibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+Cis8aDQ+V1RQIENvbXBvbmVudCCWIEhUTUwgKGVkaXRpbmcsIG1lbnVzLCB3aXphcmRzLCBpbmRleGluZywKK3JlZmFjdG9yb2luZywgZXRjLik8L2g0PgorPC9ibG9ja3F1b3RlPgorCis8YmxvY2txdW90ZT4KKzxoND5XVFAgQ29tcG9uZW50IJYgQ1NTIChlZGl0aW5nLCBtZW51cywgd2l6YXJkcywgaW5kZXhpbmcsCityZWZhY3Rvcm9pbmcsIGV0Yy4pPC9oND4KKzwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPGg0PldUUCBDb21wb25lbnQgliBKYXZhU2NyaXB0IChlZGl0aW5nLCBtZW51cyk8L2g0PgorPC9ibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+Cis8aDQ+V1NUIFN1YmNvbXBvbmVudCCWIFhNTCBiYXNlIHRvb2xzIChVUkkgUmVzb2x2ZXJzLCBDb250ZW50TW9kZWxzLCBYTUwgYW5kIFNjaGVtYSBWYWxpZGF0aW9uKTwvaDQ+Cis8L2Jsb2NrcXVvdGU+CisKKzxibG9ja3F1b3RlPgorPHA+TWFueSBmdW5jdGlvbnMgcmVsYXkgb24gc29tZSAmcXVvdDtsb3cgbGV2ZWwmcXVvdDsKK21vZGVscywgd2hpY2ggYXJlIGltcG9ydGFudCBlbm91Z2ggdG8gY2FsbCBvdXQgZm9yIHNwZWNpYWwgYXR0ZW50aW9uLgorVVJJIFJlc29sdmVycyBhcmUgY3JpdGljYWwgaW4gY29ycmVjdGx5ICZxdW90O2ZpbmRpbmcmcXVvdDsgcmVsYXRlZAorcmVzb3VyY2VzIGluIGEgd2ViIHByb2plY3QsIGFuZCAmcXVvdDtjb250ZW50IG1vZGVscyZxdW90OyBhcmUgdXNlZCB0bworZGVmaW5lIHRoZSAmcXVvdDtsZWdhbCBjb250ZW50JnF1b3Q7IG9mIFhNTCwgU2NoZW1hLCBUTERzLCBIVE1MLCBhbmQgSlNQcy4KK1RoZXNlIGNvbnRlbnQgbW9kZWxzIGFsc28gaGF2ZSBiZWhhdmlvciBhbmQgZXh0ZW5zaW9uIHBvaW50cyB0byBhbGxvdyAmcXVvdDtleHRyYSBkYXRhJnF1b3Q7IHRvIGJlCithc3NvY2lhdGVkLCBzdWNoIGFzIHRoZSBpbmZvcm1hdGlvbiB1c2VkIGluICZxdW90O2hvdmVyIGhlbHAmcXVvdDsuCitJbmNsdWRlcyBVUkkgUmVzb2x2ZXJzLCBDb250ZW50TW9kZWwgSW50ZXJmYWNlIChhbmQgaW1wbGVtZW50YXRpb24gZm9yCitmb3IgRFREcyBhbmQgU2NoZW1hcykuIFRoaXMgcHJvamVjdCBzdWJjb21vbmVudCBhbHNvIHByb3ZpZGVzIHByb2plY3QtYmFzZWQgdmFsaWRhdGlvbiBvZiBYTUwgZmlsZXMuIC0tIE9uZSBpdGVtIGZvciB0aGUgZnV0dXJlIGlzIHRoYXQgdGhpcyBjb21wb25lbnQgbWF5IHJlbGF5IG9uIFhlcmNlcywgc28gbWFrZSB1c2Ugb2YgaXRzIFhNSSBpbnRlcmFjZSwgdG8gcHJvdmlkZWQgYmV0dGVyIGluZm9ybWF0aW9uIGluIHZhbGlkYXRpb24gZXJyb3JzIGFuZCB3YXJuaW5ncy4gVGhlIFhlcmNlcyBkZXBlbmRhbmN5IGlzIGN1cnJlbnRseSBpbnRlbnRpb25hbGx5IGFuICZxdW90O2ludGVybmFsJnF1b3Q7IGRlcGVuZGFuY3ksIG5vdCBzaGFyZWQgYW1vdW50IHRoZSBwcm9qZWN0LiBUaGlzIHN1YmNvbXBlbnQgaGFzIGRlcGVuZGFuY3kgb24gRU1GLjwvcD4KKzwvYmxvY2txdW90ZT4KKworCisKKzxoMj5TdWJTeXN0ZW06IFdlYiBBcHBsaWNhdGlvbnMgYW5kIFByb2plY3RzPC9oMj4KKworCisKKzxibG9ja3F1b3RlPgorPGg0PldTVCBTdWJjb21wb25lbnQgliBDb21tb24gQXJjaGl2ZSBGcmFtZXdvcms8L2g0PgorPC9ibG9ja3F1b3RlPgorCisKKworPGJsb2NrcXVvdGU+Cis8YmxvY2txdW90ZT4KKzxwPkhhbmRsZXMgbG9hZGluZy9zdG9yaW5nIGFyY2hpdmVzIHVzaW5nIHBsdWdnYWJsZSBzdHJhdGVnaWVzPC9wPgorPC9ibG9ja3F1b3RlPgorPC9ibG9ja3F1b3RlPgorCis8YmxvY2txdW90ZT4KKzxoND5XU1QgU3ViY29tcG9uZW50IJYgUHJvamVjdCBTdXBwb3J0PC9oND4KKzwvYmxvY2txdW90ZT4KKworPGJsb2NrcXVvdGU+Cis8YmxvY2txdW90ZT4KKzxwPkltcG9ydC9FeHBvcnQvQ3JlYXRpb24gU3VwcG9ydDwvcD4KKzwvYmxvY2txdW90ZT4KKzwvYmxvY2txdW90ZT4KKworCis8YmxvY2txdW90ZT4KKzxoND5XU1QgU3ViY29tcG9uZW50IJYgQ29tbW9uIE5hdmlnYXRvcjwvaDQ+Cis8L2Jsb2NrcXVvdGU+CisKKworCis8YmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPHA+RXh0ZW5zaWJsZSBmcmFtZXdvcmsgdGhhdCBwcm92aWRlcyBjb250ZW50IHRvIHJlc291cmNlcyBpbiB3b3JrYmVuY2g8L3A+Cis8L2Jsb2NrcXVvdGU+Cis8L2Jsb2NrcXVvdGU+CisKKworCisKKworPGgyPlN1YlN5c3RlbTogSjJFRSBBcHBsaWNhdGlvbnMgYW5kIFByb2plY3RzPC9oMj4KKworCisKKworPGJsb2NrcXVvdGU+Cis8aDQ+SlNUIFN1YmNvbXBvbmVudCCWIEoyRUUgUmVzb3VyY2VzPC9oND4KKzwvYmxvY2txdW90ZT4KKworCisKKzxibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+Cis8cD5FTUYgYmFzZWQgbW9kZWxzPC9wPgorPC9ibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+Cis8cD5BbHNvIGRlcGVuZHMgb24gSkVNIHBhY2thZ2UuPC9wPgorPC9ibG9ja3F1b3RlPgorPC9ibG9ja3F1b3RlPgorCisKKworPGJsb2NrcXVvdGU+Cis8YmxvY2txdW90ZT4KKzxwPlByb3ZpZGVzIHNwZWNpYWxpemVkIEoyRUUgRU1GIFJlc291cmNlIGhhbmRsaW5nPC9wPgorPC9ibG9ja3F1b3RlPgorPC9ibG9ja3F1b3RlPgorCisKKworCis8aDI+U3ViU3lzdGVtOiBEYXRhYmFzZTwvaDI+Cis8YmxvY2txdW90ZT4KKzxoND5Db21wb25lbnQ6IERhdGEgVG9vbHM8L2g0PgorPC9ibG9ja3F1b3RlPgorCis8YmxvY2txdW90ZT4KKzxoND5Db21wb25lbnQ6IFNRTCc5OSBUb29scyBhbmQgbW9kZWxzPC9oND4KKzwvYmxvY2txdW90ZT4KKzxoMj5TdWJTeXN0ZW06IFdlYnNlcnZpY2VzPC9oMj4KKzxibG9ja3F1b3RlPgorPGg0PldUUCBDb21wb25lbnQgV1NJPC9oND4KKzwvYmxvY2txdW90ZT4KKzxibG9ja3F1b3RlPgorPGg0PldUUCBDb21wb25lbnQgV1NETDwvaDQ+Cis8L2Jsb2NrcXVvdGU+Cis8YmxvY2txdW90ZT4KKzxoND5XVFAgQ29tcG9uZW50IFdTIE1vZGVscyAoc29hcCwgdWRkaSwgd3NpbCk8L2g0PgorPC9ibG9ja3F1b3RlPgorCis8aDI+U3ViU3lzdGVtOiBYTUwgYW5kIFNjaGVtYXM8L2gyPgorPGJsb2NrcXVvdGU+Cis8aDQ+V1RQIENvbXBvbmVudDogWE1MIFZhbGlkYXRpb248L2g0PgorPGg0PldUUCBDb21wb25lbnQ6IFhNTC9TY2hlbWEgR2VuZXJhdGlvbjwvaDQ+Cis8cD5Qcm92aWRlcyAmcXVvdDtleHRyYXMmcXVvdDsgdG8gc3RhbmRhcmQgc291cmNlIGVkaW50aW5nLCB0aGUgYWJpbGl0eSB0byBnZW5lcmF0ZSBhbmQgeG1sIGluc3RhbmNlIGZpbGUgZnJvbSBhIERURCBvciBTY2hlbWEgaXMgb25lIG9mIHRoZSBjb29saXN0LiA8L3A+Cis8L2Jsb2NrcXVvdGU+Cis8aDI+U3ViU3lzdGVtOiBXZWIgVG9vbGluZyBDb21tb24gQmFzZTwvaDI+CisKKworCis8YmxvY2txdW90ZT4KKzxwPlRoZXNlIGFyZSB0b29scyBhbmQgZnJhbWV3b3JrcyByZXF1aXJlZCBieSBtdWx0aXBsZSBoaWdoZXIgbGV2ZWwKK2NvbXBvbmVudHMsIHdoaWNoIG11c3QgYmUgYXQgbG93IGxldmVsIGluIHRoZSCTc3RhY2uUIG9mIGNvbXBvbmVudHMgdG8KK2JlIHNoYXJlZCwgb3IsIHdpdGggY2FyZWZ1bCByZXZpZXcsIGNvbW1vbiB1dGlsaXRpZXMuPC9wPgorPC9ibG9ja3F1b3RlPgorCisKKworPGJsb2NrcXVvdGU+Cis8aDQ+V1RQIENvbXBvbmVudCAtIFZhbGlkYXRpb24gRnJhbWV3b3JrPC9oND4KKzwvYmxvY2txdW90ZT4KKworCisKKzxibG9ja3F1b3RlPgorPGJsb2NrcXVvdGU+Cis8cD5TcGVjaWFsIEVjbGlwc2UgYnVpbGRlciwgdGhhdCBhbGxvd3MgdmFsaWRhdGlvbiBvZiByZXNvdXJjZXMuCitUeXBpY2FsbHksIGhpZ2hlciBsZXZlbCBjb21wb25lbnRzIHByb3ZpZGUgZXh0ZW5zaW9ucyB0byB0aGlzIGZyYW1ld29yawordG8gaGFuZGxlIHZhbGlkYXRpbmcgdGhlaXIgcGFydGljdWxhciBtb2RlbHMgYW5kIHJlc291cmNlcywgc3VjaCBhcyBYTUwsCitFSkJzLCBldGMuPC9wPgorPC9ibG9ja3F1b3RlPgorPC9ibG9ja3F1b3RlPgorPGgxPlBvaW50ZXJzIHRvIHByZXJlcXVpc3RlIHByb2plY3RzPC9oMT4KKzxwPkluIGFkZGl0aW9uIHRvIHRoZSBiYXNlIEVjbGlwc2UsIHRoZSBmb2xsb3dpbmcgcHJvamVjdHMvcGFja2FnZXMgYXJlIHByZXJlcXVpc3RlcyBvZiB0aGUgV2VidG9vbGluZyBQbGF0Zm9ybS4gPC9wPgorPGgyPkVNRjwvaDI+Cis8cD5FTUYsIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZW1mLyIgdGFyZ2V0PSJfdG9wIj5FY2xpcHNlIE1vZGVsaW5nIEZyYW1ld29yazwvYT4sIGlzIGEgd2F5IHRvIGRlZmluZSBtZXRhIG1vZGVscywgYW5kIHRoZW4gaW5zdGFudGlhdGUgc3BlY2lmaWMgaW5zdGFuY2VzIG9mIHRob3NlIG1vZGVscy4gSXRzIHBhcnRpY3VsYXJseSBmYW1vdXMgZm9yIGJlaW5nIHVzZWZ1bCB0byBtYWludGFpbiBtb2RlbHMgYWNyb3NzIG11bHRpcGxlIHByb2R1Y3RzLCBlc3BjaWFsbHkgd2hlbiB0aGUgbW9kZWwgbWF5IGNoYW5nZSBmcm9tIG9uZSByZWxlYXNlIHRvIGFub3RoZXIgKHRoZSB3YXkgdGhhdCBkZXBsb3ltZW50IGRlc2NyaXB0b3JzIGFuZCBKMkVFIHNwZWNzIGNoYW5nZSBmcm9tIHZlcmlzb24gdG8gdmVyc2lvbi4gPC9wPgorPGgyPkdFRjwvaDI+Cis8cD5HRUYsIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZ2VmLyIgdGFyZ2V0PSJfdG9wIj5HcmFwaGljYWwgRWRpdGluZworRnJhbWV3b3JrPC9hPiwgaXMgYSBmcmFtZXdvcmsgJnF1b3Q7b24gdG9wJnF1b3Q7IG9mIFNXVCB0aGF0IG1ha2VzIGl0IGVhc2llciB0byBkZXZlbG9wIHNvcGhpc3RvY2F0ZWQsIGhpZ2hseSBjdXN0b21pemFibGUgdXNlciBpbnRlcmZhY2VzIHRoYXQgZ28gYmV5b25kIHR5cGljYWwgd2lkZ2V0cyAoSSBiZWxpZXZlIHdlIG9ubHkgdXNlIHRoaXMgaW4gb3VyIHNuaXBwZXRzIHZpZXcsIHN1YnVpbGRlciwgYW5kIHNjaGVtYSBlZGl0b3IgLS0gdGhvdWdoIHRoZXJlJ3MgYmVlbiBzb21lIGRpc2N1c3Npb25zIG9mIHVzaW5nIGl0IHdpdGggWE1MIGVkaXRvciBpbiB0aGUgZnV0dXJlKS4gLjwvcD4KKzxoMj5KRU0gUGFja2FnZTwvaDI+Cis8cD5UaGUgSkVNIHBhY2thZ2UsIEphdmEgRU1GIE1vZGVsLCBpcyBhY3R1YWxseSBwYXJ0IG9mIHRoZSA8YQorCWhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvdmVwLyIgdGFyZ2V0PSJfdG9wIj5WRSBQcm9qZWN0PC9hPi4gVGhlIFZFIHRlYW0gaGFzIHJlY2VudGx5IG1hZGUgaXQgYXZhaWxhYmxlIGFzIHNlcGVyYXRlIGRvd25sb2FkIGZyb20gdGhlaXIgPGEKKwlocmVmPSJodHRwOi8vZG93bmxvYWQuZWNsaXBzZS5vcmcvdG9vbHMvdmUvZG93bmxvYWRzL2Ryb3BzL1MtMS4wTTItMjAwNDA3MzAxNDEwL2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+VkUKK2J1aWxkIHBhZ2VzPC9hPi4gSW4gYWRkaXRpb24gdG8gYWxsb3dpbmcgZWFzaWVyIGludGVyYWN0aW9uIHdpdGggb3RoZXIgRU1GIG1vZGVscywgaXQgYWxzbyBpbmNvcnBvcmF0ZXMgQmVhbkluZm8gaW50byBpdHMgbW9kZWxzIChub3QganVzdCByZWZsZWN0aW9uKS4gV2UgdXNlIGl0IGluIGNvbm5lY3Rpb24gdG8gb3VyIEoyRUUgRU1GLWJhc2VkIG1vZGVscy4gRnJvbSB3aGF0IEkgaGVhciwgdGhlcmUncyBubyBJU1YgZG9jdW1lbnRhdGlvbiBmb3IgdGhpcyBwYWNrYWdlLCBidXQgdGhlIHJvc2UgbW9kZWxzIHRoYXQgYXJlIHVzZWQgdG8gY3JlYXRlIHRoZSBtZXRhIG1vZGVsIGNhbiBiZSBmb3VuZCBpbiBDVlMgb24gZGV2LmVjbGlwc2Uub3JnPGJyIC8+L2hvbWUvdG9vbHM8YnIgLz51bmRlcjxiciAvPi9vcmcuZWNsaXBzZS5qZW0vcm9zZTxiciAvPlRvIGxvYWQgaW50byByb3NlIChmcm9tIHdvcmtzcGFjZSkgeW91J2QgYWxzbyBoYXZlIHRvIGhhdmUgb3JnLmVjbGlwc2UuZW1mLmVjb3JlIGluIHdvcmtzcGFjZSwgYW5kIGRlZmluZSwgaW4gUm9zZSwgYW4gRWRpdFBhdGhNYXAgb2YgV29ya3NwYWNlUm9vdCBhcyB3aGF0IGV2ZXIgeW91ciB3b3Jrc3BhY2Ugcm9vdCBpcyBvbiB5b3VyIGZpbGVzeXN0ZW0gKHRoZW4gaXQgY2FuIGZpbmQgaW5jbHVkZWQgZmlsZXMvbW9kZWxzIGF1dG9tYXRpY2FsbHkpLiA8L3A+Cis8aDI+WFNEPC9oMj4KKzxwPlRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3hzZC8iIHRhcmdldD0iX3RvcCI+WFNELCBYTUwgU2NoZW1hIEluZm9zZXQKK01vZGVsLCBQcm9qZWN0PC9hPiBwcm92aWRlcyBhIG1vZGVsIGFuZCBBUEkgZm9yIHF1ZXJ5aW5nIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHNjaGVtYXMgYW5kIG1hbmlwdWxhdGluZyB0aGVtLiA8L3A+Cis8aDI+T3RoZXJzPC9oMj4KKzxwPltFdmVudHVhbGx5LCB3ZSBtYXkgZG9jdW1lbnQgaGVyZSBjZXJ0YWluIHBhY2thZ2VzIHdlIHVzZSBhbmQgc2hpcCBpbnRlcm5hbGx5LCBzdWNoIGFzIFhlcmNlcywganVzdCB0byBoZWxwIGF2b2lkIGR1cGxpY2F0aW5nIHN1Y2ggaW50ZXJuYWwgcGFja2FnZXMuXTwvcD4KKzxoMT5Lbm93biBBcmNoaXRlY3R1cmFsL0Rlc2lnbiBJc3N1ZXM8L2gxPgorCisKKworPHA+VGhpcyBzZWN0aW9uIGlzIGp1c3QgdG8gYmUgZXhwbGljaXQgYWJvdXQgYXJjaGl0ZWN0dXJhbCBpc3N1ZXMKK3RoYXQgYXJlIGtub3duIGFuZCB3aGljaCB0aGUgYXJjaGl0ZWN0dXJlIGNvbW1pdHRlZSB3aWxsIGJlIGRpc2N1c3NpbmcgdmFyaW91cyBzb2x1dGlvbnMgdG8uIDwvcD4KKworCisKKzxwPk5vdGUgYWx3YXlzIGEgY2xlYXIgc2VwZXJhdGlvbiBiZXR3ZWVuICZxdW90O21vZGVsJnF1b3Q7IGFuZCAmcXVvdDt2aWV3JnF1b3Q7IG9iamVjdHMgLi4uIHllcywgd2UgY29uZmVzcywgb2NjYXNpb25hbGx5LCBnaXZlbiBzb21lIGJpdCBvZiBhIGNvZGVzIGhpc3Rvcnkgb3IgZGVhZGxpbmUgZHJpdmVuIGRlc2lnbiwgb3VyIG1vZGVsL3ZpZXcgc2VwZXJhdGlvbiBpcyBsZXNzIHRoYW4gcGVyZmVjdCAoYnV0IGRvbid0IGdldCBtZSB3cm9uZywgaXRzIHByZXR0eSBnb29kISkuIDwvcD4KKzxwPk11bHRpcGxlIGphdmEgbW9kZWxzIChKRFQgYW5kIEpFTSkuCisJTWF5YmUgbm90IGEgcmVhbCBpc3N1ZSBwZXIgc2UsCitidXQgbm90IHN1cmUgd2WSdmUgZG9jdW1lbnRlZCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0sIHdoZW4gdG8gdXNlIG9uZQordnMuIHRoZSBvdGhlciwgZXRjLik8L3A+CisKKworCis8cD5NdWx0aXBsZSBvcGVyYXRpb24vY29tbWFuZCBmcmFtZXdvcmtzIGFyZSBpbgoraW5pdGlhbCBjb250cmlidXRpb24gliBuZWVkIHRvIHJlc29sdmUgdG8gb25lIGFuZC9vciBjb29yZGluYXRlIHdpdGgKK2Jhc2UgRWNsaXBzZSBwbGFucy48L3A+CisKKworPHA+Q3VycmVudGx5ICJtZXRhIGRhdGEiIG9yICZxdW90O2V4dHJhIGluZm9ybWF0aW9uJnF1b3Q7IGlzIHN0b3JlZCBpbmNvbnNpc3RlbnRseQorKGFuZCBoYXJkIHRvIGZpbmQvdW5kZXJzdGFuZCkuIFNvbWV0aW1lcyBpbiAoc2V2ZXJhbCkgIGZpbGVzIHdpdGggbm8gbmFtZXMsCitzb21ldGltZXMgYXMgT1NHSSBwcmVmZXJlbmNlcywgYnV0IHRoZXJlknMgbm8gk2ZyYW1ld29ya5QgZm9yIGNvbW1vbiwKK2Vhc3kgYWNjZXNzLjwvcD4KKworCis8cD5UaGVyZSBhcmUgY3VycmVudGx5IHR3byAob3IgbW9yZSEpIGZyYW1ld29ya3MgZm9yIHByb3ZpZGluZyBVUkkgcmVzb2x1dGlvbi4gU29tZSB3b3JrIGlzIG5lZWRlZCB0byBkZXRlcm1pbmUgaWYgdGhlIEV4dGVuc2libGUgVVJJIFJlc29sdXRpb24gZnJhbWV3b3JrIGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgYWxsIG9mIHRoZW0uIDwvcD4KKzxociAvPgorPGRsPgorCTxkdD48YSBuYW1lPSJhcmNoaXRlY3R1cmVncm91cCI+V1RQIEFyY2hpdGVjdHVyZSBHcm91cDwvYT48L2R0PgorCTxkZD5EYXZpZCBXaWxsaWFtcywgSUJNPC9kZD4KKwk8ZGQ+Q2h1Y2sgQnJpZGdoYW0sIElCTTwvZGQ+CisJPGRkPkVyaWNoIEdhbW1hLCBJQk08L2RkPgorCTxkZD5IZW5yaWsgTGluZGJlcmcsIEZyYW1ld29yeDwvZGQ+CisJPGRkPk5hY2kgRGFpLCBFdGVyYXRpb248L2RkPgorPC9kbD4KKzxwPjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy9Nb2RlbEVkaXRpbmcucG5nIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy9Nb2RlbEVkaXRpbmcucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMjk1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vaW1hZ2VzL01vZGVsRWRpdGluZy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy9qc3RzdWJzeXN0ZW1zLnBuZyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy9XZWJDb250ZW50L2FyY2hfYW5kX2Rlc2lnbi9pbWFnZXMvanN0c3Vic3lzdGVtcy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY0YTVlNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy9XZWJDb250ZW50L2FyY2hfYW5kX2Rlc2lnbi9pbWFnZXMvanN0c3Vic3lzdGVtcy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy9tb2RlbFRvTW9kZWwucG5nIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy9tb2RlbFRvTW9kZWwucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNzE0YmEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vaW1hZ2VzL21vZGVsVG9Nb2RlbC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy9zZXJ2ZXIucG5nIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy9zZXJ2ZXIucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3ZTBiNDgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vaW1hZ2VzL3NlcnZlci5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy93ZWJBcHBBbmRTZXJ2ZXJUYXJnZXQucG5nIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy93ZWJBcHBBbmRTZXJ2ZXJUYXJnZXQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYTlkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vaW1hZ2VzL3dlYkFwcEFuZFNlcnZlclRhcmdldC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy93c3RhbmRqc3RkZXBlbmRhbmNpZXMucG5nIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy93c3RhbmRqc3RkZXBlbmRhbmNpZXMucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViMjU0OTYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vaW1hZ2VzL3dzdGFuZGpzdGRlcGVuZGFuY2llcy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL2ltYWdlcy93c3RzdWJzeXN0ZW1zLnBuZyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy9XZWJDb250ZW50L2FyY2hfYW5kX2Rlc2lnbi9pbWFnZXMvd3N0c3Vic3lzdGVtcy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFiYjkzNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBBcmNoQW5kRGVzaWduRG9jcy9XZWJDb250ZW50L2FyY2hfYW5kX2Rlc2lnbi9pbWFnZXMvd3N0c3Vic3lzdGVtcy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL3RoZW1lL2RlZmF1bHRfc3R5bGUuY3NzIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dlYkNvbnRlbnQvYXJjaF9hbmRfZGVzaWduL3RoZW1lL2RlZmF1bHRfc3R5bGUuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmMmIyN2EKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV2ViQ29udGVudC9hcmNoX2FuZF9kZXNpZ24vdGhlbWUvZGVmYXVsdF9zdHlsZS5jc3MKQEAgLTAsMCArMSwxOCBAQAorcCwgdGFibGUsIHRkLCB0aCB7ICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgZ2VuZXZhOyBmb250LXNpemU6IDEwcHR9DQorcHJlIHsgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vOyBmb250LXNpemU6IDEwcHR9DQoraDIgeyBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgZ2VuZXZhOyBmb250LXNpemU6IDE4cHQ7IGZvbnQtd2VpZ2h0OiBib2xkIDsgbGluZS1oZWlnaHQ6IDE0cHh9DQorY29kZSB7ICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ubzsgZm9udC1zaXplOiAxMHB0fQ0KK3N1cCB7ICBmb250LWZhbWlseTogYXJpYWwsaGVsdmV0aWNhLGdlbmV2YTsgZm9udC1zaXplOiAxMHB4fQ0KK2gzIHsgIGZvbnQtZmFtaWx5OiBhcmlhbCwgaGVsdmV0aWNhLCBnZW5ldmE7IGZvbnQtc2l6ZTogMTRwdDsgZm9udC13ZWlnaHQ6IGJvbGR9DQorbGkgeyAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2EsIGdlbmV2YTsgZm9udC1zaXplOiAxMHB0fQ0KK2gxIHsgIGZvbnQtZmFtaWx5OiBhcmlhbCwgaGVsdmV0aWNhLCBnZW5ldmE7IGZvbnQtc2l6ZTogMjhweDsgZm9udC13ZWlnaHQ6IGJvbGR9DQorYm9keSB7ICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgZ2VuZXZhOyBmb250LXNpemU6IDEwcHQ7IGNsaXA6ICAgcmVjdCggICApOyBtYXJnaW4tdG9wOiA1bW07IG1hcmdpbi1sZWZ0OiAzbW19DQorLmluZGV4dG9wIHsgZm9udC1zaXplOiB4LWxhcmdlOzsgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBib2xkfQ0KKy5pbmRleHN1YiB7IGZvbnQtc2l6ZTogeHgtc21hbGw7OyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgY29sb3I6ICM4MDgwRkZ9DQorYS5iYXI6bGluayB7ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAjRkZGRkZGfQ0KK2EuYmFyOnZpc2l0ZWQgeyAgY29sb3I6ICNGRkZGRkY7IHRleHQtZGVjb3JhdGlvbjogbm9uZX0NCithLmJhcjpob3ZlciB7ICBjb2xvcjogI0ZGRkZGRjsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmV9DQorYS5iYXIgeyAgY29sb3I6ICNGRkZGRkZ9DQorLmp1bXAgeyBmb250LXNpemU6IHNtYWxsZXI7OyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgY29sb3I6ICM4MDgwRkYgOyBmb250LXN0eWxlOiBub3JtYWw7IHRleHQtZGVjb3JhdGlvbjogbm9uZX0NCisuanVtcDpsaW5rIHsgZm9udC1zaXplOiBzbWFsbGVyOzsgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGNvbG9yOiAjODA4MEZGOyB0ZXh0LWRlY29yYXRpb246IG5vbmV9DQorLmp1bXA6aG92ZXIgeyBmb250LXNpemU6IHNtYWxsZXI7OyBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgY29sb3I6ICMwMDAwRkY7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBmb250LXN0eWxlOiBub3JtYWx9DQpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dvcmtpbmdGaWxlcy9NaXNjTW9kZWwubWRsIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUEFyY2hBbmREZXNpZ25Eb2NzL1dvcmtpbmdGaWxlcy9NaXNjTW9kZWwubWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYTRiM2IKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQQXJjaEFuZERlc2lnbkRvY3MvV29ya2luZ0ZpbGVzL01pc2NNb2RlbC5tZGwKQEAgLTAsMCArMSw4NDY4IEBACisNCisob2JqZWN0IFBldGFsDQorICAgIHZlcnNpb24gICAgCTQ3DQorICAgIF93cml0dGVuICAgCSJSb3NlIDguMC4wMzAzLjE0MDAiDQorICAgIGNoYXJTZXQgICAgCTApDQorDQorKG9iamVjdCBEZXNpZ24gIkxvZ2ljYWwgVmlldyINCisgICAgaXNfdW5pdCAgICAJVFJVRQ0KKyAgICBpc19sb2FkZWQgIAlUUlVFDQorICAgIGF0dHJpYnV0ZXMgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJKG9iamVjdCBBdHRyaWJ1dGUNCisJICAgIHRvb2wgICAgICAgCSJKYXZhIg0KKwkgICAgbmFtZSAgICAgICAJIklERSINCisJICAgIHZhbHVlICAgICAgCSJJbnRlcm5hbCBFZGl0b3IiKQ0KKwkob2JqZWN0IEF0dHJpYnV0ZQ0KKwkgICAgdG9vbCAgICAgICAJIkphdmEiDQorCSAgICBuYW1lICAgICAgIAkiVXNlckRlZmluZVRhZ05hbWUxIg0KKwkgICAgdmFsdWUgICAgICAJIiIpDQorCShvYmplY3QgQXR0cmlidXRlDQorCSAgICB0b29sICAgICAgIAkiSmF2YSINCisJICAgIG5hbWUgICAgICAgCSJVc2VyRGVmaW5lVGFnVGV4dDEiDQorCSAgICB2YWx1ZSAgICAgIAkiIikNCisJKG9iamVjdCBBdHRyaWJ1dGUNCisJICAgIHRvb2wgICAgICAgCSJKYXZhIg0KKwkgICAgbmFtZSAgICAgICAJIlVzZXJEZWZpbmVUYWdBcHBseTEiDQorCSAgICB2YWx1ZSAgICAgIAkiIikNCisJKG9iamVjdCBBdHRyaWJ1dGUNCisJICAgIHRvb2wgICAgICAgCSJKYXZhIg0KKwkgICAgbmFtZSAgICAgICAJIlVzZXJEZWZpbmVUYWdOYW1lMiINCisJICAgIHZhbHVlICAgICAgCSIiKQ0KKwkob2JqZWN0IEF0dHJpYnV0ZQ0KKwkgICAgdG9vbCAgICAgICAJIkphdmEiDQorCSAgICBuYW1lICAgICAgIAkiVXNlckRlZmluZVRhZ1RleHQyIg0KKwkgICAgdmFsdWUgICAgICAJIiIpDQorCShvYmplY3QgQXR0cmlidXRlDQorCSAgICB0b29sICAgICAgIAkiSmF2YSINCisJICAgIG5hbWUgICAgICAgCSJVc2VyRGVmaW5lVGFnQXBwbHkyIg0KKwkgICAgdmFsdWUgICAgICAJIiIpDQorCShvYmplY3QgQXR0cmlidXRlDQorCSAgICB0b29sICAgICAgIAkiSmF2YSINCisJICAgIG5hbWUgICAgICAgCSJVc2VyRGVmaW5lVGFnTmFtZTMiDQorCSAgICB2YWx1ZSAgICAgIAkiIikNCisJKG9iamVjdCBBdHRyaWJ1dGUNCisJICAgIHRvb2wgICAgICAgCSJKYXZhIg0KKwkgICAgbmFtZSAgICAgICAJIlVzZXJEZWZpbmVUYWdUZXh0MyINCisJICAgIHZhbHVlICAgICAgCSIiKQ0KKwkob2JqZWN0IEF0dHJpYnV0ZQ0KKwkgICAgdG9vbCAgICAgICAJIkphdmEiDQorCSAgICBuYW1lICAgICAgIAkiVXNlckRlZmluZVRhZ0FwcGx5MyINCisJICAgIHZhbHVlICAgICAgCSIiKSkNCisgICAgcXVpZCAgICAgICAJIjM5QzkyNjBDMDBENCINCisgICAgZGVmYXVsdHMgICAJKG9iamVjdCBkZWZhdWx0cw0KKwlyaWdodE1hcmdpbiAJMC4yNTAwMDANCisJbGVmdE1hcmdpbiAJMC4yNTAwMDANCisJdG9wTWFyZ2luICAJMC4yNTAwMDANCisJYm90dG9tTWFyZ2luIAkwLjUwMDAwMA0KKwlwYWdlT3ZlcmxhcCAJMS4wMDAwMDANCisJY2xpcEljb25MYWJlbHMgCVRSVUUNCisJYXV0b1Jlc2l6ZSAJVFJVRQ0KKwlzbmFwVG9HcmlkIAlUUlVFDQorCWdyaWRYICAgICAgCTE2DQorCWdyaWRZICAgICAgCTE2DQorCWRlZmF1bHRGb250IAkob2JqZWN0IEZvbnQNCisJICAgIHNpemUgICAgICAgCTEwDQorCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkgICAgY29sb3IgICAgICAJMA0KKwkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJc2hvd01lc3NhZ2VOdW0gCTENCisJc2hvd0NsYXNzT2ZPYmplY3QgCVRSVUUNCisJbm90YXRpb24gICAJIlVuaWZpZWQiKQ0KKyAgICByb290X3VzZWNhc2VfcGFja2FnZSAJKG9iamVjdCBDbGFzc19DYXRlZ29yeSAiVXNlIENhc2UgVmlldyINCisJcXVpZCAgICAgICAJIjM5QzkyNjBDMDBENiINCisJZXhwb3J0Q29udHJvbCAJIlB1YmxpYyINCisJZ2xvYmFsICAgICAJVFJVRQ0KKwlsb2dpY2FsX21vZGVscyAJKGxpc3QgdW5pdF9yZWZlcmVuY2VfbGlzdCkNCisJbG9naWNhbF9wcmVzZW50YXRpb25zIAkobGlzdCB1bml0X3JlZmVyZW5jZV9saXN0DQorCSAgICAob2JqZWN0IFVzZUNhc2VEaWFncmFtICJNYWluIg0KKwkJcXVpZCAgICAgICAJIjM5QzkyNjEwMDFCNyINCisJCXRpdGxlICAgICAgCSJNYWluIg0KKwkJem9vbSAgICAgICAJMTAwDQorCQltYXhfaGVpZ2h0IAkyODM1MA0KKwkJbWF4X3dpZHRoICAJMjE2MDANCisJCW9yaWdpbl94ICAgCTANCisJCW9yaWdpbl95ICAgCTANCisJCWl0ZW1zICAgICAgCShsaXN0IGRpYWdyYW1faXRlbV9saXN0KSkpKQ0KKyAgICByb290X2NhdGVnb3J5IAkob2JqZWN0IENsYXNzX0NhdGVnb3J5ICJMb2dpY2FsIFZpZXciDQorCXF1aWQgICAgICAgCSIzOUM5MjYwQzAwRDUiDQorCWV4cG9ydENvbnRyb2wgCSJQdWJsaWMiDQorCWdsb2JhbCAgICAgCVRSVUUNCisJc3Vic3lzdGVtICAJIkNvbXBvbmVudCBWaWV3Ig0KKwlxdWlkdSAgICAgIAkiMzlDOTI2MEMwMEQ3Ig0KKwlsb2dpY2FsX21vZGVscyAJKGxpc3QgdW5pdF9yZWZlcmVuY2VfbGlzdA0KKwkgICAgKG9iamVjdCBDbGFzc19DYXRlZ29yeSAiamF2YXgiDQorCQlpc191bml0ICAgIAlUUlVFDQorCQlpc19sb2FkZWQgIAlGQUxTRQ0KKwkJZmlsZV9uYW1lICAJIiRGUkFNRVdPUktfUEFUSFxcU2hhcmVkIENvbXBvbmVudHNcXGoyZWVfamF2YXguY2F0Ig0KKwkJcXVpZCAgICAgICAJIjM5QzkyNjYxMDAxOCIpDQorCSAgICAob2JqZWN0IENsYXNzX0NhdGVnb3J5ICJqYXZhIg0KKwkJaXNfdW5pdCAgICAJVFJVRQ0KKwkJaXNfbG9hZGVkICAJRkFMU0UNCisJCWZpbGVfbmFtZSAgCSIkRlJBTUVXT1JLX1BBVEhcXFNoYXJlZCBDb21wb25lbnRzXFxqMnNlXzFfM19qYXZhLmNhdCINCisJCXF1aWQgICAgICAgCSIzOUM5MjY2MTAwM0IiKQ0KKwkgICAgKG9iamVjdCBDbGFzc19DYXRlZ29yeSAib3JnIg0KKwkJaXNfdW5pdCAgICAJVFJVRQ0KKwkJaXNfbG9hZGVkICAJRkFMU0UNCisJCWZpbGVfbmFtZSAgCSIkRlJBTUVXT1JLX1BBVEhcXFNoYXJlZCBDb21wb25lbnRzXFxqMnNlXzFfM19vcmcuY2F0Ig0KKwkJcXVpZCAgICAgICAJIjM5QzkyNjkzMDM2RiIpDQorCSAgICAob2JqZWN0IENsYXNzX0NhdGVnb3J5ICJzZXJ2ZXIiDQorCQlxdWlkICAgICAgIAkiNDEyMDM1MjMwMjY2Ig0KKwkJZXhwb3J0Q29udHJvbCAJIlB1YmxpYyINCisJCWxvZ2ljYWxfbW9kZWxzIAkobGlzdCB1bml0X3JlZmVyZW5jZV9saXN0DQorCQkgICAgKG9iamVjdCBDbGFzcyAiU2VydmVyVGFyZ2V0IEluc3RhbmNlIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwMzU2NDAxQTIiDQorCQkJdXNlZF9ub2RlcyAJKGxpc3QgdXNlc19yZWxhdGlvbnNoaXBfbGlzdA0KKwkJCSAgICAob2JqZWN0IFVzZXNfUmVsYXRpb25zaGlwDQorCQkJCXF1aWQgICAgICAgCSI0MTIwMzY0NTAyQTAiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OnNlcnZlcjo6U2VydmVyRGVmaW5pdGlvbiINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzNUFBMDE4NCIpDQorCQkJICAgIChvYmplY3QgVXNlc19SZWxhdGlvbnNoaXANCisJCQkJcXVpZCAgICAgICAJIjQxMjAzNzczMDM2QyINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6c2VydmVyOjpQZXJzaXN0ZWQgRXh0cmEgSW5mbyINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzNzRGMDBBMyIpKQ0KKwkJCXJlYWxpemVkX2ludGVyZmFjZXMgCShsaXN0IHJlYWxpemVfcmVsX2xpc3QNCisJCQkgICAgKG9iamVjdCBSZWFsaXplX1JlbGF0aW9uc2hpcA0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDM3NjMwMDcwIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpzZXJ2ZXI6OlBlcnNpc3RlZCBFeHRyYSBJbmZvIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM3NEYwMEEzIikpKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIkV4dGVuc2lvbiINCisJCQlxdWlkICAgICAgIAkiNDEyMDM1ODQwMjVDIg0KKwkJCXVzZWRfbm9kZXMgCShsaXN0IHVzZXNfcmVsYXRpb25zaGlwX2xpc3QNCisJCQkgICAgKG9iamVjdCBVc2VzX1JlbGF0aW9uc2hpcA0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDM2NkMwMDkzIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpzZXJ2ZXI6OlNlcnZlckRlZmluaXRpb24iDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzVBQTAxODQiKSkpDQorCQkgICAgKG9iamVjdCBDbGFzcyAiU2VydmVyRGVmaW5pdGlvbiINCisJCQlxdWlkICAgICAgIAkiNDEyMDM1QUEwMTg0IikNCisJCSAgICAob2JqZWN0IENsYXNzICJSdW50aW1lVGFyZ2V0Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwMzVEMjAzMUMiDQorCQkJY2xhc3NfYXR0cmlidXRlcyAJKGxpc3QgY2xhc3NfYXR0cmlidXRlX2xpc3QNCisJCQkgICAgKG9iamVjdCBDbGFzc0F0dHJpYnV0ZSAicnVudGltZUphcnMiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwMzY4MzAyOTUiKSkpDQorCQkgICAgKG9iamVjdCBDbGFzcyAiUGVyc2lzdGVkIEV4dHJhIEluZm8iDQorCQkJcXVpZCAgICAgICAJIjQxMjAzNzRGMDBBMyIpDQorCQkgICAgKG9iamVjdCBBc3NvY2lhdGlvbiAiJFVOTkFNRUQkMCINCisJCQlxdWlkICAgICAgIAkiNDEyMDM2NUMwMDU0Ig0KKwkJCXJvbGVzICAgICAgCShsaXN0IHJvbGVfbGlzdA0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDEiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwMzY1QzAyRjMiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OnNlcnZlcjo6UnVudGltZVRhcmdldCINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzNUQyMDMxQyINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDIiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwMzY1QzAyRkUiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OnNlcnZlcjo6U2VydmVyVGFyZ2V0IEluc3RhbmNlIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM1NjQwMUEyIikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDMiDQorCQkJcXVpZCAgICAgICAJIjQxMjAzNjYyMDM0QiINCisJCQlyb2xlcyAgICAgIAkobGlzdCByb2xlX2xpc3QNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQ0Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDM2NjMwMzM5Ig0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpzZXJ2ZXI6OlNlcnZlckRlZmluaXRpb24iDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzVBQTAxODQiDQorCQkJCWlzX25hdmlnYWJsZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQ1Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDM2NjMwMzQ0Ig0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpzZXJ2ZXI6OlNlcnZlclRhcmdldCBJbnN0YW5jZSINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzNTY0MDFBMiIpKSkpDQorCQlsb2dpY2FsX3ByZXNlbnRhdGlvbnMgCShsaXN0IHVuaXRfcmVmZXJlbmNlX2xpc3QNCisJCSAgICAob2JqZWN0IENsYXNzRGlhZ3JhbSAiU2VydmVyVmlldyINCisJCQlxdWlkICAgICAgIAkiNDEyMDM1NDAwMzQ0Ig0KKwkJCXRpdGxlICAgICAgCSJTZXJ2ZXJWaWV3Ig0KKwkJCXpvb20gICAgICAgCTEwMA0KKwkJCW1heF9oZWlnaHQgCTI4MzUwDQorCQkJbWF4X3dpZHRoICAJMjE2MDANCisJCQlvcmlnaW5feCAgIAkwDQorCQkJb3JpZ2luX3kgICAJMA0KKwkJCWl0ZW1zICAgICAgCShsaXN0IGRpYWdyYW1faXRlbV9saXN0DQorCQkJICAgIChvYmplY3QgQ2xhc3NWaWV3ICJDbGFzcyIgIkxvZ2ljYWwgVmlldzo6c2VydmVyOjpFeHRlbnNpb24iIEAxDQorCQkJCVNob3dDb21wYXJ0bWVudFN0ZXJlb3R5cGVzIAlUUlVFDQorCQkJCUluY2x1ZGVBdHRyaWJ1dGUgCVRSVUUNCisJCQkJSW5jbHVkZU9wZXJhdGlvbiAJVFJVRQ0KKwkJCQlsb2NhdGlvbiAgIAkoNDMyLCA2NzIpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCQkgICAgUGFyZW50X1ZpZXcgCUAxDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMjk4LCA2MjEpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMjY4DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiRXh0ZW5zaW9uIikNCisJCQkJaWNvbl9zdHlsZSAJIkljb24iDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzNTg0MDI1QyINCisJCQkJd2lkdGggICAgICAJMjg2DQorCQkJCWhlaWdodCAgICAgCTEyNg0KKwkJCQlhbm5vdGF0aW9uIAk4DQorCQkJCWF1dG9SZXNpemUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgQ2xhc3NWaWV3ICJDbGFzcyIgIkxvZ2ljYWwgVmlldzo6c2VydmVyOjpSdW50aW1lVGFyZ2V0IiBAMg0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDE1MDQsIDM2OCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDINCisJCQkJICAgIGxvY2F0aW9uICAgCSgxMzMxLCAyODcpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMzQ2DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiUnVudGltZVRhcmdldCIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzVEMjAzMUMiDQorCQkJCWNvbXBhcnRtZW50IAkob2JqZWN0IENvbXBhcnRtZW50DQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDINCisJCQkJICAgIGxvY2F0aW9uICAgCSgxMzMxLCAzNDgpDQorCQkJCSAgICBmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJCXNpemUgICAgICAgCTEwDQorCQkJCQlmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCQlib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkJaXRhbGljcyAgICAJRkFMU0UNCisJCQkJCXVuZGVybGluZSAgCUZBTFNFDQorCQkJCQlzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkJY29sb3IgICAgICAJMA0KKwkJCQkJZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJICAgIGljb25fc3R5bGUgCSJJY29uIg0KKwkJCQkgICAgZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJICAgIGFuY2hvciAgICAgCTINCisJCQkJICAgIG5saW5lcyAgICAgCTINCisJCQkJICAgIG1heF93aWR0aCAgCTI1OSkNCisJCQkJd2lkdGggICAgICAJMzY0DQorCQkJCWhlaWdodCAgICAgCTE4Ng0KKwkJCQlhbm5vdGF0aW9uIAk4DQorCQkJCWF1dG9SZXNpemUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgQ2xhc3NWaWV3ICJDbGFzcyIgIkxvZ2ljYWwgVmlldzo6c2VydmVyOjpTZXJ2ZXJUYXJnZXQgSW5zdGFuY2UiIEAzDQorCQkJCVNob3dDb21wYXJ0bWVudFN0ZXJlb3R5cGVzIAlUUlVFDQorCQkJCUluY2x1ZGVBdHRyaWJ1dGUgCVRSVUUNCisJCQkJSW5jbHVkZU9wZXJhdGlvbiAJVFJVRQ0KKwkJCQlsb2NhdGlvbiAgIAkoOTYwLCAxNjApDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCQkgICAgUGFyZW50X1ZpZXcgCUAzDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoNjkzLCAxMDkpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJNTM0DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiU2VydmVyVGFyZ2V0IEluc3RhbmNlIikNCisJCQkJaWNvbl9zdHlsZSAJIkljb24iDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzNTY0MDFBMiINCisJCQkJd2lkdGggICAgICAJNTUyDQorCQkJCWhlaWdodCAgICAgCTEyNg0KKwkJCQlhbm5vdGF0aW9uIAk4DQorCQkJCWF1dG9SZXNpemUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgQXNzb2NpYXRpb25WaWV3TmV3ICIkVU5OQU1FRCQwIiBANA0KKwkJCQlsb2NhdGlvbiAgIAkoMTIyMywgMjYwKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzY1QzAwNTQiDQorCQkJCXJvbGV2aWV3X2xpc3QgCShsaXN0IFJvbGVWaWV3cw0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAiJFVOTkFNRUQkMSIgQDUNCisJCQkJCVBhcmVudF9WaWV3IAlANA0KKwkJCQkJbG9jYXRpb24gICAJKDI2MywgMTAwKQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzNjVDMDJGMyINCisJCQkJCWNsaWVudCAgICAgCUA0DQorCQkJCQlzdXBwbGllciAgIAlAMg0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDIiIEA2DQorCQkJCQlQYXJlbnRfVmlldyAJQDQNCisJCQkJCWxvY2F0aW9uICAgCSgyNjMsIDEwMCkNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwMzY1QzAyRkUiDQorCQkJCQljbGllbnQgICAgIAlANA0KKwkJCQkJc3VwcGxpZXIgICAJQDMNCisJCQkJCWxpbmVfc3R5bGUgCTApKSkNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpzZXJ2ZXI6OlNlcnZlckRlZmluaXRpb24iIEA3DQorCQkJCVNob3dDb21wYXJ0bWVudFN0ZXJlb3R5cGVzIAlUUlVFDQorCQkJCUluY2x1ZGVBdHRyaWJ1dGUgCVRSVUUNCisJCQkJSW5jbHVkZU9wZXJhdGlvbiAJVFJVRQ0KKwkJCQlsb2NhdGlvbiAgIAkoNDMyLCAzNTIpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCQkgICAgUGFyZW50X1ZpZXcgCUA3DQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMjUzLCAzMDEpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMzU4DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiU2VydmVyRGVmaW5pdGlvbiIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzVBQTAxODQiDQorCQkJCXdpZHRoICAgICAgCTM3Ng0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uVmlld05ldyAiJFVOTkFNRUQkMyIgQDgNCisJCQkJbG9jYXRpb24gICAJKDY5NiwgMjU1KQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzY2MjAzNEIiDQorCQkJCXJvbGV2aWV3X2xpc3QgCShsaXN0IFJvbGVWaWV3cw0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAiJFVOTkFNRUQkNCIgQDkNCisJCQkJCVBhcmVudF9WaWV3IAlAOA0KKwkJCQkJbG9jYXRpb24gICAJKC0yNjQsIDk1KQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzNjYzMDMzOSINCisJCQkJCWNsaWVudCAgICAgCUA4DQorCQkJCQlzdXBwbGllciAgIAlANw0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDUiIEAxMA0KKwkJCQkJUGFyZW50X1ZpZXcgCUA4DQorCQkJCQlsb2NhdGlvbiAgIAkoLTI2NCwgOTUpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDM2NjMwMzQ0Ig0KKwkJCQkJY2xpZW50ICAgICAJQDgNCisJCQkJCXN1cHBsaWVyICAgCUAzDQorCQkJCQlsaW5lX3N0eWxlIAkwKSkpDQorCQkJICAgIChvYmplY3QgVXNlc1ZpZXcgIiIgQDExDQorCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM2NkMwMDkzIg0KKwkJCQljbGllbnQgICAgIAlAMQ0KKwkJCQlzdXBwbGllciAgIAlANw0KKwkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OnNlcnZlcjo6UGVyc2lzdGVkIEV4dHJhIEluZm8iIEAxMg0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDk2MCwgNjcyKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlAMTINCisJCQkJICAgIGxvY2F0aW9uICAgCSg3MzMsIDYyMSkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkxDQorCQkJCSAgICBtYXhfd2lkdGggIAk0NTQNCisJCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkJICAgIGxhYmVsICAgICAgCSJQZXJzaXN0ZWQgRXh0cmEgSW5mbyIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzc0RjAwQTMiDQorCQkJCXdpZHRoICAgICAgCTQ3Mg0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFVzZXNWaWV3ICIiIEAxMw0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzNzczMDM2QyINCisJCQkJY2xpZW50ICAgICAJQDMNCisJCQkJc3VwcGxpZXIgICAJQDEyDQorCQkJCWxpbmVfc3R5bGUgCTApKSkpKQ0KKwkgICAgKG9iamVjdCBDbGFzc19DYXRlZ29yeSAiV2ViQXBwbGljYXRpb24iDQorCQlxdWlkICAgICAgIAkiNDEyMDM4ODgwMDE3Ig0KKwkJZXhwb3J0Q29udHJvbCAJIlB1YmxpYyINCisJCWxvZ2ljYWxfbW9kZWxzIAkobGlzdCB1bml0X3JlZmVyZW5jZV9saXN0DQorCQkgICAgKG9iamVjdCBDbGFzcyAiV2ViUHJvamVjdCINCisJCQlxdWlkICAgICAgIAkiNDEyMDM4REUwMzk2Ig0KKwkJCXN1cGVyY2xhc3NlcyAJKGxpc3QgaW5oZXJpdGFuY2VfcmVsYXRpb25zaGlwX2xpc3QNCisJCQkgICAgKG9iamVjdCBJbmhlcml0YW5jZV9SZWxhdGlvbnNoaXANCisJCQkJcXVpZCAgICAgICAJIjQxMjAzOTM4MDMxMyINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6V2ViQXBwbGljYXRpb246OkVjbGlwc2VQcm9qZWN0Ig0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM5MjIwMEZGIikpKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIkVjbGlwc2VQcm9qZWN0Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwMzkyMjAwRkYiKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIldlYkFwcCINCisJCQlxdWlkICAgICAgIAkiNDEyMDM5NUQwMjU4Ig0KKwkJCXVzZWRfbm9kZXMgCShsaXN0IHVzZXNfcmVsYXRpb25zaGlwX2xpc3QNCisJCQkgICAgKG9iamVjdCBVc2VzX1JlbGF0aW9uc2hpcA0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNBMjgwMkFBIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpXZWJBcHBsaWNhdGlvbjo6d2ViLnhtbCByZXNvdXJjZSINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzOUJDMDAxQSIpDQorCQkJICAgIChvYmplY3QgVXNlc19SZWxhdGlvbnNoaXANCisJCQkJcXVpZCAgICAgICAJIjQxMjAzQTJDMDM4MiINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6V2ViQXBwbGljYXRpb246Oi5leHRyYSBpbmZvIHJlc291cmNlIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM5RDEwMDM4IikNCisJCQkgICAgKG9iamVjdCBVc2VzX1JlbGF0aW9uc2hpcA0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNGMTgwMDc3Ig0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3ZWIueG1sIHJlc291cmNlIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNCQTAwMjk3IikNCisJCQkgICAgKG9iamVjdCBVc2VzX1JlbGF0aW9uc2hpcA0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDQxQzcwMTBCIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpOYXZpZ2F0b3IiDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwNDEzQzAwMzkiKSkpDQorCQkgICAgKG9iamVjdCBDbGFzcyAid2ViLnhtbCByZXNvdXJjZSINCisJCQlxdWlkICAgICAgIAkiNDEyMDM5QkMwMDFBIikNCisJCSAgICAob2JqZWN0IENsYXNzICIuZXh0cmEgaW5mbyByZXNvdXJjZSINCisJCQlxdWlkICAgICAgIAkiNDEyMDM5RDEwMDM4IikNCisJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uICIkVU5OQU1FRCQ2Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwMzk2RTAyQ0IiDQorCQkJcm9sZXMgICAgICAJKGxpc3Qgcm9sZV9saXN0DQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkNyINCisJCQkJcXVpZCAgICAgICAJIjQxMjAzOTZGMDI3QyINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6V2ViQXBwbGljYXRpb246OldlYlByb2plY3QiDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzhERTAzOTYiDQorCQkJCWlzX25hdmlnYWJsZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQ4Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDM5NkYwMjdFIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpXZWJBcHBsaWNhdGlvbjo6V2ViQXBwIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM5NUQwMjU4IikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDkiDQorCQkJcXVpZCAgICAgICAJIjQxMjAzOTkxMDEwOSINCisJCQlyb2xlcyAgICAgIAkobGlzdCByb2xlX2xpc3QNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQxMCINCisJCQkJcXVpZCAgICAgICAJIjQxMjAzOTkxMDNCMiINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6c2VydmVyOjpTZXJ2ZXJUYXJnZXQgSW5zdGFuY2UiDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzU2NDAxQTIiDQorCQkJCWlzX25hdmlnYWJsZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQxMSINCisJCQkJcXVpZCAgICAgICAJIjQxMjAzOTkxMDNCNCINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6V2ViQXBwbGljYXRpb246OldlYkFwcCINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzOTVEMDI1OCIpKSkpDQorCQlsb2dpY2FsX3ByZXNlbnRhdGlvbnMgCShsaXN0IHVuaXRfcmVmZXJlbmNlX2xpc3QNCisJCSAgICAob2JqZWN0IENsYXNzRGlhZ3JhbSAiV2ViQXBwIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwMzhBRDAxNzkiDQorCQkJdGl0bGUgICAgICAJIldlYkFwcCINCisJCQl6b29tICAgICAgIAkxMDANCisJCQltYXhfaGVpZ2h0IAkyODM1MA0KKwkJCW1heF93aWR0aCAgCTIxNjAwDQorCQkJb3JpZ2luX3ggICAJMA0KKwkJCW9yaWdpbl95ICAgCTANCisJCQlpdGVtcyAgICAgIAkobGlzdCBkaWFncmFtX2l0ZW1fbGlzdA0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OldlYkFwcGxpY2F0aW9uOjpFY2xpcHNlUHJvamVjdCIgQDE0DQorCQkJCVNob3dDb21wYXJ0bWVudFN0ZXJlb3R5cGVzIAlUUlVFDQorCQkJCUluY2x1ZGVBdHRyaWJ1dGUgCVRSVUUNCisJCQkJSW5jbHVkZU9wZXJhdGlvbiAJVFJVRQ0KKwkJCQlsb2NhdGlvbiAgIAkoMjI0LCAxMjgpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCQkgICAgUGFyZW50X1ZpZXcgCUAxNA0KKwkJCQkgICAgbG9jYXRpb24gICAJKDUwLCA3NykNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkxDQorCQkJCSAgICBtYXhfd2lkdGggIAkzNDgNCisJCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkJICAgIGxhYmVsICAgICAgCSJFY2xpcHNlUHJvamVjdCIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzkyMjAwRkYiDQorCQkJCXdpZHRoICAgICAgCTM2Ng0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OldlYkFwcGxpY2F0aW9uOjpXZWJQcm9qZWN0IiBAMTUNCisJCQkJU2hvd0NvbXBhcnRtZW50U3RlcmVvdHlwZXMgCVRSVUUNCisJCQkJSW5jbHVkZUF0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlJbmNsdWRlT3BlcmF0aW9uIAlUUlVFDQorCQkJCWxvY2F0aW9uICAgCSgzNTIsIDM2OCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDE1DQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMjA4LCAzMTcpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMjg4DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiV2ViUHJvamVjdCIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzhERTAzOTYiDQorCQkJCXdpZHRoICAgICAgCTMwNg0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IEluaGVyaXRWaWV3ICIiIEAxNg0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzOTM4MDMxMyINCisJCQkJY2xpZW50ICAgICAJQDE1DQorCQkJCXN1cHBsaWVyICAgCUAxNA0KKwkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OldlYkFwcGxpY2F0aW9uOjpXZWJBcHAiIEAxNw0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDkxMiwgMTYwKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlAMTcNCisJCQkJICAgIGxvY2F0aW9uICAgCSg4MDEsIDEwOSkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkxDQorCQkJCSAgICBtYXhfd2lkdGggIAkyMjINCisJCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkJICAgIGxhYmVsICAgICAgCSJXZWJBcHAiKQ0KKwkJCQlpY29uX3N0eWxlIAkiSWNvbiINCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM5NUQwMjU4Ig0KKwkJCQl3aWR0aCAgICAgIAkyNDANCisJCQkJaGVpZ2h0ICAgICAJMTI2DQorCQkJCWFubm90YXRpb24gCTgNCisJCQkJYXV0b1Jlc2l6ZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBBc3NvY2lhdGlvblZpZXdOZXcgIiRVTk5BTUVEJDYiIEAxOA0KKwkJCQlsb2NhdGlvbiAgIAkoNjQ4LCAyNTYpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzOTZFMDJDQiINCisJCQkJcm9sZXZpZXdfbGlzdCAJKGxpc3QgUm9sZVZpZXdzDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQ3IiBAMTkNCisJCQkJCVBhcmVudF9WaWV3IAlAMTgNCisJCQkJCWxvY2F0aW9uICAgCSgtMTIwLCA2NCkNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwMzk2RjAyN0MiDQorCQkJCQljbGllbnQgICAgIAlAMTgNCisJCQkJCXN1cHBsaWVyICAgCUAxNQ0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDgiIEAyMA0KKwkJCQkJUGFyZW50X1ZpZXcgCUAxOA0KKwkJCQkJbG9jYXRpb24gICAJKC0xMjAsIDY0KQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzOTZGMDI3RSINCisJCQkJCWNsaWVudCAgICAgCUAxOA0KKwkJCQkJc3VwcGxpZXIgICAJQDE3DQorCQkJCQlsaW5lX3N0eWxlIAkwKSkpDQorCQkJICAgIChvYmplY3QgQ2xhc3NWaWV3ICJDbGFzcyIgIkxvZ2ljYWwgVmlldzo6c2VydmVyOjpTZXJ2ZXJUYXJnZXQgSW5zdGFuY2UiIEAyMQ0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDE2MzIsIDMyMCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDIxDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMTM2NSwgMjQ2KQ0KKwkJCQkgICAgZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJICAgIG5saW5lcyAgICAgCTENCisJCQkJICAgIG1heF93aWR0aCAgCTUzNA0KKwkJCQkgICAganVzdGlmeSAgICAJMA0KKwkJCQkgICAgbGFiZWwgICAgICAJIlNlcnZlclRhcmdldCBJbnN0YW5jZSIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzU2NDAxQTIiDQorCQkJCXdpZHRoICAgICAgCTU1Mg0KKwkJCQloZWlnaHQgICAgIAkxNzINCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uVmlld05ldyAiJFVOTkFNRUQkOSIgQDIyDQorCQkJCWxvY2F0aW9uICAgCSgxMTkzLCAyMjEpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzOTkxMDEwOSINCisJCQkJcm9sZXZpZXdfbGlzdCAJKGxpc3QgUm9sZVZpZXdzDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQxMCIgQDIzDQorCQkJCQlQYXJlbnRfVmlldyAJQDIyDQorCQkJCQlsb2NhdGlvbiAgIAkoNDI1LCAyOSkNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwMzk5MTAzQjIiDQorCQkJCQljbGllbnQgICAgIAlAMjINCisJCQkJCXN1cHBsaWVyICAgCUAyMQ0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDExIiBAMjQNCisJCQkJCVBhcmVudF9WaWV3IAlAMjINCisJCQkJCWxvY2F0aW9uICAgCSg0MjUsIDI5KQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzOTkxMDNCNCINCisJCQkJCWNsaWVudCAgICAgCUAyMg0KKwkJCQkJc3VwcGxpZXIgICAJQDE3DQorCQkJCQlsaW5lX3N0eWxlIAkwKSkpDQorCQkJICAgIChvYmplY3QgQ2xhc3NWaWV3ICJDbGFzcyIgIkxvZ2ljYWwgVmlldzo6V2ViQXBwbGljYXRpb246OndlYi54bWwgcmVzb3VyY2UiIEAyNQ0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDY3MiwgNjcyKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlAMjUNCisJCQkJICAgIGxvY2F0aW9uICAgCSg0MzQsIDYyMSkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkxDQorCQkJCSAgICBtYXhfd2lkdGggIAk0NzYNCisJCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkJICAgIGxhYmVsICAgICAgCSJ3ZWIueG1sIHJlc291cmNlIikNCisJCQkJaWNvbl9zdHlsZSAJIkljb24iDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzOUJDMDAxQSINCisJCQkJd2lkdGggICAgICAJNDk0DQorCQkJCWhlaWdodCAgICAgCTEyNg0KKwkJCQlhbm5vdGF0aW9uIAk4DQorCQkJCWF1dG9SZXNpemUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgQ2xhc3NWaWV3ICJDbGFzcyIgIkxvZ2ljYWwgVmlldzo6V2ViQXBwbGljYXRpb246Oi5leHRyYSBpbmZvIHJlc291cmNlIiBAMjYNCisJCQkJU2hvd0NvbXBhcnRtZW50U3RlcmVvdHlwZXMgCVRSVUUNCisJCQkJSW5jbHVkZUF0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlJbmNsdWRlT3BlcmF0aW9uIAlUUlVFDQorCQkJCWxvY2F0aW9uICAgCSgxMjQ4LCA2NzIpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCQkgICAgUGFyZW50X1ZpZXcgCUAyNg0KKwkJCQkgICAgbG9jYXRpb24gICAJKDEwMDQsIDYyMSkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkxDQorCQkJCSAgICBtYXhfd2lkdGggIAk0ODgNCisJCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkJICAgIGxhYmVsICAgICAgCSIuZXh0cmEgaW5mbyByZXNvdXJjZSIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzlEMTAwMzgiDQorCQkJCXdpZHRoICAgICAgCTUwNg0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFVzZXNWaWV3ICIiIEAyNw0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzQTI4MDJBQSINCisJCQkJY2xpZW50ICAgICAJQDE3DQorCQkJCXN1cHBsaWVyICAgCUAyNQ0KKwkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCSAgICAob2JqZWN0IFVzZXNWaWV3ICIiIEAyOA0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzQTJDMDM4MiINCisJCQkJY2xpZW50ICAgICAJQDE3DQorCQkJCXN1cHBsaWVyICAgCUAyNg0KKwkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCSAgICAob2JqZWN0IE5vdGVWaWV3IEAyOQ0KKwkJCQlsb2NhdGlvbiAgIAkoMTc0NCwgNTc2KQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlAMjkNCisJCQkJICAgIGxvY2F0aW9uICAgCSgxNTc4LCA0NTQpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJNA0KKwkJCQkgICAgbWF4X3dpZHRoICAJMjk2DQorCQkJCSAgICBsYWJlbCAgICAgIAkiZXh0cmEgaW5mbyBjb250YWlucyBpbmZvIG5vdCBpbiB0aGUgc3RhbmRhcmQgZGVmaW50aW9uIikNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlmaWxsX2NvbG9yIAk4NDU0MTQzDQorCQkJCXdpZHRoICAgICAgCTM1Ng0KKwkJCQloZWlnaHQgICAgIAkyNTYpDQorCQkJICAgIChvYmplY3QgTm90ZVZpZXcgQDMwDQorCQkJCWxvY2F0aW9uICAgCSgyMjQsIDU5MikNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDMwDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoNTgsIDQ2NCkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAk1DQorCQkJCSAgICBtYXhfd2lkdGggIAkyOTYNCisJCQkJICAgIGxhYmVsICAgICAgCSJUaGUgd2ViLnhtbCBmaWxlIGNvbmNlcHR1YWxseSByZXByZXNlbnRzIGEgc2VyaWFsaXphdGlvbiBvZiB0aGUgd2ViIG1vZGVsLiIpDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJODQ1NDE0Mw0KKwkJCQl3aWR0aCAgICAgIAkzNTYNCisJCQkJaGVpZ2h0ICAgICAJMjY4KSkpKSkNCisJICAgIChvYmplY3QgQ2xhc3NfQ2F0ZWdvcnkgIlN0cnVjdHVyZWRNb2RlbHMiDQorCQlxdWlkICAgICAgIAkiNDEyMDNCOTMwMDQ5Ig0KKwkJZXhwb3J0Q29udHJvbCAJIlB1YmxpYyINCisJCWxvZ2ljYWxfbW9kZWxzIAkobGlzdCB1bml0X3JlZmVyZW5jZV9saXN0DQorCQkgICAgKG9iamVjdCBDbGFzcyAid2ViLnhtbCByZXNvdXJjZSINCisJCQlxdWlkICAgICAgIAkiNDEyMDNCQTAwMjk3IikNCisJCSAgICAob2JqZWN0IENsYXNzICJJU3RydWN0dXJlZERvY3VtZW50Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0JDODAwMUUiDQorCQkJc3VwZXJjbGFzc2VzIAkobGlzdCBpbmhlcml0YW5jZV9yZWxhdGlvbnNoaXBfbGlzdA0KKwkJCSAgICAob2JqZWN0IEluaGVyaXRhbmNlX1JlbGF0aW9uc2hpcA0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNDQjYwMzE5Ig0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpJRG9jdW1lbnQgKG9yZy5lY2xpcHNlLnRleHQpIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNCREEwMTQ2IikpKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIklEb2N1bWVudCAob3JnLmVjbGlwc2UudGV4dCkiDQorCQkJcXVpZCAgICAgICAJIjQxMjAzQkRBMDE0NiIpDQorCQkgICAgKG9iamVjdCBDbGFzcyAidzNjLkRPTSINCisJCQlxdWlkICAgICAgIAkiNDEyMDNDMTQwMDZEIg0KKwkJCXVzZWRfbm9kZXMgCShsaXN0IHVzZXNfcmVsYXRpb25zaGlwX2xpc3QNCisJCQkgICAgKG9iamVjdCBVc2VzX1JlbGF0aW9uc2hpcA0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNGMjAwMjc3Ig0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3ZWIueG1sIHJlc291cmNlIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNCQTAwMjk3IikpKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIklTdHJ1Y3R1cmVkTW9kZWwiDQorCQkJcXVpZCAgICAgICAJIjQxMjAzQzYwMDFDMSINCisJCQl1c2VkX25vZGVzIAkobGlzdCB1c2VzX3JlbGF0aW9uc2hpcF9saXN0DQorCQkJICAgIChvYmplY3QgVXNlc19SZWxhdGlvbnNoaXANCisJCQkJcXVpZCAgICAgICAJIjQxMjAzQ0QxMDBERCINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6U3RydWN0dXJlZE1vZGVsczo6dzNjLkRPTSINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzQzE0MDA2RCIpKSkNCisJCSAgICAob2JqZWN0IENsYXNzICJyZWFkYW5kd3JpdGUiDQorCQkJcXVpZCAgICAgICAJIjQxMjAzRDEyMDM3NSIpDQorCQkgICAgKG9iamVjdCBDbGFzcyAiTW9kZWxBZGFwdGVyIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0YzNTAzNTQiKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIk91dGxpbmVWaWV3Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwNDA0NjAxOTQiKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIkVkaXRvciINCisJCQlxdWlkICAgICAgIAkiNDEyMDQxMUQwMDE2IikNCisJCSAgICAob2JqZWN0IENsYXNzICJQcm9wZXJ0eVNoZWV0Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwNDEyOTAxNDAiKQ0KKwkJICAgIChvYmplY3QgQ2xhc3MgIk5hdmlnYXRvciINCisJCQlxdWlkICAgICAgIAkiNDEyMDQxM0MwMDM5IikNCisJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uICJyZWFkIGFuZCB3cml0ZSINCisJCQlxdWlkICAgICAgIAkiNDEyMDNEQTkwMzBFIg0KKwkJCXJvbGVzICAgICAgCShsaXN0IHJvbGVfbGlzdA0KKwkJCSAgICAob2JqZWN0IFJvbGUgInJlYWQiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0RBQTAyOEQiDQorCQkJCWxhYmVsICAgICAgCSJyZWFkIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3ZWIueG1sIHJlc291cmNlIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNCQTAwMjk3Ig0KKwkJCQlpc19uYXZpZ2FibGUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgUm9sZSAid3JpdGUiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0RBQTAyOEYiDQorCQkJCWxhYmVsICAgICAgCSJ3cml0ZSINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6U3RydWN0dXJlZE1vZGVsczo6SVN0cnVjdHVyZWREb2N1bWVudCINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzQkM4MDAxRSIpKSkNCisJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uICIkVU5OQU1FRCQxMiINCisJCQlxdWlkICAgICAgIAkiNDEyMDNFMUQwMzUxIg0KKwkJCXJvbGVzICAgICAgCShsaXN0IHJvbGVfbGlzdA0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDEzIg0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNFMUYwMTRCIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpJU3RydWN0dXJlZERvY3VtZW50Ig0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNCQzgwMDFFIg0KKwkJCQlpc19uYXZpZ2FibGUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkMTQiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0UxRjAxNEQiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6OnczYy5ET00iDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0MxNDAwNkQiKSkpDQorCQkgICAgKG9iamVjdCBBc3NvY2lhdGlvbiAiJFVOTkFNRUQkMTUiDQorCQkJcXVpZCAgICAgICAJIjQxMjAzRTI0MDMxNSINCisJCQlyb2xlcyAgICAgIAkobGlzdCByb2xlX2xpc3QNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQxNiINCisJCQkJcXVpZCAgICAgICAJIjQxMjAzRTI2MDE0QiINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6U3RydWN0dXJlZE1vZGVsczo6dzNjLkRPTSINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzQzE0MDA2RCINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDE3Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNFMjYwMTREIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpJU3RydWN0dXJlZERvY3VtZW50Ig0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNCQzgwMDFFIikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDE4Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0Y2MDAwMTYiDQorCQkJcm9sZXMgICAgICAJKGxpc3Qgcm9sZV9saXN0DQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkMTkiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0Y2MDAyMjkiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6Ok1vZGVsQWRhcHRlciINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzRjM1MDM1NCINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDIwIg0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNGNjAwMjJCIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpXZWJBcHBsaWNhdGlvbjo6V2ViQXBwIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM5NUQwMjU4IikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDIxIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0Y2NDAxQUQiDQorCQkJcm9sZXMgICAgICAJKGxpc3Qgcm9sZV9saXN0DQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkMjIiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0Y2NTAwNUEiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6OnczYy5ET00iDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0MxNDAwNkQiDQorCQkJCWlzX25hdmlnYWJsZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQyMyINCisJCQkJcXVpZCAgICAgICAJIjQxMjAzRjY1MDA2NCINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6U3RydWN0dXJlZE1vZGVsczo6TW9kZWxBZGFwdGVyIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNGMzUwMzU0IikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDI0Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0Y2ODAwOUEiDQorCQkJcm9sZXMgICAgICAJKGxpc3Qgcm9sZV9saXN0DQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkMjUiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0Y2OTAxREMiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6Ok1vZGVsQWRhcHRlciINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzRjM1MDM1NCINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDI2Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNGNjkwMURFIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3M2MuRE9NIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNDMTQwMDZEIikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDI3Ig0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0Y4MTAwOTYiDQorCQkJcm9sZXMgICAgICAJKGxpc3Qgcm9sZV9saXN0DQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkMjgiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0Y4MzAwM0YiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OldlYkFwcGxpY2F0aW9uOjpXZWJBcHAiDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwMzk1RDAyNTgiDQorCQkJCWlzX25hdmlnYWJsZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQyOSINCisJCQkJcXVpZCAgICAgICAJIjQxMjAzRjgzMDA0OSINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6U3RydWN0dXJlZE1vZGVsczo6TW9kZWxBZGFwdGVyIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNGMzUwMzU0IikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDMwIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0ZBMTAyQTUiDQorCQkJcm9sZXMgICAgICAJKGxpc3Qgcm9sZV9saXN0DQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkMzEiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwM0ZBMjAzODMiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6Ok1vZGVsQWRhcHRlciINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzRjM1MDM1NCINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDMyIg0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDNGQTIwMzg1Ig0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3M2MuRE9NIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNDMTQwMDZEIikpKQ0KKwkJICAgIChvYmplY3QgQXNzb2NpYXRpb24gIiRVTk5BTUVEJDMzIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwNDFERDAwNzYiDQorCQkJcm9sZXMgICAgICAJKGxpc3Qgcm9sZV9saXN0DQorCQkJICAgIChvYmplY3QgUm9sZSAiJFVOTkFNRUQkMzQiDQorCQkJCXF1aWQgICAgICAgCSI0MTIwNDFERDAzNDgiDQorCQkJCXN1cHBsaWVyICAgCSJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6Ok5hdmlnYXRvciINCisJCQkJcXVpZHUgICAgICAJIjQxMjA0MTNDMDAzOSINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDM1Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDQxREQwMzRBIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpXZWJBcHBsaWNhdGlvbjo6V2ViQXBwIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDM5NUQwMjU4Ig0KKwkJCQlpc19uYXZpZ2FibGUgCVRSVUUpKSkNCisJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uICIkVU5OQU1FRCQzNiINCisJCQlxdWlkICAgICAgIAkiNDEyMDQyNDEwMzA1Ig0KKwkJCXJvbGVzICAgICAgCShsaXN0IHJvbGVfbGlzdA0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDM3Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDQyNDIwMjUyIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpPdXRsaW5lVmlldyINCisJCQkJcXVpZHUgICAgICAJIjQxMjA0MDQ2MDE5NCINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDM4Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDQyNDIwMjU0Ig0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3M2MuRE9NIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNDMTQwMDZEIg0KKwkJCQlpc19uYXZpZ2FibGUgCVRSVUUpKSkNCisJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uICIkVU5OQU1FRCQzOSINCisJCQlxdWlkICAgICAgIAkiNDEyMDQyNDYwMUUwIg0KKwkJCXJvbGVzICAgICAgCShsaXN0IHJvbGVfbGlzdA0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDQwIg0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDQyNDcwMEQzIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpFZGl0b3IiDQorCQkJCXF1aWR1ICAgICAgCSI0MTIwNDExRDAwMTYiDQorCQkJCWlzX25hdmlnYWJsZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQ0MSINCisJCQkJcXVpZCAgICAgICAJIjQxMjA0MjQ3MDBENSINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6U3RydWN0dXJlZE1vZGVsczo6dzNjLkRPTSINCisJCQkJcXVpZHUgICAgICAJIjQxMjAzQzE0MDA2RCINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKSkpDQorCQkgICAgKG9iamVjdCBBc3NvY2lhdGlvbiAiJFVOTkFNRUQkNDIiDQorCQkJcXVpZCAgICAgICAJIjQxMjA0MjRBMDIxOCINCisJCQlyb2xlcyAgICAgIAkobGlzdCByb2xlX2xpc3QNCisJCQkgICAgKG9iamVjdCBSb2xlICIkVU5OQU1FRCQ0MyINCisJCQkJcXVpZCAgICAgICAJIjQxMjA0MjRCMDA3NSINCisJCQkJc3VwcGxpZXIgICAJIkxvZ2ljYWwgVmlldzo6U3RydWN0dXJlZE1vZGVsczo6UHJvcGVydHlTaGVldCINCisJCQkJcXVpZHUgICAgICAJIjQxMjA0MTI5MDE0MCINCisJCQkJaXNfbmF2aWdhYmxlIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFJvbGUgIiRVTk5BTUVEJDQ0Ig0KKwkJCQlxdWlkICAgICAgIAkiNDEyMDQyNEIwMDgwIg0KKwkJCQlzdXBwbGllciAgIAkiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3M2MuRE9NIg0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNDMTQwMDZEIg0KKwkJCQlpc19uYXZpZ2FibGUgCVRSVUUpKSkpDQorCQlsb2dpY2FsX3ByZXNlbnRhdGlvbnMgCShsaXN0IHVuaXRfcmVmZXJlbmNlX2xpc3QNCisJCSAgICAob2JqZWN0IENsYXNzRGlhZ3JhbSAiTW9kZWxFZGl0aW5nIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0M4QzAyRTYiDQorCQkJdGl0bGUgICAgICAJIk1vZGVsRWRpdGluZyINCisJCQl6b29tICAgICAgIAkxMDANCisJCQltYXhfaGVpZ2h0IAkyODM1MA0KKwkJCW1heF93aWR0aCAgCTIxNjAwDQorCQkJb3JpZ2luX3ggICAJMA0KKwkJCW9yaWdpbl95ICAgCTANCisJCQlpdGVtcyAgICAgIAkobGlzdCBkaWFncmFtX2l0ZW1fbGlzdA0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6OklTdHJ1Y3R1cmVkTW9kZWwiIEAzMQ0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDM1MiwgMTEyKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlAMzENCisJCQkJICAgIGxvY2F0aW9uICAgCSgxNDksIDYxKQ0KKwkJCQkgICAgZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJICAgIG5saW5lcyAgICAgCTENCisJCQkJICAgIG1heF93aWR0aCAgCTQwNg0KKwkJCQkgICAganVzdGlmeSAgICAJMA0KKwkJCQkgICAgbGFiZWwgICAgICAJIklTdHJ1Y3R1cmVkTW9kZWwiKQ0KKwkJCQlpY29uX3N0eWxlIAkiSWNvbiINCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNDNjAwMUMxIg0KKwkJCQl3aWR0aCAgICAgIAk0MjQNCisJCQkJaGVpZ2h0ICAgICAJMTI2DQorCQkJCWFubm90YXRpb24gCTgNCisJCQkJYXV0b1Jlc2l6ZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpJRG9jdW1lbnQgKG9yZy5lY2xpcHNlLnRleHQpIiBAMzINCisJCQkJU2hvd0NvbXBhcnRtZW50U3RlcmVvdHlwZXMgCVRSVUUNCisJCQkJSW5jbHVkZUF0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlJbmNsdWRlT3BlcmF0aW9uIAlUUlVFDQorCQkJCWxvY2F0aW9uICAgCSgxNjY0LCA4MCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDMyDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMTM0OCwgMjkpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJNjMyDQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiSURvY3VtZW50IChvcmcuZWNsaXBzZS50ZXh0KSIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0JEQTAxNDYiDQorCQkJCXdpZHRoICAgICAgCTY1MA0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6OndlYi54bWwgcmVzb3VyY2UiIEAzMw0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDEwNTYsIDY0MCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDMzDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoODE5LCA1ODkpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJNDc0DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkid2ViLnhtbCByZXNvdXJjZSIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0JBMDAyOTciDQorCQkJCXdpZHRoICAgICAgCTQ5Mg0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6OklTdHJ1Y3R1cmVkRG9jdW1lbnQiIEAzNA0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDE1NjgsIDMzNikNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDM0DQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMTMyNSwgMjg1KQ0KKwkJCQkgICAgZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJICAgIG5saW5lcyAgICAgCTENCisJCQkJICAgIG1heF93aWR0aCAgCTQ4Ng0KKwkJCQkgICAganVzdGlmeSAgICAJMA0KKwkJCQkgICAgbGFiZWwgICAgICAJIklTdHJ1Y3R1cmVkRG9jdW1lbnQiKQ0KKwkJCQlpY29uX3N0eWxlIAkiSWNvbiINCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNCQzgwMDFFIg0KKwkJCQl3aWR0aCAgICAgIAk1MDQNCisJCQkJaGVpZ2h0ICAgICAJMTI2DQorCQkJCWFubm90YXRpb24gCTgNCisJCQkJYXV0b1Jlc2l6ZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBJbmhlcml0VmlldyAiIiBAMzUNCisJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0NCNjAzMTkiDQorCQkJCWNsaWVudCAgICAgCUAzNA0KKwkJCQlzdXBwbGllciAgIAlAMzINCisJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkgICAgKG9iamVjdCBBc3NvY2lhdGlvblZpZXdOZXcgInJlYWQgYW5kIHdyaXRlIiBAMzYNCisJCQkJbG9jYXRpb24gICAJKDEzMTEsIDQ4NykNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgU2VnTGFiZWwgQDM3DQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDM2DQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMTQwNCwgNDkwKQ0KKwkJCQkgICAgZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCQlzaXplICAgICAgIAkxMA0KKwkJCQkJZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkJYm9sZCAgICAgICAJRkFMU0UNCisJCQkJCWl0YWxpY3MgICAgCVRSVUUNCisJCQkJCXVuZGVybGluZSAgCUZBTFNFDQorCQkJCQlzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkJY29sb3IgICAgICAJMA0KKwkJCQkJZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJICAgIGFuY2hvciAgICAgCTENCisJCQkJICAgIGFuY2hvcl9sb2MgCTENCisJCQkJICAgIG5saW5lcyAgICAgCTENCisJCQkJICAgIG1heF93aWR0aCAgCTQ1MA0KKwkJCQkgICAganVzdGlmeSAgICAJMA0KKwkJCQkgICAgbGFiZWwgICAgICAJInJlYWQgYW5kIHdyaXRlIg0KKwkJCQkgICAgcGN0RGlzdCAgICAJMi4wNjY2NjcNCisJCQkJICAgIGhlaWdodCAgICAgCTMNCisJCQkJICAgIG9yaWVudGF0aW9uIAkxKQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzREE5MDMwRSINCisJCQkJcm9sZXZpZXdfbGlzdCAJKGxpc3QgUm9sZVZpZXdzDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICJyZWFkIiBAMzgNCisJCQkJCVBhcmVudF9WaWV3IAlAMzYNCisJCQkJCWxvY2F0aW9uICAgCSgtMjI1LCAxNjcpDQorCQkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzREFBMDI4RCINCisJCQkJCWNsaWVudCAgICAgCUAzNg0KKwkJCQkJc3VwcGxpZXIgICAJQDMzDQorCQkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAid3JpdGUiIEAzOQ0KKwkJCQkJUGFyZW50X1ZpZXcgCUAzNg0KKwkJCQkJbG9jYXRpb24gICAJKC0yMjUsIDE2NykNCisJCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDNEQUEwMjhGIg0KKwkJCQkJY2xpZW50ICAgICAJQDM2DQorCQkJCQlzdXBwbGllciAgIAlAMzQNCisJCQkJCWxpbmVfc3R5bGUgCTApKSkNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3M2MuRE9NIiBANDANCisJCQkJU2hvd0NvbXBhcnRtZW50U3RlcmVvdHlwZXMgCVRSVUUNCisJCQkJSW5jbHVkZUF0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlJbmNsdWRlT3BlcmF0aW9uIAlUUlVFDQorCQkJCWxvY2F0aW9uICAgCSgzODQsIDMyMCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDQwDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMjQ4LCAyNjkpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMjcyDQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkidzNjLkRPTSIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0MxNDAwNkQiDQorCQkJCXdpZHRoICAgICAgCTI5MA0KKwkJCQloZWlnaHQgICAgIAkxMjYNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IFVzZXNWaWV3ICIiIEA0MQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzQ0QxMDBERCINCisJCQkJY2xpZW50ICAgICAJQDMxDQorCQkJCXN1cHBsaWVyICAgCUA0MA0KKwkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uVmlld05ldyAiJFVOTkFNRUQkMTIiIEA0Mg0KKwkJCQlsb2NhdGlvbiAgIAkoODg2LCA0MzQpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzRTFEMDM1MSINCisJCQkJcm9sZXZpZXdfbGlzdCAJKGxpc3QgUm9sZVZpZXdzDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQxMyIgQDQzDQorCQkJCQlQYXJlbnRfVmlldyAJQDQyDQorCQkJCQlsb2NhdGlvbiAgIAkoMjQ2LCAxMTQpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDNFMUYwMTRCIg0KKwkJCQkJY2xpZW50ICAgICAJQDQyDQorCQkJCQlzdXBwbGllciAgIAlAMzQNCisJCQkJCXZlcnRpY2VzICAgCShsaXN0IFBvaW50cw0KKwkJCQkJICAgICg4ODYsIDQzNCkNCisJCQkJCSAgICAoOTQ0LCA0NDcpDQorCQkJCQkgICAgKDEzMTUsIDM3OSkpDQorCQkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAiJFVOTkFNRUQkMTQiIEA0NA0KKwkJCQkJUGFyZW50X1ZpZXcgCUA0Mg0KKwkJCQkJbG9jYXRpb24gICAJKDI0NiwgMTE0KQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzRTFGMDE0RCINCisJCQkJCWNsaWVudCAgICAgCUA0Mg0KKwkJCQkJc3VwcGxpZXIgICAJQDQwDQorCQkJCQlsaW5lX3N0eWxlIAkwKSkpDQorCQkJICAgIChvYmplY3QgQXNzb2NpYXRpb25WaWV3TmV3ICIkVU5OQU1FRCQxNSIgQDQ1DQorCQkJCWxvY2F0aW9uICAgCSg5ODMsIDE3NSkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNFMjQwMzE1Ig0KKwkJCQlyb2xldmlld19saXN0IAkobGlzdCBSb2xlVmlld3MNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDE2IiBANDYNCisJCQkJCVBhcmVudF9WaWV3IAlANDUNCisJCQkJCWxvY2F0aW9uICAgCSgtNTUzLCAtMTQ1KQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzRTI2MDE0QiINCisJCQkJCWNsaWVudCAgICAgCUA0NQ0KKwkJCQkJc3VwcGxpZXIgICAJQDQwDQorCQkJCQl2ZXJ0aWNlcyAgIAkobGlzdCBQb2ludHMNCisJCQkJCSAgICAoOTgzLCAxNzUpDQorCQkJCQkgICAgKDkyNSwgMTU5KQ0KKwkJCQkJICAgICg1MjksIDI3NSkpDQorCQkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAiJFVOTkFNRUQkMTciIEA0Nw0KKwkJCQkJUGFyZW50X1ZpZXcgCUA0NQ0KKwkJCQkJbG9jYXRpb24gICAJKC01NTMsIC0xNDUpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDNFMjYwMTREIg0KKwkJCQkJY2xpZW50ICAgICAJQDQ1DQorCQkJCQlzdXBwbGllciAgIAlAMzQNCisJCQkJCWxpbmVfc3R5bGUgCTApKSkNCisJCQkgICAgKG9iamVjdCBOb3RlVmlldyBANDgNCisJCQkJbG9jYXRpb24gICAJKDk0NCwgMzA0KQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlANDgNCisJCQkJICAgIGxvY2F0aW9uICAgCSg3MTMsIDI0NSkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkyDQorCQkJCSAgICBtYXhfd2lkdGggIAk0MjcNCisJCQkJICAgIGxhYmVsICAgICAgCSJ1cGRhdGUgZWFjaCBvdGhlciIpDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJODQ1NDE0Mw0KKwkJCQl3aWR0aCAgICAgIAk0ODcNCisJCQkJaGVpZ2h0ICAgICAJMTMxKSkpDQorCQkgICAgKG9iamVjdCBDbGFzc0RpYWdyYW0gIk1vZGVsLU1vZGVsLUFkYXB0ZXJzIg0KKwkJCXF1aWQgICAgICAgCSI0MTIwM0VBNDAzMDUiDQorCQkJdGl0bGUgICAgICAJIk1vZGVsLU1vZGVsLUFkYXB0ZXJzIg0KKwkJCXpvb20gICAgICAgCTEwMA0KKwkJCW1heF9oZWlnaHQgCTI4MzUwDQorCQkJbWF4X3dpZHRoICAJMjE2MDANCisJCQlvcmlnaW5feCAgIAk5MTINCisJCQlvcmlnaW5feSAgIAkwDQorCQkJaXRlbXMgICAgICAJKGxpc3QgZGlhZ3JhbV9pdGVtX2xpc3QNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjp3ZWIueG1sIHJlc291cmNlIiBANDkNCisJCQkJU2hvd0NvbXBhcnRtZW50U3RlcmVvdHlwZXMgCVRSVUUNCisJCQkJU3VwcHJlc3NBdHRyaWJ1dGUgCVRSVUUNCisJCQkJU3VwcHJlc3NPcGVyYXRpb24gCVRSVUUNCisJCQkJSW5jbHVkZUF0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlJbmNsdWRlT3BlcmF0aW9uIAlUUlVFDQorCQkJCWxvY2F0aW9uICAgCSgxMDQwLCAxMDcyKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlANDkNCisJCQkJICAgIGxvY2F0aW9uICAgCSg4MDMsIDEwMzEpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJNDc0DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkid2ViLnhtbCByZXNvdXJjZSIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0JBMDAyOTciDQorCQkJCXdpZHRoICAgICAgCTQ5Mg0KKwkJCQloZWlnaHQgICAgIAkxMDcNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6Ok1vZGVsQWRhcHRlciIgQDUwDQorCQkJCVNob3dDb21wYXJ0bWVudFN0ZXJlb3R5cGVzIAlUUlVFDQorCQkJCUluY2x1ZGVBdHRyaWJ1dGUgCVRSVUUNCisJCQkJSW5jbHVkZU9wZXJhdGlvbiAJVFJVRQ0KKwkJCQlsb2NhdGlvbiAgIAkoMTA3MiwgNTYwKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlANTANCisJCQkJICAgIGxvY2F0aW9uICAgCSg5MDQsIDUwOSkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkxDQorCQkJCSAgICBtYXhfd2lkdGggIAkzMzYNCisJCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkJICAgIGxhYmVsICAgICAgCSJNb2RlbEFkYXB0ZXIiKQ0KKwkJCQlpY29uX3N0eWxlIAkiSWNvbiINCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNGMzUwMzU0Ig0KKwkJCQl3aWR0aCAgICAgIAkzNTQNCisJCQkJaGVpZ2h0ICAgICAJMTI2DQorCQkJCWFubm90YXRpb24gCTgNCisJCQkJYXV0b1Jlc2l6ZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBOb3RlVmlldyBANTENCisJCQkJbG9jYXRpb24gICAJKDEwNzIsIDM1MikNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDUxDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoNTk3LCAyODApDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMg0KKwkJCQkgICAgbWF4X3dpZHRoICAJOTE1DQorCQkJCSAgICBsYWJlbCAgICAgIAkNCit8QSBjaGFuZ2UgaW4gb25lIG1vZGVsIGNhbiBiZSAiY29udmVydGVkIiB0byBhbiBhcHByb3ByaWF0ZSBjaGFuZ2UgdG8gdGhlIG90aGVyIG1vZGVsLg0KKwkJCQkgICAgKQ0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTg0NTQxNDMNCisJCQkJd2lkdGggICAgICAJOTc1DQorCQkJCWhlaWdodCAgICAgCTE1NikNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpXZWJBcHBsaWNhdGlvbjo6V2ViQXBwIiBANTINCisJCQkJU2hvd0NvbXBhcnRtZW50U3RlcmVvdHlwZXMgCVRSVUUNCisJCQkJSW5jbHVkZUF0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlJbmNsdWRlT3BlcmF0aW9uIAlUUlVFDQorCQkJCWxvY2F0aW9uICAgCSg1MTIsIDU2MCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDUyDQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMzE4LCA0ODYpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMzg4DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiV2ViQXBwIikNCisJCQkJaWNvbl9zdHlsZSAJIkljb24iDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzOTVEMDI1OCINCisJCQkJd2lkdGggICAgICAJNDA2DQorCQkJCWhlaWdodCAgICAgCTE3Mg0KKwkJCQlhbm5vdGF0aW9uIAk4DQorCQkJCWF1dG9SZXNpemUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgVXNlc1ZpZXcgIiIgQDUzDQorCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNGMTgwMDc3Ig0KKwkJCQljbGllbnQgICAgIAlANTINCisJCQkJc3VwcGxpZXIgICAJQDQ5DQorCQkJCWxpbmVfc3R5bGUgCTApDQorCQkJICAgIChvYmplY3QgQXNzb2NpYXRpb25WaWV3TmV3ICIkVU5OQU1FRCQxOCIgQDU0DQorCQkJCWxvY2F0aW9uICAgCSg4MDQsIDU2MCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNGNjAwMDE2Ig0KKwkJCQlyb2xldmlld19saXN0IAkobGlzdCBSb2xlVmlld3MNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDE5IiBANTUNCisJCQkJCVBhcmVudF9WaWV3IAlANTQNCisJCQkJCWxvY2F0aW9uICAgCSg0MzYsIDI1NikNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwM0Y2MDAyMjkiDQorCQkJCQljbGllbnQgICAgIAlANTQNCisJCQkJCXN1cHBsaWVyICAgCUA1MA0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDIwIiBANTYNCisJCQkJCVBhcmVudF9WaWV3IAlANTQNCisJCQkJCWxvY2F0aW9uICAgCSg0MzYsIDI1NikNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwM0Y2MDAyMkIiDQorCQkJCQljbGllbnQgICAgIAlANTQNCisJCQkJCXN1cHBsaWVyICAgCUA1Mg0KKwkJCQkJbGluZV9zdHlsZSAJMCkpKQ0KKwkJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uVmlld05ldyAiJFVOTkFNRUQkMjciIEA1Nw0KKwkJCQlsb2NhdGlvbiAgIAkoODA0LCA1NjApDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjAzRjgxMDA5NiINCisJCQkJcm9sZXZpZXdfbGlzdCAJKGxpc3QgUm9sZVZpZXdzDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQyOCIgQDU4DQorCQkJCQlQYXJlbnRfVmlldyAJQDU3DQorCQkJCQlsb2NhdGlvbiAgIAkoLTEyNCwgMjU2KQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjAzRjgzMDAzRiINCisJCQkJCWNsaWVudCAgICAgCUA1Nw0KKwkJCQkJc3VwcGxpZXIgICAJQDUyDQorCQkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAiJFVOTkFNRUQkMjkiIEA1OQ0KKwkJCQkJUGFyZW50X1ZpZXcgCUA1Nw0KKwkJCQkJbG9jYXRpb24gICAJKC0xMjQsIDI1NikNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwM0Y4MzAwNDkiDQorCQkJCQljbGllbnQgICAgIAlANTcNCisJCQkJCXN1cHBsaWVyICAgCUA1MA0KKwkJCQkJbGluZV9zdHlsZSAJMCkpKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6Ok5hdmlnYXRvciIgQDYwDQorCQkJCVNob3dDb21wYXJ0bWVudFN0ZXJlb3R5cGVzIAlUUlVFDQorCQkJCVN1cHByZXNzQXR0cmlidXRlIAlUUlVFDQorCQkJCVN1cHByZXNzT3BlcmF0aW9uIAlUUlVFDQorCQkJCUluY2x1ZGVBdHRyaWJ1dGUgCVRSVUUNCisJCQkJSW5jbHVkZU9wZXJhdGlvbiAJVFJVRQ0KKwkJCQlsb2NhdGlvbiAgIAkoMjA4LCAzNTIpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCQkgICAgUGFyZW50X1ZpZXcgCUA2MA0KKwkJCQkgICAgbG9jYXRpb24gICAJKDkxLCAzMTEpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMjM0DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiTmF2aWdhdG9yIikNCisJCQkJaWNvbl9zdHlsZSAJIkljb24iDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJMTI2MzIyNTYNCisJCQkJcXVpZHUgICAgICAJIjQxMjA0MTNDMDAzOSINCisJCQkJd2lkdGggICAgICAJMjUyDQorCQkJCWhlaWdodCAgICAgCTEwNw0KKwkJCQlhbm5vdGF0aW9uIAk4DQorCQkJCWF1dG9SZXNpemUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgQXNzb2NpYXRpb25WaWV3TmV3ICIkVU5OQU1FRCQzMyIgQDYxDQorCQkJCWxvY2F0aW9uICAgCSgzMzUsIDQzOSkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDQxREQwMDc2Ig0KKwkJCQlyb2xldmlld19saXN0IAkobGlzdCBSb2xlVmlld3MNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDM0IiBANjINCisJCQkJCVBhcmVudF9WaWV3IAlANjENCisJCQkJCWxvY2F0aW9uICAgCSgtMTc3LCAtMTIxKQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjA0MUREMDM0OCINCisJCQkJCWNsaWVudCAgICAgCUA2MQ0KKwkJCQkJc3VwcGxpZXIgICAJQDYwDQorCQkJCQlsaW5lX3N0eWxlIAkwKQ0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAiJFVOTkFNRUQkMzUiIEA2Mw0KKwkJCQkJUGFyZW50X1ZpZXcgCUA2MQ0KKwkJCQkJbG9jYXRpb24gICAJKC0xNzcsIC0xMjEpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDQxREQwMzRBIg0KKwkJCQkJY2xpZW50ICAgICAJQDYxDQorCQkJCQlzdXBwbGllciAgIAlANTINCisJCQkJCWxpbmVfc3R5bGUgCTApKSkNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpPdXRsaW5lVmlldyIgQDY0DQorCQkJCVNob3dDb21wYXJ0bWVudFN0ZXJlb3R5cGVzIAlUUlVFDQorCQkJCVN1cHByZXNzQXR0cmlidXRlIAlUUlVFDQorCQkJCVN1cHByZXNzT3BlcmF0aW9uIAlUUlVFDQorCQkJCUluY2x1ZGVBdHRyaWJ1dGUgCVRSVUUNCisJCQkJSW5jbHVkZU9wZXJhdGlvbiAJVFJVRQ0KKwkJCQlsb2NhdGlvbiAgIAkoMjA0OCwgMzM2KQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkJICAgIFBhcmVudF9WaWV3IAlANjQNCisJCQkJICAgIGxvY2F0aW9uICAgCSgxOTAwLCAyOTUpDQorCQkJCSAgICBmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQkgICAgbmxpbmVzICAgICAJMQ0KKwkJCQkgICAgbWF4X3dpZHRoICAJMjk2DQorCQkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJCSAgICBsYWJlbCAgICAgIAkiT3V0bGluZVZpZXciKQ0KKwkJCQlpY29uX3N0eWxlIAkiSWNvbiINCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlmaWxsX2NvbG9yIAkxMjYzMjI1Ng0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDQwNDYwMTk0Ig0KKwkJCQl3aWR0aCAgICAgIAkzMTQNCisJCQkJaGVpZ2h0ICAgICAJMTA3DQorCQkJCWFubm90YXRpb24gCTgNCisJCQkJYXV0b1Jlc2l6ZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpFZGl0b3IiIEA2NQ0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlTdXBwcmVzc0F0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlTdXBwcmVzc09wZXJhdGlvbiAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDIxNjAsIDQ4MCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDY1DQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMjA2NCwgNDM5KQ0KKwkJCQkgICAgZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJICAgIG5saW5lcyAgICAgCTENCisJCQkJICAgIG1heF93aWR0aCAgCTE5Mg0KKwkJCQkgICAganVzdGlmeSAgICAJMA0KKwkJCQkgICAgbGFiZWwgICAgICAJIkVkaXRvciIpDQorCQkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCWZpbGxfY29sb3IgCTEyNjMyMjU2DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwNDExRDAwMTYiDQorCQkJCXdpZHRoICAgICAgCTIxMA0KKwkJCQloZWlnaHQgICAgIAkxMDcNCisJCQkJYW5ub3RhdGlvbiAJOA0KKwkJCQlhdXRvUmVzaXplIAlUUlVFKQ0KKwkJCSAgICAob2JqZWN0IENsYXNzVmlldyAiQ2xhc3MiICJMb2dpY2FsIFZpZXc6OlN0cnVjdHVyZWRNb2RlbHM6OnczYy5ET00iIEA2Ng0KKwkJCQlTaG93Q29tcGFydG1lbnRTdGVyZW90eXBlcyAJVFJVRQ0KKwkJCQlJbmNsdWRlQXR0cmlidXRlIAlUUlVFDQorCQkJCUluY2x1ZGVPcGVyYXRpb24gCVRSVUUNCisJCQkJbG9jYXRpb24gICAJKDE2NDgsIDU2MCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCWxhYmVsICAgICAgCShvYmplY3QgSXRlbUxhYmVsDQorCQkJCSAgICBQYXJlbnRfVmlldyAJQDY2DQorCQkJCSAgICBsb2NhdGlvbiAgIAkoMTUxMiwgNTA5KQ0KKwkJCQkgICAgZmlsbF9jb2xvciAJMTM0MzQ4NzkNCisJCQkJICAgIG5saW5lcyAgICAgCTENCisJCQkJICAgIG1heF93aWR0aCAgCTI3Mg0KKwkJCQkgICAganVzdGlmeSAgICAJMA0KKwkJCQkgICAgbGFiZWwgICAgICAJInczYy5ET00iKQ0KKwkJCQlpY29uX3N0eWxlIAkiSWNvbiINCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlmaWxsX2NvbG9yIAkxMzQzNDg3OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNDMTQwMDZEIg0KKwkJCQl3aWR0aCAgICAgIAkyOTANCisJCQkJaGVpZ2h0ICAgICAJMTI2DQorCQkJCWFubm90YXRpb24gCTgNCisJCQkJYXV0b1Jlc2l6ZSAJVFJVRSkNCisJCQkgICAgKG9iamVjdCBVc2VzVmlldyAiIiBANjcNCisJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0YyMDAyNzciDQorCQkJCWNsaWVudCAgICAgCUA2Ng0KKwkJCQlzdXBwbGllciAgIAlANDkNCisJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkgICAgKG9iamVjdCBBc3NvY2lhdGlvblZpZXdOZXcgIiRVTk5BTUVEJDIxIiBANjgNCisJCQkJbG9jYXRpb24gICAJKDEzNzUsIDU2MCkNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDNGNjQwMUFEIg0KKwkJCQlyb2xldmlld19saXN0IAkobGlzdCBSb2xlVmlld3MNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDIyIiBANjkNCisJCQkJCVBhcmVudF9WaWV3IAlANjgNCisJCQkJCWxvY2F0aW9uICAgCSg0NDcsIDI1NikNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwM0Y2NTAwNUEiDQorCQkJCQljbGllbnQgICAgIAlANjgNCisJCQkJCXN1cHBsaWVyICAgCUA2Ng0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDIzIiBANzANCisJCQkJCVBhcmVudF9WaWV3IAlANjgNCisJCQkJCWxvY2F0aW9uICAgCSg0NDcsIDI1NikNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwM0Y2NTAwNjQiDQorCQkJCQljbGllbnQgICAgIAlANjgNCisJCQkJCXN1cHBsaWVyICAgCUA1MA0KKwkJCQkJbGluZV9zdHlsZSAJMCkpKQ0KKwkJCSAgICAob2JqZWN0IEFzc29jaWF0aW9uVmlld05ldyAiJFVOTkFNRUQkMzAiIEA3MQ0KKwkJCQlsb2NhdGlvbiAgIAkoMTM3NSwgNTYwKQ0KKwkJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCXF1aWR1ICAgICAgCSI0MTIwM0ZBMTAyQTUiDQorCQkJCXJvbGV2aWV3X2xpc3QgCShsaXN0IFJvbGVWaWV3cw0KKwkJCQkgICAgKG9iamVjdCBSb2xlVmlldyAiJFVOTkFNRUQkMzEiIEA3Mg0KKwkJCQkJUGFyZW50X1ZpZXcgCUA3MQ0KKwkJCQkJbG9jYXRpb24gICAJKC0xMjksIDI1NikNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwM0ZBMjAzODMiDQorCQkJCQljbGllbnQgICAgIAlANzENCisJCQkJCXN1cHBsaWVyICAgCUA1MA0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDMyIiBANzMNCisJCQkJCVBhcmVudF9WaWV3IAlANzENCisJCQkJCWxvY2F0aW9uICAgCSgtMTI5LCAyNTYpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDNGQTIwMzg1Ig0KKwkJCQkJY2xpZW50ICAgICAJQDcxDQorCQkJCQlzdXBwbGllciAgIAlANjYNCisJCQkJCWxpbmVfc3R5bGUgCTApKSkNCisJCQkgICAgKG9iamVjdCBBc3NvY2lhdGlvblZpZXdOZXcgIiRVTk5BTUVEJDM2IiBANzQNCisJCQkJbG9jYXRpb24gICAJKDE4NTYsIDQ0MikNCisJCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQlxdWlkdSAgICAgIAkiNDEyMDQyNDEwMzA1Ig0KKwkJCQlyb2xldmlld19saXN0IAkobGlzdCBSb2xlVmlld3MNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDM3IiBANzUNCisJCQkJCVBhcmVudF9WaWV3IAlANzQNCisJCQkJCWxvY2F0aW9uICAgCSgyMDgsIC0xMTgpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDQyNDIwMjUyIg0KKwkJCQkJY2xpZW50ICAgICAJQDc0DQorCQkJCQlzdXBwbGllciAgIAlANjQNCisJCQkJCWxpbmVfc3R5bGUgCTApDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQzOCIgQDc2DQorCQkJCQlQYXJlbnRfVmlldyAJQDc0DQorCQkJCQlsb2NhdGlvbiAgIAkoMjA4LCAtMTE4KQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjA0MjQyMDI1NCINCisJCQkJCWNsaWVudCAgICAgCUA3NA0KKwkJCQkJc3VwcGxpZXIgICAJQDY2DQorCQkJCQlsaW5lX3N0eWxlIAkwKSkpDQorCQkJICAgIChvYmplY3QgQXNzb2NpYXRpb25WaWV3TmV3ICIkVU5OQU1FRCQzOSIgQDc3DQorCQkJCWxvY2F0aW9uICAgCSgxOTIzLCA1MTYpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjA0MjQ2MDFFMCINCisJCQkJcm9sZXZpZXdfbGlzdCAJKGxpc3QgUm9sZVZpZXdzDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQ0MCIgQDc4DQorCQkJCQlQYXJlbnRfVmlldyAJQDc3DQorCQkJCQlsb2NhdGlvbiAgIAkoMjc1LCAtNDQpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDQyNDcwMEQzIg0KKwkJCQkJY2xpZW50ICAgICAJQDc3DQorCQkJCQlzdXBwbGllciAgIAlANjUNCisJCQkJCWxpbmVfc3R5bGUgCTApDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQ0MSIgQDc5DQorCQkJCQlQYXJlbnRfVmlldyAJQDc3DQorCQkJCQlsb2NhdGlvbiAgIAkoMjc1LCAtNDQpDQorCQkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJCQlxdWlkdSAgICAgIAkiNDEyMDQyNDcwMEQ1Ig0KKwkJCQkJY2xpZW50ICAgICAJQDc3DQorCQkJCQlzdXBwbGllciAgIAlANjYNCisJCQkJCWxpbmVfc3R5bGUgCTApKSkNCisJCQkgICAgKG9iamVjdCBDbGFzc1ZpZXcgIkNsYXNzIiAiTG9naWNhbCBWaWV3OjpTdHJ1Y3R1cmVkTW9kZWxzOjpQcm9wZXJ0eVNoZWV0IiBAODANCisJCQkJU2hvd0NvbXBhcnRtZW50U3RlcmVvdHlwZXMgCVRSVUUNCisJCQkJU3VwcHJlc3NBdHRyaWJ1dGUgCVRSVUUNCisJCQkJU3VwcHJlc3NPcGVyYXRpb24gCVRSVUUNCisJCQkJSW5jbHVkZUF0dHJpYnV0ZSAJVFJVRQ0KKwkJCQlJbmNsdWRlT3BlcmF0aW9uIAlUUlVFDQorCQkJCWxvY2F0aW9uICAgCSgyMDk2LCA2NTYpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCQkgICAgUGFyZW50X1ZpZXcgCUA4MA0KKwkJCQkgICAgbG9jYXRpb24gICAJKDE5MjQsIDYxNSkNCisJCQkJICAgIGZpbGxfY29sb3IgCTEzNDM0ODc5DQorCQkJCSAgICBubGluZXMgICAgIAkxDQorCQkJCSAgICBtYXhfd2lkdGggIAkzNDQNCisJCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkJICAgIGxhYmVsICAgICAgCSJQcm9wZXJ0eVNoZWV0IikNCisJCQkJaWNvbl9zdHlsZSAJIkljb24iDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJZmlsbF9jb2xvciAJMTI2MzIyNTYNCisJCQkJcXVpZHUgICAgICAJIjQxMjA0MTI5MDE0MCINCisJCQkJd2lkdGggICAgICAJMzYyDQorCQkJCWhlaWdodCAgICAgCTEwNw0KKwkJCQlhbm5vdGF0aW9uIAk4DQorCQkJCWF1dG9SZXNpemUgCVRSVUUpDQorCQkJICAgIChvYmplY3QgQXNzb2NpYXRpb25WaWV3TmV3ICIkVU5OQU1FRCQ0MiIgQDgxDQorCQkJCWxvY2F0aW9uICAgCSgxODUzLCA2MDMpDQorCQkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCQlzdGVyZW90eXBlIAlUUlVFDQorCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJcXVpZHUgICAgICAJIjQxMjA0MjRBMDIxOCINCisJCQkJcm9sZXZpZXdfbGlzdCAJKGxpc3QgUm9sZVZpZXdzDQorCQkJCSAgICAob2JqZWN0IFJvbGVWaWV3ICIkVU5OQU1FRCQ0MyIgQDgyDQorCQkJCQlQYXJlbnRfVmlldyAJQDgxDQorCQkJCQlsb2NhdGlvbiAgIAkoMjA1LCA0MykNCisJCQkJCXN0ZXJlb3R5cGUgCVRSVUUNCisJCQkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQkJCXF1aWR1ICAgICAgCSI0MTIwNDI0QjAwNzUiDQorCQkJCQljbGllbnQgICAgIAlAODENCisJCQkJCXN1cHBsaWVyICAgCUA4MA0KKwkJCQkJbGluZV9zdHlsZSAJMCkNCisJCQkJICAgIChvYmplY3QgUm9sZVZpZXcgIiRVTk5BTUVEJDQ0IiBAODMNCisJCQkJCVBhcmVudF9WaWV3IAlAODENCisJCQkJCWxvY2F0aW9uICAgCSgyMDUsIDQzKQ0KKwkJCQkJc3RlcmVvdHlwZSAJVFJVRQ0KKwkJCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCQkJcXVpZHUgICAgICAJIjQxMjA0MjRCMDA4MCINCisJCQkJCWNsaWVudCAgICAgCUA4MQ0KKwkJCQkJc3VwcGxpZXIgICAJQDY2DQorCQkJCQlsaW5lX3N0eWxlIAkwKSkpKSkpKSkNCisJbG9naWNhbF9wcmVzZW50YXRpb25zIAkobGlzdCB1bml0X3JlZmVyZW5jZV9saXN0DQorCSAgICAob2JqZWN0IENsYXNzRGlhZ3JhbSAiUGFja2FnZSBIaWVyYXJjaHkiDQorCQlxdWlkICAgICAgIAkiMzlDOTI2MTAwMUI4Ig0KKwkJdGl0bGUgICAgICAJIlBhY2thZ2UgSGllcmFyY2h5Ig0KKwkJem9vbSAgICAgICAJMTAwDQorCQltYXhfaGVpZ2h0IAkyODM1MA0KKwkJbWF4X3dpZHRoICAJMjE2MDANCisJCW9yaWdpbl94ICAgCTANCisJCW9yaWdpbl95ICAgCTANCisJCWl0ZW1zICAgICAgCShsaXN0IGRpYWdyYW1faXRlbV9saXN0DQorCQkgICAgKG9iamVjdCBDYXRlZ29yeVZpZXcgIkxvZ2ljYWwgVmlldzo6amF2YSIgQDg0DQorCQkJbG9jYXRpb24gICAJKDIwOCwgMjcyKQ0KKwkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCSAgICBQYXJlbnRfVmlldyAJQDg0DQorCQkJICAgIGxvY2F0aW9uICAgCSg2NCwgMTg4KQ0KKwkJCSAgICBubGluZXMgICAgIAkyDQorCQkJICAgIG1heF93aWR0aCAgCTI4OA0KKwkJCSAgICBqdXN0aWZ5ICAgIAkwDQorCQkJICAgIGxhYmVsICAgICAgCSJqYXZhIikNCisJCQlpY29uX3N0eWxlIAkiSWNvbiINCisJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJZmlsbF9jb2xvciAJMTY3NzcyMTUNCisJCQlxdWlkdSAgICAgIAkiMzlDOTI2NjEwMDNCIg0KKwkJCXdpZHRoICAgICAgCTMwMA0KKwkJCWhlaWdodCAgICAgCTE4MCkNCisJCSAgICAob2JqZWN0IENhdGVnb3J5VmlldyAiTG9naWNhbCBWaWV3OjpqYXZheCIgQDg1DQorCQkJbG9jYXRpb24gICAJKDY1NiwgMjcyKQ0KKwkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQlsYWJlbCAgICAgIAkob2JqZWN0IEl0ZW1MYWJlbA0KKwkJCSAgICBQYXJlbnRfVmlldyAJQDg1DQorCQkJICAgIGxvY2F0aW9uICAgCSg1MTIsIDE4OCkNCisJCQkgICAgbmxpbmVzICAgICAJMg0KKwkJCSAgICBtYXhfd2lkdGggIAkyODgNCisJCQkgICAganVzdGlmeSAgICAJMA0KKwkJCSAgICBsYWJlbCAgICAgIAkiamF2YXgiKQ0KKwkJCWljb25fc3R5bGUgCSJJY29uIg0KKwkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQlmaWxsX2NvbG9yIAkxNjc3NzIxNQ0KKwkJCXF1aWR1ICAgICAgCSIzOUM5MjY2MTAwMTgiDQorCQkJd2lkdGggICAgICAJMzAwDQorCQkJaGVpZ2h0ICAgICAJMTgwKQ0KKwkJICAgIChvYmplY3QgQ2F0ZWdvcnlWaWV3ICJMb2dpY2FsIFZpZXc6Om9yZyIgQDg2DQorCQkJbG9jYXRpb24gICAJKDExMDQsIDI3MikNCisJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJbGFiZWwgICAgICAJKG9iamVjdCBJdGVtTGFiZWwNCisJCQkgICAgUGFyZW50X1ZpZXcgCUA4Ng0KKwkJCSAgICBsb2NhdGlvbiAgIAkoOTYwLCAxODgpDQorCQkJICAgIG5saW5lcyAgICAgCTINCisJCQkgICAgbWF4X3dpZHRoICAJMjg4DQorCQkJICAgIGp1c3RpZnkgICAgCTANCisJCQkgICAgbGFiZWwgICAgICAJIm9yZyIpDQorCQkJaWNvbl9zdHlsZSAJIkljb24iDQorCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCWZpbGxfY29sb3IgCTE2Nzc3MjE1DQorCQkJcXVpZHUgICAgICAJIjM5QzkyNjkzMDM2RiINCisJCQl3aWR0aCAgICAgIAkzMDANCisJCQloZWlnaHQgICAgIAkxODApKSkNCisJICAgIChvYmplY3QgQ2xhc3NEaWFncmFtICJMZWdlbmQiDQorCQlxdWlkICAgICAgIAkiMzlDRDUxODQwMDU5Ig0KKwkJdGl0bGUgICAgICAJIkxlZ2VuZCINCisJCXpvb20gICAgICAgCTEwMA0KKwkJbWF4X2hlaWdodCAJMjgzNTANCisJCW1heF93aWR0aCAgCTIxNjAwDQorCQlvcmlnaW5feCAgIAkwDQorCQlvcmlnaW5feSAgIAkwDQorCQlpdGVtcyAgICAgIAkobGlzdCBkaWFncmFtX2l0ZW1fbGlzdA0KKwkJICAgIChvYmplY3QgTm90ZVZpZXcgQDg3DQorCQkJbG9jYXRpb24gICAJKDIyNCwgNjI0KQ0KKwkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQlsaW5lX2NvbG9yIAkzMzQyNDg5DQorCQkJZmlsbF9jb2xvciAJMTI2MzIyNTYNCisJCQl3aWR0aCAgICAgIAkzMDANCisJCQloZWlnaHQgICAgIAkxMzIpDQorCQkgICAgKG9iamVjdCBOb3RlVmlldyBAODgNCisJCQlsb2NhdGlvbiAgIAkoNzA0LCA2MjQpDQorCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJICAgIHNpemUgICAgICAgCTEwDQorCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkgICAgYm9sZCAgICAgICAJRkFMU0UNCisJCQkgICAgaXRhbGljcyAgICAJRkFMU0UNCisJCQkgICAgdW5kZXJsaW5lICAJRkFMU0UNCisJCQkgICAgc3RyaWtlICAgICAJRkFMU0UNCisJCQkgICAgY29sb3IgICAgICAJMA0KKwkJCSAgICBkZWZhdWx0X2NvbG9yIAlUUlVFKQ0KKwkJCWxpbmVfY29sb3IgCTMzNDI0ODkNCisJCQlmaWxsX2NvbG9yIAk4NDIxNjMxDQorCQkJd2lkdGggICAgICAJMzAwDQorCQkJaGVpZ2h0ICAgICAJMTMyKQ0KKwkJICAgIChvYmplY3QgTm90ZVZpZXcgQDg5DQorCQkJbG9jYXRpb24gICAJKDEyMDAsIDYyNCkNCisJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCWZpbGxfY29sb3IgCTEyNjE1NjgwDQorCQkJd2lkdGggICAgICAJMzAwDQorCQkJaGVpZ2h0ICAgICAJMTMyKQ0KKwkJICAgIChvYmplY3QgTm90ZVZpZXcgQDkwDQorCQkJbG9jYXRpb24gICAJKDE2NjQsIDYyNCkNCisJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJbGluZV9jb2xvciAJMzM0MjQ4OQ0KKwkJCWZpbGxfY29sb3IgCTE2Nzc3MjE1DQorCQkJd2lkdGggICAgICAJMzAwDQorCQkJaGVpZ2h0ICAgICAJMTMyKQ0KKwkJICAgIChvYmplY3QgTGFiZWwgQDkxDQorCQkJbG9jYXRpb24gICAJKDgxLCAzNjkpDQorCQkJZm9udCAgICAgICAJKG9iamVjdCBGb250DQorCQkJICAgIHNpemUgICAgICAgCTEyDQorCQkJICAgIGZhY2UgICAgICAgCSJBcmlhbCINCisJCQkgICAgYm9sZCAgICAgICAJVFJVRQ0KKwkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJbmxpbmVzICAgICAJMQ0KKwkJCW1heF93aWR0aCAgCTExNjMNCisJCQlsYWJlbCAgICAgIAkiSjJFRTogSmF2YSAyIFBsYXRmb3JtLCBFbnRlcnByaXNlIEVkaXRpb24gLSB2IDEuMi4xIikNCisJCSAgICAob2JqZWN0IExhYmVsIEA5Mg0KKwkJCWxvY2F0aW9uICAgCSg5NiwgNjA4KQ0KKwkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQlubGluZXMgICAgIAkxDQorCQkJbWF4X3dpZHRoICAJMjY4DQorCQkJbGFiZWwgICAgICAJIkFic3RyYWN0IENsYXNzIikNCisJCSAgICAob2JqZWN0IExhYmVsIEA5Mw0KKwkJCWxvY2F0aW9uICAgCSg1OTIsIDYwOCkNCisJCQlmb250ICAgICAgIAkob2JqZWN0IEZvbnQNCisJCQkgICAgc2l6ZSAgICAgICAJMTANCisJCQkgICAgZmFjZSAgICAgICAJIkFyaWFsIg0KKwkJCSAgICBib2xkICAgICAgIAlGQUxTRQ0KKwkJCSAgICBpdGFsaWNzICAgIAlGQUxTRQ0KKwkJCSAgICB1bmRlcmxpbmUgIAlGQUxTRQ0KKwkJCSAgICBzdHJpa2UgICAgIAlGQUxTRQ0KKwkJCSAgICBjb2xvciAgICAgIAkwDQorCQkJICAgIGRlZmF1bHRfY29sb3IgCVRSVUUpDQorCQkJbmxpbmVzICAgICAJMQ0KKwkJCW1heF93aWR0aCAgCTIyNQ0KKwkJCWxhYmVsICAgICAgCSJGaW5hbCBDbGFzcyIpDQorCQkgICAgKG9iamVjdCBMYWJlbCBAOTQNCisJCQlsb2NhdGlvbiAgIAkoMTEwNCwgNjA4KQ0KKwkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQlubGluZXMgICAgIAkxDQorCQkJbWF4X3dpZHRoICAJMjA2DQorCQkJbGFiZWwgICAgICAJIkludGVyZmFjZSIpDQorCQkgICAgKG9iamVjdCBMYWJlbCBAOTUNCisJCQlsb2NhdGlvbiAgIAkoMTU1MiwgNjA4KQ0KKwkJCWZvbnQgICAgICAgCShvYmplY3QgRm9udA0KKwkJCSAgICBzaXplICAgICAgIAkxMA0KKwkJCSAgICBmYWNlICAgICAgIAkiQXJpYWwiDQorCQkJICAgIGJvbGQgICAgICAgCUZBTFNFDQorCQkJICAgIGl0YWxpY3MgICAgCUZBTFNFDQorCQkJICAgIHVuZGVybGluZSAgCUZBTFNFDQorCQkJICAgIHN0cmlrZSAgICAgCUZBTFNFDQorCQkJICAgIGNvbG9yICAgICAgCTANCisJCQkgICAgZGVmYXVsdF9jb2xvciAJVFJVRSkNCisJCQlubGluZXMgICAgIAkxDQorCQkJbWF4X3dpZHRoICAJMTQ0DQorCQkJbGFiZWwgICAgICAJIkNsYXNzIikpKSkpDQorICAgIHJvb3Rfc3Vic3lzdGVtIAkob2JqZWN0IFN1YlN5c3RlbSAiQ29tcG9uZW50IFZpZXciDQorCXF1aWQgICAgICAgCSIzOUM5MjYwQzAwRDciDQorCXBoeXNpY2FsX21vZGVscyAJKGxpc3QgdW5pdF9yZWZlcmVuY2VfbGlzdA0KKwkgICAgKG9iamVjdCBTdWJTeXN0ZW0gImphdmF4Ig0KKwkJaXNfdW5pdCAgICAJVFJVRQ0KKwkJaXNfbG9hZGVkICAJRkFMU0UNCisJCWZpbGVfbmFtZSAgCSIkRlJBTUVXT1JLX1BBVEhcXFNoYXJlZCBDb21wb25lbnRzXFxqMmVlX2phdmF4LnN1YiINCisJCXF1aWQgICAgICAgCSIzOUM5MjY2MDAzRDgiKQ0KKwkgICAgKG9iamVjdCBTdWJTeXN0ZW0gImphdmEiDQorCQlpc191bml0ICAgIAlUUlVFDQorCQlpc19sb2FkZWQgIAlGQUxTRQ0KKwkJZmlsZV9uYW1lICAJIiRGUkFNRVdPUktfUEFUSFxcU2hhcmVkIENvbXBvbmVudHNcXGoyc2VfMV8zX2phdmEuc3ViIg0KKwkJcXVpZCAgICAgICAJIjM5QzkyNjYxMDAyQyIpDQorCSAgICAob2JqZWN0IFN1YlN5c3RlbSAib3JnIg0KKwkJaXNfdW5pdCAgICAJVFJVRQ0KKwkJaXNfbG9hZGVkICAJRkFMU0UNCisJCWZpbGVfbmFtZSAgCSIkRlJBTUVXT1JLX1BBVEhcXFNoYXJlZCBDb21wb25lbnRzXFxqMnNlXzFfM19vcmcuc3ViIg0KKwkJcXVpZCAgICAgICAJIjM5QzkyNjhDMDFDOSIpKQ0KKwlwaHlzaWNhbF9wcmVzZW50YXRpb25zIAkobGlzdCB1bml0X3JlZmVyZW5jZV9saXN0DQorCSAgICAob2JqZWN0IE1vZHVsZV9EaWFncmFtICJNYWluIg0KKwkJcXVpZCAgICAgICAJIjM5QzkyNjEwMDFCNiINCisJCXRpdGxlICAgICAgCSJNYWluIg0KKwkJem9vbSAgICAgICAJMTAwDQorCQltYXhfaGVpZ2h0IAkyODM1MA0KKwkJbWF4X3dpZHRoICAJMjE2MDANCisJCW9yaWdpbl94ICAgCTANCisJCW9yaWdpbl95ICAgCTANCisJCWl0ZW1zICAgICAgCShsaXN0IGRpYWdyYW1faXRlbV9saXN0KSkpKQ0KKyAgICBwcm9jZXNzX3N0cnVjdHVyZSAJKG9iamVjdCBQcm9jZXNzZXMNCisJcXVpZCAgICAgICAJIjM5QzkyNjBDMDBEOCINCisJUHJvY3NORGV2cyAJKGxpc3QNCisJICAgIChvYmplY3QgUHJvY2Vzc19EaWFncmFtICJEZXBsb3ltZW50IFZpZXciDQorCQlxdWlkICAgICAgIAkiMzlDOTI2MEMwMERBIg0KKwkJdGl0bGUgICAgICAJIkRlcGxveW1lbnQgVmlldyINCisJCXpvb20gICAgICAgCTEwMA0KKwkJbWF4X2hlaWdodCAJMjgzNTANCisJCW1heF93aWR0aCAgCTIxNjAwDQorCQlvcmlnaW5feCAgIAkwDQorCQlvcmlnaW5feSAgIAkwDQorCQlpdGVtcyAgICAgIAkobGlzdCBkaWFncmFtX2l0ZW1fbGlzdCkpKSkNCisgICAgcHJvcGVydGllcyAJKG9iamVjdCBQcm9wZXJ0aWVzDQorCWF0dHJpYnV0ZXMgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQluYW1lICAgICAgIAkicHJvcGVydHlJZCINCisJCXZhbHVlICAgICAgCSI4MDkxMzU5NjYiKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Qcm9qZWN0Ig0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJDcmVhdGVNaXNzaW5nRGlyZWN0b3JpZXMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiRWRpdG9yIg0KKwkJCXZhbHVlICAgICAgCSgiRWRpdG9yVHlwZSIgMTAwKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiSW5jbHVkZVBhdGgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJbmFtZSAgICAgICAJIlN0b3BPbkVycm9yIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJbmFtZSAgICAgICAJIkVkaXRvclR5cGUiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJCW5hbWUgICAgICAgCSJCdWlsdEluIg0KKwkJCQl2YWx1ZSAgICAgIAkxMDApDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQkJbmFtZSAgICAgICAJIldpbmRvd3NTaGVsbCINCisJCQkJdmFsdWUgICAgICAJMTAxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJbmFtZSAgICAgICAJIlBhdGhTZXBhcmF0b3IiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQ2xhc3MiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJbmFtZSAgICAgICAJIkFycmF5RGltZW5zaW9ucyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiQ29uc3RWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiSW1wbGVtZW50YXRpb25UeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX01vZHVsZS1TcGVjIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJBZGRpdGlvbmFsSW5jbHVkZXMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJDbUlkZW50aWZpY2F0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIgICVYJSAlUSUgJVolICVXJSIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJDb3B5cmlnaHROb3RpY2UiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJJbmNsdXNpb25Qcm90ZWN0aW9uU3ltYm9sIg0KKwkJCXZhbHVlICAgICAgCSJBVVRPIEdFTkVSQVRFIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Nb2R1bGUtQm9keSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiQWRkaXRpb25hbEluY2x1ZGVzIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiQ21JZGVudGlmaWNhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiICAlWCUgJVElICVaJSAlVyUiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiQ29weXJpZ2h0Tm90aWNlIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiSW5jbHVzaW9uUHJvdGVjdGlvblN5bWJvbCINCisJCQl2YWx1ZSAgICAgIAkiQVVUTyBHRU5FUkFURSIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fT3BlcmF0aW9uIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJDb250ZXh0Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJPcGVyYXRpb25Jc09uZVdheSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19BdHRyaWJ1dGUiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJbmFtZSAgICAgICAJIkFycmF5RGltZW5zaW9ucyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiQ2FzZVNwZWNpZmllciINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiSXNSZWFkT25seSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiT3JkZXIiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUm9sZSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiQXJyYXlEaW1lbnNpb25zIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJDYXNlU3BlY2lmaWVyIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUZvcndhcmRSZWZlcmVuY2UiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJbmFtZSAgICAgICAJIklzUmVhZE9ubHkiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJbmFtZSAgICAgICAJIk9yZGVyIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJCb3VuZGVkUm9sZVR5cGUiDQorCQkJdmFsdWUgICAgICAJKCJBc3NvY1R5cGVTZXQiIDQ3KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiQXNzb2NUeXBlU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCQluYW1lICAgICAgIAkiQXJyYXkiDQorCQkJCXZhbHVlICAgICAgCTI0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJCW5hbWUgICAgICAgCSJTZXF1ZW5jZSINCisJCQkJdmFsdWUgICAgICAJNDcpKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Vc2VzIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUZvcndhcmRSZWZlcmVuY2UiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQluYW1lICAgICAgIAkicHJvcGVydHlJZCINCisJCXZhbHVlICAgICAgCSI4MDkxMzU5NjYiKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUHJvamVjdCINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJInByb2plY3QiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJUYWJsZUNvdW50ZXIiDQorCQkJdmFsdWUgICAgICAJMCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRvbWFpbkNvdW50ZXIiDQorCQkJdmFsdWUgICAgICAJMCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlNQUGFja2FnZUNvdW50ZXIiDQorCQkJdmFsdWUgICAgICAJMCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlRyaWdnZXJDb3VudGVyIg0KKwkJCXZhbHVlICAgICAgCTApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJbmRleENvdW50ZXIiDQorCQkJdmFsdWUgICAgICAJMCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkNvbnN0cmFpbnRDb3VudGVyIg0KKwkJCXZhbHVlICAgICAgCTApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJTdG9yZVByb2NlZHVyZUNvdW50ZXIiDQorCQkJdmFsdWUgICAgICAJMCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlByaW1hcnlLZXlDb3VudGVyIg0KKwkJCXZhbHVlICAgICAgCTApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJGb3JlaWduS2V5Q291bnRlciINCisJCQl2YWx1ZSAgICAgIAkwKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiVGFibGVQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJEb21haW5QcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJUcmlnZ2VyUHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSW5kZXhQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJDb25zdHJhaW50UHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiU3RvcmVQcm9jZWR1cmVQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJQcmltYXJ5S2V5UHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRm9yZWlnbktleVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlZpZXdDb3VudGVyIg0KKwkJCXZhbHVlICAgICAgCTApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJKb2luQ291bnRlciINCisJCQl2YWx1ZSAgICAgIAkwKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiVGFibGVTcGFjZUNvdW50ZXIiDQorCQkJdmFsdWUgICAgICAJMCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJImNPTlRBSU5FUkNvdW50ZXIiDQorCQkJdmFsdWUgICAgICAJMCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlZpZXdQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJUYWJsZVNwYWNlUHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Nb2R1bGUtU3BlYyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJImRtSXRlbSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRNTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzRGF0YWJhc2UiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJUYXJnZXREYXRhYmFzZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkxvY2F0aW9uIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNUYWJsZVNwYWNlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiVGFibGVTcGFjZVR5cGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc0RlYXVsdCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkJ1ZmZlclBvb2wiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJFeHRlbnRTaXplIg0KKwkJCXZhbHVlICAgICAgCTEpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJQcmVmZXRjaFNpemUiDQorCQkJdmFsdWUgICAgICAJMSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlBhZ2VTaXplIg0KKwkJCXZhbHVlICAgICAgCTQpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJNYW5hZ2VkQnkiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJMaXN0Ig0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19DYXRlZ29yeSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJImRtSXRlbSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRNTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJImRtU2NoZW1hIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiZG1Eb21haW5QYWNrYWdlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNTY2hlbWEiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc0RvbWFpblBhY2thZ2UiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc1Jvb3RTY2hlbWEiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc1Jvb3REb21haW5QYWNrYWdlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNTY2hlbWFQYWNrYWdlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRGF0YWJhc2VJRCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRCTVMiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX0NsYXNzIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiZG1JdGVtIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRE1OYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNUYWJsZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzVmlldyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzRG9tYWluIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNTUFBhY2thZ2UiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJTeW5vbnltbnMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJUYWJsZVNwYWNlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiU291cmNlSWQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJTb3VyY2VUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiU2VsZWN0Q2xhdXNlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNVcGRhdGFibGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJDaGVja09wdGlvbiINCisJCQl2YWx1ZSAgICAgIAkwKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiUGVyc2lzdFRvU2VydmVyIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiVGFibGVTcGFjZUlEIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiQ29ycmVsYXRpb25OYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNVcGRhdGVhYmxlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc1NuYXBTaG90Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNEaXN0aW5jdCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzUGFja2FnZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQXR0cmlidXRlIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiZG1JdGVtIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRE1OYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiT3JkaW5hbCINCisJCQl2YWx1ZSAgICAgIAkwKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNJZGVudGl0eSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzVW5pcXVlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiTnVsbHNBbGxvd2VkIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRGF0YVR5cGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiTGVuZ3RoIg0KKwkJCXZhbHVlICAgICAgCTApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJTY2FsZSINCisJCQl2YWx1ZSAgICAgIAkwKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiQ29sdW1uVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiTmF0aXZlIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkZvckJpdERhdGEiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJEZWZhdWx0VmFsdWVUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdFZhbHVlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiU291cmNlSWQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJTb3VyY2VUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiT0lEIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Bc3NvY2lhdGlvbiINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJImRtSXRlbSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRNTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzUmVsYXRpb25zaGlwIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiU291cmNlSWQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJTb3VyY2VUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiUklNZXRob2QiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJQYXJlbnRVcGRhdGVSdWxlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiUGFyZW50VXBkYXRlUnVsZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJQYXJlbnREZWxldGVSdWxlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiUGFyZW50RGVsZXRlUnVsZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJDaGlsZEluc2VydFJlc3RyaWN0Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiQ2hpbGRJbnNlcnRSZXN0cmljdE5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJDaGlsZE11bHRpcGxpY2l0eSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkNoaWxkTXVsdGlwbGljaXR5TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUm9sZSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJImRtSXRlbSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRNTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkNvbnN0cmFpbnROYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19PcGVyYXRpb24iDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJkbUl0ZW0iDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJETU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc0NvbnN0cmFpbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJDb25zdHJhaW50VHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzSW5kZXgiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc1RyaWdnZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc1N0b3JlZFByb2NlZHVyZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzQ2x1c3RlciINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlRhYmxlU3BhY2UiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJGaWxsRmFjdG9yIg0KKwkJCXZhbHVlICAgICAgCTApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJLZXlMaXN0Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiQ2hlY2tQcmVkaWNhdGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc1VuaXF1ZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRlZmVyYWxNb2RlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSW5pdGlhbENoZWNrVGltZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlRyaWdnZXJUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNJbnNlcnRFdmVudCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzVXBkYXRlRXZlbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc0RlbGV0ZUV2ZW50Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiUmVmT2xkVGFibGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJSZWZOZXdUYWJsZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlJlZk9sZFJvdyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlJlZk5ld1JvdyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIklzUm93Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiV2hlbkNsYXVzZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkxhbmd1YWdlIg0KKwkJCXZhbHVlICAgICAgCSJTUUwiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiUHJvY1R5cGUiDQorCQkJdmFsdWUgICAgICAJIlByb2NlZHVyZSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJJc0RldGVybWluaXN0aWMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJQYXJhbWV0ZXJTdHlsZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlJldHVybmVkTnVsbCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkV4dGVybmFsTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIlJldHVyblR5cGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiTGVuZ3RoIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiU2NhbGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJGb3JCaXREYXRhIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdFZhbHVlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdFZhbHVlVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUGFyYW1ldGVyIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiZG1JdGVtIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRE1OYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNJblBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiSXNPdXRQYXJhbWV0ZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJPcmRpbmFsIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRGF0YVR5cGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiTGVuZ3RoIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiU2NhbGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiRGF0YSBNb2RlbGVyIg0KKwkJCW5hbWUgICAgICAgCSJGb3JCaXREYXRhIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdFZhbHVlVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIkRlZmF1bHRWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJEYXRhIE1vZGVsZXIiDQorCQkJbmFtZSAgICAgICAJIk9wZXJhdGlvbklEIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkRhdGEgTW9kZWxlciBDb21tdW5pY2F0b3IiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJmcmFtZXdvcmsiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJbmFtZSAgICAgICAJInByb3BlcnR5SWQiDQorCQl2YWx1ZSAgICAgIAkiODA5MTM1OTY2IikNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiSmF2YSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Qcm9qZWN0Ig0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJvb3REaXIiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ3JlYXRlTWlzc2luZ0RpcmVjdG9yaWVzIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU3RvcE9uRXJyb3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiVXNlUHJlZml4ZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQXV0b1N5bmMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2hvd0NvZGVnZW5EbGciDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiSmF2YWRvY0RlZmF1bHRBdXRob3IiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiSmF2YWRvY0RlZmF1bHRWZXJzaW9uIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkphdmFkb2NEZWZhdWx0U2luY2UiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiSmF2YWRvY051bUFzdGVyaXNrcyINCisJCQl2YWx1ZSAgICAgIAkwKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIk1heE51bUNoYXJzIg0KKwkJCXZhbHVlICAgICAgCTgwKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVkaXRvciINCisJCQl2YWx1ZSAgICAgIAkoIkVkaXRvclR5cGUiIDEwMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiVk0iDQorCQkJdmFsdWUgICAgICAJKCJWTVR5cGUiIDIwMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ2xhc3NQYXRoIg0KKwkJCXZhbHVlICAgICAgCSI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGpyZVxcbGliXFxjaGFyc2V0cy5qYXI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGpyZVxcbGliXFxqY2UuamFyO0Q6XFxKREtzXFxqMnNkazEuNC4yXzAzXFxqcmVcXGxpYlxcanNzZS5qYXI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGpyZVxcbGliXFxydC5qYXI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGpyZVxcbGliXFxzdW5yc2FzaWduLmphcjtEOlxcSkRLc1xcajJzZGsxLjQuMl8wM1xcanJlXFxsaWJcXGV4dFxcZG5zbnMuamFyO0Q6XFxKREtzXFxqMnNkazEuNC4yXzAzXFxqcmVcXGxpYlxcZXh0XFxsZGFwc2VjLmphcjtEOlxcSkRLc1xcajJzZGsxLjQuMl8wM1xcanJlXFxsaWJcXGV4dFxcbG9jYWxlZGF0YS5qYXI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGpyZVxcbGliXFxleHRcXHN1bmpjZV9wcm92aWRlci5qYXI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGpyZVxcbGliXFxzZWN1cml0eVxcbG9jYWxfcG9saWN5LmphcjtEOlxcSkRLc1xcajJzZGsxLjQuMl8wM1xcanJlXFxsaWJcXHNlY3VyaXR5XFxVU19leHBvcnRfcG9saWN5LmphcjtEOlxcSkRLc1xcajJzZGsxLjQuMl8wM1xcbGliXFxkdC5qYXI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGxpYlxcaHRtbGNvbnZlcnRlci5qYXI7RDpcXEpES3NcXGoyc2RrMS40LjJfMDNcXGxpYlxcdG9vbHMuamFyO0Q6SkRLc1xcaW5zdGFsbGVkX2oyc2RrMS40LjFfMDJcXGpyZVxcbGliXFxjaGFyc2V0cy5qYXI7RDpKREtzXFxpbnN0YWxsZWRfajJzZGsxLjQuMV8wMlxcanJlXFxsaWJcXGphd3MuamFyO0Q6SkRLc1xcaW5zdGFsbGVkX2oyc2RrMS40LjFfMDJcXGpyZVxcbGliXFxqY2UuamFyO0Q6SkRLc1xcaW5zdGFsbGVkX2oyc2RrMS40LjFfMDJcXGpyZVxcbGliXFxqc3NlLmphcjtEOkpES3NcXGluc3RhbGxlZF9qMnNkazEuNC4xXzAyXFxqcmVcXGxpYlxccnQuamFyO0Q6SkRLc1xcaW5zdGFsbGVkX2oyc2RrMS40LjFfMDJcXGpyZVxcbGliXFxzdW5yc2FzaWduLmphcjtEOkpES3NcXGluc3RhbGxlZF9qMnNkazEuNC4xXzAyXFxqcmVcXGxpYlxcZXh0XFxkbnNucy5qYXI7RDpKREtzXFxpbnN0YWxsZWRfajJzZGsxLjQuMV8wMlxcanJlXFxsaWJcXGV4dFxcbGRhcHNlYy5qYXI7RDpKREtzXFxpbnN0YWxsZWRfajJzZGsxLjQuMV8wMlxcanJlXFxsaWJcXGV4dFxcbG9jYWxlZGF0YS5qYXI7RDpKREtzXFxpbnN0YWxsZWRfajJzZGsxLjQuMV8wMlxcanJlXFxsaWJcXGV4dFxcc3VuamNlX3Byb3ZpZGVyLmphcjtEOkpES3NcXGluc3RhbGxlZF9qMnNkazEuNC4xXzAyXFxqcmVcXGxpYlxcc2VjdXJpdHlcXGxvY2FsX3BvbGljeS5qYXI7RDpKREtzXFxpbnN0YWxsZWRfajJzZGsxLjQuMV8wMlxcanJlXFxsaWJcXHNlY3VyaXR5XFxVU19leHBvcnRfcG9saWN5LmphcjtEOkpES3NcXGluc3RhbGxlZF9qMnNkazEuNC4xXzAyXFxsaWJcXGR0LmphcjtEOkpES3NcXGluc3RhbGxlZF9qMnNkazEuNC4xXzAyXFxsaWJcXGh0bWxjb252ZXJ0ZXIuamFyO0Q6SkRLc1xcaW5zdGFsbGVkX2oyc2RrMS40LjFfMDJcXGxpYlxcdG9vbHMuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxqcmVcXGxpYlxcY2hhcnNldHMuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxqcmVcXGxpYlxcamNlLmphcjtDOlxcajJzZGsxLjQuMl8wNVxcanJlXFxsaWJcXGpzc2UuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxqcmVcXGxpYlxccnQuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxqcmVcXGxpYlxcc3VucnNhc2lnbi5qYXI7QzpcXGoyc2RrMS40LjJfMDVcXGpyZVxcbGliXFxleHRcXGRuc25zLmphcjtDOlxcajJzZGsxLjQuMl8wNVxcanJlXFxsaWJcXGV4dFxcbGRhcHNlYy5qYXI7QzpcXGoyc2RrMS40LjJfMDVcXGpyZVxcbGliXFxleHRcXGxvY2FsZWRhdGEuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxqcmVcXGxpYlxcZXh0XFxzdW5qY2VfcHJvdmlkZXIuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxqcmVcXGxpYlxcc2VjdXJpdHlcXGxvY2FsX3BvbGljeS5qYXI7QzpcXGoyc2RrMS40LjJfMDVcXGpyZVxcbGliXFxzZWN1cml0eVxcVVNfZXhwb3J0X3BvbGljeS5qYXI7QzpcXGoyc2RrMS40LjJfMDVcXGxpYlxcZHQuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxsaWJcXGh0bWxjb252ZXJ0ZXIuamFyO0M6XFxqMnNkazEuNC4yXzA1XFxsaWJcXHRvb2xzLmphciIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRWRpdG9yVHlwZSINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQnVpbHRJbiINCisJCQkJdmFsdWUgICAgICAJMTAwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIldpbmRvd3NTaGVsbCINCisJCQkJdmFsdWUgICAgICAJMTAxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiVk1UeXBlIg0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJTdW4iDQorCQkJCXZhbHVlICAgICAgCTIwMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJNaWNyb3NvZnQiDQorCQkJCXZhbHVlICAgICAgCTIwMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJJQk0iDQorCQkJCXZhbHVlICAgICAgCTIwMikpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkluc3RhbmNlVmFyaWFibGVQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIm1fIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJDbGFzc1ZhcmlhYmxlUHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSJzXyIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdEF0dHJpYnV0ZURhdGFUeXBlIg0KKwkJCXZhbHVlICAgICAgCSJpbnQiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkRlZmF1bHRPcGVyYXRpb25SZXR1cm5UeXBlIg0KKwkJCXZhbHVlICAgICAgCSJ2b2lkIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJOb0NsYXNzQ3VzdG9tRGxnIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdsb2JhbEltcG9ydHMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIk9wZW5CcmFjZUNsYXNzU3R5bGUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJPcGVuQnJhY2VNZXRob2RTdHlsZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlVzZVRhYnMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiVXNlU3BhY2VzIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU3BhY2luZ0l0ZW1zIg0KKwkJCXZhbHVlICAgICAgCTMpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiUm9zZURlZmF1bHRDb21tZW50U3R5bGUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJBc3Rlcmlza0NvbW1lbnRTdHlsZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJKYXZhQ29tbWVudFN0eWxlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkphdmFkb2NBdXRob3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiSmF2YWRvY1NpbmNlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkphdmFkb2NWZXJzaW9uIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIk5vdFNob3dSb3NlSUREbGciDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVSb3NlSUQiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZURlZmF1bHRKMkVFSmF2YWRvYyINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRGVmYXVsdFJldHVybkxpbmUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJVc2VyRGVmaW5lSmF2YURvY1RhZ3MiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiUmVmZXJlbmNlQ2xhc3NwYXRoIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlZBSmF2YVdvcmtpbmdGb2xkZXIiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQmVhblByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJCZWFuU3VmZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJlbW90ZVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJSZW1vdGVTdWZmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiSG9tZVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJIb21lU3VmZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkxvY2FsUHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkxvY2FsU3VmZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkxvY2FsSG9tZVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJMb2NhbEhvbWVTdWZmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiUHJpbWFyeUtleVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJQcmltYXJ5S2V5U3VmZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQkRURExvY2F0aW9uIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXREVERMb2NhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEZWZhdWx0RUpCVmVyc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEZWZhdWx0U2VydmxldFZlcnNpb24iDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU291cmNlQ29udHJvbCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTQ0NTZWxlY3RlZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTQ0NQcm9qZWN0U291cmNlUm9vdCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTQ0NQcm9qZWN0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTQ0NDb21tZW50Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkphdmEiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQ2xhc3MiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRmluYWwiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU3RhdGljIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRGVmYXVsdENvbnN0cnVjdG9yIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ29uc3RydWN0b3JJcyINCisJCQl2YWx1ZSAgICAgIAkoIkN0b3JfU2V0IiA2MikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ3Rvcl9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJInB1YmxpYyINCisJCQkJdmFsdWUgICAgICAJNjIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkicHJvdGVjdGVkIg0KKwkJCQl2YWx1ZSAgICAgIAk2MykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJwcml2YXRlIg0KKwkJCQl2YWx1ZSAgICAgIAk2NCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJwYWNrYWdlIg0KKwkJCQl2YWx1ZSAgICAgIAk2NSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRmluYWxpemVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlU3RhdGljSW5pdGlhbGl6ZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVJbnN0YW5jZUluaXRpYWxpemVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQ29kZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkRpc2FibGVBdXRvU3luYyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJSZWFkT25seSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTdHJpY3RmcCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Q29udGV4dFJlZiINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJJc1NpbmdsZVRocmVhZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlck5hbWVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRJc1NlY3VyZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdERpc3BhdGNoZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3REaXNwYXRjaGVyUGF0aCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVySW5jbHVkZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVyRm9yd2FyZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0U2VjdXJpdHlSb2xlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Z2V0SW5mbyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0WE1MRmlsZVBhdGgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RBdHRyaWJ1dGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RBdHRyaWJ1dGVzTmFtZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiTWV0aG9kRm9yUmVxdWVzdEF0dHJpYnV0ZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RQYXJhbWV0ZXIiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RQYXJhbWV0ZXJOYW1lcyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RGb3JSZXF1ZXN0UGFyYW1ldGVycyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SGVhZGVyIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRIZWFkZXJOYW1lcyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RGb3JIZWFkZXJzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRJbnRIZWFkZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldERhdGVIZWFkZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldENvb2tpZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RGb3JDb29raWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldENvbnRlbnRUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlSFRNTCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZV9YTUxfREQiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJDbXBGaWVsZCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJFbnZpcm9ubWVudFByb3BlcnRpZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCQ254RmFjdG9yeSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJSZWZlcmVuY2VzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlNlY3VyaXR5Um9sZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCTmFtZUluSkFSIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlNlc3Npb25UeXBlIg0KKwkJCXZhbHVlICAgICAgCSgiRUpCU2Vzc2lvblR5cGVfU2V0IiAyMDApKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlNlc3Npb25UeXBlX1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDApDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiU3RhdGVsZXNzIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiU3RhdGVmdWwiDQorCQkJCXZhbHVlICAgICAgCTIwMikpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlRyYW5zYWN0aW9uVHlwZSINCisJCQl2YWx1ZSAgICAgIAkoIkVKQlRyYW5zYWN0aW9uVHlwZV9TZXQiIDIxMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCVHJhbnNhY3Rpb25UeXBlX1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQ29udGFpbmVyIg0KKwkJCQl2YWx1ZSAgICAgIAkyMTEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQmVhbiINCisJCQkJdmFsdWUgICAgICAJMjEyKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCUGVyc2lzdGVuY2VUeXBlIg0KKwkJCXZhbHVlICAgICAgCSgiRUpCUGVyc2lzdGVuY2VUeXBlX1NldCIgMjIwKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJQZXJzaXN0ZW5jZVR5cGVfU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSIiDQorCQkJCXZhbHVlICAgICAgCTIyMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJCZWFuIg0KKwkJCQl2YWx1ZSAgICAgIAkyMjEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQ29udGFpbmVyIg0KKwkJCQl2YWx1ZSAgICAgIAkyMjIpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJSZWVudHJhbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCU2Vzc2lvblN5bmMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCVmVyc2lvbiINCisJCQl2YWx1ZSAgICAgIAkoIkVKQlZlcnNpb25fU2V0IiAyMzApKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlZlcnNpb25fU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSIyLjAiDQorCQkJCXZhbHVlICAgICAgCTIzMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSIxLngiDQorCQkJCXZhbHVlICAgICAgCTIzMSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlhNTEZpbGVQYXRoIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkphdmEiDQorCQluYW1lICAgICAgIAkiRGVmYXVsdF9TZXJ2bGV0X19DbGFzcyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Q29udGV4dFJlZiINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJJc1NpbmdsZVRocmVhZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlck5hbWVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRJc1NlY3VyZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdERpc3BhdGNoZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3REaXNwYXRjaGVyUGF0aCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVySW5jbHVkZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVyRm9yd2FyZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0U2VjdXJpdHlSb2xlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Z2V0SW5mbyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJGaW5hbCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTdGF0aWMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVEZWZhdWx0Q29uc3RydWN0b3IiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJDb25zdHJ1Y3RvcklzIg0KKwkJCXZhbHVlICAgICAgCSgiQ3Rvcl9TZXQiIDYyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJDdG9yX1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkicHVibGljIg0KKwkJCQl2YWx1ZSAgICAgIAk2MikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJwcm90ZWN0ZWQiDQorCQkJCXZhbHVlICAgICAgCTYzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJInByaXZhdGUiDQorCQkJCXZhbHVlICAgICAgCTY0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJInBhY2thZ2UiDQorCQkJCXZhbHVlICAgICAgCTY1KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVGaW5hbGl6ZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVTdGF0aWNJbml0aWFsaXplciINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUluc3RhbmNlSW5pdGlhbGl6ZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVDb2RlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRGlzYWJsZUF1dG9TeW5jIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJlYWRPbmx5Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlN0cmljdGZwIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRYTUxGaWxlUGF0aCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdEF0dHJpYnV0ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdEF0dHJpYnV0ZXNOYW1lcyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RGb3JSZXF1ZXN0QXR0cmlidXRlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdFBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdFBhcmFtZXRlck5hbWVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIk1ldGhvZEZvclJlcXVlc3RQYXJhbWV0ZXJzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRIZWFkZXIiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldEhlYWRlck5hbWVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIk1ldGhvZEZvckhlYWRlcnMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldEludEhlYWRlciINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0RGF0ZUhlYWRlciINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Q29va2llIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIk1ldGhvZEZvckNvb2tpZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Q29udGVudFR5cGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVIVE1MIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlX1hNTF9ERCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQkNtcEZpZWxkIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQkVudmlyb25tZW50UHJvcGVydGllcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJDbnhGYWN0b3J5Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlJlZmVyZW5jZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCU2VjdXJpdHlSb2xlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJOYW1lSW5KQVIiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCU2Vzc2lvblR5cGUiDQorCQkJdmFsdWUgICAgICAJKCJFSkJTZXNzaW9uVHlwZV9TZXQiIDIwMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCU2Vzc2lvblR5cGVfU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSIiDQorCQkJCXZhbHVlICAgICAgCTIwMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJTdGF0ZWxlc3MiDQorCQkJCXZhbHVlICAgICAgCTIwMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJTdGF0ZWZ1bCINCisJCQkJdmFsdWUgICAgICAJMjAyKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCVHJhbnNhY3Rpb25UeXBlIg0KKwkJCXZhbHVlICAgICAgCSgiRUpCVHJhbnNhY3Rpb25UeXBlX1NldCIgMjExKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJUcmFuc2FjdGlvblR5cGVfU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJDb250YWluZXIiDQorCQkJCXZhbHVlICAgICAgCTIxMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJCZWFuIg0KKwkJCQl2YWx1ZSAgICAgIAkyMTIpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJQZXJzaXN0ZW5jZVR5cGUiDQorCQkJdmFsdWUgICAgICAJKCJFSkJQZXJzaXN0ZW5jZVR5cGVfU2V0IiAyMjApKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlBlcnNpc3RlbmNlVHlwZV9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIiINCisJCQkJdmFsdWUgICAgICAJMjIwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIkJlYW4iDQorCQkJCXZhbHVlICAgICAgCTIyMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJDb250YWluZXIiDQorCQkJCXZhbHVlICAgICAgCTIyMikpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlJlZW50cmFudCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJTZXNzaW9uU3luYyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJWZXJzaW9uIg0KKwkJCXZhbHVlICAgICAgCSgiRUpCVmVyc2lvbl9TZXQiIDIzMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCVmVyc2lvbl9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIjIuMCINCisJCQkJdmFsdWUgICAgICAJMjMwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIjEueCINCisJCQkJdmFsdWUgICAgICAJMjMxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCWE1MRmlsZVBhdGgiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiSmF2YSINCisJCW5hbWUgICAgICAgCSJIdHRwX1NlcnZsZXRfX0NsYXNzIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRSZXF1ZXN0QXR0cmlidXRlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRSZXF1ZXN0QXR0cmlidXRlc05hbWVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIk1ldGhvZEZvclJlcXVlc3RBdHRyaWJ1dGVzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRSZXF1ZXN0UGFyYW1ldGVyIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRSZXF1ZXN0UGFyYW1ldGVyTmFtZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiTWV0aG9kRm9yUmVxdWVzdFBhcmFtZXRlcnMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldEhlYWRlciINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SGVhZGVyTmFtZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiTWV0aG9kRm9ySGVhZGVycyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW50SGVhZGVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXREYXRlSGVhZGVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRDb29raWUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiTWV0aG9kRm9yQ29va2llIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRDb250ZW50VHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUhUTUwiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRmluYWwiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU3RhdGljIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRGVmYXVsdENvbnN0cnVjdG9yIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ29uc3RydWN0b3JJcyINCisJCQl2YWx1ZSAgICAgIAkoIkN0b3JfU2V0IiA2MikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ3Rvcl9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJInB1YmxpYyINCisJCQkJdmFsdWUgICAgICAJNjIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkicHJvdGVjdGVkIg0KKwkJCQl2YWx1ZSAgICAgIAk2MykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJwcml2YXRlIg0KKwkJCQl2YWx1ZSAgICAgIAk2NCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJwYWNrYWdlIg0KKwkJCQl2YWx1ZSAgICAgIAk2NSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRmluYWxpemVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlU3RhdGljSW5pdGlhbGl6ZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVJbnN0YW5jZUluaXRpYWxpemVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQ29kZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkRpc2FibGVBdXRvU3luYyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJSZWFkT25seSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTdHJpY3RmcCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Q29udGV4dFJlZiINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJJc1NpbmdsZVRocmVhZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlck5hbWVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRJc1NlY3VyZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdERpc3BhdGNoZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3REaXNwYXRjaGVyUGF0aCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVySW5jbHVkZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVyRm9yd2FyZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0U2VjdXJpdHlSb2xlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Z2V0SW5mbyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0WE1MRmlsZVBhdGgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVfWE1MX0REIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCQ21wRmllbGQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCRW52aXJvbm1lbnRQcm9wZXJ0aWVzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQkNueEZhY3RvcnkiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCUmVmZXJlbmNlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJTZWN1cml0eVJvbGVzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQk5hbWVJbkpBUiINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJTZXNzaW9uVHlwZSINCisJCQl2YWx1ZSAgICAgIAkoIkVKQlNlc3Npb25UeXBlX1NldCIgMjAwKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJTZXNzaW9uVHlwZV9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIiINCisJCQkJdmFsdWUgICAgICAJMjAwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIlN0YXRlbGVzcyINCisJCQkJdmFsdWUgICAgICAJMjAxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIlN0YXRlZnVsIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDIpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJUcmFuc2FjdGlvblR5cGUiDQorCQkJdmFsdWUgICAgICAJKCJFSkJUcmFuc2FjdGlvblR5cGVfU2V0IiAyMTEpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlRyYW5zYWN0aW9uVHlwZV9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lciINCisJCQkJdmFsdWUgICAgICAJMjExKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIkJlYW4iDQorCQkJCXZhbHVlICAgICAgCTIxMikpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlBlcnNpc3RlbmNlVHlwZSINCisJCQl2YWx1ZSAgICAgIAkoIkVKQlBlcnNpc3RlbmNlVHlwZV9TZXQiIDIyMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCUGVyc2lzdGVuY2VUeXBlX1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiIg0KKwkJCQl2YWx1ZSAgICAgIAkyMjApDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQmVhbiINCisJCQkJdmFsdWUgICAgICAJMjIxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lciINCisJCQkJdmFsdWUgICAgICAJMjIyKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCUmVlbnRyYW50Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlNlc3Npb25TeW5jIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlZlcnNpb24iDQorCQkJdmFsdWUgICAgICAJKCJFSkJWZXJzaW9uX1NldCIgMjMwKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJWZXJzaW9uX1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiMi4wIg0KKwkJCQl2YWx1ZSAgICAgIAkyMzApDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiMS54Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMzEpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJYTUxGaWxlUGF0aCINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJbmFtZSAgICAgICAJIkRlZmF1bHRfRUpCX19DbGFzcyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZV9YTUxfREQiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJDbXBGaWVsZCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJFbnZpcm9ubWVudFByb3BlcnRpZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCQ254RmFjdG9yeSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJSZWZlcmVuY2VzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlNlY3VyaXR5Um9sZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCTmFtZUluSkFSIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlNlc3Npb25UeXBlIg0KKwkJCXZhbHVlICAgICAgCSgiRUpCU2Vzc2lvblR5cGVfU2V0IiAyMDApKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlNlc3Npb25UeXBlX1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDApDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiU3RhdGVsZXNzIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiU3RhdGVmdWwiDQorCQkJCXZhbHVlICAgICAgCTIwMikpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkVKQlRyYW5zYWN0aW9uVHlwZSINCisJCQl2YWx1ZSAgICAgIAkoIkVKQlRyYW5zYWN0aW9uVHlwZV9TZXQiIDIxMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCVHJhbnNhY3Rpb25UeXBlX1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQ29udGFpbmVyIg0KKwkJCQl2YWx1ZSAgICAgIAkyMTEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQmVhbiINCisJCQkJdmFsdWUgICAgICAJMjEyKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCUGVyc2lzdGVuY2VUeXBlIg0KKwkJCXZhbHVlICAgICAgCSgiRUpCUGVyc2lzdGVuY2VUeXBlX1NldCIgMjIwKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJQZXJzaXN0ZW5jZVR5cGVfU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSIiDQorCQkJCXZhbHVlICAgICAgCTIyMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJCZWFuIg0KKwkJCQl2YWx1ZSAgICAgIAkyMjEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiQ29udGFpbmVyIg0KKwkJCQl2YWx1ZSAgICAgIAkyMjIpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJSZWVudHJhbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQk1QX0V4dGVuZF9DTVAiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRmluYWwiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU3RhdGljIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRGVmYXVsdENvbnN0cnVjdG9yIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ29uc3RydWN0b3JJcyINCisJCQl2YWx1ZSAgICAgIAkoIkN0b3JfU2V0IiA2MikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ3Rvcl9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJInB1YmxpYyINCisJCQkJdmFsdWUgICAgICAJNjIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkicHJvdGVjdGVkIg0KKwkJCQl2YWx1ZSAgICAgIAk2MykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJwcml2YXRlIg0KKwkJCQl2YWx1ZSAgICAgIAk2NCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJwYWNrYWdlIg0KKwkJCQl2YWx1ZSAgICAgIAk2NSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRmluYWxpemVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlU3RhdGljSW5pdGlhbGl6ZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVJbnN0YW5jZUluaXRpYWxpemVyIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQ29kZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkRpc2FibGVBdXRvU3luYyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJSZWFkT25seSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTdHJpY3RmcCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Q29udGV4dFJlZiINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJJc1NpbmdsZVRocmVhZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SW5pdFBhcmFtZXRlck5hbWVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRJc1NlY3VyZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0UmVxdWVzdERpc3BhdGNoZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3REaXNwYXRjaGVyUGF0aCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVySW5jbHVkZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJEaXNwYXRjaGVyRm9yd2FyZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0U2VjdXJpdHlSb2xlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0Z2V0SW5mbyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0WE1MRmlsZVBhdGgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RBdHRyaWJ1dGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RBdHRyaWJ1dGVzTmFtZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiTWV0aG9kRm9yUmVxdWVzdEF0dHJpYnV0ZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RQYXJhbWV0ZXIiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldFJlcXVlc3RQYXJhbWV0ZXJOYW1lcyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RGb3JSZXF1ZXN0UGFyYW1ldGVycyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTZXJ2bGV0SGVhZGVyIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRIZWFkZXJOYW1lcyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RGb3JIZWFkZXJzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlNlcnZsZXRJbnRIZWFkZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldERhdGVIZWFkZXIiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldENvb2tpZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RGb3JDb29raWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiU2VydmxldENvbnRlbnRUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlSFRNTCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJTZXNzaW9uU3luYyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJFSkJWZXJzaW9uIg0KKwkJCXZhbHVlICAgICAgCSgiRUpCVmVyc2lvbl9TZXQiIDIzMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCVmVyc2lvbl9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIjIuMCINCisJCQkJdmFsdWUgICAgICAJMjMwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIjEueCINCisJCQkJdmFsdWUgICAgICAJMjMxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRUpCWE1MRmlsZVBhdGgiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiSmF2YSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Nb2R1bGUtU3BlYyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJDbUlkZW50aWZpY2F0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJDb3B5cmlnaHROb3RpY2UiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkphdmEiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fTW9kdWxlLUJvZHkiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ21JZGVudGlmaWNhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiQ29weXJpZ2h0Tm90aWNlIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX09wZXJhdGlvbiINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJBYnN0cmFjdCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTdGF0aWMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiRmluYWwiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiTmF0aXZlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlN5bmNocm9uaXplZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUZ1bGx5UXVhbGlmaWVkUmV0dXJuIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJlcGxhY2VFeGlzdGluZ0NvZGUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJTdHJpY3RmcCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX0F0dHJpYnV0ZSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJGaW5hbCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJUcmFuc2llbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiVm9sYXRpbGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiUHJvcGVydHlUeXBlIg0KKwkJCXZhbHVlICAgICAgCSgiQmVhblByb3BlcnR5X1NldCIgNzEpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkJlYW5Qcm9wZXJ0eV9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIk5vdCBBIFByb3BlcnR5Ig0KKwkJCQl2YWx1ZSAgICAgIAk3MSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJTaW1wbGUiDQorCQkJCXZhbHVlICAgICAgCTcyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIkJvdW5kIg0KKwkJCQl2YWx1ZSAgICAgIAk3MykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJDb25zdHJhaW5lZCINCisJCQkJdmFsdWUgICAgICAJNzQpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJJbmRpdmlkdWFsQ2hhbmdlTWd0Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJlYWQvV3JpdGUiDQorCQkJdmFsdWUgICAgICAJKCJSZWFkL1dyaXRlX1NldCIgODEpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJlYWQvV3JpdGVfU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJSZWFkICYgV3JpdGUiDQorCQkJCXZhbHVlICAgICAgCTgxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIlJlYWQgT25seSINCisJCQkJdmFsdWUgICAgICAJODIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiV3JpdGUgT25seSINCisJCQkJdmFsdWUgICAgICAJODMpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUZ1bGx5UXVhbGlmaWVkVHlwZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiSmF2YSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Sb2xlIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckNsYXNzIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJGaW5hbCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJUcmFuc2llbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiVm9sYXRpbGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiUHJvcGVydHlUeXBlIg0KKwkJCXZhbHVlICAgICAgCSgiQmVhblByb3BlcnR5X1NldCIgNzEpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIkJlYW5Qcm9wZXJ0eV9TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIk5vdCBBIFByb3BlcnR5Ig0KKwkJCQl2YWx1ZSAgICAgIAk3MSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJTaW1wbGUiDQorCQkJCXZhbHVlICAgICAgCTcyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIkJvdW5kIg0KKwkJCQl2YWx1ZSAgICAgIAk3MykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJDb25zdHJhaW5lZCINCisJCQkJdmFsdWUgICAgICAJNzQpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJJbmRpdmlkdWFsQ2hhbmdlTWd0Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJlYWQvV3JpdGUiDQorCQkJdmFsdWUgICAgICAJKCJSZWFkL1dyaXRlX1NldCIgODEpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJbmFtZSAgICAgICAJIlJlYWQvV3JpdGVfU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkphdmEiDQorCQkJCW5hbWUgICAgICAgCSJSZWFkICYgV3JpdGUiDQorCQkJCXZhbHVlICAgICAgCTgxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQkJbmFtZSAgICAgICAJIlJlYWQgT25seSINCisJCQkJdmFsdWUgICAgICAJODIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCQluYW1lICAgICAgIAkiV3JpdGUgT25seSINCisJCQkJdmFsdWUgICAgICAJODMpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUZ1bGx5UXVhbGlmaWVkVHlwZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiSmF2YSINCisJCQluYW1lICAgICAgIAkiSXNOYXZpZ2FibGUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJKYXZhIg0KKwkJbmFtZSAgICAgICAJIkhpZGRlblRvb2wiDQorCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiUjJFZGl0b3IiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJSb3NlIFdlYiBQdWJsaXNoZXIiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT00iDQorCQluYW1lICAgICAgIAkicHJvcGVydHlJZCINCisJCXZhbHVlICAgICAgCSI3ODM2MDYzNzgiKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT00iDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQ2xhc3MiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJUeXBlS2luZHMiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCQluYW1lICAgICAgIAkiZW51bSINCisJCQkJdmFsdWUgICAgICAJMTAwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCQluYW1lICAgICAgIAkicmVjb3JkIg0KKwkJCQl2YWx1ZSAgICAgIAkxMDEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJCW5hbWUgICAgICAgCSJtb2R1bGUiDQorCQkJCXZhbHVlICAgICAgCTEwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQkJbmFtZSAgICAgICAJImludGVyZmFjZSINCisJCQkJdmFsdWUgICAgICAJMTAzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCQluYW1lICAgICAgIAkiZGlzcGludGVyZmFjZSINCisJCQkJdmFsdWUgICAgICAJMTA0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCQluYW1lICAgICAgIAkiY29jbGFzcyINCisJCQkJdmFsdWUgICAgICAJMTA1KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCQluYW1lICAgICAgIAkiYWxpYXMiDQorCQkJCXZhbHVlICAgICAgCTEwNikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQkJbmFtZSAgICAgICAJInVuaW9uIg0KKwkJCQl2YWx1ZSAgICAgIAkxMDcpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJCW5hbWUgICAgICAgCSJtYXgiDQorCQkJCXZhbHVlICAgICAgCTEwOCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQkJbmFtZSAgICAgICAJIihub25lKSINCisJCQkJdmFsdWUgICAgICAJMTA5KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkia2luZCINCisJCQl2YWx1ZSAgICAgIAkoIlR5cGVLaW5kcyIgMTA5KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJInV1aWQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJ2ZXJzaW9uIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkiaGVscHN0cmluZyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImhlbHBjb250ZXh0Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkiYXR0cmlidXRlcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImRsbG5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJhbGlhcyINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT00iDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fT3BlcmF0aW9uIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImlkIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkiaGVscHN0cmluZyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImF0dHJpYnV0ZXMiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ09NIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX0F0dHJpYnV0ZSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJpZCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImhlbHBzdHJpbmciDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJhdHRyaWJ1dGVzIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkNPTSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Nb2R1bGUtU3BlYyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJmaWxlbmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImxpYnJhcnkiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJ1dWlkIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkidmVyc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImhlbHBzdHJpbmciDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ09NIg0KKwkJCW5hbWUgICAgICAgCSJoZWxwZmlsZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImhlbHBjb250ZXh0Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkibGNpZCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT00iDQorCQkJbmFtZSAgICAgICAJImF0dHJpYnV0ZXMiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ09NIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX1BhcmFtIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPTSINCisJCQluYW1lICAgICAgIAkiYXR0cmlidXRlcyINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT00iDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJbmFtZSAgICAgICAJInByb3BlcnR5SWQiDQorCQl2YWx1ZSAgICAgIAkiODA5MTM1OTY2IikNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiVkMrKyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Qcm9qZWN0Ig0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIlVwZGF0ZUFUTCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIlNtYXJ0UG9pbnRlcnNPbkFzc29jIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVJbXBvcnRzIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiUHV0SW1wb3J0c0luIg0KKwkJCXZhbHVlICAgICAgCSJzdGRhZnguaCIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiRnVsbFBhdGhJbkltcG9ydHMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJVc2VJbXBvcnRBdHRyaWJ1dGVzIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiSW1wb3J0QXR0cmlidXRlcyINCisJCQl2YWx1ZSAgICAgIAkibm9fbmFtZXNwYWNlIG5hbWVkX2d1aWRzIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJJbXBvcnRQcm9qVHlwZUxpYiINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkRlZmF1bHRUeXBlTGliIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiVHlwZUxpYkxvY2F0aW9uIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkNvbXBpbGVQcm9qVHlwZUxpYiINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIklkbEludGVyZmFjZUF0dHJpYnV0ZXMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgDQorfGVuZHBvaW50KCIiKQ0KK3xsb2NhbA0KK3xvYmplY3QNCit8cG9pbnRlcl9kZWZhdWx0KCkNCit8dXVpZCgiIikNCit8dmVyc2lvbigiIikNCit8ZW5jb2RlDQorfGRlY29kZQ0KK3xhdXRvX2hhbmRsZQ0KK3xpbXBsaWNpdF9oYW5kbGUoIiIpDQorfGNvZGUNCit8bm9jb2RlDQorCQkJKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJJZGxDb0NsYXNzQXR0cmlidXRlcyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCANCit8dXVpZCgiIikNCit8aGVscHN0cmluZygiIikNCit8aGVscGNvbnRleHQoIiIpDQorfGxpY2Vuc2VkDQorfHZlcnNpb24oIiIpDQorfGNvbnRyb2wNCit8aGlkZGVuDQorfGFwcG9iamVjdA0KKwkJCSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiSWRsQ29DbGFzc0ludGVyZmFjZUF0dHJpYnV0ZXMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgDQorfGRlZmF1bHQNCit8c291cmNlDQorCQkJKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJJZGxQYXJhbWV0ZXJBdHRyaWJ1dGVzIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0IA0KK3xpbg0KK3xvdXQNCit8cmV0dmFsDQorCQkJKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJJZGxNZXRob2RBdHRyaWJ1dGVzIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0IA0KK3xpZCgxKQ0KK3xoZWxwc3RyaW5nKCIiKQ0KK3xjYWxsX2FzKCIiKQ0KK3xjYWxsYmFjaw0KK3xoZWxwY29udGV4dCgiIikNCit8aGlkZGVuDQorfGxvY2FsDQorfHJlc3RyaWN0ZWQNCit8c291cmNlDQorfHZhcmFyZw0KKwkJCSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiSWRsUHJvcGVydHlBdHRyaWJ1dGVzIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0IA0KK3xpZCgpDQorfGhlbHBzdHJpbmcoIiIpDQorfGNhbGxfYXMoIiIpDQorfGhlbHBjb250ZXh0KCIiKQ0KK3xoaWRkZW4NCit8bG9jYWwNCit8cmVzdHJpY3RlZA0KK3xzb3VyY2UNCit8dmFyYXJnDQorfGJpbmRhYmxlDQorfGRlZmF1bHRiaW5kDQorfGRlZmF1bHRjYWxsZWxlbQ0KK3xkaXNwbGF5YmluZA0KK3xpbW1lZGlhdGViaW5kDQorfG5vbmJyb3dzZWFibGUNCit8cmVxdWVzdGVkaXQNCisJCQkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIlJ2Y1B0eVZlcnNpb24iDQorCQkJdmFsdWUgICAgICAJIjEuMyIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiTW9kZWxJRFN0eWxlIg0KKwkJCXZhbHVlICAgICAgCTIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiRG9jU3R5bGUiDQorCQkJdmFsdWUgICAgICAJMSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUluY2x1ZGVzIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiQXBwbHlQYXR0ZXJuIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkNyZWF0ZUJhY2t1cEZpbGVzIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiU3VwcG9ydENvZGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkRvY1JldkVuZ2luZWVyIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiQ3JlYXRlT3ZlcnZpZXdEaWFncmFtcyINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIlVwZGF0ZU1vZGVsSURzSW5Db2RlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiQXR0cmlidXRlVHlwZXMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgDQorfGF0dHIxPWJvb2wNCit8YXR0cjI9c2hvcnQNCit8YXR0cjM9aW50DQorfGF0dHI0PWxvbmcNCit8YXR0cjU9Y2hhcg0KK3xhdHRyNj1mbG9hdA0KK3xhdHRyNz1kb3VibGUNCit8YXR0cjg9dm9pZA0KK3xhdHRyOT1jbG9ja190DQorfGF0dHIxMD1fY29tcGxleA0KK3xhdHRyMTE9X2Rldl90DQorfGF0dHIxMj1kaXZfdA0KK3xhdHRyMTM9X2V4Y2VwdGlvbg0KK3xhdHRyMTQ9RklMRQ0KK3xhdHRyMTU9X2ZpbmRkYXRhX3QNCit8YXR0cjE2PV9GUElFRUVfUkVDT1JEDQorfGF0dHIxNz1mcG9zX3QNCit8YXR0cjE4PV9IRUFQSU5GTw0KK3xhdHRyMTk9am1wX2J1Zg0KK3xhdHRyMjA9bGNvbnYNCit8YXR0cjIxPWxkaXZfdA0KK3xhdHRyMjI9X29mZl90DQorfGF0dHIyMz1fb25leGl0X3QNCit8YXR0cjI0PV9QTkgNCit8YXR0cjI1PXB0cmRpZmZfdA0KK3xhdHRyMjY9c2lnX2F0b21pY190DQorfGF0dHIyNz1zaXplX3QNCit8YXR0cjI4PV9zdGF0DQorfGF0dHIyOT10aW1lX3QNCit8YXR0cjMwPV90aW1lYg0KK3xhdHRyMzE9dG0NCit8YXR0cjMyPV91dGltYnVmDQorfGF0dHIzMz12YV9saXN0DQorfGF0dHIzND13Y2hhcl90DQorfGF0dHIzNT13Y3RyYW5zX3QNCit8YXR0cjM2PXdjdHlwZV90DQorfGF0dHIzNz1fd2ZpbmRkYXRhX3QNCit8YXR0cjM4PV93ZmluZGRhdGFpNjRfdA0KK3xhdHRyMzk9d2ludF90DQorfGF0dHI0MD1BQk9SVFBST0MNCit8YXR0cjQxPUFDTURSSVZFUkVOVU1DQg0KK3xhdHRyNDI9QUNNRFJJVkVSUFJPQw0KK3xhdHRyNDM9QUNNRklMVEVSQ0hPT1NFSE9PS1BST0MNCit8YXR0cjQ0PUFDTUZJTFRFUkVOVU1DQg0KK3xhdHRyNDU9QUNNRklMVEVSVEFHRU5VTUNCDQorfGF0dHI0Nj1BQ01GT1JNQVRDSE9PU0VIT09LUFJPQw0KK3xhdHRyNDc9QUNNRk9STUFURU5VTUNCDQorfGF0dHI0OD1BQ01GT1JNQVRUQUdFTlVNQ0INCit8YXR0cjQ5PUFQUExFVF9QUk9DDQorfGF0dHI1MD1BVE9NDQorfGF0dHI1MT1CT09MDQorfGF0dHI1Mj1CT09MRUFODQorfGF0dHI1Mz1CWVRFDQorfGF0dHI1ND1DQUxJTkZPX0VOVU1QUk9DDQorfGF0dHI1NT1DQUxMQkFDSw0KK3xhdHRyNTY9Q0hBUg0KK3xhdHRyNTc9Q09MT1JSRUYNCit8YXR0cjU4PUNPTlNUDQorfGF0dHI1OT1DUklUSUNBTF9TRUNUSU9ODQorfGF0dHI2MD1DVFJZSUQNCit8YXR0cjYxPURBVEVGTVRfRU5VTVBST0MNCit8YXR0cjYyPURFU0tUT1BFTlVNUFJPQw0KK3xhdHRyNjM9RExHUFJPQw0KK3xhdHRyNjQ9RFJBV1NUQVRFUFJPQw0KK3xhdHRyNjU9RFdPUkQNCit8YXR0cjY2PUVESVRXT1JEQlJFQUtQUk9DDQorfGF0dHI2Nz1FTkhNRkVOVU1QUk9DDQorfGF0dHI2OD1FTlVNUkVTTEFOR1BST0MNCit8YXR0cjY5PUVOVU1SRVNOQU1FUFJPQw0KK3xhdHRyNzA9RU5VTVJFU1RZUEVQUk9DDQorfGF0dHI3MT1GQVJQUk9DDQorfGF0dHI3Mj1GSUxFX1NFR01FTlRfRUxFTUVOVA0KK3xhdHRyNzM9RkxPQVQNCit8YXR0cjc0PUZPTlRFTlVNUFJPQw0KK3xhdHRyNzU9R09CSkVOVU1QUk9DDQorfGF0dHI3Nj1HUkFZU1RSSU5HUFJPQw0KK3xhdHRyNzc9SEFDQ0VMDQorfGF0dHI3OD1IQU5ETEUNCit8YXR0cjc5PUhCSVRNQVANCit8YXR0cjgwPUhCUlVTSA0KK3xhdHRyODE9SENPTE9SU1BBQ0UNCit8YXR0cjgyPUhDT05WDQorfGF0dHI4Mz1IQ09OVkxJU1QNCit8YXR0cjg0PUhDVVJTT1INCit8YXR0cjg1PUhEQw0KK3xhdHRyODY9SERERURBVEENCit8YXR0cjg3PUhERVNLDQorfGF0dHI4OD1IRFJPUA0KK3xhdHRyODk9SERXUA0KK3xhdHRyOTA9SEVOSE1FVEFGSUxFDQorfGF0dHI5MT1IRklMRQ0KK3xhdHRyOTI9SEZPTlQNCit8YXR0cjkzPUhHRElPQkoNCit8YXR0cjk0PUhHTE9CQUwNCit8YXR0cjk1PUhIT09LDQorfGF0dHI5Nj1ISUNPTg0KK3xhdHRyOTc9SElNQUdFTElTVA0KK3xhdHRyOTg9SElNQw0KK3xhdHRyOTk9SElOU1RBTkNFDQorfGF0dHIxMDA9SEtFWQ0KK3xhdHRyMTAxPUhLTA0KK3xhdHRyMTAyPUhMT0NBTA0KK3xhdHRyMTAzPUhNRU5VDQorfGF0dHIxMDQ9SE1FVEFGSUxFDQorfGF0dHIxMDU9SE1PRFVMRQ0KK3xhdHRyMTA2PUhNT05JVE9SDQorfGF0dHIxMDc9SE9PS1BST0MNCit8YXR0cjEwOD1IUEFMRVRURQ0KK3xhdHRyMTA5PUhQRU4NCit8YXR0cjExMD1IUkdODQorfGF0dHIxMTE9SFJTUkMNCit8YXR0cjExMj1IU1oNCit8YXR0cjExMz1IVFJFRUlURU0NCit8YXR0cjExND1IV0lOU1RBDQorfGF0dHIxMTU9SFdORA0KK3xhdHRyMTE2PUlOVA0KK3xhdHRyMTE3PUlQQUREUg0KK3xhdHRyMTE4PUxBTkdJRA0KK3xhdHRyMTE5PUxDSUQNCit8YXR0cjEyMD1MQ1NDU1RZUEUNCit8YXR0cjEyMT1MQ1NHQU1VVE1BVENIDQorfGF0dHIxMjI9TENUWVBFDQorfGF0dHIxMjM9TElORUREQVBST0MNCit8YXR0cjEyND1MT0NBTEVfRU5VTVBST0MNCit8YXR0cjEyNT1MT05HDQorfGF0dHIxMjY9TE9OR0xPTkcNCit8YXR0cjEyNz1MUEFSQU0NCit8YXR0cjEyOD1MUEJPT0wNCit8YXR0cjEyOT1MUEJZVEUNCit8YXR0cjEzMD1MUENDSE9PS1BST0MNCit8YXR0cjEzMT1MUENGSE9PS1BST0MNCit8YXR0cjEzMj1MUENPTE9SUkVGDQorfGF0dHIxMzM9TFBDUklUSUNBTF9TRUNUSU9ODQorfGF0dHIxMzQ9TFBDU1RSDQorfGF0dHIxMzU9TFBDVFNUUg0KK3xhdHRyMTM2PUxQQ1ZPSUQNCit8YXR0cjEzNz1MUENXU1RSDQorfGF0dHIxMzg9TFBEV09SRA0KK3xhdHRyMTM5PUxQRklCRVJfU1RBUlRfUk9VVElORQ0KK3xhdHRyMTQwPUxQRlJIT09LUFJPQw0KK3xhdHRyMTQxPUxQSEFORExFDQorfGF0dHIxNDI9TFBIQU5ETEVSX0ZVTkNUSU9ODQorfGF0dHIxNDM9TFBJTlQNCit8YXR0cjE0ND1MUExPTkcNCit8YXR0cjE0NT1MUE9GTkhPT0tQUk9DDQorfGF0dHIxNDY9TFBQQUdFUEFJTlRIT09LDQorfGF0dHIxNDc9TFBQQUdFU0VUVVBIT09LDQorfGF0dHIxNDg9TFBQUklOVEhPT0tQUk9DDQorfGF0dHIxNDk9TFBQUk9HUkVTU19ST1VUSU5FDQorfGF0dHIxNTA9TFBTRVRVUEhPT0tQUk9DDQorfGF0dHIxNTE9TFBTVFINCit8YXR0cjE1Mj1MUFNUUkVBTQ0KK3xhdHRyMTUzPUxQVEhSRUFEX1NUQVJUX1JPVVRJTkUNCit8YXR0cjE1ND1MUFRTVFINCit8YXR0cjE1NT1MUFZPSUQNCit8YXR0cjE1Nj1MUFdPUkQNCit8YXR0cjE1Nz1MUFdTVFINCit8YXR0cjE1OD1MUkVTVUxUDQorfGF0dHIxNTk9TFVJRA0KK3xhdHRyMTYwPVBCT09MDQorfGF0dHIxNjE9UEJPT0xFQU4NCit8YXR0cjE2Mj1QQllURQ0KK3xhdHRyMTYzPVBDSEFSDQorfGF0dHIxNjQ9UENSSVRJQ0FMX1NFQ1RJT04NCit8YXR0cjE2NT1QQ1NUUg0KK3xhdHRyMTY2PVBDVFNUUg0KK3xhdHRyMTY3PVBDV0NIDQorfGF0dHIxNjg9UENXU1RSDQorfGF0dHIxNjk9UERXT1JEDQorfGF0dHIxNzA9UEZMT0FUDQorfGF0dHIxNzE9UEZOQ0FMTEJBQ0sNCit8YXR0cjE3Mj1QSEFORExFDQorfGF0dHIxNzM9UEhBTkRMRVJfUk9VVElORQ0KK3xhdHRyMTc0PVBIS0VZDQorfGF0dHIxNzU9UElOVA0KK3xhdHRyMTc2PVBMQ0lEDQorfGF0dHIxNzc9UExPTkcNCit8YXR0cjE3OD1QTFVJRA0KK3xhdHRyMTc5PVBST1BFTlVNUFJPQw0KK3xhdHRyMTgwPVBST1BFTlVNUFJPQ0VYDQorfGF0dHIxODE9UFNIT1JUDQorfGF0dHIxODI9UFNUUg0KK3xhdHRyMTgzPVBUQllURQ0KK3xhdHRyMTg0PVBUQ0hBUg0KK3xhdHRyMTg1PVBUSU1FUkFQQ1JPVVRJTkUNCit8YXR0cjE4Nj1QVFNUUg0KK3xhdHRyMTg3PVBVQ0hBUg0KK3xhdHRyMTg4PVBVSU5UDQorfGF0dHIxODk9UFVMT05HDQorfGF0dHIxOTA9UFVTSE9SVA0KK3xhdHRyMTkxPVBWT0lEDQorfGF0dHIxOTI9UFdDSEFSDQorfGF0dHIxOTM9UFdPUkQNCit8YXR0cjE5ND1QV1NUUg0KK3xhdHRyMTk1PVJFR0lTVEVSV09SREVOVU1QUk9DDQorfGF0dHIxOTY9UkVHU0FNDQorfGF0dHIxOTc9U0NfSEFORExFDQorfGF0dHIxOTg9U0NfTE9DSw0KK3xhdHRyMTk5PVNFTkRBU1lOQ1BST0MNCit8YXR0cjIwMD1TRVJWSUNFX1NUQVRVU19IQU5ETEUNCit8YXR0cjIwMT1TSE9SVA0KK3xhdHRyMjAyPVRCWVRFDQorfGF0dHIyMDM9VENIQVINCit8YXR0cjIwND1USU1FRk1UX0VOVU1QUk9DDQorfGF0dHIyMDU9VElNRVJQUk9DDQorfGF0dHIyMDY9VUNIQVINCit8YXR0cjIwNz1VSU5UDQorfGF0dHIyMDg9VUxPTkcNCit8YXR0cjIwOT1VTE9OR0xPTkcNCit8YXR0cjIxMD1VTlNJR05FRA0KK3xhdHRyMjExPVVTSE9SVA0KK3xhdHRyMjEyPVZPSUQNCit8YXR0cjIxMz1XQ0hBUg0KK3xhdHRyMjE0PVdJTkFQSQ0KK3xhdHRyMjE1PVdJTlNUQUVOVU1QUk9DDQorfGF0dHIyMTY9V05ERU5VTVBST0MNCit8YXR0cjIxNz1XTkRQUk9DDQorfGF0dHIyMTg9V09SRA0KK3xhdHRyMjE5PVdQQVJBTQ0KK3xhdHRyMjIwPVlJRUxEUFJPQw0KK3xhdHRyMjIxPUNQb2ludA0KK3xhdHRyMjIyPUNSZWN0DQorfGF0dHIyMjM9Q1NpemUNCit8YXR0cjIyND1DU3RyaW5nDQorfGF0dHIyMjU9Q1RpbWUNCit8YXR0cjIyNj1DVGltZVNwYW4NCit8YXR0cjIyNz1DQ3JlYXRlQ29udGV4dA0KK3xhdHRyMjI4PUNNZW1vcnlTdGF0ZQ0KK3xhdHRyMjI5PUNPbGVTYWZlQXJyYXkNCit8YXR0cjIzMD1DUHJpbnRJbmZvDQorfGF0dHIyMzE9SFJFU1VMVA0KKwkJCSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiQ29udGFpbmVycyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCANCit8Y29udDE9Q0FycmF5PCRUWVBFLCAkVFlQRSY+DQorfGNvbnQyPUNCeXRlQXJyYXkNCit8Y29udDM9Q0RXb3JkQXJyYXkNCit8Y29udDQ9Q09iQXJyYXkNCit8Y29udDU9Q1B0ckFycmF5DQorfGNvbnQ2PUNTdHJpbmdBcnJheQ0KK3xjb250Nz1DVUludEFycmF5DQorfGNvbnQ4PUNXb3JkQXJyYXkNCit8Y29udDk9Q0xpc3Q8JFRZUEUsICRUWVBFJj4NCit8Y29udDEwPUNQdHJMaXN0DQorfGNvbnQxMT1DT2JMaXN0DQorfGNvbnQxMj1DU3RyaW5nTGlzdA0KK3xjb250MTM9Q01hcFdvcmRUb1B0cg0KK3xjb250MTQ9Q01hcFB0clRvV29yZA0KK3xjb250MTU9Q01hcFB0clRvUHRyDQorfGNvbnQxNj1DTWFwV29yZFRvT2INCit8Y29udDE3PUNNYXBTdHJpbmdUb1B0cg0KK3xjb250MTg9Q01hcFN0cmluZ1RvT2INCit8Y29udDE5PUNNYXBTdHJpbmdUb1N0cmluZw0KK3xjb250MjA9Q1R5cGVkUHRyQXJyYXk8Q1B0ckFycmF5LCAkVFlQRSo+DQorfGNvbnQyMT1DVHlwZWRQdHJBcnJheTxDT2JBcnJheSwgJFRZUEUqPg0KK3xjb250MjI9Q1R5cGVkUHRyTGlzdDxDT2JMaXN0LCAkVFlQRSo+DQorfGNvbnQyMz1DVHlwZWRQdHJMaXN0PENQdHJMaXN0LCAkVFlQRSo+DQorfGNvbnQyND1DQ29tT2JqZWN0PCRUWVBFPg0KK3xjb250MjU9Q0NvbVB0cjwkVFlQRT4NCit8Y29udDI2PUNDb21RSVB0cjwkVFlQRT4NCit8Y29udDI3PUNDb21RSVB0cjwkVFlQRSwgSUlEKj4NCisJCQkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkNsYXNzTWV0aG9kcyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCANCit8Kl9ib2R5PS8vIFRvRG86IEFkZCB5b3VyIHNwZWNpYWxpemVkIGNvZGUgaGVyZSBhbmQvb3IgY2FsbCB0aGUgYmFzZSBjbGFzcw0KK3xjbTE9JE5BTUUoKQ0KK3xjbTI9JE5BTUUob3JpZzpjb25zdCAkTkFNRSYpDQorfGNtMz08PHZpcnR1YWw+PiB+JE5BTUUoKQ0KK3xjbTQ9b3BlcmF0b3I9KHJoczokTkFNRSYpOiROQU1FJg0KK3xjbTRfYm9keT0vLyBUb0RvOiBBZGQgeW91ciBzcGVjaWFsaXplZCBjb2RlIGhlcmUgYW5kL29yIGNhbGwgdGhlIGJhc2UgY2xhc3N8fHJldHVybiByaHM7DQorfGNtNT08PGNvbnN0Pj4gb3BlcmF0b3I9PShyaHM6Y29uc3QgJE5BTUUmKTpib29sDQorfGNtNV9ib2R5PS8vIFRvRG86IEFkZCB5b3VyIHNwZWNpYWxpemVkIGNvZGUgaGVyZSBhbmQvb3IgY2FsbCB0aGUgYmFzZSBjbGFzc3x8cmV0dXJuIGZhbHNlOw0KK3xjbTY9PDxjb25zdD4+IG9wZXJhdG9yIT0ocmhzOiROQU1FJik6Ym9vbA0KK3xjbTZfYm9keT0vLyBUb0RvOiBBZGQgeW91ciBzcGVjaWFsaXplZCBjb2RlIGhlcmUgYW5kL29yIGNhbGwgdGhlIGJhc2UgY2xhc3N8fHJldHVybiBmYWxzZTsNCit8Y203PTw8Y29uc3Q+PiBvcGVyYXRvcjwocmhzOiROQU1FJik6Ym9vbA0KK3xjbTdfYm9keT0vLyBUb0RvOiBBZGQgeW91ciBzcGVjaWFsaXplZCBjb2RlIGhlcmUgYW5kL29yIGNhbGwgdGhlIGJhc2UgY2xhc3N8fHJldHVybiBmYWxzZTsNCit8Y204PTw8Y29uc3Q+PiBvcGVyYXRvcj4ocmhzOiROQU1FJik6Ym9vbA0KK3xjbThfYm9keT0vLyBUb0RvOiBBZGQgeW91ciBzcGVjaWFsaXplZCBjb2RlIGhlcmUgYW5kL29yIGNhbGwgdGhlIGJhc2UgY2xhc3N8fHJldHVybiBmYWxzZTsNCit8Y205PTw8Y29uc3Q+PiBvcGVyYXRvcjw9KHJoczokTkFNRSYpOmJvb2wNCit8Y205X2JvZHk9Ly8gVG9EbzogQWRkIHlvdXIgc3BlY2lhbGl6ZWQgY29kZSBoZXJlIGFuZC9vciBjYWxsIHRoZSBiYXNlIGNsYXNzfHxyZXR1cm4gZmFsc2U7DQorfGNtMTA9PDxjb25zdD4+IG9wZXJhdG9yPj0ocmhzOiROQU1FJik6Ym9vbA0KK3xjbTEwX2JvZHk9Ly8gVG9EbzogQWRkIHlvdXIgc3BlY2lhbGl6ZWQgY29kZSBoZXJlIGFuZC9vciBjYWxsIHRoZSBiYXNlIGNsYXNzfHxyZXR1cm4gZmFsc2U7DQorfGNtMTE9PDxmcmllbmQ+PiBvcGVyYXRvcj4+KGk6aXN0cmVhbSYsIHJoczokTkFNRSYpOmlzdHJlYW0mDQorfGNtMTFfYm9keT0vLyBUb0RvOiBBZGQgeW91ciBzcGVjaWFsaXplZCBjb2RlIGhlcmUgYW5kL29yIGNhbGwgdGhlIGJhc2UgY2xhc3N8fHJldHVybiBpOw0KK3xjbTEyPTw8ZnJpZW5kPj4gb3BlcmF0b3I8PChvOm9zdHJlYW0mLCByaHM6Y29uc3QgJE5BTUUmKTpvc3RyZWFtJg0KK3xjbTEyX2JvZHk9Ly8gVG9EbzogQWRkIHlvdXIgc3BlY2lhbGl6ZWQgY29kZSBoZXJlIGFuZC9vciBjYWxsIHRoZSBiYXNlIGNsYXNzfHxyZXR1cm4gbzsNCisJCQkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkFjY2Vzc29ycyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCANCit8YWdmPTw8Y29uc3Q+PiBnZXRfJEJBU0lDTkFNRSgpOmNvbnN0ICRUWVBFDQorfGFnZl9ib2R5PXJldHVybiAkTkFNRTsNCit8YXNmPXNldF8kQkFTSUNOQU1FKHZhbHVlOiRUWVBFKTp2b2lkDQorfGFzZl9ib2R5PSROQU1FID0gdmFsdWU7fHJldHVybjsNCit8YWd2PTw8Y29uc3Q+PiBnZXRfJEJBU0lDTkFNRSgpOmNvbnN0ICRUWVBFJg0KK3xhZ3ZfYm9keT1yZXR1cm4gJE5BTUU7DQorfGFzdj1zZXRfJEJBU0lDTkFNRSh2YWx1ZTokVFlQRSYpOnZvaWQNCit8YXN2X2JvZHk9JE5BTUUgPSB2YWx1ZTt8cmV0dXJuOw0KK3xhZ3A9PDxjb25zdD4+IGdldF8kQkFTSUNOQU1FKCk6Y29uc3QgJFRZUEUNCit8YWdwX2JvZHk9cmV0dXJuICROQU1FOw0KK3xhc3A9c2V0XyRCQVNJQ05BTUUodmFsdWU6JFRZUEUpOnZvaWQNCit8YXNwX2JvZHk9JE5BTUUgPSB2YWx1ZTt8cmV0dXJuOw0KK3xhZ3I9PDxjb25zdD4+IGdldF8kQkFTSUNOQU1FKCk6Y29uc3QgJFRZUEUNCit8YWdyX2JvZHk9cmV0dXJuICROQU1FOw0KK3xhc3I9c2V0XyRCQVNJQ05BTUUodmFsdWU6JFRZUEUpOnZvaWQNCit8YXNyX2JvZHk9JE5BTUUgPSB2YWx1ZTt8cmV0dXJuOw0KK3xhZ2E9PDxjb25zdD4+IGdldF8kQkFTSUNOQU1FKGluZGV4OmludCk6Y29uc3QgJFRZUEUNCit8YWdhX2JvZHk9cmV0dXJuICROQU1FW2luZGV4XTsNCit8YXNhPXNldF8kQkFTSUNOQU1FKGluZGV4OmludCwgdmFsdWU6JFRZUEUpOnZvaWQNCit8YXNhX2JvZHk9JE5BTUVbaW5kZXhdID0gdmFsdWU7fHJldHVybjsNCisJCQkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkNvbmRpdGlvbmFscyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCANCit8Kl9kZWNsPSNpZmRlZiBfREVCVUcNCit8Kl9iYXNlPUNPYmplY3QNCit8Y29uZDE9PDx2aXJ0dWFsLCBjb25zdD4+IEFzc2VydFZhbGlkKCk6dm9pZA0KK3xjb25kMV9ib2R5PSRTVVBFUk5BTUU6OkFzc2VydFZhbGlkKCk7DQorfGNvbmQyPTw8dmlydHVhbCwgY29uc3Q+PiBEdW1wKGRjOkNEdW1wQ29udGV4dCYpOnZvaWQNCit8Y29uZDJfYm9keT0kU1VQRVJOQU1FOjpEdW1wKGRjKTsNCisJCQkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIlBhdHRlcm5zIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0IA0KK3xwYXRybjE9Y20xLGNtMyxjb25kMSxjb25kMg0KK3xQYXRybjFfbmFtZT1EZWZhdWx0DQorCQkJKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJBdGxDbGFzc1ByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiQyIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiQXRsSW50ZXJmYWNlUHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSJJIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJBdGxUeXBlRGVzY3JpcHRpb24iDQorCQkJdmFsdWUgICAgICAJIkNsYXNzIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX0NsYXNzIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiSGVhZGVyRmlsZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiQ29kZUZpbGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIlZDKysiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fTW9kdWxlLVNwZWMiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiSW50ZXJuYWxNYXAiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgDQorfCo6QVVUTzpBVVRPDQorfA0KKwkJCSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiRXhwb3J0TWFwIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0IA0KK3wqOkFVVE86QVVUTw0KK3wNCisJCQkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxTb3VyY2VJbmNsdWRlcyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCANCit8InN0ZGFmeC5oIg0KKwkJCSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiSW5pdGlhbEhlYWRlckluY2x1ZGVzIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJDb3B5cmlnaHQiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIkNvcHlyaWdodCAoQykgMTk5MSAtIDE5OTkgUmF0aW9uYWwgU29mdHdhcmUgQ29ycG9yYXRpb24iKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJLaW5kU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJCW5hbWUgICAgICAgCSIobm9uZSkiDQorCQkJCXZhbHVlICAgICAgCTMwMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJCW5hbWUgICAgICAgCSJETEwiDQorCQkJCXZhbHVlICAgICAgCTMwMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJCW5hbWUgICAgICAgCSJFWEUiDQorCQkJCXZhbHVlICAgICAgCTMwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJCW5hbWUgICAgICAgCSJNSURMIg0KKwkJCQl2YWx1ZSAgICAgIAkzMDMpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJLaW5kIg0KKwkJCXZhbHVlICAgICAgCSgiS2luZFNldCIgMzAwKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX1JvbGUiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiQ29uc3QiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJJbml0aWFsVmFsdWUiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiVkMrKyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Vc2VzIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiVkMrKyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19DYXRlZ29yeSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJJc0RpcmVjdG9yeSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJEaXJlY3RvcnkiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiVkMrKyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19BdHRyaWJ1dGUiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiVkMrKyINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX09wZXJhdGlvbiINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlZDKysiDQorCQkJbmFtZSAgICAgICAJIklubGluZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJWQysrIg0KKwkJCW5hbWUgICAgICAgCSJEZWZhdWx0Qm9keSINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiVkMrKyINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIlZpc3VhbFN0dWRpbyINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIldlYiBNb2RlbGVyIg0KKwkJbmFtZSAgICAgICAJIkhpZGRlblRvb2wiDQorCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCW5hbWUgICAgICAgCSJwcm9wZXJ0eUlkIg0KKwkJdmFsdWUgICAgICAJIjgwOTEzNTk2NiIpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIlhNTF9EVEQiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUHJvamVjdCINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJYTUxfRFREIg0KKwkJCW5hbWUgICAgICAgCSJDcmVhdGVNaXNzaW5nRGlyZWN0b3JpZXMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJYTUxfRFREIg0KKwkJCW5hbWUgICAgICAgCSJFZGl0b3IiDQorCQkJdmFsdWUgICAgICAJKCJFZGl0b3JUeXBlIiAxMDApKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlhNTF9EVEQiDQorCQkJbmFtZSAgICAgICAJIlN0b3BPbkVycm9yIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiRWRpdG9yVHlwZSINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJYTUxfRFREIg0KKwkJCQluYW1lICAgICAgIAkiQnVpbHRJbiINCisJCQkJdmFsdWUgICAgICAJMTAwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQkJbmFtZSAgICAgICAJIldpbmRvd3NTaGVsbCINCisJCQkJdmFsdWUgICAgICAJMTAxKSkpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19DbGFzcyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJYTUxfRFREIg0KKwkJCW5hbWUgICAgICAgCSJFbnRpdHlfU3lzdGVtSUQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiRW50aXR5X1B1YmxpY0lEIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIlhNTF9EVEQiDQorCQkJbmFtZSAgICAgICAJIk5vdGF0aW9uVmFsdWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiSW50ZXJuYWxWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJYTUxfRFREIg0KKwkJCW5hbWUgICAgICAgCSJQYXJhbWV0ZXJFbnRpdHkiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiRXh0ZXJuYWxFbnRpdHkiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiTm90YXRpb25fU3lzdGVtSUQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiTm90YXRpb25fUHVibGljSUQiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19BdHRyaWJ1dGUiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdERlY2xUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIlhNTF9EVEQiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fTW9kdWxlLVNwZWMiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiWE1MX0RURCINCisJCQluYW1lICAgICAgIAkiQXNzaWduIEFsbCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJYTUxfRFREIg0KKwkJCW5hbWUgICAgICAgCSJDb21wb25lbnRQYXRoIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIlhNTF9EVEQiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQluYW1lICAgICAgIAkicHJvcGVydHlJZCINCisJCXZhbHVlICAgICAgCSI4MDkxMzU5NjYiKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUm9sZSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIlN5bmNocm9uaXplIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDb2RlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fSW5oZXJpdCINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIlN5bmNocm9uaXplIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX01vZHVsZS1TcGVjIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiU3luY2hyb25pemUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIlJldkVuZ1Jvb3REaXJlY3RvcnkiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJSb290UGFja2FnZSINCisJCQl2YWx1ZSAgICAgIAkiQysrIFJldmVyc2UgRW5naW5lZXJlZCIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJSZXZFbmdEaXJlY3Rvcmllc0FzUGFja2FnZXMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJIZWFkZXJGaWxlRXh0ZW5zaW9uIg0KKwkJCXZhbHVlICAgICAgCSIuaCIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJJbXBsZW1lbnRhdGlvbkZpbGVFeHRlbnNpb24iDQorCQkJdmFsdWUgICAgICAJIi5jcHAiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiTmV3SGVhZGVyRmlsZURpcmVjdG9yeSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIk5ld0ltcGxlbWVudGF0aW9uRmlsZURpcmVjdG9yeSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkZpbGVDYXBpdGFsaXphdGlvbiINCisJCQl2YWx1ZSAgICAgIAkoIkZpbGVDYXBpdGFsaXphdGlvblNldCIgMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDb2RlR2VuRXh0cmFEaXJlY3RvcmllcyINCisJCQl2YWx1ZSAgICAgIAkoIkNvZGVHZW5FeHRyYURpcmVjdG9yaWVzU2V0IiAwKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIlN0cmlwQ2xhc3NQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJVc2VUYWJzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiVGFiV2lkdGgiDQorCQkJdmFsdWUgICAgICAJOCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkluZGVudFdpZHRoIg0KKwkJCXZhbHVlICAgICAgCTQpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJBY2Nlc3NJbmRlbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAktMikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkNyZWF0ZUJhY2t1cEZpbGVzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiTW9kZWxJZENvbW1lbnRSdWxlcyINCisJCQl2YWx1ZSAgICAgIAkoIk1vZGVsSWRDb21tZW50UnVsZXNTZXQiIDEpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ29tbWVudFJ1bGVzIg0KKwkJCXZhbHVlICAgICAgCSgiQ29tbWVudFJ1bGVzU2V0IiAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIlBhZ2VXaWR0aCINCisJCQl2YWx1ZSAgICAgIAk4MCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkNsYXNzTWVtYmVyT3JkZXIiDQorCQkJdmFsdWUgICAgICAJKCJNZW1iZXJPcmRlclNldCIgMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJPbmVQYXJhbWV0ZXJQZXJMaW5lIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiTmFtZXNwYWNlQnJhY2VTdHlsZSINCisJCQl2YWx1ZSAgICAgIAkoIkJyYWNlU3R5bGVTZXQiIDIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ2xhc3NCcmFjZVN0eWxlIg0KKwkJCXZhbHVlICAgICAgCSgiQnJhY2VTdHlsZVNldCIgMikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJGdW5jdGlvbkJyYWNlU3R5bGUiDQorCQkJdmFsdWUgICAgICAJKCJCcmFjZVN0eWxlU2V0IiAyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkNvcHlyaWdodCINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJJbml0aWFsSGVhZGVySW5jbHVkZXMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiSW5pdGlhbEJvZHlJbmNsdWRlcyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDb2RlR2VuRXh0cmFEaXJlY3Rvcmllc1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJOb25lIg0KKwkJCQl2YWx1ZSAgICAgIAkwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiTmFtZXNwYWNlcyINCisJCQkJdmFsdWUgICAgICAJMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIlBhY2thZ2VzIg0KKwkJCQl2YWx1ZSAgICAgIAkyKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJGaWxlQ2FwaXRhbGl6YXRpb25TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiU2FtZSBhcyBtb2RlbCINCisJCQkJdmFsdWUgICAgICAJMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkxvd2VyIGNhc2UiDQorCQkJCXZhbHVlICAgICAgCTEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJVcHBlciBjYXNlIg0KKwkJCQl2YWx1ZSAgICAgIAkyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiTG93ZXIgY2FzZSB3aXRoIHVuZGVyc2NvcmVzIg0KKwkJCQl2YWx1ZSAgICAgIAkzKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJCcmFjZVN0eWxlU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkIxIg0KKwkJCQl2YWx1ZSAgICAgIAkxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiQjIiDQorCQkJCXZhbHVlICAgICAgCTIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJCMyINCisJCQkJdmFsdWUgICAgICAJMykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkI0Ig0KKwkJCQl2YWx1ZSAgICAgIAk0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiQjUiDQorCQkJCXZhbHVlICAgICAgCTUpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIk1lbWJlck9yZGVyU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIlB1YmxpYyBGaXJzdCINCisJCQkJdmFsdWUgICAgICAJMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIlByaXZhdGUgRmlyc3QiDQorCQkJCXZhbHVlICAgICAgCTIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJPcmRlciBieSBraW5kIg0KKwkJCQl2YWx1ZSAgICAgIAkzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiVW5vcmRlcmVkIg0KKwkJCQl2YWx1ZSAgICAgIAk0KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJNb2RlbElkQ29tbWVudFJ1bGVzU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkNvZGUgZ2VuZXJhdGlvbiBvbmx5Ig0KKwkJCQl2YWx1ZSAgICAgIAkxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiQ29kZSBnZW5lcmF0aW9uIGFuZCByZXZlcnNlIGVuZ2luZWVyaW5nIg0KKwkJCQl2YWx1ZSAgICAgIAkyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiTmV2ZXIgZ2VuZXJhdGUgbW9kZWwgSURzIg0KKwkJCQl2YWx1ZSAgICAgIAkzKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDb21tZW50UnVsZXNTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiQWx3YXlzIHN5bmNocm9uaXplIg0KKwkJCQl2YWx1ZSAgICAgIAkxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiQ29kZSBnZW5lcmF0aW9uIG9ubHkiDQorCQkJCXZhbHVlICAgICAgCTIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJSZXZlcnNlIGVuZ2luZWVyaW5nIG9ubHkiDQorCQkJCXZhbHVlICAgICAgCTMpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJOZXZlciBzeW5jaHJvbml6ZSINCisJCQkJdmFsdWUgICAgICAJNCkpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Nb2R1bGUtQm9keSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIlN5bmNocm9uaXplIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJSZXZFbmdSb290RGlyZWN0b3J5Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiUm9vdFBhY2thZ2UiDQorCQkJdmFsdWUgICAgICAJIkMrKyBSZXZlcnNlIEVuZ2luZWVyZWQiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiUmV2RW5nRGlyZWN0b3JpZXNBc1BhY2thZ2VzIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiSGVhZGVyRmlsZUV4dGVuc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiLmgiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiSW1wbGVtZW50YXRpb25GaWxlRXh0ZW5zaW9uIg0KKwkJCXZhbHVlICAgICAgCSIuY3BwIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIk5ld0hlYWRlckZpbGVEaXJlY3RvcnkiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJOZXdJbXBsZW1lbnRhdGlvbkZpbGVEaXJlY3RvcnkiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJGaWxlQ2FwaXRhbGl6YXRpb24iDQorCQkJdmFsdWUgICAgICAJKCJGaWxlQ2FwaXRhbGl6YXRpb25TZXQiIDApKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ29kZUdlbkV4dHJhRGlyZWN0b3JpZXMiDQorCQkJdmFsdWUgICAgICAJKCJDb2RlR2VuRXh0cmFEaXJlY3Rvcmllc1NldCIgMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJTdHJpcENsYXNzUHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiVXNlVGFicyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIlRhYldpZHRoIg0KKwkJCXZhbHVlICAgICAgCTgpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJJbmRlbnRXaWR0aCINCisJCQl2YWx1ZSAgICAgIAk0KQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQWNjZXNzSW5kZW50YXRpb24iDQorCQkJdmFsdWUgICAgICAJLTIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDcmVhdGVCYWNrdXBGaWxlcyINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIk1vZGVsSWRDb21tZW50UnVsZXMiDQorCQkJdmFsdWUgICAgICAJKCJNb2RlbElkQ29tbWVudFJ1bGVzU2V0IiAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkNvbW1lbnRSdWxlcyINCisJCQl2YWx1ZSAgICAgIAkoIkNvbW1lbnRSdWxlc1NldCIgMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJQYWdlV2lkdGgiDQorCQkJdmFsdWUgICAgICAJODApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDbGFzc01lbWJlck9yZGVyIg0KKwkJCXZhbHVlICAgICAgCSgiTWVtYmVyT3JkZXJTZXQiIDEpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiT25lUGFyYW1ldGVyUGVyTGluZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIk5hbWVzcGFjZUJyYWNlU3R5bGUiDQorCQkJdmFsdWUgICAgICAJKCJCcmFjZVN0eWxlU2V0IiAyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkNsYXNzQnJhY2VTdHlsZSINCisJCQl2YWx1ZSAgICAgIAkoIkJyYWNlU3R5bGVTZXQiIDIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiRnVuY3Rpb25CcmFjZVN0eWxlIg0KKwkJCXZhbHVlICAgICAgCSgiQnJhY2VTdHlsZVNldCIgMikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDb3B5cmlnaHQiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiSW5pdGlhbEhlYWRlckluY2x1ZGVzIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxCb2R5SW5jbHVkZXMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ29kZUdlbkV4dHJhRGlyZWN0b3JpZXNTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiTm9uZSINCisJCQkJdmFsdWUgICAgICAJMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIk5hbWVzcGFjZXMiDQorCQkJCXZhbHVlICAgICAgCTEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJQYWNrYWdlcyINCisJCQkJdmFsdWUgICAgICAJMikpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiRmlsZUNhcGl0YWxpemF0aW9uU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIlNhbWUgYXMgbW9kZWwiDQorCQkJCXZhbHVlICAgICAgCTApDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJMb3dlciBjYXNlIg0KKwkJCQl2YWx1ZSAgICAgIAkxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiVXBwZXIgY2FzZSINCisJCQkJdmFsdWUgICAgICAJMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkxvd2VyIGNhc2Ugd2l0aCB1bmRlcnNjb3JlcyINCisJCQkJdmFsdWUgICAgICAJMykpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQnJhY2VTdHlsZVNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJCMSINCisJCQkJdmFsdWUgICAgICAJMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkIyIg0KKwkJCQl2YWx1ZSAgICAgIAkyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiQjMiDQorCQkJCXZhbHVlICAgICAgCTMpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJCNCINCisJCQkJdmFsdWUgICAgICAJNCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkI1Ig0KKwkJCQl2YWx1ZSAgICAgIAk1KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJNZW1iZXJPcmRlclNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJQdWJsaWMgRmlyc3QiDQorCQkJCXZhbHVlICAgICAgCTEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJQcml2YXRlIEZpcnN0Ig0KKwkJCQl2YWx1ZSAgICAgIAkyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiT3JkZXIgYnkga2luZCINCisJCQkJdmFsdWUgICAgICAJMykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIlVub3JkZXJlZCINCisJCQkJdmFsdWUgICAgICAJNCkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiTW9kZWxJZENvbW1lbnRSdWxlc1NldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJDb2RlIGdlbmVyYXRpb24gb25seSINCisJCQkJdmFsdWUgICAgICAJMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkNvZGUgZ2VuZXJhdGlvbiBhbmQgcmV2ZXJzZSBlbmdpbmVlcmluZyINCisJCQkJdmFsdWUgICAgICAJMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIk5ldmVyIGdlbmVyYXRlIG1vZGVsIElEcyINCisJCQkJdmFsdWUgICAgICAJMykpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ29tbWVudFJ1bGVzU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkFsd2F5cyBzeW5jaHJvbml6ZSINCisJCQkJdmFsdWUgICAgICAJMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkNvZGUgZ2VuZXJhdGlvbiBvbmx5Ig0KKwkJCQl2YWx1ZSAgICAgIAkyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiUmV2ZXJzZSBlbmdpbmVlcmluZyBvbmx5Ig0KKwkJCQl2YWx1ZSAgICAgIAkzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiTmV2ZXIgc3luY2hyb25pemUiDQorCQkJCXZhbHVlICAgICAgCTQpKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUGFyYW0iDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJDb2RlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQXR0cmlidXRlIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiU3luY2hyb25pemUiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkNvZGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19PcGVyYXRpb24iDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJTeW5jaHJvbml6ZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJJbml0aWFsQ29kZUJvZHkiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUZ1bmN0aW9uQm9keSINCisJCQl2YWx1ZSAgICAgIAkoIkdlbmVyYXRlRnVuY3Rpb25Cb2R5U2V0IiAyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRnVuY3Rpb25Cb2R5U2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQkJbmFtZSAgICAgICAJIkRlZmF1bHQiDQorCQkJCXZhbHVlICAgICAgCTIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJCW5hbWUgICAgICAgCSJUcnVlIg0KKwkJCQl2YWx1ZSAgICAgIAkxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCQluYW1lICAgICAgIAkiRmFsc2UiDQorCQkJCXZhbHVlICAgICAgCTApKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQ2xhc3MiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJTeW5jaHJvbml6ZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJJbXBsZW1lbnRhdGlvblR5cGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJIZWFkZXJTb3VyY2VGaWxlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQm9keVNvdXJjZUZpbGUiDQorCQkJdmFsdWUgICAgICAJIiIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX0NhdGVnb3J5Ig0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQ3BsdXNwbHVzIg0KKwkJCW5hbWUgICAgICAgCSJJc05hbWVzcGFjZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fVXNlcyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDcGx1c3BsdXMiDQorCQkJbmFtZSAgICAgICAJIkJvZHlSZWZlcmVuY2VPbmx5Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkNwbHVzcGx1cyINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFOU0lDb252ZXJ0Ig0KKwkJbmFtZSAgICAgICAJIkhpZGRlblRvb2wiDQorCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhODMiDQorCQluYW1lICAgICAgIAkicHJvcGVydHlJZCINCisJCXZhbHVlICAgICAgCSI4MzgzMjYyMDAiKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Qcm9qZWN0Ig0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJTcGVjRmlsZUV4dGVuc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiMS5hZGEiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJTcGVjRmlsZUJhY2t1cEV4dGVuc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiMS5hZH4iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJTcGVjRmlsZVRlbXBvcmFyeUV4dGVuc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiMS5hZCMiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJCb2R5RmlsZUV4dGVuc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiMi5hZGEiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJCb2R5RmlsZUJhY2t1cEV4dGVuc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiMi5hZH4iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJCb2R5RmlsZVRlbXBvcmFyeUV4dGVuc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiMi5hZCMiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJDcmVhdGVNaXNzaW5nRGlyZWN0b3JpZXMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVCb2RpZXMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVBY2Nlc3Nvck9wZXJhdGlvbnMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVTdGFuZGFyZE9wZXJhdGlvbnMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdENvZGVCb2R5Ig0KKwkJCXZhbHVlICAgICAgCSJbc3RhdGVtZW50XSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkltcGxpY2l0UGFyYW1ldGVyIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvbW1lbnRXaWR0aCINCisJCQl2YWx1ZSAgICAgIAk2MCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiU3RvcE9uRXJyb3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkVycm9yTGltaXQiDQorCQkJdmFsdWUgICAgICAJMzApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlVzZUZpbGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJEaXJlY3RvcnkiDQorCQkJdmFsdWUgICAgICAJIiRST1NFQURBODNfU09VUkNFIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19DbGFzcyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNsYXNzTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiT2JqZWN0IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQ2xhc3NBY2Nlc3MiDQorCQkJdmFsdWUgICAgICAJKCJJbXBsZW1lbnRhdGlvblNldCIgNDMpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbXBsZW1lbnRhdGlvblR5cGUiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJc1N1YnR5cGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlBvbHltb3JwaGljVW5pdCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSGFuZGxlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiSGFuZGxlIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSGFuZGxlQWNjZXNzIg0KKwkJCXZhbHVlICAgICAgCSgiSW1wbGVtZW50YXRpb25TZXQiIDQ1KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRGlzY3JpbWluYW50Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJWYXJpYW50Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJFbnVtZXJhdGlvbkxpdGVyYWxQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIkFfIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiUmVjb3JkRmllbGRQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIlRoZV8iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUFjY2Vzc29yT3BlcmF0aW9ucyINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZVN0YW5kYXJkT3BlcmF0aW9ucyINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbXBsaWNpdFBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJDbGFzc1BhcmFtZXRlck5hbWUiDQorCQkJdmFsdWUgICAgICAJIlRoaXMiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJEZWZhdWx0Q29uc3RydWN0b3JLaW5kIg0KKwkJCXZhbHVlICAgICAgCSgiQ29uc3RydWN0b3JLaW5kU2V0IiAxOTkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJEZWZhdWx0Q29uc3RydWN0b3JOYW1lIg0KKwkJCXZhbHVlICAgICAgCSJDcmVhdGUiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVEZWZhdWx0Q29uc3RydWN0b3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvcHlDb25zdHJ1Y3RvcktpbmQiDQorCQkJdmFsdWUgICAgICAJKCJDb25zdHJ1Y3RvcktpbmRTZXQiIDE5OSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvcHlDb25zdHJ1Y3Rvck5hbWUiDQorCQkJdmFsdWUgICAgICAJIkNvcHkiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVDb3B5Q29uc3RydWN0b3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkRlc3RydWN0b3JOYW1lIg0KKwkJCXZhbHVlICAgICAgCSJGcmVlIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSW5saW5lRGVzdHJ1Y3RvciINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQ2xhc3NFcXVhbGl0eU9wZXJhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSGFuZGxlRXF1YWxpdHlPcGVyYXRpb24iDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIklubGluZUVxdWFsaXR5Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJc1Rhc2siDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlJlcHJlc2VudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSW1wbGVtZW50YXRpb25TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJQdWJsaWMiDQorCQkJCXZhbHVlICAgICAgCTQ1KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJQcml2YXRlIg0KKwkJCQl2YWx1ZSAgICAgIAk0MykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiTGltaXRlZFByaXZhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJDb25zdHJ1Y3RvcktpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJQcm9jZWR1cmUiDQorCQkJCXZhbHVlICAgICAgCTIwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiRnVuY3Rpb24iDQorCQkJCXZhbHVlICAgICAgCTE5OSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX01vZHVsZS1TcGVjIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJDb3B5cmlnaHROb3RpY2UiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJGaWxlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiUmV0dXJuVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiR2VuZXJpY0Zvcm1hbFBhcmFtZXRlcnMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJBZGRpdGlvbmFsV2l0aHMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX01vZHVsZS1Cb2R5Ig0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJDb3B5cmlnaHROb3RpY2UiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJGaWxlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiUmV0dXJuVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQWRkaXRpb25hbFdpdGhzIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSXNTdWJ1bml0Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX09wZXJhdGlvbiINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlN1YnByb2dyYW1JbXBsZW1lbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkoIlN1YnByb2dyYW1JbXBsZW1lbnRhdGlvblNldCIgMikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlJlbmFtZXMiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNsYXNzUGFyYW1ldGVyTW9kZSINCisJCQl2YWx1ZSAgICAgIAkoIlBhcmFtZXRlck1vZGVTZXQiIDIwMykpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIklubGluZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRW50cnlDb2RlIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRXhpdENvZGUiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbml0aWFsQ29kZUJvZHkiDQorCQkJdmFsdWUgICAgICAJIiR7ZGVmYXVsdH0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJSZXByZXNlbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlN1YnByb2dyYW1JbXBsZW1lbnRhdGlvblNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQkJbmFtZSAgICAgICAJIlNwZWMiDQorCQkJCXZhbHVlICAgICAgCTIyNCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiQm9keSINCisJCQkJdmFsdWUgICAgICAJMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiUmVuYW1pbmciDQorCQkJCXZhbHVlICAgICAgCTIyMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiU2VwYXJhdGUiDQorCQkJCXZhbHVlICAgICAgCTIyMykpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJQYXJhbWV0ZXJNb2RlU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiRGVmYXVsdCINCisJCQkJdmFsdWUgICAgICAJMjMyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJJbiINCisJCQkJdmFsdWUgICAgICAJMjA0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJPdXQiDQorCQkJCXZhbHVlICAgICAgCTIwNSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiSW5PdXQiDQorCQkJCXZhbHVlICAgICAgCTIwMykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiRnVuY3Rpb25SZXR1cm4iDQorCQkJCXZhbHVlICAgICAgCTIwNikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX1BhcmFtIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJNb2RlIg0KKwkJCXZhbHVlICAgICAgCSgiUGFyYW1ldGVyTW9kZVNldCIgMjMyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiUGFyYW1ldGVyTW9kZVNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQkJbmFtZSAgICAgICAJIkRlZmF1bHQiDQorCQkJCXZhbHVlICAgICAgCTIzMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiSW4iDQorCQkJCXZhbHVlICAgICAgCTIwNCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiT3V0Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMDUpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQkJbmFtZSAgICAgICAJIkluT3V0Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMDMpKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19IYXMiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvZGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJOYW1lSWZVbmxhYmVsZWQiDQorCQkJdmFsdWUgICAgICAJIlRoZV8ke3N1cHBsaWVyfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkRhdGFNZW1iZXJOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIke3JlbGF0aW9uc2hpcH0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJHZXROYW1lIg0KKwkJCXZhbHVlICAgICAgCSJHZXRfJHtyZWxhdGlvbnNoaXB9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSW5saW5lR2V0Ig0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlNldE5hbWUiDQorCQkJdmFsdWUgICAgICAJIlNldF8ke3JlbGF0aW9uc2hpcH0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVTZXQiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSXNDb25zdGFudCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSW5pdGlhbFZhbHVlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJEZWNsYXJlIg0KKwkJCXZhbHVlICAgICAgCSgiRGVjbGFyZVNldCIgMjM0KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiVmFyaWFudCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQ29udGFpbmVyR2VuZXJpYyINCisJCQl2YWx1ZSAgICAgIAkiTGlzdCIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lclR5cGUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckRlY2xhcmF0aW9ucyINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlNlbGVjdG9yTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiU2VsZWN0b3JUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJEZWNsYXJlU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiQmVmb3JlIg0KKwkJCQl2YWx1ZSAgICAgIAkyMzMpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQkJbmFtZSAgICAgICAJIkFmdGVyIg0KKwkJCQl2YWx1ZSAgICAgIAkyMzQpKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19BdHRyaWJ1dGUiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvZGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJEYXRhTWVtYmVyTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiJHthdHRyaWJ1dGV9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiR2V0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiR2V0XyR7YXR0cmlidXRlfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIklubGluZUdldCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJTZXROYW1lIg0KKwkJCXZhbHVlICAgICAgCSJTZXRfJHthdHRyaWJ1dGV9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSW5saW5lU2V0Ig0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIklzQ29uc3RhbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRGVjbGFyZSINCisJCQl2YWx1ZSAgICAgIAkoIkRlY2xhcmVTZXQiIDIzNCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlZhcmlhbnQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlJlcHJlc2VudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRGVjbGFyZVNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQkJbmFtZSAgICAgICAJIkJlZm9yZSINCisJCQkJdmFsdWUgICAgICAJMjMzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJBZnRlciINCisJCQkJdmFsdWUgICAgICAJMjM0KSkpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhODMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQXNzb2NpYXRpb24iDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIk5hbWVJZlVubGFiZWxlZCINCisJCQl2YWx1ZSAgICAgIAkiVGhlXyR7dGFyZ2V0Q2xhc3N9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiR2V0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiR2V0XyR7YXNzb2NpYXRpb259IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSW5saW5lR2V0Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJTZXROYW1lIg0KKwkJCXZhbHVlICAgICAgCSJTZXRfJHthc3NvY2lhdGlvbn0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVTZXQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQXNzb2NpYXRlIg0KKwkJCXZhbHVlICAgICAgCSgiUHJvY2VkdXJlS2luZFNldCIgMjAyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQXNzb2NpYXRlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiQXNzb2NpYXRlIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiSW5saW5lQXNzb2NpYXRlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZURpc3NvY2lhdGUiDQorCQkJdmFsdWUgICAgICAJKCJQcm9jZWR1cmVLaW5kU2V0IiAyMDIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJEaXNzb2NpYXRlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiRGlzc29jaWF0ZSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIklubGluZURpc3NvY2lhdGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZUtpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJQcm9jZWR1cmUiDQorCQkJCXZhbHVlICAgICAgCTIwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJGdW5jdGlvbktpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJGdW5jdGlvbiINCisJCQkJdmFsdWUgICAgICAJMTk5KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhODMiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUm9sZSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIk5hbWVJZlVubGFiZWxlZCINCisJCQl2YWx1ZSAgICAgIAkiVGhlXyR7dGFyZ2V0Q2xhc3N9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRGF0YU1lbWJlck5hbWUiDQorCQkJdmFsdWUgICAgICAJIiR7dGFyZ2V0fSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkdldE5hbWUiDQorCQkJdmFsdWUgICAgICAJIkdldF8ke3RhcmdldH0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVHZXQiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiU2V0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiU2V0XyR7dGFyZ2V0fSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIklubGluZVNldCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJc0NvbnN0YW50Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJJbml0aWFsVmFsdWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkRlY2xhcmUiDQorCQkJdmFsdWUgICAgICAJKCJEZWNsYXJlU2V0IiAyMzQpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJSZXByZXNlbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckdlbmVyaWMiDQorCQkJdmFsdWUgICAgICAJIkxpc3QiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJEZWNsYXJhdGlvbnMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCW5hbWUgICAgICAgCSJTZWxlY3Rvck5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIlNlbGVjdG9yVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiUHJvY2VkdXJlS2luZFNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZSINCisJCQkJdmFsdWUgICAgICAJMjAyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJbmFtZSAgICAgICAJIkRlY2xhcmVTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhODMiDQorCQkJCW5hbWUgICAgICAgCSJCZWZvcmUiDQorCQkJCXZhbHVlICAgICAgCTIzMykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJCQluYW1lICAgICAgIAkiQWZ0ZXIiDQorCQkJCXZhbHVlICAgICAgCTIzNCkpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTgzIg0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX1N1YnN5c3RlbSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCQluYW1lICAgICAgIAkiRGlyZWN0b3J5Ig0KKwkJCXZhbHVlICAgICAgCSJBVVRPIEdFTkVSQVRFIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE4MyINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJbmFtZSAgICAgICAJInByb3BlcnR5SWQiDQorCQl2YWx1ZSAgICAgIAkiODM4MzI2MjAwIikNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUHJvamVjdCINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU3BlY0ZpbGVFeHRlbnNpb24iDQorCQkJdmFsdWUgICAgICAJIjEuYWRhIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU3BlY0ZpbGVCYWNrdXBFeHRlbnNpb24iDQorCQkJdmFsdWUgICAgICAJIjEuYWR+IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU3BlY0ZpbGVUZW1wb3JhcnlFeHRlbnNpb24iDQorCQkJdmFsdWUgICAgICAJIjEuYWQjIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQm9keUZpbGVFeHRlbnNpb24iDQorCQkJdmFsdWUgICAgICAJIjIuYWRhIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQm9keUZpbGVCYWNrdXBFeHRlbnNpb24iDQorCQkJdmFsdWUgICAgICAJIjIuYWR+IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQm9keUZpbGVUZW1wb3JhcnlFeHRlbnNpb24iDQorCQkJdmFsdWUgICAgICAJIjIuYWQjIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQ3JlYXRlTWlzc2luZ0RpcmVjdG9yaWVzIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlVzZUNvbG9uTm90YXRpb24iDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVCb2RpZXMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVBY2Nlc3Nvck9wZXJhdGlvbnMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVTdGFuZGFyZE9wZXJhdGlvbnMiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiRGVmYXVsdENvZGVCb2R5Ig0KKwkJCXZhbHVlICAgICAgCSJbc3RhdGVtZW50XSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkltcGxpY2l0UGFyYW1ldGVyIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvbW1lbnRXaWR0aCINCisJCQl2YWx1ZSAgICAgIAk2MCkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU3RvcE9uRXJyb3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkVycm9yTGltaXQiDQorCQkJdmFsdWUgICAgICAJMzApDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlVzZUZpbGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJEaXJlY3RvcnkiDQorCQkJdmFsdWUgICAgICAJIiRST1NFQURBOTVfU09VUkNFIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19DbGFzcyINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlR5cGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSJPYmplY3QiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJUeXBlVmlzaWJpbGl0eSINCisJCQl2YWx1ZSAgICAgIAkoIlR5cGVWaXNpYmlsaXR5U2V0IiA0MykpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlR5cGVJbXBsZW1lbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkoIlR5cGVJbXBsZW1lbnRhdGlvblNldCIgMjA4KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSW5jb21wbGV0ZVR5cGUiDQorCQkJdmFsdWUgICAgICAJKCJJbmNvbXBsZXRlVHlwZVNldCIgMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlR5cGVDb250cm9sIg0KKwkJCXZhbHVlICAgICAgCSgiVHlwZUNvbnRyb2xTZXQiIDIyNSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlR5cGVDb250cm9sTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiQ29udHJvbGxlZF8ke3R5cGV9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiVHlwZUNvbnRyb2xWaXNpYmlsaXR5Ig0KKwkJCXZhbHVlICAgICAgCSgiVHlwZVZpc2liaWxpdHlTZXQiIDQzKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiVHlwZURlZmluaXRpb24iDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRJbXBsZW1lbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkoIlJlY29yZEltcGxlbWVudGF0aW9uU2V0IiAyMDkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRLaW5kUGFja2FnZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiR7Y2xhc3N9X1JlY29yZF9LaW5kcyIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklzTGltaXRlZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSXNTdWJ0eXBlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUFjY2Vzc1R5cGUiDQorCQkJdmFsdWUgICAgICAJKCJHZW5lcmF0ZUFjY2Vzc1R5cGVTZXQiIDIzMCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkFjY2Vzc1R5cGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSJIYW5kbGUiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJBY2Nlc3NUeXBlVmlzaWJpbGl0eSINCisJCQl2YWx1ZSAgICAgIAkoIlR5cGVWaXNpYmlsaXR5U2V0IiA0NSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkFjY2Vzc1R5cGVEZWZpbml0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQWNjZXNzQ2xhc3NXaWRlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIk1heWJlQWxpYXNlZCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUGFyYW1ldGVyaXplZEltcGxlbWVudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSgiUGFyYW1ldGVyaXplZEltcGxlbWVudGF0aW9uU2V0IiAxMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlBhcmVudENsYXNzTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiU3VwZXJjbGFzcyIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkVudW1lcmF0aW9uTGl0ZXJhbFByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiQV8iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRGaWVsZFByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiVGhlXyIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkFycmF5T2ZUeXBlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiQXJyYXlfT2ZfJHt0eXBlfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkFjY2Vzc0FycmF5T2ZUeXBlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiQWNjZXNzX0FycmF5X09mXyR7dHlwZX0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJBcnJheU9mQWNjZXNzVHlwZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIkFycmF5X09mXyR7YWNjZXNzX3R5cGV9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQWNjZXNzQXJyYXlPZkFjY2Vzc1R5cGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSJBY2Nlc3NfQXJyYXlfT2ZfJHthY2Nlc3NfdHlwZX0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJBcnJheUluZGV4RGVmaW5pdGlvbiINCisJCQl2YWx1ZSAgICAgIAkiUG9zaXRpdmUgcmFuZ2UgPD4iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUFjY2Vzc29yT3BlcmF0aW9ucyINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZVN0YW5kYXJkT3BlcmF0aW9ucyINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbXBsaWNpdFBhcmFtZXRlciINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbXBsaWNpdFBhcmFtZXRlck5hbWUiDQorCQkJdmFsdWUgICAgICAJIlRoaXMiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZURlZmF1bHRDb25zdHJ1Y3RvciINCisJCQl2YWx1ZSAgICAgIAkoIlN1YnByb2dyYW1LaW5kU2V0IiAxOTkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJEZWZhdWx0Q29uc3RydWN0b3JOYW1lIg0KKwkJCXZhbHVlICAgICAgCSJDcmVhdGUiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVEZWZhdWx0Q29uc3RydWN0b3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQ29weUNvbnN0cnVjdG9yIg0KKwkJCXZhbHVlICAgICAgCSgiU3VicHJvZ3JhbUtpbmRTZXQiIDE5OSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvcHlDb25zdHJ1Y3Rvck5hbWUiDQorCQkJdmFsdWUgICAgICAJIkNvcHkiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVDb3B5Q29uc3RydWN0b3IiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlRGVzdHJ1Y3RvciINCisJCQl2YWx1ZSAgICAgIAkoIlByb2NlZHVyZUtpbmRTZXQiIDIwMikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkRlc3RydWN0b3JOYW1lIg0KKwkJCXZhbHVlICAgICAgCSJGcmVlIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSW5saW5lRGVzdHJ1Y3RvciINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVUeXBlRXF1YWxpdHkiDQorCQkJdmFsdWUgICAgICAJKCJGdW5jdGlvbktpbmRTZXQiIDIwMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlR5cGVFcXVhbGl0eU5hbWUiDQorCQkJdmFsdWUgICAgICAJDQorfCI9Ig0KKwkJCSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSW5saW5lRXF1YWxpdHkiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlJlcHJlc2VudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiVHlwZUltcGxlbWVudGF0aW9uU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiVGFnZ2VkIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDgpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIlJlY29yZCINCisJCQkJdmFsdWUgICAgICAJMjEwKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJNaXhpbiINCisJCQkJdmFsdWUgICAgICAJMjExKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJQcm90ZWN0ZWQiDQorCQkJCXZhbHVlICAgICAgCTQ0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJUYXNrIg0KKwkJCQl2YWx1ZSAgICAgIAkyMTIpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSW5jb21wbGV0ZVR5cGVTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdERlY2xhcmUiDQorCQkJCXZhbHVlICAgICAgCTEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIk5vRGlzY3JpbWluYW50UGFydCINCisJCQkJdmFsdWUgICAgICAJMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiVW5rbm93bkRpc2NyaW1pbmFudFBhcnQiDQorCQkJCXZhbHVlICAgICAgCTMpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIktub3duRGlzY3JpbWluYW50UGFydCINCisJCQkJdmFsdWUgICAgICAJNCkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRJbXBsZW1lbnRhdGlvblNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIlNpbmdsZVR5cGUiDQorCQkJCXZhbHVlICAgICAgCTIwOSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiTXVsdGlwbGVUeXBlcyINCisJCQkJdmFsdWUgICAgICAJMjEzKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlBhcmFtZXRlcml6ZWRJbXBsZW1lbnRhdGlvblNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkdlbmVyaWMiDQorCQkJCXZhbHVlICAgICAgCTExKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJVbmNvbnN0cmFpbmVkIg0KKwkJCQl2YWx1ZSAgICAgIAkyMTQpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiVHlwZVZpc2liaWxpdHlTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJQdWJsaWMiDQorCQkJCXZhbHVlICAgICAgCTQ1KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJQcml2YXRlIg0KKwkJCQl2YWx1ZSAgICAgIAk0MykpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJTdWJwcm9ncmFtS2luZFNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZSINCisJCQkJdmFsdWUgICAgICAJMjAyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJGdW5jdGlvbiINCisJCQkJdmFsdWUgICAgICAJMTk5KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZUtpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJQcm9jZWR1cmUiDQorCQkJCXZhbHVlICAgICAgCTIwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJGdW5jdGlvbktpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJGdW5jdGlvbiINCisJCQkJdmFsdWUgICAgICAJMTk5KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlR5cGVDb250cm9sU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiTm9uZSINCisJCQkJdmFsdWUgICAgICAJMjI1KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJJbml0aWFsaXphdGlvbk9ubHkiDQorCQkJCXZhbHVlICAgICAgCTIyNikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiQXNzaWdubWVudEZpbmFsaXphdGlvbk9ubHkiDQorCQkJCXZhbHVlICAgICAgCTIyNykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiQWxsIg0KKwkJCQl2YWx1ZSAgICAgIAkyMjgpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVBY2Nlc3NUeXBlU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiQWx3YXlzIg0KKwkJCQl2YWx1ZSAgICAgIAkyMjkpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkF1dG8iDQorCQkJCXZhbHVlICAgICAgCTIzMCkpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX01vZHVsZS1TcGVjIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZSINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb3B5cmlnaHROb3RpY2UiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJGaWxlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUmV0dXJuVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJpY0Zvcm1hbFBhcmFtZXRlcnMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJBZGRpdGlvbmFsV2l0aHMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJc1ByaXZhdGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fTW9kdWxlLUJvZHkiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvcHlyaWdodE5vdGljZSINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkZpbGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZXR1cm5UeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJBZGRpdGlvbmFsV2l0aHMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJc1N1YnVuaXQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fT3BlcmF0aW9uIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb2RlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU3VicHJvZ3JhbUltcGxlbWVudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSgiU3VicHJvZ3JhbUltcGxlbWVudGF0aW9uU2V0IiAyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUmVuYW1lcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVPdmVycmlkaW5nIg0KKwkJCXZhbHVlICAgICAgCVRSVUUpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkltcGxpY2l0UGFyYW1ldGVyTW9kZSINCisJCQl2YWx1ZSAgICAgIAkoIlBhcmFtZXRlck1vZGVTZXQiIDIwMykpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkltcGxpY2l0UGFyYW1ldGVyQ2xhc3NXaWRlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUFjY2Vzc09wZXJhdGlvbiINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSW5saW5lIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJFbnRyeUNvZGUiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJFeGl0Q29kZSINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxDb2RlQm9keSINCisJCQl2YWx1ZSAgICAgIAkiJHtkZWZhdWx0fSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkVudHJ5QmFycmllckNvbmRpdGlvbiINCisJCQl2YWx1ZSAgICAgIAkiVHJ1ZSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlJlcHJlc2VudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU3VicHJvZ3JhbUltcGxlbWVudGF0aW9uU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiU3BlYyINCisJCQkJdmFsdWUgICAgICAJMjI0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJCb2R5Ig0KKwkJCQl2YWx1ZSAgICAgIAkyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJBYnN0cmFjdCINCisJCQkJdmFsdWUgICAgICAJMjIxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJSZW5hbWluZyINCisJCQkJdmFsdWUgICAgICAJMjIyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJSZW5hbWluZ0FzQm9keSINCisJCQkJdmFsdWUgICAgICAJMjMxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJTZXBhcmF0ZSINCisJCQkJdmFsdWUgICAgICAJMjIzKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlBhcmFtZXRlck1vZGVTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEZWZhdWx0Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMzIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkluIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDQpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIk91dCINCisJCQkJdmFsdWUgICAgICAJMjA1KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJJbk91dCINCisJCQkJdmFsdWUgICAgICAJMjAzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJBY2Nlc3MiDQorCQkJCXZhbHVlICAgICAgCTIyMCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX1BhcmFtIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJNb2RlIg0KKwkJCXZhbHVlICAgICAgCSgiUGFyYW1ldGVyTW9kZVNldCIgMjMyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUGFyYW1ldGVyTW9kZVNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkRlZmF1bHQiDQorCQkJCXZhbHVlICAgICAgCTIzMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiSW4iDQorCQkJCXZhbHVlICAgICAgCTIwNCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiT3V0Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMDUpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkluT3V0Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMDMpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkFjY2VzcyINCisJCQkJdmFsdWUgICAgICAJMjIwKSkpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fSGFzIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb2RlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiTmFtZUlmVW5sYWJlbGVkIg0KKwkJCXZhbHVlICAgICAgCSJUaGVfJHtzdXBwbGllcn0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRGaWVsZEltcGxlbWVudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSgiUmVjb3JkRmllbGRJbXBsZW1lbnRhdGlvblNldCIgMjE2KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQWNjZXNzRGlzY3JpbWluYW50Q2xhc3NXaWRlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRGaWVsZE5hbWUiDQorCQkJdmFsdWUgICAgICAJIiR7cmVsYXRpb25zaGlwfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlR2V0Ig0KKwkJCXZhbHVlICAgICAgCSgiRnVuY3Rpb25LaW5kU2V0IiAxOTkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUFjY2Vzc0dldCINCisJCQl2YWx1ZSAgICAgIAkoIkZ1bmN0aW9uS2luZFNldCIgMjAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2V0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiR2V0XyR7cmVsYXRpb25zaGlwfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklubGluZUdldCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZVNldCINCisJCQl2YWx1ZSAgICAgIAkoIlByb2NlZHVyZUtpbmRTZXQiIDIwMikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQWNjZXNzU2V0Ig0KKwkJCXZhbHVlICAgICAgCSgiUHJvY2VkdXJlS2luZFNldCIgMjAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU2V0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiU2V0XyR7cmVsYXRpb25zaGlwfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklubGluZVNldCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJc0FsaWFzZWQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklzQ29uc3RhbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiRGVjbGFyZSINCisJCQl2YWx1ZSAgICAgIAkoIkRlY2xhcmVTZXQiIDIzNCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckltcGxlbWVudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSgiQ29udGFpbmVySW1wbGVtZW50YXRpb25TZXQiIDIxNykpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckdlbmVyaWMiDQorCQkJdmFsdWUgICAgICAJIkxpc3QiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJEZWNsYXJhdGlvbnMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJTZWxlY3Rvck5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlNlbGVjdG9yVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiRGVjbGFyZVNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkJlZm9yZSINCisJCQkJdmFsdWUgICAgICAJMjMzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJBZnRlciINCisJCQkJdmFsdWUgICAgICAJMjM0KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlJlY29yZEZpZWxkSW1wbGVtZW50YXRpb25TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJDb21wb25lbnQiDQorCQkJCXZhbHVlICAgICAgCTIxNikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiRGlzY3JpbWluYW50Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMTgpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkFjY2Vzc0Rpc2NyaW1pbmFudCINCisJCQkJdmFsdWUgICAgICAJMjE5KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckltcGxlbWVudGF0aW9uU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiQXJyYXkiDQorCQkJCXZhbHVlICAgICAgCTIxNykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiR2VuZXJpYyINCisJCQkJdmFsdWUgICAgICAJMTEpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUHJvY2VkdXJlS2luZFNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZSINCisJCQkJdmFsdWUgICAgICAJMjAyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkZ1bmN0aW9uS2luZFNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkZ1bmN0aW9uIg0KKwkJCQl2YWx1ZSAgICAgIAkxOTkpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkRvTm90Q3JlYXRlIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDEpKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19BdHRyaWJ1dGUiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvZGVOYW1lIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRGaWVsZEltcGxlbWVudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSgiUmVjb3JkRmllbGRJbXBsZW1lbnRhdGlvblNldCIgMjE2KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQWNjZXNzRGlzY3JpbWluYW50Q2xhc3NXaWRlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRGaWVsZE5hbWUiDQorCQkJdmFsdWUgICAgICAJIiR7YXR0cmlidXRlfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlR2V0Ig0KKwkJCXZhbHVlICAgICAgCSgiRnVuY3Rpb25LaW5kU2V0IiAxOTkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUFjY2Vzc0dldCINCisJCQl2YWx1ZSAgICAgIAkoIkZ1bmN0aW9uS2luZFNldCIgMjAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2V0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiR2V0XyR7YXR0cmlidXRlfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklubGluZUdldCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZVNldCINCisJCQl2YWx1ZSAgICAgIAkoIlByb2NlZHVyZUtpbmRTZXQiIDIwMikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQWNjZXNzU2V0Ig0KKwkJCXZhbHVlICAgICAgCSgiUHJvY2VkdXJlS2luZFNldCIgMjAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiU2V0TmFtZSINCisJCQl2YWx1ZSAgICAgIAkiU2V0XyR7YXR0cmlidXRlfSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklubGluZVNldCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJc0FsaWFzZWQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklzQ29uc3RhbnQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkluaXRpYWxWYWx1ZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiRGVjbGFyZSINCisJCQl2YWx1ZSAgICAgIAkoIkRlY2xhcmVTZXQiIDIzNCkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlJlcHJlc2VudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSh2YWx1ZSBUZXh0ICIiKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiRGVjbGFyZVNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkJlZm9yZSINCisJCQkJdmFsdWUgICAgICAJMjMzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJBZnRlciINCisJCQkJdmFsdWUgICAgICAJMjM0KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlJlY29yZEZpZWxkSW1wbGVtZW50YXRpb25TZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJDb21wb25lbnQiDQorCQkJCXZhbHVlICAgICAgCTIxNikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiRGlzY3JpbWluYW50Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMTgpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkFjY2Vzc0Rpc2NyaW1pbmFudCINCisJCQkJdmFsdWUgICAgICAJMjE5KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZUtpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJQcm9jZWR1cmUiDQorCQkJCXZhbHVlICAgICAgCTIwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJGdW5jdGlvbktpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJGdW5jdGlvbiINCisJCQkJdmFsdWUgICAgICAJMTk5KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQXNzb2NpYXRpb24iDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIk5hbWVJZlVubGFiZWxlZCINCisJCQl2YWx1ZSAgICAgIAkiVGhlXyR7dGFyZ2V0Q2xhc3N9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVHZXQiDQorCQkJdmFsdWUgICAgICAJKCJGdW5jdGlvbktpbmRTZXQiIDE5OSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdldE5hbWUiDQorCQkJdmFsdWUgICAgICAJIkdldF8ke2Fzc29jaWF0aW9ufSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklubGluZUdldCINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVTZXQiDQorCQkJdmFsdWUgICAgICAJKCJQcm9jZWR1cmVLaW5kU2V0IiAyMDIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJTZXROYW1lIg0KKwkJCXZhbHVlICAgICAgCSJTZXRfJHthc3NvY2lhdGlvbn0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVTZXQiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdlbmVyYXRlQXNzb2NpYXRlIg0KKwkJCXZhbHVlICAgICAgCSgiUHJvY2VkdXJlS2luZFNldCIgMjAyKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQXNzb2NpYXRlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiQXNzb2NpYXRlIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSW5saW5lQXNzb2NpYXRlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZURpc3NvY2lhdGUiDQorCQkJdmFsdWUgICAgICAJKCJQcm9jZWR1cmVLaW5kU2V0IiAyMDIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJEaXNzb2NpYXRlTmFtZSINCisJCQl2YWx1ZSAgICAgIAkiRGlzc29jaWF0ZSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIklubGluZURpc3NvY2lhdGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZUtpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJQcm9jZWR1cmUiDQorCQkJCXZhbHVlICAgICAgCTIwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiRG9Ob3RDcmVhdGUiDQorCQkJCXZhbHVlICAgICAgCTIwMSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJGdW5jdGlvbktpbmRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJGdW5jdGlvbiINCisJCQkJdmFsdWUgICAgICAJMTk5KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fUm9sZSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiQ29kZU5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIk5hbWVJZlVubGFiZWxlZCINCisJCQl2YWx1ZSAgICAgIAkiVGhlXyR7dGFyZ2V0Q2xhc3N9IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUmVjb3JkRmllbGRJbXBsZW1lbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkoIlJlY29yZEZpZWxkSW1wbGVtZW50YXRpb25TZXQiIDIxNikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkFjY2Vzc0Rpc2NyaW1pbmFudENsYXNzV2lkZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUmVjb3JkRmllbGROYW1lIg0KKwkJCXZhbHVlICAgICAgCSIke3RhcmdldH0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUdldCINCisJCQl2YWx1ZSAgICAgIAkoIkZ1bmN0aW9uS2luZFNldCIgMTk5KSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVBY2Nlc3NHZXQiDQorCQkJdmFsdWUgICAgICAJKCJGdW5jdGlvbktpbmRTZXQiIDIwMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkdldE5hbWUiDQorCQkJdmFsdWUgICAgICAJIkdldF8ke3RhcmdldH0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVHZXQiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiR2VuZXJhdGVTZXQiDQorCQkJdmFsdWUgICAgICAJKCJQcm9jZWR1cmVLaW5kU2V0IiAyMDIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJHZW5lcmF0ZUFjY2Vzc1NldCINCisJCQl2YWx1ZSAgICAgIAkoIlByb2NlZHVyZUtpbmRTZXQiIDIwMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlNldE5hbWUiDQorCQkJdmFsdWUgICAgICAJIlNldF8ke3RhcmdldH0iKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbmxpbmVTZXQiDQorCQkJdmFsdWUgICAgICAJVFJVRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiSXNBbGlhc2VkIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJc0NvbnN0YW50Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJJbml0aWFsVmFsdWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkRlY2xhcmUiDQorCQkJdmFsdWUgICAgICAJKCJEZWNsYXJlU2V0IiAyMzQpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZXByZXNlbnRhdGlvbiINCisJCQl2YWx1ZSAgICAgIAkodmFsdWUgVGV4dCAiIikpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckltcGxlbWVudGF0aW9uIg0KKwkJCXZhbHVlICAgICAgCSgiQ29udGFpbmVySW1wbGVtZW50YXRpb25TZXQiIDIxNykpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkNvbnRhaW5lckdlbmVyaWMiDQorCQkJdmFsdWUgICAgICAJIkxpc3QiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJUeXBlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJEZWNsYXJhdGlvbnMiDQorCQkJdmFsdWUgICAgICAJKHZhbHVlIFRleHQgIiIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJTZWxlY3Rvck5hbWUiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIlNlbGVjdG9yVHlwZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQluYW1lICAgICAgIAkiUHJvY2VkdXJlS2luZFNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIlByb2NlZHVyZSINCisJCQkJdmFsdWUgICAgICAJMjAyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJEb05vdENyZWF0ZSINCisJCQkJdmFsdWUgICAgICAJMjAxKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkRlY2xhcmVTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJCZWZvcmUiDQorCQkJCXZhbHVlICAgICAgCTIzMykNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiQWZ0ZXIiDQorCQkJCXZhbHVlICAgICAgCTIzNCkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJSZWNvcmRGaWVsZEltcGxlbWVudGF0aW9uU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCQluYW1lICAgICAgIAkiQ29tcG9uZW50Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMTYpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkRpc2NyaW1pbmFudCINCisJCQkJdmFsdWUgICAgICAJMjE4KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJCW5hbWUgICAgICAgCSJBY2Nlc3NEaXNjcmltaW5hbnQiDQorCQkJCXZhbHVlICAgICAgCTIxOSkpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkFkYTk1Ig0KKwkJCW5hbWUgICAgICAgCSJDb250YWluZXJJbXBsZW1lbnRhdGlvblNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkFycmF5Ig0KKwkJCQl2YWx1ZSAgICAgIAkyMTcpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkdlbmVyaWMiDQorCQkJCXZhbHVlICAgICAgCTExKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkZ1bmN0aW9uS2luZFNldCINCisJCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkZ1bmN0aW9uIg0KKwkJCQl2YWx1ZSAgICAgIAkxOTkpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCQkJbmFtZSAgICAgICAJIkRvTm90Q3JlYXRlIg0KKwkJCQl2YWx1ZSAgICAgIAkyMDEpKSkpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJBZGE5NSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19TdWJzeXN0ZW0iDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQkJbmFtZSAgICAgICAJIkRpcmVjdG9yeSINCisJCQl2YWx1ZSAgICAgIAkiQVVUTyBHRU5FUkFURSIpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiQWRhOTUiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19QYXJhbSINCisJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJDT1JCQSINCisJCQluYW1lICAgICAgIAkiRGlyZWN0aW9uIg0KKwkJCXZhbHVlICAgICAgCSgiUGFyYW1EaXJlY3Rpb25UeXBlU2V0IiAxMDIpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIkNPUkJBIg0KKwkJCW5hbWUgICAgICAgCSJQYXJhbURpcmVjdGlvblR5cGVTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJCW5hbWUgICAgICAgCSJpbiINCisJCQkJdmFsdWUgICAgICAJMTAyKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJCW5hbWUgICAgICAgCSJpbm91dCINCisJCQkJdmFsdWUgICAgICAJMTAzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiQ09SQkEiDQorCQkJCW5hbWUgICAgICAgCSJvdXQiDQorCQkJCXZhbHVlICAgICAgCTEwNCkpKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIkRlcGxveSINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQluYW1lICAgICAgIAkicHJvcGVydHlJZCINCisJCXZhbHVlICAgICAgCSIzNjAwMDAwMDIiKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX1Byb2plY3QiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiRERMU2NyaXB0RmlsZW5hbWUiDQorCQkJdmFsdWUgICAgICAJIkRETDEuU1FMIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJEcm9wQ2xhdXNlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIlByaW1hcnlLZXlDb2x1bW5OYW1lIg0KKwkJCXZhbHVlICAgICAgCSJfSUQiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIlByaW1hcnlLZXlDb2x1bW5UeXBlIg0KKwkJCXZhbHVlICAgICAgCSJOVU1CRVIoNSwwKSIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiU2NoZW1hTmFtZVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJTY2hlbWFOYW1lU3VmZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIlRhYmxlTmFtZVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJUYWJsZU5hbWVTdWZmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVHlwZU5hbWVQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVHlwZU5hbWVTdWZmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVmlld05hbWVQcmVmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVmlld05hbWVTdWZmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVmFycmF5TmFtZVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJWYXJyYXlOYW1lU3VmZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIk5lc3RlZFRhYmxlTmFtZVByZWZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJOZXN0ZWRUYWJsZU5hbWVTdWZmaXgiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiT2JqZWN0VGFibGVOYW1lUHJlZml4Ig0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIk9iamVjdFRhYmxlTmFtZVN1ZmZpeCINCisJCQl2YWx1ZSAgICAgIAkiIikpKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJbmFtZSAgICAgICAJImRlZmF1bHRfX01vZHVsZS1TcGVjIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIklzU2NoZW1hIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQ2xhc3MiDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiT0lEIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIldoZXJlQ2xhdXNlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIkNoZWNrQ29uc3RyYWludCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJDb2xsZWN0aW9uVHlwZUxlbmd0aCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJDb2xsZWN0aW9uVHlwZVByZWNpc2lvbiINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJDb2xsZWN0aW9uVHlwZVNjYWxlIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIkNvbGxlY3Rpb25PZlJFRlMiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19PcGVyYXRpb24iDQorCQl2YWx1ZSAgICAgIAkobGlzdCBBdHRyaWJ1dGVfU2V0DQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiTWV0aG9kS2luZCINCisJCQl2YWx1ZSAgICAgIAkoIk1ldGhvZEtpbmRTZXQiIDE5MDMpKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIk92ZXJsb2FkSUQiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiT3JkZXJOdW1iZXIiDQorCQkJdmFsdWUgICAgICAJIiIpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiSXNSZWFkTm9EYXRhU3RhdGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiSXNSZWFkTm9Qcm9jZXNzU3RhdGUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiSXNXcml0ZU5vRGF0YVN0YXRlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIklzV3JpdGVOb1Byb2Nlc3NTdGF0ZSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJJc1NlbGZpc2giDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVHJpZ2dlclR5cGUiDQorCQkJdmFsdWUgICAgICAJKCJUcmlnZ2VyVHlwZVNldCIgMTgwMSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVHJpZ2dlckV2ZW50Ig0KKwkJCXZhbHVlICAgICAgCSgiVHJpZ2dlckV2ZW50U2V0IiAxNjAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJUcmlnZ2VyVGV4dCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJUcmlnZ2VyUmVmZXJlbmNpbmdOYW1lcyINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJUcmlnZ2VyRm9yRWFjaCINCisJCQl2YWx1ZSAgICAgIAkoIlRyaWdnZXJGb3JFYWNoU2V0IiAxNzAxKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJUcmlnZ2VyV2hlbkNsYXVzZSINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJNZXRob2RLaW5kU2V0Ig0KKwkJCXZhbHVlICAgICAgCShsaXN0IEF0dHJpYnV0ZV9TZXQNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJCW5hbWUgICAgICAgCSJNYXBNZXRob2QiDQorCQkJCXZhbHVlICAgICAgCTE5MDEpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCQluYW1lICAgICAgIAkiT3JkZXJNZXRob2QiDQorCQkJCXZhbHVlICAgICAgCTE5MDIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCQluYW1lICAgICAgIAkiRnVuY3Rpb24iDQorCQkJCXZhbHVlICAgICAgCTE5MDMpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCQluYW1lICAgICAgIAkiUHJvY2VkdXJlIg0KKwkJCQl2YWx1ZSAgICAgIAkxOTA0KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIk9wZXJhdG9yIg0KKwkJCQl2YWx1ZSAgICAgIAkxOTA1KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIkNvbnN0cnVjdG9yIg0KKwkJCQl2YWx1ZSAgICAgIAkxOTA2KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIkRlc3RydWN0b3IiDQorCQkJCXZhbHVlICAgICAgCTE5MDcpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCQluYW1lICAgICAgIAkiVHJpZ2dlciINCisJCQkJdmFsdWUgICAgICAJMTkwOCkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJCW5hbWUgICAgICAgCSJDYWxjdWxhdGVkIg0KKwkJCQl2YWx1ZSAgICAgIAkxOTA5KSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVHJpZ2dlclR5cGVTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIkFGVEVSIg0KKwkJCQl2YWx1ZSAgICAgIAkxODAxKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIkJFRk9SRSINCisJCQkJdmFsdWUgICAgICAJMTgwMikNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJCW5hbWUgICAgICAgCSJJTlNURUFEIE9GIg0KKwkJCQl2YWx1ZSAgICAgIAkxODAzKSkpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiVHJpZ2dlckZvckVhY2hTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIlJPVyINCisJCQkJdmFsdWUgICAgICAJMTcwMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJCW5hbWUgICAgICAgCSJTVEFURU1FTlQiDQorCQkJCXZhbHVlICAgICAgCTE3MDIpKSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJUcmlnZ2VyRXZlbnRTZXQiDQorCQkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIklOU0VSVCINCisJCQkJdmFsdWUgICAgICAJMTYwMSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJCW5hbWUgICAgICAgCSJVUERBVEUiDQorCQkJCXZhbHVlICAgICAgCTE2MDIpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCQluYW1lICAgICAgIAkiREVMRVRFIg0KKwkJCQl2YWx1ZSAgICAgIAkxNjAzKQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIklOU0VSVCBPUiBVUERBVEUiDQorCQkJCXZhbHVlICAgICAgCTE2MDQpDQorCQkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCQluYW1lICAgICAgIAkiSU5TRVJUIE9SIERFTEVURSINCisJCQkJdmFsdWUgICAgICAJMTYwNSkNCisJCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJCW5hbWUgICAgICAgCSJVUERBVEUgT1IgREVMRVRFIg0KKwkJCQl2YWx1ZSAgICAgIAkxNjA2KQ0KKwkJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQkJbmFtZSAgICAgICAJIklOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRFIg0KKwkJCQl2YWx1ZSAgICAgIAkxNjA3KSkpKSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCW5hbWUgICAgICAgCSJkZWZhdWx0X19Sb2xlIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIk9yZGVyTnVtYmVyIg0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQluYW1lICAgICAgIAkiZGVmYXVsdF9fQXR0cmlidXRlIg0KKwkJdmFsdWUgICAgICAJKGxpc3QgQXR0cmlidXRlX1NldA0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIk9yZGVyTnVtYmVyIg0KKwkJCXZhbHVlICAgICAgCSIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIklzVW5pcXVlIg0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIk51bGxzQWxsb3dlZCINCisJCQl2YWx1ZSAgICAgIAlUUlVFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIkxlbmd0aCINCisJCQl2YWx1ZSAgICAgIAkiIikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJQcmVjaXNpb24iDQorCQkJdmFsdWUgICAgICAJIjIiKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIlNjYWxlIg0KKwkJCXZhbHVlICAgICAgCSI2IikNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJJc0luZGV4Ig0KKwkJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQkJbmFtZSAgICAgICAJIklzUHJpbWFyeUtleSINCisJCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJCXRvb2wgICAgICAgCSJPcmFjbGU4Ig0KKwkJCW5hbWUgICAgICAgCSJDb21wb3NpdGVVbmlxdWUiDQorCQkJdmFsdWUgICAgICAJRkFMU0UpDQorCQkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCQl0b29sICAgICAgIAkiT3JhY2xlOCINCisJCQluYW1lICAgICAgIAkiQ2hlY2tDb25zdHJhaW50Ig0KKwkJCXZhbHVlICAgICAgCSIiKSkpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIk9yYWNsZTgiDQorCQluYW1lICAgICAgIAkiSGlkZGVuVG9vbCINCisJCXZhbHVlICAgICAgCUZBTFNFKQ0KKwkgICAgKG9iamVjdCBBdHRyaWJ1dGUNCisJCXRvb2wgICAgICAgCSJDb21wb25lbnRUZXN0Ig0KKwkJbmFtZSAgICAgICAJIkhpZGRlblRvb2wiDQorCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiUm9zZSBNb2RlbCBJbnRlZ3JhdG9yIg0KKwkJbmFtZSAgICAgICAJIkhpZGRlblRvb2wiDQorCQl2YWx1ZSAgICAgIAlGQUxTRSkNCisJICAgIChvYmplY3QgQXR0cmlidXRlDQorCQl0b29sICAgICAgIAkiVG9wTGluayINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpDQorCSAgICAob2JqZWN0IEF0dHJpYnV0ZQ0KKwkJdG9vbCAgICAgICAJIlZlcnNpb24gQ29udHJvbCINCisJCW5hbWUgICAgICAgCSJIaWRkZW5Ub29sIg0KKwkJdmFsdWUgICAgICAJRkFMU0UpKQ0KKwlxdWlkICAgICAgIAkiMzlDOTI2MEMwMEQ5IikpDQpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL1dUUERldmVsb3BtZW50UHJhY3RpY2UuaHRtbCBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9XVFBEZXZlbG9wbWVudFByYWN0aWNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRjNzRhNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9XVFBEZXZlbG9wbWVudFByYWN0aWNlLmh0bWwKQEAgLTAsMCArMSwyNjMgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vdzNjLy9kdGQgaHRtbCA0LjAgdHJhbnNpdGlvbmFsLy9lbiI+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIgLz4KKzxtZXRhIG5hbWU9IkdFTkVSQVRPUiIgY29udGVudD0iSUJNIFNvZnR3YXJlIERldmVsb3BtZW50IFBsYXRmb3JtIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2RlZmF1bHRfc3R5bGUuY3NzIgorCXR5cGU9InRleHQvY3NzIiAvPgorPHRpdGxlPldUUCBEZXZlbG9wbWVudCBQcmFjdGljZXM8L3RpdGxlPgorPCEtLSBEYXZpZCBXaWxsaWFtcywgMTAvMjUvMDQgKGRhdmlkX3dpbGxpYW1zQHVzLmlibS5jb20pIC0tPgorPC9oZWFkPgorCis8Ym9keSBhbGluaz0iI2ZmMDAwMCIgYmdjb2xvcj0iI2ZmZmZmZiIgbGluaz0iIzAwMDBlZSIgdGV4dD0iIzAwMDAwMCIKKwl2bGluaz0iIzU1MWE4YiI+CisKKzx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iNSIgd2lkdGg9IjEwMCUiPgorCisJPHRib2R5PgorCQk8dHI+CisKKwkJCTx0ZCB3aWR0aD0iNjAlIj4KKwkJCTxwIGFsaWduPSJMRUZUIj48Rk9OVCBzaXplPSI2Ij48Qj48Rk9OVAorCQkJCWZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPldUUCBEZXZlbG9wbWVudAorCQkJUHJhY3RpY2VzPC9GT05UPjwvQj48L0ZPTlQ+PEZPTlQgc2l6ZT0iMSI+PEZPTlQKKwkJCQlmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Rk9OVCBjb2xvcj0iIzgwODBmZiI+PGJyIC8+CisJCQlXVFAgRGV2ZWxvcG1lbnQgUHJhY3RpY2VzPC9GT05UPjwvRk9OVD48L0ZPTlQ+PC9wPgorCQkJPC90ZD4KKworCisJCQk8dGQ+PC90ZD4KKworCQkJPHRkIHJvd3NwYW49IjIiIHdpZHRoPSIxOSUiPjxpbWcKKwkJCQlzcmM9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvaW1hZ2VzL0lkZWEuanBnIiBib3JkZXI9IjAiIGhlaWdodD0iODYiCisJCQkJd2lkdGg9IjEyMCIgYWx0PSIiIC8+PC90ZD4KKworCQk8L3RyPgorCisKKwk8L3Rib2R5PgorPC90YWJsZT4KKzxwPlRoaXMgZG9jdW1lbnQgaXMgdG8gZGVzY3JpYmUgc29tZSBndWlkZWxpbmVzLCBwcm9jZWR1cmVzLCBhbmQKKyZxdW90O2Jlc3QgcHJhY3RpY2VzJnF1b3Q7IGZvciBkb2luZyBXVFAgZGV2ZWxvcG1lbnQuIEluIHNvbWUgY2FzZXMgaXRzCitzaW1wbHkgY292ZXJzIGNvbnNpc3RlbmN5L3Byb2NlZHVyZSBpc3N1ZXMsIGJ1dCBhbHNvIHJlY29tbWVuZHMgYmVzdAorcHJhY3RpY2VzIHRvIGhlbHAgY29tbXVuaXR5IHJldmlldyBhbmQgaW52b2x2ZW1lbnQuIFdoaWxlIGFsbCBjb21wb25lbnQKK3RlYW1zIGNhbiBoYXZlIHRoZWlyIG93biBwcmFjdGljZXMsIGlmIGFueW9uZSBoYXMgc29tZSBnb29kIHRpcHMgb3IKK3JlY29tbWVuZGF0aW9ucywgcGxlYXNlIHBvc3QgdG8gd3RwLWRldiBmb3IgZGlzY3Vzc2lvbiBvciBzdWdnZXN0IHRoYXQKK3RoZXkgYmUgYWRkZWQgaGVyZS48L3A+Cis8aDI+Q29kZSBpbnRvIENWUzwvaDI+CisKKzxwPlRoZSBjb21wb25lbnQgZGV2ZWxvcGVycyBzaG91bGQgcHJvdmlkZSB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIHRvCithY2NvbXBhbnkgY29kZSBjaGVja2VkIGludG8gQ1ZTLiBTb21lIG9mIHRoaXMgaW5mb3JtYXRpb24gd2lsbCBiZWNvbWUKK3BhcnQgb2YgdGhlIGNvbXBvbmVudHMgJ2RldmVsb3BtZW50JyBkaXJlY3RvcnkgaW4gY3ZzLCBvciBvbiB0aGUKK2NvbXBvbmVudCdzIFdUUCB3ZWJzaXRlLCBhbmQgc2hvdWxkIGJlIGtlcHQgdXAgdG8gZGF0ZSBhcyBjaGFuZ2VzIHRha2UKK3BsYWNlIGFuZCBkZXZlbG9wbWVudCBwcm9ncmVzc2VzLiAoU2VlIDxBCisJaHJlZj0iI3dlYmFuZGRldmVsb3BtZW50cmVzb3VyY2VzIiB0YXJnZXQ9Il9zZWxmIj5XZWIgYW5kIGRldmVsb3BtZW50CityZXNvdXJjZXM8L0E+IGZvciBndWlkZWxpbmVzIG9uIHdoYXQgZ29lcyB3aGVyZSkuPC9wPgorCis8dWw+CisJPGxpPgorCTxwPkEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGNvbXBvbmVudC4gVGhpcyBtaWdodCBiZSBhbiBpbml0aWFsCisJZGVzaWduIGRvY3VtZW50LCBpZiBpdCBleGlzdHMsIGJ1dCB0aGUgYWN0dWFsIGRlc2lnbiBkb2N1bWVudCBjYW4gY29tZQorCWxhdGVyLiBUaGlzIGJyaWVmIGRlc2NyaXB0aW9uIHNob3VsZCBvdmVydmlldyB0aGUgZnVuY3Rpb24gcHJvdmlkZWQgYnkKKwl0aGUgY29tcG9uZW50LCBidXQgc2hvdWxkIGFsc28gbGlzdCBhdCBsZWFzdCBhIGZldyBBUEkncywgZXh0ZW5zaW9uCisJcG9pbnRzLCBvciBvdGhlciAmcXVvdDtzdGFydGluZyBwb2ludHMmcXVvdDsgZm9yIGFueW9uZSB3YW50aW5nIHRvIHVzZQorCW9yIGV4dGVuZCB0aGUgY29tcG9uZW50LiAoU2VlIDxBIGhyZWY9InNzZS9QbHVnaW5PdmVydmlldy5odG1sIj5QbHVnaW5PdmVydmlldy5odG1sPC9BPgorCWZvciBleGFtcGxlKS48L3A+CisJPC9saT4KKworCTxsaT4KKwk8cD5BIGJyaWVmIGluaXRpYWwgd29yayBwbGFuOiBkZXNjcmliaW5nIHdoYXQgZGV2ZWxvcG1lbnQgdGFza3MgYXJlCisJZXhwZWN0ZWQgZm9yIHRoZSBuZXh0IG1pbGVzdG9uZSBvciB0d28gKG9yIHNpbXBseSBpbiAmcXVvdDtmdXR1cmUmcXVvdDsKKwlpZiBub3QgeWV0IHBsYW5uZWQgZm9yIGEgc3BlY2lmaWMgbWlsZXN0b25lKS4gU3BlY2lmaWMgYnVncyBhbmQgZmVhdHVyZQorCXJlcXVlc3RzIGNhbiBiZSB0cmFja2VkIHdpdGggYnVnemlsbGEsIGJ1dCB0aGlzIHBsYW4gc2hvdWxkIGJlIGdpdmVuIGFzCisJYSBwcm9zZSAmcXVvdDtvdmVydmlldyZxdW90OyBvciBoaWdobGlnaHRzIG9mIHdvcmsgdGhhdCBpcyBwbGFubmVkCisJdG93YXJkcyByZWZhY3RvcmluZyBvciBtYWtpbmcgdGhlIGNvbXBvbmVudCAmcXVvdDtwbGF0Zm9ybQorCXF1YWxpdHkmcXVvdDsuIChTZWUgPEEgaHJlZj0ic3NlL1NTRURldmVsb3BtZW50UGxhbi5odG1sIj5TU0VEZXZlbG9wbWVudFBsYW4uaHRtbDwvQT4KKwlmb3IgZXhhbXBsZSkuIEluIHBhcnRpY3VsYXIsIGlmIHRoZXJlIGFyZSBhcmVhcyB0aGF0IGNhbiBiZSBleHBsaWNpdHkKKwl0YWdnZWQgd2l0aCAmcXVvdDtIRUxQIFdBTlRFRCZxdW90OywgdGhhdCB3b3VsZCBiZSBnb29kIHNpbmNlIGNhbiBoZWxwCisJbGV0IHBvdGVuaXRhbCBjb250cmlidXRvcnMga25vdyB3aGF0IGFyZWFzPC9wPgorCTwvbGk+CisKKwk8bGk+CisJPHA+RWFjaCBwbHVnaW4gYW5kIGJ1aWxkIGZlYXR1cmUgc2hvdWxkIGNvbnRhaW4gYSAnZGVzY3JpcHRpb24nIGluIHRoZQorCXBsdWdpbi54bWwgKG9yIGZlYXR1cmUueG1sKSBmaWxlICh0aGVyZSBpcyBhIGRlc2NyaXB0aW9uIHRhZyBmb3Igc3VjaAorCXB1cnBvc2UpLjwvcD4KKwk8L2xpPgorCisJPGxpPgorCTxwPkEgcGxhbiBmb3IgaG93IHRoZSBjb21wb25lbnQgd2lsbCBiZSBkb2N1bWVudGVkOiBib3RoIHRoZQorCSZxdW90O2RldmVsb3BlcnMgZ3VpZGUmcXVvdDsgdHlwZSBvZiBpbmZvcm1hdGlvbiAoc2VlIFBsYXRmb3JtIFBsdWdpbgorCURldmVsb3BlcnMgR3VpZGUgYW5kIEpEVCBQbHVnaW4gRGV2ZWxvcGVycyBHdWlkZSBpbiB0aGUgYmFzZSBFY2xpcHNlCisJZm9yIGV4YW1wbGVzKSBhbmQgYWxzbyB0aGUgc3RhdHVzIGFuZCBwbGFuIGZvciBkZXNpZ24gb3ZlcnZpZXdzIGFuZAorCSZxdW90O2phdmFkb2MmcXVvdDsgdHlwZSBvZiBpbmZvcm1hdGlvbi48L3A+CisJPC9saT4KKworCTxsaT4KKwk8cD5BbGwgY29weXJpZ2h0cyBhbmQgYXBwcm9wcmlhdGUgbGljZW5zZSBmaWxlcyBzaG91bGQgYmUgY29ycmVjdGx5CisJcHJvdmlkZWQuPC9wPgorCTwvbGk+CisJPExJPjxiPkNWUyBIeWdpZW5lPC9iPjwvTEk+CisJPHVsPgorCQk8bGk+CisJCTxwPjxCPlRlYW0gUHJvamVjdCBTZXQuPC9CPiBFYWNoIGNvbXBvbmVudCB0ZWFtIHNob3VsZCBoYXZlIGEKKwkJJnF1b3Q7dGVhbSBwcm9qZWN0IHNldCZxdW90OyBpbiB0aGVpciAnZGV2ZWxvcG1lbnQnIGRpcmVjdG9yeSB0byBtYWtlCisJCWl0IGVhc3kgZm9yIG90aGVycyB0byBjaGVjayBvdXQgd2hhdCBpcyBuZWVkZWQgZm9yIHRoYXQgcGFydGljdWxhcgorCQljb21wb25lbnQuPC9wPgorCQk8L2xpPgorCisJCTxsaT4KKwkJPHA+PEI+U291cmNlIEZvbGRlcnM8L0I+IEEgbWlub3IgY29uc2lzdGVuY3kgcG9pbnQ6IElmIHRoZXJlJ3Mgb25seQorCQlvbmUgJnF1b3Q7c291cmNlIGRpcmVjdG9yeSZxdW90OyBpdCBzaG91bGQgYmUgbmFtZWQgJ3NyYycuIElmIHRoZXJlJ3MKKwkJbW9yZSB0aGFuIG9uZSwgdGhlIGFkZGl0aW9uYWwgb25lcyBzaG91bGQgYmUgbmFtZWQgc2ltaWxhciB0bworCQlzcmMtd2l6YXJkcywgc28gaXRzIG9idmlvdXMgYm90aCB0aGF0J3MgaXRzIHNvdXJjZSwgYW5kIHdoYXQgaXRzCisJCWNvbmNlcHR1YWwgZGl2aXNpb24gaXMuIE11bHRpcGxlIGZvbGRlcnMgYXJlIG5vdCB0eXBpY2FsbHkgcmVxdWlyZWQsCisJCWJ1dCBjYW4gYmUgaGFuZHkgd2hlbiBvbmUgdGVhbSBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIG9uZSBwYXJ0LCBhbmQKKwkJYW5vdGhlciB0ZWFtIHJlc3BvbnNpYmlsaXR5IGZvciBhbm90aGVyIHBhcnQgb2YgdGhlIHBsdWdpbi48L3A+CisJCTwvbGk+CisKKwkJPExJPgorCQk8UD48Qj5Db21waWxlZCBjb2RlIGphci48L0I+IEl0cyByZWNvbW1lbmRlZCB0aGUgamFyIGZvciB0aGUgcGx1Z2luIGJlCisJCWluIHRoZSAicm9vdCIgb2YgdGhlIHBsdWdpbi4gSXRzIGFsc28gcmVjb21tZW5kZWQgYSBkaXJlY3Rvcnkgc3VjaCBhcworCQkicnVudGltZSIgYmUgcmVzZXJ2ZWQgZm9yIHRob3NlIGZldyBjYXNlcyB3aGVyZSBhIHByZS1leGlzdGluZyBiaW5hcnkKKwkJamFyIGlzIHNoaXBwZWQgd2l0aCBhIHBsdWdpbi48L1A+CisJCTwvTEk+CisKKwkJPGxpPgorCQk8cD48Qj5jdnNpZ25vcmU8L0I+IEEgLmN2c2lnbm9yZSBmaWxlIHNob3VsZCBiZSBwcm92aWRlZCB3aGljaCBoYXMgYXQKKwkJbGVhc3QgJ2JpbicgaW4gaXQgdG8gcHJldmVudCB0aGUgY2hlY2sgaW4gb2YgLmNsYXNzIGZpbGVzIC0tIHBsZWFzZSBkbworCQl0aGlzIGJlZm9yZSBiaW4gaXMgY29tbWl0dGVkIHRvIHRoZSByZXBvc2l0b3J5IChzaW5jZSB5b3UgY2FuIG5vdAorCQlpZ25vcmUgYWZ0ZXIgaXRzIHRoZXJlKS4gVHlwaWNhbGx5LCBvdGhlciAmcXVvdDt0cmFuc2llbnQgZmlsZXMmcXVvdDsKKwkJKHN1Y2ggYXMgYSBub24tY3VzdG9tIGJ1aWxkLnhtbCwgZXRjKSBhcmUgYWxzbyBhZGRlZCB0byB0aGlzCisJCS5jdnNpZ25vcmUgZmlsZS48L3A+CisJCTwvbGk+CisKKwkJPGxpPgorCQk8cD48Qj5Tb3VyY2UgRm9ybWF0dGluZzwvQj4gU291cmNlIHNob3VsZCBiZSBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvCisJCXNvbWUgc3RhdGVkIHN0YW5kYXJkIChlLmcuIHNlZSAvd3RwLWpzdC1ob21lL2RldmVsb3BtZW50L2Zvcm1hdCkgYW5kCisJCWFwcHJvcHJpYXRlIEVjbGlwc2UgY29tcGlsZXIgb3B0aW9ucyB1c2VkIChlLmcuIHNlZQorCQkvd3RwLWpzdC1ob21lL2RldmVsb3BtZW50L2NvbXBpbGVyc2V0dGluZ3MpIHRvIHByb2R1Y2UgJnF1b3Q7Y2xlYW4KKwkJY29kZSZxdW90OyAobm8gdW5uZWNlc3NhcnkgY2FzdHMsIG5vIHVudXNlZCBpbXBvcnRzLCBldGMuKSBJdHMgYWxzbworCQlyZWNvbW1lbmRlZCB0aGUgc291cmNlIG9yaWdpbmFsbHkgaGF2ZSAnc29ydGVkIG1lbWJlcnMnLiBUaGUgaW50ZW50CisJCWhlcmUgaXMgdG8gaGF2ZSBjbGVhbiwgY29uc2lzdGVudCBjb2RlIHRoYXQgbWFrZXMgaXQgZWFzaWVyIGZvciBvdGhlcnMKKwkJdG8gZG8gZGlmZnMsIGNvbXBhcmVzLCBhbmQgc3VwcGx5IHBhdGNoZXMuPC9wPgorCQk8L2xpPgorCQk8TEk+CisJCTxQPjxCPk9ic29sZXRlIGRpcmVjdG9yaWVzIGluIENWUy4gPC9CPiBJZiwgZHVlIHRvIHJlbmFtaW5nLAorCQlyZWZhY3RvcmluZywgb3IganVzdCBzcGVsbGluZyBtaXN0YWtlcywgYSBkaXJlY3RvcnkgaW4gQ1ZTIHNob3VsZAorCQlsaXRlcmFsbHkgYmUgZGVsZXRlZCwgdG8gYXZvaWQgYSBsYXJnZSBvZiBjb25mdXNpbmcgZGlyZWN0b3JpZXMsCisJCXBsZWFzZSB1c2UgZm9sbG93aW5nIHByb2NlZHVyZS4gRmlyc3QsIGlmIGl0IGNvbnRhaW5zIHNvdXJjZSwgaXRzCisJCXJlY29tbWVuZCB0byB2ZXJzaW9uIHRoYXQgcGx1Z2luJ3Mgc291cmNlLCB3aXRoIGEgbmFtZSBzdWNoIGFzCisJCSZxdW90O29ic29sZXRlJmx0O2RhdGUmZ3Q7JnF1b3Q7LiBOZXh0IGRlbGV0ZSB0aGUgc291cmNlLCBhbmQgbGVhdmUgaW4KKwkJaXRzIHBsYWNlIGEgc2luZ2xlIGZpbGUgbmFtZWQgJnF1b3Q7b2Jzb2xldGUudHh0JnF1b3Q7IC4gSWYKKwkJYXBwcm9wcmlhdGUsIHRoYXQgZmlsZSBjYW4gY29udGFpbiBpbmZvcm1hdGlvbiBhYm91dCB3aHkgb2Jzb2xldGUsCisJCXdoZXJlIHRoZSByZXBsYWNlbWVudCBpcywgZXRjLiBMYXN0bHksIHNvbWVvbmUgd2lsbCBvY2Nhc2lvbmFsbHkgZGVsZXRlIHRob3NlIGRpcmVjdG9yaWVzIGZyb20gQ1ZTIChub3QKKwkJdHlwaWNhbGx5IGFuIGRlc2lyYWJsZSB0aGluZyB0byBkbywgc2luY2UgaXQgaXMgYSBzb3VyY2UgY29kZSBjb250cm9sCisJCXN5c3RlbSEgTm90ZTogaWYgc29tZSBjb2RlIG9yIHByb2plY3Qgc2ltcGx5IGJlY29tZSBvbGQgb3Igb3V0ZGF0ZWQsIGl0IGlzIHVzdWFsbHkgbm90IGFwcHJvcHJpYXRlIHRvIGRlbGV0ZSBpdCBzaW5jZSBpdCBtaWdodCBiZSByZXF1aXJlZCBmb3Igc2ltcGxlIGhpc3RvcmljYWwgcmVhc29uLiBJbiB0aGVzZSBjYXNlcywgaXRzIHJlY29tbWVkIHRvIHZlcnNpb24gdGhlIGZpbmFsIHZlcnNpb24gd2l0aCBzb21lIGRlc2NyaXB0aXZlIG5hbWUgbGlrZSAmcXVvdDtvdXRkYXRlZCZsdDtkYXRlJmd0OyZxdW90OyBhbmQgbGVhdmUgYSBmaWxlIGluIHRoZSBkaXJlY3RvcnkgY2FsbGVkIHNvbWV0aGluZyBsaWtlICZxdW90O291dGRhdGVkLnR4dCZxdW90OyB3aXRoIHNvbWUgZGVzY3JpcHRpb24gb2Ygd2hlbiBhbmQgd2h5LCBpZiB0aGVyZSdzIGEgc2ltaWxhciBmdW5jdGlvbiBvZmZlcmVkIGVsc2V3aGVyZSwgZXRjLiA8L1A+CisJCTwvTEk+CisJPC91bD4KKzwvdWw+Cis8SDM+TW9kaWZpZWQgQ29kZSBpbnRvIENWUzwvSDM+Cis8UD5BcyBmZWF0dXJlcyBhcmUgYWRkZWQgdG8gYnVnemlsbGEgYW5kIGZpeGVzIGRvbmUgYW5kIHBhdGNoZXMgYXJlCithcHBsaWVkLCBlbnRlciB0aGUgPEI+Q1ZTIGNvbW1pdCBjb21tZW50PC9CPiBhczxCUj4KKzxDT0RFPltCVUdOT10gQnVnemlsbGEgYWJzdHJhY3Qgb3IgZXhwbGFuYXRpb24gKGVnOiBbNjc4OF0gRml4ZWQgTlBFIG9uCitvcGVuKSA8L0NPREU+PEJSPgorVGhpcyB3aWxsIGFsbG93IHVzIHRvIGdlbmVyYXRlIGEgJnF1b3Q7d2hhdCBpcyBmaXhlZCAmcXVvdDsgbGlzdAorYXV0b21hdGljYWxseSB3aXRoIGxpbmtzIHRvIGJ1Z3ppbGxhIHdpdGggZWFjaCBidWlsZC4gRm9yIGFuIGV4YW1wbGUgb2YKK291dHB1dCBpbiBhbm90aGVyIHByb2plY3QsIHNlZSA8QlI+Cis8QQorCWhyZWY9Imh0dHA6Ly9kb3dubG9hZC5lY2xpcHNlLm9yZy90b29scy9lbWYvc2NyaXB0cy9uZXdzLXJlbGVhc2Utbm90ZXMucGhwP3Zlcj0yLjEuMCNJMjAwNDExMTgwODAwIj5odHRwOi8vZG93bmxvYWQuZWNsaXBzZS5vcmcvdG9vbHMvZW1mL3NjcmlwdHMvbmV3cy1yZWxlYXNlLW5vdGVzLnBocD92ZXI9Mi4xLjAjSTIwMDQxMTE4MDgwMDwvQT48QlI+Cis8L1A+Cis8SDI+UGx1Z2luIERlc2lnbiBDb252ZW50aW9uczwvSDI+Cis8UD48Qj5Bdm9pZCB1c2luZyB0aGUgZXhwb3J0PSZxdW90O3RydWUmcXVvdDsgYXR0cmlidXRlIG9uIHByZS1yZXEKKyhpbXBvcnRlZCkgcGx1Z2luczwvQj4uCis8L1A+Cis8UD5JdHMgbmV2ZXIgYXBwcm9wcmlhdGUgdG8gdXNlIGl0IGp1c3Qgc28geW91ciB1cHN0cmVhbSBjbGllbnRzIHNhdmUKK3R5cGluZyBhIGxpbmUgaW4gdGhlaXIgcGx1Z2luLnhtbCBmaWxlLiBCdXQsIHNvbWV0aW1lcyBpdCBpcyBhcHByb3ByaWF0ZQordG8gdXNlIGl0IC0tIHdoZW4gdGhlIGNsYXNzZXMvaW50ZXJmYWNlcyBpbiBwcmUtcmVxIHBsdWdpbiByZWFsbHkgYXJlCitwYXJ0IG9mIHRoZSBwcmUtcmVxaW5nIHBsdWdpbnMgQVBJLiBJZiBpdCBmaXRzIHRoaXMgbGF0ZXIgY2FzZSwKK3RoYXQgaXMgaXQgaXMgcGFydCBvZiB0aGUgcGx1Z2luJ3MgQVBJLCBwbGVhc2UgZG9jdW1lbnQgd2hhdCBwYXJ0IG9mIHRoZSBBUEkgcmVxdWlyZXMgaXQuIEZvciBleGFtcGxlOiA8QlI+Cis8Q09ERT4gJmx0OyEtLSBuZWVkIHRvIHJlLWV4cG9ydCBvcmcuZWNsaXBzZS50ZXh0IHNpbmNlIG91ciBBUEkgZGVwZW5kcworb24gaXQsIDxCUj4KK3N1Y2ggYXMgSVN0cnVjdHVyZWREb2N1bWVudCBleHRlbmRzIElEb2N1bWVudCA8QlI+CistLSZndDsgPEJSPgorJmx0O2ltcG9ydCBwbHVnaW49JnF1b3Q7b3JnLmVjbGlwc2UudGV4dCZxdW90OworZXhwb3J0PSZxdW90O3RydWUmcXVvdDsvJmd0OyA8L0NPREU+PEJSPlRoZSByZWFzb24gZm9yIHRoaXMgY29udmVudGlvbiBpcyB0aGF0IGl0IGZvcmNlcyB1cHN0cmVhbSBjbGllbnRzIHRvIHN0YXkgYmV0dGVyIGF3YXJlIG9mIGV4YWN0bHkgd2hhdCB0aGV5IGFyZSBwcmUtcmVxaW5nIGluc3RlYWQgb2YgcGlja2luZyB1cCBzb21lIGNsYXNzZXMgc2ltcGx5IGFzIGEgc2lkZSBlZmZlY3Qgb2YgcHJlLXJlcWluZyB5b3VyIHBsdWdpbi4gIDwvUD4KKzxoMj48QSBuYW1lPSJ3ZWJhbmRkZXZlbG9wbWVudHJlc291cmNlcyI+V2ViIGFuZCBkZXZlbG9wbWVudCByZXNvdXJjZXM8L0E+PC9oMj4KKzxQPkJ5IGNvbnZlbnRpb24sIGEgZGlyZWN0b3J5IG5hbWVkICdkZXZlbG9wbWVudCcgc2hvdWxkIGJlIHVzZWQgaW4gdGhlCitjb21wb25lbnQncyBDVlMgZGlyZWN0b3J5IHN0cnVjdHVyZS4gVGhpcyBkaXJlY3Rvcnkgd291bGQgYmUgYSBwZWVyIHdpdGgKKydmZWF0dXJlcycgYW5kICdwbHVnaW5zJy4gVGhlc2UgZGlyZWN0b3JpZXMgc2hvdWxkIGhvbGQgdGhpbmdzIHRoYXQgbWF5CitiZSB1c2VmdWwgb3IgcmVsZXZhbnQgbm90IG9ubHkgdG8gdGhlIGRldmVsb3BlcnMgb2YgdGhlIGNvbXBvbmVudHMsIGJ1dAorb3RoZXJzIGludGVyZXN0ZWQgaW4gY29udHJpYnV0aW5nIChlLmcuIHByb2plY3QgdGVhbSBzZXRzLCBSb3NlIHNvdXJjZQorZmlsZXMgb2YgZGVzaWducywgZXRjKS4gVGhpbmdzIGluIHRoZXNlIGRpcmVjdG9yaWVzIGFyZSBub3QgaW50ZW5kZWQgdG8KK2JlIGluIGEgYnVpbGQuIElmIHRoZXkgYXJlIGludGVuZGVkIGZvciBhbiBTREsgYnVpbGQsIHRoZXkgd291bGQgYmUgcGFydAorb2YgdGhlIHBsdWdpbnMgZGlyZWN0b3J5IHN0cnVjdHVyZS48L1A+Cis8UD5bTm90ZTogdGhlcmUncyBzb21lIENWUyB3b3JrIHN0aWxsIG5lZWRlZCB0byBtYXAgdGhlIHdlYnNpdGUgdG8gYW4KK2FyZWEgaW4gQ1ZTLCBzbyB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCB3aWxsIGJlIGV4cGFuZGVkIGFmdGVyIHRoYXQgaXMKK2VzdGFibGlzaGVkXTwvUD4KKzxQPkZvciByZXNvdXJjZXMgdGhhdCBhcmUgdG8gYmUgcHVibGlzaGVkIG9yIGxpbmtlZCBvbiB0aGUgV1RQIHdlYiBzaXRlLAordGhlcmUgd2lsbCBiZSBhbiBhcmVhIGluIENWUyB0aGF0IHBhcmFsbGVscyB0aGUgd2Vic2l0ZSwgc28gcmVzb3VyY2VzCit0aGF0IGFyZSBwbGFjZWQgdGhlcmUgd2lsbCBiZSBwZXJpb2RpY2FsbHkgY29waWVkIHRvIHRoZSB3aG9zb2V2ZXIgZm9yCitwcm9wZXIgc2VydmluZy48L1A+Cis8SDI+U3RyZWFtcyBhbmQgQnVpbGRzPC9IMj4KKzxIMz5Db2RlIGludG8gYSBCdWlsZDwvSDM+Cis8VUw+CisJPExJPkNvZGUgY2FuIGdvIGludG8gYSBidWlsZCBiZWZvcmUgaXRzIHBhcnQgb2YgYSBtaWxlc3RvbmUgcGxhbiwgc2luY2UKKwlmcmVxdWVudCBidWlsZHMgYXJlIGltcG9ydGFudCB0byBzdGF5IGludGVncmF0ZWQuPC9MST4KKwk8TEk+VGhlIGNvbXBvbmVudCB0ZWFtIG11c3QgYmUgYWJsZSB0byBkbyBhICZxdW90O2xvY2FsIGJ1aWxkJnF1b3Q7ICh0bworCXdvcmsgb3V0IG1ham9yIGtpbmtzIGluIGRlZmluaXRpb25zIGFuZCBwcmUtcmVxcykuPC9MST4KKworCTxMST5JbiBhZGRpdGlvbiB0byB0aGUgY29kZSBpdHNlbGYgYmVpbmcgaW4gYSBidWlsZCwgYXV0b21hdGVkIHVuaXQKKwl0ZXN0cyBzaG91bGQgYWxzbyBiZSBzdWJtaXR0ZWQgZm9yIHRoZSBidWlsZCBwcm9jZXNzLjwvTEk+Cis8L1VMPgorPEgzPk5pZ2h0bHksIFdlZWtseSwgTWlsZXN0b25lIEJ1aWxkczwvSDM+Cis8QkxPQ0tRVU9URT4KKzxQPk5pZ2h0bHkgYnVpbGRzIHdpbGwgYmUgYnVpbHQgZnJvbSB0aGUgaGVhZCBzdHJlYW0uIE9jY2FzaW9uYWwgY29tcGlsZQorZXJyb3JzIG9yIHVuaXQgdGVzdHMgZmFpbHVyZXMgd291bGQgbm90IGJlIGFibm9ybWFsLCBidXQgc2hvdWxkIGJlIGZpeGVkCitieSB0aGUgbmV4dCBuaWdodGx5IGJ1aWxkLjwvUD4KKzwvQkxPQ0tRVU9URT4KKzxCTE9DS1FVT1RFPgorPFA+V2Vla2x5IGludGVncmF0aW9uIGJ1aWxkcyB3aWxsIGJlIGJ1aWx0IGZyb20gZGV2ZWxvcGVyIHRhZ2dlZAordmVyc2lvbnMuIFRoZXJlIHNob3VsZCBuZXZlciBiZSBjb21waWxlIGVycm9ycyBvciB1bml0IHRlc3RzIGZhaWx1cmVzIGluCithbiBpbnRlZ3JhdGlvbiBidWlsZCwgYnV0IGlmIHRoYXQgaGFwcGVucyB0aGVuIDEpIGltbWVkaWF0ZSBmaXhlcyBhcmUKK3JlcXVpcmVkIGFuZCAyKSB0aGUgb2ZmZW5kZXIgbXVzdCB3ZWFyIGEgcmVkIGNsb3duIG5vc2UgZm9yIHRoZSBkYXkgOikuCitJbnRlZ3JhdGlvbiBidWlsZHMgYXJlIGV4cGVjdGVkIHRvIGJlIG9mIHN1ZmZpY2llbnQgcXVhbGl0eSB0aGV5IGNhbiBiZQordXNlZCBhcyB0aGUgdGFyZ2V0IGluIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgdGhvdWdoIHdpbGwgaGF2ZQorcmVjZWl2ZWQgbGl0dGxlIG9yIG5vIHRlc3RpbmcuPC9QPgorPC9CTE9DS1FVT1RFPgorPEJMT0NLUVVPVEU+Cis8UD5NaWxlc3RvbmUgYnVpbGRzIGFyZSBsaWtlIHdlZWtseSBpbnRlZ3JhdGlvbiBidWlsZHMgZXhjZXB0IHRoZXkgZ2V0CitzdWJzdGFudGlhbCB0ZXN0aW5nLiBUaGUgZXhwZWN0YXRpb24gaXMgdGhhdCBtaWxlc3RvbmUgYnVpbGRzIGJlIG9mCitzdWZmaWNpZW50IHF1YWxpdHkgdGhhdCB0aGV5IGNhbiBiZSB1c2VkIHRvIHNlbGYgaG9zdCBkZXZlbG9wbWVudC48L1A+Cis8L0JMT0NLUVVPVEU+Cis8SDM+U3RyZWFtcywgU3RyZWFtcywgYW5kIG1vcmUgU3RyZWFtczwvSDM+Cis8QkxPQ0tRVU9URT4KKzxQPk1vc3QgZGV2ZWxvcG1lbnQgc2hvdWxkIHRha2UgcGxhY2UgaW4gdGhlIEhFQUQgc3RyZWFtLiBIb3dldmVyLCBpZiBhCitjb21wb25lbnQga25vd3MgaXRzIG1ha2luZyBsYXJnZSBicmVha2luZyBjaGFuZ2VzIHRoYXQgd291bGQgY2F1c2UKK2NsaWVudHMgYSBsb3Qgb2YgY2h1cm4gKHN1Y2ggYXMgZGFpbHkgY2hhbmdlcywgdG8gYXZvaWQgYnJlYWtpbmcgbmlnaHRseQorYnVpbGQpLCB0aGV5IGNhbiBkbyB0aGUgbWFqb3IgY2hhbmdlcyBpbiBhIHRlbXBvcmFyeSBicmFuY2guIFRoZQorY29tcG9uZW50IHRlYW0gc2hvdWxkIGtlZXAgZXZlcnlvbmUgaW5mb3JtZWQgdGhhdCBtYWpvciBkZXZlbG9wbWVudCBpcworb2NjdXJyaW5nIGluIGEgYnJhbmNoLCBhbmQgbmF0dXJhbGx5LCB3ZWxsIGNvb3JkaW5hdGUgdGhlIG1lcmdlIGJhY2sKK2ludG8gdGhlIEhFQUQgc3RyZWFtLiBBIGdvb2QgZ3VpZGVsaW5lIGlzIHRoYXQgZGV2ZWxvcG1lbnQgb24gYSBicmFuY2gKK3Nob3VsZCBub3Qgb2NjdXIgZm9yIG1vcmUgdGhhbiAzIHdlZWtzIHdpdGhvdXQgYmVpbmcgbWVyZ2VkIGJhY2sgaW50bworSEVBRC48L1A+Cis8L0JMT0NLUVVPVEU+Cis8SDI+U2VsZiBBc3Nlc3NtZW50PC9IMj4KKworPHA+VGhlIGZvbGxvd2luZyBjcml0ZXJpYSBjYW4gYmUgdXNlZnVsIHRvIHNlbGYtbWVhc3VyZSB0aGUgc3VjY2VzcyBvZiBhCittaWxlc3RvbmUgb3IgcmVsZWFzZS4gQ29tcG9uZW50IGxlYWRzIHNob3VsZCBtb25pdG9yIHRoZWlyIHByb2dyZXNzIHdpdGgKK3RoZXNlIGV4cGVjdGF0aW9ucyBpbiBtaW5kLjwvcD4KKzx1bD4KKwk8bGk+TWFkZSB0aGUgZGF0ZTwvbGk+CisJPGxpPlByb21pc2VkIGZ1bmN0aW9uIGNvbXBsZXRlPC9saT4KKwk8bGk+VW5pdCB0ZXN0cyBhbmQgcGVyZm9ybWFuY2UgdGVzdHMgY29tcGxldGUgYW5kIHJ1bm5pbmcgYXMKKwkmcXVvdDtwYXNzZWQmcXVvdDs8L2xpPgorCTxsaT5UZXN0IHBsYW4gd2l0aCB1c2UgY2FzZXM8L2xpPgorCTxsaT5GdW5jdGlvbiBhdmFpbGFibGUgb25lIHdlZWsgYmVmb3JlIG1pbGVzdG9uZSBmb3IgdGVzdGluZzwvbGk+CisJPGxpPkRlc2lnbiBhbmQgQVBJcyByZXZpZXdlZCBhbmQgaXNzdWVzIGFuc3dlcmVkIGJlZm9yZSBtaWxlc3RvbmU8L2xpPgorCTxsaT5Db21tdW5pdHktdXNlcnMgYnV5LWluIGFuZC9vciBleGNpdGVtZW50PC9saT4KKwk8bGk+SW5jbHVkZWQgY29tbXVuaXR5IGNvbnRyaWJ1dGVkIGNvZGUuPC9saT4KKwk8bGk+QWxsICZxdW90O3ByaW9yaXR5IDEmcXVvdDsgZGVmZWN0cyByZXNvbHZlZCBhbmQgYWxsICZxdW90O3NldmVyaXR5CisJMSZxdW90OyBkZWZlY3RzIGFkZHJlc3NlZC48L2xpPgorPC91bD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL0NvbXBpbGVyU2V0dGluZ3MxLmdpZiBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL0NvbXBpbGVyU2V0dGluZ3MxLmdpZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWFjYjllCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL2NvbXBpbGVyc2V0dGluZ3MvQ29tcGlsZXJTZXR0aW5nczEuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL0NvbXBpbGVyU2V0dGluZ3MyLmdpZiBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL0NvbXBpbGVyU2V0dGluZ3MyLmdpZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDUzNjhlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL2NvbXBpbGVyc2V0dGluZ3MvQ29tcGlsZXJTZXR0aW5nczIuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL0NvbXBpbGVyU2V0dGluZ3MzLmdpZiBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL0NvbXBpbGVyU2V0dGluZ3MzLmdpZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDM3NTRiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL2NvbXBpbGVyc2V0dGluZ3MvQ29tcGlsZXJTZXR0aW5nczMuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL2Rlc2NyaXB0aW9uLnR4dCBiL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9jb21waWxlcnNldHRpbmdzL2Rlc2NyaXB0aW9uLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzRjYjE2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL2NvbXBpbGVyc2V0dGluZ3MvZGVzY3JpcHRpb24udHh0CkBAIC0wLDAgKzEsOCBAQAorMTEvMS8yMDA0CitUaGVzZSBpbWFnZXMgc2hvdyBjdXJyZW50LCBmYWlybHkgZ29vZCBzZXR0aW5ncyBmb3IgRWNsaXBzZSBjb21waWxlciAKK3ByZWZlcmVuY2VzIC0tIG5vdCB0b28gbWFueSBlcnJvcnMsIGJ1dCBtYW55IHdhcm5pbmdzIHRoYXQgc2hvdWxkIGJlIGNsZWFuZWQgdXAuIAorRmVlbCBmcmVlLCBob3dldmVyIHRvIHNldCBhY2NvcmRpbmcgdG8gd2hhdCBldmVyIHlvdSBhcmUgCit0cnlpbmcgdG8gYWNjb21wbGlzaCBhdCBhbnkgcGFydGljdWxhciB0aW1lLiAKKworQlRXLCBpbiBFY2xpcHNlIDMuMSBNMiB0aGUgY29tcGlsZXIgc2V0dGluZ3MgY2FuIGJlIHNhdmVkIGFzIHBhcnQgb2YgCithIHByb2plY3RzLiBJdHMgcmVjb21tZW5kZWQgdGhhdCBhIGdvb2Qgc2V0IGJlIHNhdmVkIHRoYXQgcHJvZHVjZXMgImNsZWFuIGNvZGUiLgpkaWZmIC0tZ2l0IGEvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL2Zvcm1hdC9kZXNjcmlwdGlvbi50eHQgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQRGV2ZWxvcG1lbnRQcmFjdGljZXMvZm9ybWF0L2Rlc2NyaXB0aW9uLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWM0YjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL2Zvcm1hdC9kZXNjcmlwdGlvbi50eHQKQEAgLTAsMCArMSw2IEBACisxMS8xLzIwMDQKK1RoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIGEgInN0YW5kYXJkIiBmb3JtYXQgcHJlZmVyZW5jZXMgCitmaWxlIHRvIGJlIGltcG9ydGVkIGludG8gRWNsaXBzZS4gCisKK0NvbXBvbmVudHMgbWF5IHVzZSB0aGlzIG9uZSwgb3IgcHJvdmlkZSB0aGVpciBvd24sIGFzIGxvbmcgYXMKK3RoZXkgZG9jdW1lbnQgaXQsIGFuZCBhcmUgaW50ZXJuYWxseSBjb25zaXN0ZW50LgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FyY2hpdmUvd29ya2luZy9kZXZlbG9wbWVudC9XVFBEZXZlbG9wbWVudFByYWN0aWNlcy9mb3JtYXQvdGVhbS1mb3JtYXQueG1sIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L1dUUERldmVsb3BtZW50UHJhY3RpY2VzL2Zvcm1hdC90ZWFtLWZvcm1hdC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg5YTNkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvV1RQRGV2ZWxvcG1lbnRQcmFjdGljZXMvZm9ybWF0L3RlYW0tZm9ybWF0LnhtbApAQCAtMCwwICsxLDE4NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxwcm9maWxlcyB2ZXJzaW9uPSI2Ij4KKzxwcm9maWxlIG5hbWU9IlNTRSBGb3JtYXR0aW5nIiB2ZXJzaW9uPSI2Ij4KKzxzZXR0aW5nIGlkPSJjb21tZW50X2NsZWFyX2JsYW5rX2xpbmVzIiB2YWx1ZT0iZmFsc2UiLz4KKzxzZXR0aW5nIGlkPSJjb21tZW50X2Zvcm1hdF9jb21tZW50cyIgdmFsdWU9InRydWUiLz4KKzxzZXR0aW5nIGlkPSJjb21tZW50X2Zvcm1hdF9oZWFkZXIiIHZhbHVlPSJmYWxzZSIvPgorPHNldHRpbmcgaWQ9ImNvbW1lbnRfZm9ybWF0X2h0bWwiIHZhbHVlPSJ0cnVlIi8+Cis8c2V0dGluZyBpZD0iY29tbWVudF9mb3JtYXRfc291cmNlX2NvZGUiIHZhbHVlPSJ0cnVlIi8+Cis8c2V0dGluZyBpZD0iY29tbWVudF9pbmRlbnRfcGFyYW1ldGVyX2Rlc2NyaXB0aW9uIiB2YWx1ZT0idHJ1ZSIvPgorPHNldHRpbmcgaWQ9ImNvbW1lbnRfaW5kZW50X3Jvb3RfdGFncyIgdmFsdWU9InRydWUiLz4KKzxzZXR0aW5nIGlkPSJjb21tZW50X2xpbmVfbGVuZ3RoIiB2YWx1ZT0iNzgiLz4KKzxzZXR0aW5nIGlkPSJjb21tZW50X25ld19saW5lX2Zvcl9wYXJhbWV0ZXIiIHZhbHVlPSJ0cnVlIi8+Cis8c2V0dGluZyBpZD0iY29tbWVudF9zZXBhcmF0ZV9yb290X3RhZ3MiIHZhbHVlPSJ0cnVlIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWduX3R5cGVfbWVtYmVyc19vbl9jb2x1bW5zIiB2YWx1ZT0iZmFsc2UiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iMTYiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fZXhwbGljaXRfY29uc3RydWN0b3JfY2FsbCIgdmFsdWU9IjE2Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYXJndW1lbnRzX2luX21ldGhvZF9pbnZvY2F0aW9uIiB2YWx1ZT0iMTYiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fcXVhbGlmaWVkX2FsbG9jYXRpb25fZXhwcmVzc2lvbiIgdmFsdWU9IjE2Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYmluYXJ5X2V4cHJlc3Npb24iIHZhbHVlPSIxNiIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2NvbXBhY3RfaWYiIHZhbHVlPSIzMiIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2NvbmRpdGlvbmFsX2V4cHJlc3Npb24iIHZhbHVlPSI0OCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2V4cHJlc3Npb25zX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iMTYiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9tdWx0aXBsZV9maWVsZHMiIHZhbHVlPSIxNiIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3BhcmFtZXRlcnNfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSIxNiIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3BhcmFtZXRlcnNfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMTYiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9zZWxlY3Rvcl9pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9IjE2Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3Jfc3VwZXJjbGFzc19pbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iNjQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9zdXBlcmludGVyZmFjZXNfaW5fdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9IjY0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfdGhyb3dzX2NsYXVzZV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9IjE2Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfdGhyb3dzX2NsYXVzZV9pbl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSIxNiIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19hZnRlcl9pbXBvcnRzIiB2YWx1ZT0iMSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19hZnRlcl9wYWNrYWdlIiB2YWx1ZT0iMSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfZmllbGQiIHZhbHVlPSIwIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJsYW5rX2xpbmVzX2JlZm9yZV9maXJzdF9jbGFzc19ib2R5X2RlY2xhcmF0aW9uIiB2YWx1ZT0iMCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfaW1wb3J0cyIgdmFsdWU9IjEiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYmxhbmtfbGluZXNfYmVmb3JlX21lbWJlcl90eXBlIiB2YWx1ZT0iMSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfbWV0aG9kIiB2YWx1ZT0iMSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfbmV3X2NodW5rIiB2YWx1ZT0iMSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5ibGFua19saW5lc19iZWZvcmVfcGFja2FnZSIgdmFsdWU9IjAiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYmxhbmtfbGluZXNfYmV0d2Vlbl90eXBlX2RlY2xhcmF0aW9ucyIgdmFsdWU9IjEiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Fub255bW91c190eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Jsb2NrIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Jsb2NrX2luX2Nhc2UiIHZhbHVlPSJlbmRfb2ZfbGluZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX3N3aXRjaCIgdmFsdWU9ImVuZF9vZl9saW5lIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuY29tcGFjdF9lbHNlX2lmIiB2YWx1ZT0idHJ1ZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5jb250aW51YXRpb25faW5kZW50YXRpb24iIHZhbHVlPSIzIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmNvbnRpbnVhdGlvbl9pbmRlbnRhdGlvbl9mb3JfYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSIzIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmZvcm1hdF9ndWFyZGlhbl9jbGF1c2Vfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYm9keV9kZWNsYXJhdGlvbnNfY29tcGFyZV90b190eXBlX2hlYWRlciIgdmFsdWU9InRydWUiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JyZWFrc19jb21wYXJlX3RvX2Nhc2VzIiB2YWx1ZT0idHJ1ZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfc3RhdGVtZW50c19jb21wYXJlX3RvX2Jsb2NrIiB2YWx1ZT0idHJ1ZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfc3RhdGVtZW50c19jb21wYXJlX3RvX2JvZHkiIHZhbHVlPSJ0cnVlIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zd2l0Y2hzdGF0ZW1lbnRzX2NvbXBhcmVfdG9fY2FzZXMiIHZhbHVlPSJ0cnVlIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zd2l0Y2hzdGF0ZW1lbnRzX2NvbXBhcmVfdG9fc3dpdGNoIiB2YWx1ZT0idHJ1ZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYWZ0ZXJfb3BlbmluZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jYXRjaF9pbl90cnlfc3RhdGVtZW50IiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9iZWZvcmVfY2xvc2luZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9lbHNlX2luX2lmX3N0YXRlbWVudCIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX2ZpbmFsbHlfaW5fdHJ5X3N0YXRlbWVudCIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX3doaWxlX2luX2RvX3N0YXRlbWVudCIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfaW5fZW1wdHlfYW5vbnltb3VzX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2luX2VtcHR5X2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV9tZXRob2RfYm9keSIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfaW5fZW1wdHlfdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfYXNzaWdubWVudF9vcGVyYXRvciIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfYmluYXJ5X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jbG9zaW5nX2JyYWNlX2luX2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jbG9zaW5nX3BhcmVuX2luX2Nhc3QiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2Fzc2VydCIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29sb25faW5fY2FzZSIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29sb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2xhYmVsZWRfc3RhdGVtZW50IiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl9wYXJhbWV0ZXJzIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl90aHJvd3MiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2V4cGxpY2l0Y29uc3RydWN0b3JjYWxsX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fZm9yX2luY3JlbWVudHMiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2Zvcl9pbml0cyIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fbWV0aG9kX2RlY2xhcmF0aW9uX3BhcmFtZXRlcnMiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl90aHJvd3MiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9pbnZvY2F0aW9uX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fbXVsdGlwbGVfZmllbGRfZGVjbGFyYXRpb25zIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tdWx0aXBsZV9sb2NhbF9kZWNsYXJhdGlvbnMiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX3N1cGVyaW50ZXJmYWNlcyIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfYnJhY2tldF9pbl9hcnJheV9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2JyYWNrZXRfaW5fYXJyYXlfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9jYXN0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9jYXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX2ZvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5faWYiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3BhcmVudGhlc2l6ZWRfZXhwcmVzc2lvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fc3dpdGNoIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9zeW5jaHJvbml6ZWQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3doaWxlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfcG9zdGZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3ByZWZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3F1ZXN0aW9uX2luX2NvbmRpdGlvbmFsIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9zZW1pY29sb25faW5fZm9yIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl91bmFyeV9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9hc3NpZ25tZW50X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfYmluYXJ5X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX2JyYWNrZXRfaW5fYXJyYXlfYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYnJhY2tldF9pbl9hcnJheV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9jYXN0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fY2F0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2ZvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2lmIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9wYXJlbnRoZXNpemVkX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9zd2l0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9zeW5jaHJvbml6ZWQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl93aGlsZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9hc3NlcnQiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9jYXNlIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9kZWZhdWx0IiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fbGFiZWxlZF9zdGF0ZW1lbnQiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fY29uc3RydWN0b3JfZGVjbGFyYXRpb25fcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl90aHJvd3MiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fZXhwbGljaXRjb25zdHJ1Y3RvcmNhbGxfYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2Zvcl9pbmNyZW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2Zvcl9pbml0cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfZGVjbGFyYXRpb25fcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfZGVjbGFyYXRpb25fdGhyb3dzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX21ldGhvZF9pbnZvY2F0aW9uX2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tdWx0aXBsZV9maWVsZF9kZWNsYXJhdGlvbnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fbXVsdGlwbGVfbG9jYWxfZGVjbGFyYXRpb25zIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX3N1cGVyaW50ZXJmYWNlcyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2Fub255bW91c190eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9zd2l0Y2giIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNrZXRfaW5fYXJyYXlfYWxsb2NhdGlvbl9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2tldF9pbl9hcnJheV9yZWZlcmVuY2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFja2V0X2luX2FycmF5X3R5cGVfcmVmZXJlbmNlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fY2F0Y2giIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fZm9yIiB2YWx1ZT0iaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9pZiIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9wYXJlbnRoZXNpemVkX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9zd2l0Y2giIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX3N5bmNocm9uaXplZCIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fd2hpbGUiIHZhbHVlPSJpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9wb3N0Zml4X29wZXJhdG9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3ByZWZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9xdWVzdGlvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3NlbWljb2xvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9zZW1pY29sb25faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3VuYXJ5X29wZXJhdG9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9icmFja2V0c19pbl9hcnJheV90eXBlX3JlZmVyZW5jZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfYnJhY2VzX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9icmFja2V0c19pbl9hcnJheV9hbGxvY2F0aW9uX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZXR3ZWVuX2VtcHR5X3BhcmVuc19pbl9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfcGFyZW5zX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfcGFyZW5zX2luX21ldGhvZF9pbnZvY2F0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2Vsc2Vfc3RhdGVtZW50X29uX3NhbWVfbGluZSIgdmFsdWU9ImZhbHNlIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLmtlZXBfZW1wdHlfYXJyYXlfaW5pdGlhbGl6ZXJfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2ltcGxlX2lmX29uX29uZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIua2VlcF90aGVuX3N0YXRlbWVudF9vbl9zYW1lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5saW5lU3BsaXQiIHZhbHVlPSI5OTkiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIubnVtYmVyX29mX2JsYW5rX2xpbmVzX2F0X2JlZ2lubmluZ19vZl9tZXRob2RfYm9keSIgdmFsdWU9IjAiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIubnVtYmVyX29mX2VtcHR5X2xpbmVzX3RvX3ByZXNlcnZlIiB2YWx1ZT0iMyIvPgorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmpkdC5jb3JlLmZvcm1hdHRlci5wdXRfZW1wdHlfc3RhdGVtZW50X29uX25ld19saW5lIiB2YWx1ZT0iZmFsc2UiLz4KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5qZHQuY29yZS5mb3JtYXR0ZXIudGFidWxhdGlvbi5jaGFyIiB2YWx1ZT0idGFiIi8+Cis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuamR0LmNvcmUuZm9ybWF0dGVyLnRhYnVsYXRpb24uc2l6ZSIgdmFsdWU9IjQiLz4KKzwvcHJvZmlsZT4KKzwvcHJvZmlsZXM+CmRpZmYgLS1naXQgYS9hcmNoaXZlL3dvcmtpbmcvZGV2ZWxvcG1lbnQvZGlyZWN0b3J5RGVzY3JpcHRpb24udHh0IGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L2RpcmVjdG9yeURlc2NyaXB0aW9uLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWMzNjcxCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaGl2ZS93b3JraW5nL2RldmVsb3BtZW50L2RpcmVjdG9yeURlc2NyaXB0aW9uLnR4dApAQCAtMCwwICsxLDE0IEBACitUaGlzIGRpcmVjdG9yeSwgd3RwLWhvbWUvZGV2ZWxvcG1lbnQsIGlzIHRvIAorY29udGFpbiAqd29ya2luZyogZmlsZXMgYW5kIGltYWdlcyAKK3JlbGF0ZWQgdG8gdGhlIGhpZ2ggbGV2ZWwgYXJjaGl0ZWN0dXJlIGFuZCAKK2Rlc2lnbiBub3RlcyBmb3IgV1RQLCBkZXZlbG9wbWVudCBwcmFjdGljZXMsIGV0Yy4gCisKK1RoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBhcmUgIndvcmtzIGluIHByb2dyZXNzIiAKK2FuZCBub3QgdG8gYmUgbGlua2VkIHRvIGZyb20gd2ViIHNpdGVzLiBPbmNlIHJlYWR5LCAKK2FwcHJvcHJpYXRlIGZpbGVzIHdpbGwgYmUgY29waWVkIHRvIHdlYi1zaXRlIHJlbGF0ZWQgYXJlYXMsCitpbiBDVlMsIHN1Y2ggYXMgd3RwLWhvbWUvd3d3LmVjbGlwc2Uub3JnL3dlYnRvb2xzCithbmQgZnJvbSB0aGVyZSBjb3BpZWQgdG8gKG9yIHB1Ymxpc2hlZCB0bykgd3RwLWhvbWUgb24gCit3ZWJzZXJ2ZXIuIAorCitUaGlzIGRldmVsb3BlbWVudCBkaXJlY3RvcnkgaXMgKm5vdCogdG8gYmUgY29waWVkLCBvcgorcHVibGlzaGVkIHRvIHdlYnNpdGUuIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK