@datagrok/peptides 1.13.2 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/209.js +2 -2
- package/dist/521.js +2 -2
- package/dist/677.js +2 -0
- package/dist/729.js +2 -2
- package/dist/959.js +2 -2
- package/dist/package-test.js +2 -2
- package/dist/package.js +2 -2
- package/package.json +1 -1
- package/src/model.ts +60 -33
- package/src/package-test.ts +5 -5
- package/src/tests/core.ts +11 -66
- package/src/tests/model.ts +3 -12
- package/src/tests/table-view.ts +15 -12
- package/src/tests/viewers.ts +4 -31
- package/src/tests/widgets.ts +10 -43
- package/src/utils/misc.ts +35 -1
- package/src/viewers/logo-summary.ts +25 -11
- package/src/viewers/sar-viewer.ts +52 -3
- package/src/widgets/distribution.ts +7 -8
- package/src/widgets/mutation-cliffs.ts +32 -13
- package/src/widgets/selection.ts +27 -5
- package/dist/535.js +0 -2
package/dist/959.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var peptides;(()=>{"use strict";var e,t,r={
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTU5LmpzIiwibWFwcGluZ3MiOiJvQ0FBSUEsRUNBQUMsRSwwRkNNRyxNQUFNQyxFQUErQixDQUN4QyxDQUFDLEtBQW1CQyxXQUFZLE1BRXZCQyxFQUErQixDQUN4QyxDQUFDLElBQW1CQyxhQUFjLElBQ2xDLENBQUMsSUFBbUJDLGFBQWMsS0FDbEMsQ0FBQyxJQUFtQkMsV0FvRWpCLFNBQTJCQyxFQUFJQyxHQUNsQyxHQUFJRCxFQUFHRSxTQUFXRCxFQUFHQyxPQUNqQixPQUFPLEVBRU4sQ0FDRCxJQUFJQyxFQUFPLEVBQ1gsSUFBSyxJQUFJQyxFQUFJLEVBQUdBLEVBQUlKLEVBQUdFLE9BQVFFLElBQzNCRCxHQUFRSCxFQUFHSSxJQUFNSCxFQUFHRyxHQUFLLEVBQUksRUFDakMsT0FBT0QsRUFBT0gsRUFBR0UsTUFDckIsQ0FDSixHQTVFYUcsRUFBaUMsQ0FDMUMsQ0FBQyxLQUFxQkMsVUFBVyxLQUNqQyxDQUFDLEtBQXFCQyxNQUFPLEtBQzdCLENBQUMsS0FBcUJDLFlBQWEsS0FDbkMsQ0FBQyxLQUFxQkMsZUFBZ0IsS0FDdEMsQ0FBQyxLQUFxQkMsUUFBUyxLQUMvQixDQUFDLEtBQXFCQyxZQUFhLElBQ25DLENBQUMsS0FBcUJDLGNBQWUsS0FDckMsQ0FBQyxLQUFxQkMsZUFBZ0IsS0FDdEMsQ0FBQyxLQUFxQkMsUUFBUyxLQUMvQixDQUFDLEtBQXFCQyxPQUFRLEtBQzlCLENBQUMsS0FBcUJDLFNBQVUsS0FDaEMsQ0FBQyxLQUFxQnJCLFdBQVksTUFFekJzQixFQUErQixDQUN4QyxDQUFDLEtBQW1CQyxpQkFBa0IsTUFFN0JDLEVBQW1CLENBQzVCLENBQUMsS0FBd0JDLFFBQVMsQ0FDOUIsQ0FBQyxLQUFtQnpCLFdBQVlELEVBQTZCLEtBQW1CQyxZQUVwRixDQUFDLEtBQXdCMEIsUUFBUyxDQUM5QixDQUFDLElBQW1CeEIsYUFBY0QsRUFBNkIsSUFBbUJDLGFBQ2xGLENBQUMsSUFBbUJDLGFBQWNGLEVBQTZCLElBQW1CRSxhQUNsRixDQUFDLElBQW1CQyxXQUFZSCxFQUE2QixJQUFtQkcsWUFFcEYsQ0FBQyxLQUF3QnVCLFVBQVcsQ0FDaEMsQ0FBQyxLQUFxQmhCLFVBQVdELEVBQStCLEtBQXFCQyxVQUNyRixDQUFDLEtBQXFCQyxNQUFPRixFQUErQixLQUFxQkUsTUFDakYsQ0FBQyxLQUFxQkMsWUFBYUgsRUFBK0IsS0FBcUJHLFlBQ3ZGLENBQUMsS0FBcUJDLGVBQWdCSixFQUErQixLQUFxQkksZUFDMUYsQ0FBQyxLQUFxQkMsUUFBU0wsRUFBK0IsS0FBcUJLLFFBQ25GLENBQUMsS0FBcUJDLFlBQWFOLEVBQStCLEtBQXFCTSxZQUN2RixDQUFDLEtBQXFCQyxjQUFlUCxFQUErQixLQUFxQk8sY0FDekYsQ0FBQyxLQUFxQkMsZUFBZ0JSLEVBQStCLEtBQXFCUSxlQUMxRixDQUFDLEtBQXFCQyxRQUFTVCxFQUErQixLQUFxQlMsUUFDbkYsQ0FBQyxLQUFxQkMsT0FBUVYsRUFBK0IsS0FBcUJVLFFBRXRGLENBQUMsS0FBd0JRLGVBQWdCLENBQ3JDLENBQUMsSUFBeUJDLFNBQVUsSUFBb0IsSUFBeUJBLFNBQ2pGLENBQUMsSUFBeUJDLGFBQWMsSUFBb0IsSUFBeUJBLGFBQ3JGLENBQUMsSUFBeUJDLG1CQUFvQixJQUFvQixJQUF5QkEsb0JBRS9GLENBQUMsS0FBd0JDLFFBQVMsQ0FDOUIsQ0FBQyxLQUFtQlQsaUJBQWtCRCxFQUE2QixLQUFtQkMsbUJBR2pGVSxFQUFtQkMsT0FBT0MsS0FBS1gsR0FDdkNZLFFBQU8sQ0FBQ0MsRUFBS0MsS0FDZCxJQUFLLE1BQU1DLEtBQU9MLE9BQU9DLEtBQUtYLEVBQWlCYyxJQUMzQ0QsRUFBSUUsR0FBT0QsRUFDZixPQUFPRCxDQUFHLEdBQ1gsQ0FBQyxHQTBCRyxNQUFNRyxFQU1ULFdBQUFDLENBQVlDLEdBQ1JDLEtBQUtELE9BQVNBLEVBQ2RDLEtBQUtDLFNBQVdYLEVBQWlCUyxFQUNyQyxDQU9BLFVBQUFHLENBQVdDLEdBQ1AsTUFBTUMsRUFBT3ZCLEVBQ2IsSUFBS3VCLEVBQUtDLGVBQWVMLEtBQUtDLFlBQWNHLEVBQUtKLEtBQUtDLFVBQVVJLGVBQWVMLEtBQUtELFFBQ2hGLE1BQU0sSUFBSU8sTUFBTSxtQkFBbUJOLEtBQUtELHdCQUF3QkMsS0FBS0MsWUFDekUsT0FwQzhCTSxFQW9DRFAsS0FBS0QsT0FuQy9CVCxFQUFpQmlCLElBQVMsS0FBd0J0QixjQUFjdUIsV0FvQy9ESixFQUFLSixLQUFLQyxVQUFVRCxLQUFLRCxRQUFRSSxHQUNqQ0MsRUFBS0osS0FBS0MsVUFBVUQsS0FBS0QsUUF0QzlCLElBQStCUSxDQXVDbEMsQ0FPQSwwQkFBT0UsQ0FBb0JSLEdBQ3ZCLE9BQU9WLE9BQU9DLEtBQUtYLEVBQWlCb0IsR0FDeEMsQ0FJQSw0QkFBV1MsR0FDUCxPQUFPbkIsT0FBT0MsS0FBS1gsRUFDdkIsRUNoSUo4QixVQUFhQyxJQUNULE1BQU0sT0FBRUMsRUFBTSxPQUFFQyxFQUFNLFNBQUVDLEVBQVEsU0FBRUMsRUFBUSxXQUFFQyxFQUFVLEtBQUVkLEdBQVNTLEVBQU1NLEtBQ2pFQSxFQUFPLENBQUMsRUFDZCxJQUNJLElBQUlwRCxFQUFJaUQsRUFDSkksRUFBSUgsRUFDSkksRUFBTSxFQUNOQyxFQUFPLEVBQ1BDLEVBQU9qQyxPQUFPa0MsVUFDbEIsTUFBTUMsRUFBUyxJQUFJQyxhQUFhUixHQUMxQlMsRUFBYSxJQUFJN0IsRUFBUWlCLEdBQVFaLFdBQVdDLEdBQ2xELEtBQU9pQixFQUFNSCxHQUFZLENBQ3JCLE1BQU1VLEdBQVMsT0FBTWQsRUFBTy9DLE1BQVEsT0FBTStDLEVBQU9NLElBQ1YsRUFBbkNPLEVBQVdiLEVBQU8vQyxHQUFJK0MsRUFBT00sSUFDakNLLEVBQU9KLEdBQU9PLEVBQ1ZBLEVBQVFOLElBQ1JBLEVBQU9NLEdBQ1BBLEVBQVFMLElBQ1JBLEVBQU9LLEdBQ1hQLElBQ0FELElBQ0lBLElBQU1OLEVBQU9qRCxTQUNiRSxJQUNBcUQsRUFBSXJELEVBQUksRUFFaEIsQ0FDQW9ELEVBQUtVLG1CQUFxQkosRUFDMUJOLEVBQUtXLElBQU1SLEVBQ1hILEVBQUtZLElBQU1SLENBQ2YsQ0FDQSxNQUFPUyxHQUNIYixFQUFLYyxNQUFRRCxDQUNqQixDQUNBRSxZQUFZZixFQUFLLEMsR0NsQ2pCZ0IsRUFBMkIsQ0FBQyxFQUdoQyxTQUFTQyxFQUFvQkMsR0FFNUIsSUFBSUMsRUFBZUgsRUFBeUJFLEdBQzVDLFFBQXFCRSxJQUFqQkQsRUFDSCxPQUFPQSxFQUFhRSxRQUdyQixJQUFJQyxFQUFTTixFQUF5QkUsR0FBWSxDQUdqREcsUUFBUyxDQUFDLEdBT1gsT0FIQUUsRUFBb0JMLEdBQVVJLEVBQVFBLEVBQU9ELFFBQVNKLEdBRy9DSyxFQUFPRCxPQUNmLENBR0FKLEVBQW9CTyxFQUFJRCxFQUd4Qk4sRUFBb0JRLEVBQUksS0FHdkIsSUFBSUMsRUFBc0JULEVBQW9CVSxPQUFFUCxFQUFXLENBQUMsSUFBSSxNQUFNLElBQU9ILEVBQW9CLFFBRWpHLE9BRHNCQSxFQUFvQlUsRUFBRUQsRUFDbEIsRUpqQ3ZCMUYsRUFBVyxHQUNmaUYsRUFBb0JVLEVBQUksQ0FBQ0MsRUFBUUMsRUFBVUMsRUFBSUMsS0FDOUMsSUFBR0YsRUFBSCxDQU1BLElBQUlHLEVBQWVDLElBQ25CLElBQVNyRixFQUFJLEVBQUdBLEVBQUlaLEVBQVNVLE9BQVFFLElBQUssQ0FHekMsSUFGQSxJQUFLaUYsRUFBVUMsRUFBSUMsR0FBWS9GLEVBQVNZLEdBQ3BDc0YsR0FBWSxFQUNQakMsRUFBSSxFQUFHQSxFQUFJNEIsRUFBU25GLE9BQVF1RCxNQUNwQixFQUFYOEIsR0FBc0JDLEdBQWdCRCxJQUFhMUQsT0FBT0MsS0FBSzJDLEVBQW9CVSxHQUFHUSxPQUFPMUQsR0FBU3dDLEVBQW9CVSxFQUFFbEQsR0FBS29ELEVBQVM1QixNQUM5STRCLEVBQVNPLE9BQU9uQyxJQUFLLElBRXJCaUMsR0FBWSxFQUNUSCxFQUFXQyxJQUFjQSxFQUFlRCxJQUc3QyxHQUFHRyxFQUFXLENBQ2JsRyxFQUFTb0csT0FBT3hGLElBQUssR0FDckIsSUFBSXlGLEVBQUlQLFNBQ0VWLElBQU5pQixJQUFpQlQsRUFBU1MsRUFDL0IsQ0FDRCxDQUNBLE9BQU9ULENBbkJQLENBSkNHLEVBQVdBLEdBQVksRUFDdkIsSUFBSSxJQUFJbkYsRUFBSVosRUFBU1UsT0FBUUUsRUFBSSxHQUFLWixFQUFTWSxFQUFJLEdBQUcsR0FBS21GLEVBQVVuRixJQUFLWixFQUFTWSxHQUFLWixFQUFTWSxFQUFJLEdBQ3JHWixFQUFTWSxHQUFLLENBQUNpRixFQUFVQyxFQUFJQyxFQXFCakIsRUt6QmRkLEVBQW9CcUIsRUFBSSxDQUFDakIsRUFBU2tCLEtBQ2pDLElBQUksSUFBSTlELEtBQU84RCxFQUNYdEIsRUFBb0J1QixFQUFFRCxFQUFZOUQsS0FBU3dDLEVBQW9CdUIsRUFBRW5CLEVBQVM1QyxJQUM1RUosT0FBT29FLGVBQWVwQixFQUFTNUMsRUFBSyxDQUFFaUUsWUFBWSxFQUFNQyxJQUFLSixFQUFXOUQsSUFFMUUsRUNORHdDLEVBQW9CMkIsRUFBSSxDQUFDLEVBR3pCM0IsRUFBb0JKLEVBQUtnQyxHQUNqQkMsUUFBUUMsSUFBSTFFLE9BQU9DLEtBQUsyQyxFQUFvQjJCLEdBQUdyRSxRQUFPLENBQUN5RSxFQUFVdkUsS0FDdkV3QyxFQUFvQjJCLEVBQUVuRSxHQUFLb0UsRUFBU0csR0FDN0JBLElBQ0wsS0NOSi9CLEVBQW9CZ0MsRUFBS0osR0FFWkEsRUFBVSxNQ0h2QjVCLEVBQW9CaUMsRUFBSSxXQUN2QixHQUEwQixpQkFBZkMsV0FBeUIsT0FBT0EsV0FDM0MsSUFDQyxPQUFPckUsTUFBUSxJQUFJc0UsU0FBUyxjQUFiLEVBQ2hCLENBQUUsTUFBT3ZDLEdBQ1IsR0FBc0IsaUJBQVh3QyxPQUFxQixPQUFPQSxNQUN4QyxDQUNBLENBUHVCLEdDQXhCcEMsRUFBb0J1QixFQUFJLENBQUNjLEVBQUtDLElBQVVsRixPQUFPbUYsVUFBVXJFLGVBQWVzRSxLQUFLSCxFQUFLQyxHLE1DQWxGLElBQUlHLEVBQ0F6QyxFQUFvQmlDLEVBQUVTLGdCQUFlRCxFQUFZekMsRUFBb0JpQyxFQUFFVSxTQUFXLElBQ3RGLElBQUlDLEVBQVc1QyxFQUFvQmlDLEVBQUVXLFNBQ3JDLElBQUtILEdBQWFHLElBQ2JBLEVBQVNDLGdCQUNaSixFQUFZRyxFQUFTQyxjQUFjQyxNQUMvQkwsR0FBVyxDQUNmLElBQUlNLEVBQVVILEVBQVNJLHFCQUFxQixVQUM1QyxHQUFHRCxFQUFRdEgsT0FFVixJQURBLElBQUlFLEVBQUlvSCxFQUFRdEgsT0FBUyxFQUNsQkUsR0FBSyxJQUFNOEcsR0FBV0EsRUFBWU0sRUFBUXBILEtBQUttSCxHQUV4RCxDQUlELElBQUtMLEVBQVcsTUFBTSxJQUFJdEUsTUFBTSx5REFDaENzRSxFQUFZQSxFQUFVUSxRQUFRLE9BQVEsSUFBSUEsUUFBUSxRQUFTLElBQUlBLFFBQVEsWUFBYSxLQUNwRmpELEVBQW9Ca0QsRUFBSVQsQyxXQ2R4QixJQUFJVSxFQUFrQixDQUNyQixJQUFLLEdBZ0JObkQsRUFBb0IyQixFQUFFaEcsRUFBSSxDQUFDaUcsRUFBU0csS0FFL0JvQixFQUFnQnZCLElBRWxCYyxjQUFjMUMsRUFBb0JrRCxFQUFJbEQsRUFBb0JnQyxFQUFFSixHQUU5RCxFQUdELElBQUl3QixFQUFxQkMsS0FBMkIscUJBQUlBLEtBQTJCLHNCQUFLLEdBQ3BGQyxFQUE2QkYsRUFBbUJHLEtBQUtDLEtBQUtKLEdBQzlEQSxFQUFtQkcsS0F2QkN4RSxJQUNuQixJQUFLNkIsRUFBVTZDLEVBQWFDLEdBQVczRSxFQUN2QyxJQUFJLElBQUlrQixLQUFZd0QsRUFDaEJ6RCxFQUFvQnVCLEVBQUVrQyxFQUFheEQsS0FDckNELEVBQW9CTyxFQUFFTixHQUFZd0QsRUFBWXhELElBSWhELElBREd5RCxHQUFTQSxFQUFRMUQsR0FDZFksRUFBU25GLFFBQ2QwSCxFQUFnQnZDLEVBQVMrQyxPQUFTLEVBQ25DTCxFQUEyQnZFLEVBQUssQyxLVm5CN0IvRCxFQUFPZ0YsRUFBb0JRLEVBQy9CUixFQUFvQlEsRUFBSSxJQUNoQnFCLFFBQVFDLElBQUksQ0FDbEI5QixFQUFvQkosRUFBRSxLQUN0QkksRUFBb0JKLEVBQUUsT0FDcEJnRSxLQUFLNUksR1dKVCxJQUFJeUYsRUFBc0JULEVBQW9CUSxJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2NodW5rIGxvYWRlZCIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvc3RhcnR1cCBjaHVuayBkZXBlbmRlbmNpZXMiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdHlwZWQtbWV0cmljcy90eXBlZC1tZXRyaWNzLmpzIiwid2VicGFjazovL3BlcHRpZGVzLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC9kaXN0YW5jZS1tYXRyaXgtd29ya2VyLmpzIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvZW5zdXJlIGNodW5rIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9nZXQgamF2YXNjcmlwdCBjaHVuayBmaWxlbmFtZSIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvZ2xvYmFsIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2ltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZyIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3N0YXJ0dXAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlZmVycmVkID0gW107XG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8gPSAocmVzdWx0LCBjaHVua0lkcywgZm4sIHByaW9yaXR5KSA9PiB7XG5cdGlmKGNodW5rSWRzKSB7XG5cdFx0cHJpb3JpdHkgPSBwcmlvcml0eSB8fCAwO1xuXHRcdGZvcih2YXIgaSA9IGRlZmVycmVkLmxlbmd0aDsgaSA+IDAgJiYgZGVmZXJyZWRbaSAtIDFdWzJdID4gcHJpb3JpdHk7IGktLSkgZGVmZXJyZWRbaV0gPSBkZWZlcnJlZFtpIC0gMV07XG5cdFx0ZGVmZXJyZWRbaV0gPSBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV07XG5cdFx0cmV0dXJuO1xuXHR9XG5cdHZhciBub3RGdWxmaWxsZWQgPSBJbmZpbml0eTtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBkZWZlcnJlZC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV0gPSBkZWZlcnJlZFtpXTtcblx0XHR2YXIgZnVsZmlsbGVkID0gdHJ1ZTtcblx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGNodW5rSWRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRpZiAoKHByaW9yaXR5ICYgMSA9PT0gMCB8fCBub3RGdWxmaWxsZWQgPj0gcHJpb3JpdHkpICYmIE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uTykuZXZlcnkoKGtleSkgPT4gKF9fd2VicGFja19yZXF1aXJlX18uT1trZXldKGNodW5rSWRzW2pdKSkpKSB7XG5cdFx0XHRcdGNodW5rSWRzLnNwbGljZShqLS0sIDEpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZnVsZmlsbGVkID0gZmFsc2U7XG5cdFx0XHRcdGlmKHByaW9yaXR5IDwgbm90RnVsZmlsbGVkKSBub3RGdWxmaWxsZWQgPSBwcmlvcml0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYoZnVsZmlsbGVkKSB7XG5cdFx0XHRkZWZlcnJlZC5zcGxpY2UoaS0tLCAxKVxuXHRcdFx0dmFyIHIgPSBmbigpO1xuXHRcdFx0aWYgKHIgIT09IHVuZGVmaW5lZCkgcmVzdWx0ID0gcjtcblx0XHR9XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn07IiwidmFyIG5leHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLng7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChbXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDUzNSksXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDUyMSlcblx0XSkudGhlbihuZXh0KTtcbn07IiwiaW1wb3J0ICogYXMgZmwgZnJvbSAnZmFzdGVzdC1sZXZlbnNodGVpbic7XG5pbXBvcnQgeyBqYXJvV2lua2xlciB9IGZyb20gJ2phcm8td2lua2xlci10eXBlc2NyaXB0JztcbmltcG9ydCB7IGFzeW1tZXRyaWNEaXN0YW5jZSwgYnJhdW5CbGFucXVldERpc3RhbmNlLCBjb3NpbmVEaXN0YW5jZSwgZGljZURpc3RhbmNlLCBldWNsaWRlYW5EaXN0YW5jZSwgaGFtbWluZ0Rpc3RhbmNlLCBrdWxjenluc2tpRGlzdGFuY2UsIG1jQ29ubmF1Z2hleURpc3RhbmNlLCByb2dvdEdvbGRiZXJnRGlzdGFuY2UsIHJ1c3NlbERpc3RhbmNlLCBzb2thbERpc3RhbmNlLCB0YW5pbW90b0Rpc3RhbmNlLCBudW1lcmljRGlzdGFuY2UsIH0gZnJvbSAnLi4vZGlzdGFuY2UtbWV0cmljcy1tZXRob2RzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlIH0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvdmVjdG9yLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgbW1EaXN0YW5jZUZ1bmN0aW9ucywgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzIH0gZnJvbSAnLi4vbWFjcm9tb2xlY3VsZS1kaXN0YW5jZS1mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMsIEJpdEFycmF5TWV0cmljc05hbWVzLCBTdHJpbmdNZXRyaWNzTmFtZXMsIFZlY3Rvck1ldHJpY3NOYW1lcywgTnVtYmVyTWV0cmljc05hbWVzIH0gZnJvbSAnLi9jb25zdHMnO1xuZXhwb3J0IGNvbnN0IHZlY3RvckRpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW1ZlY3Rvck1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3Qgc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLkxldmVuc2h0ZWluXTogZmwuZGlzdGFuY2UsXG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl06IGphcm9XaW5rbGVyLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogbWFuaGF0dGFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtOdW1iZXJNZXRyaWNzTmFtZXMuTnVtZXJpY0Rpc3RhbmNlXTogbnVtZXJpY0Rpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBBdmFpbGFibGVNZXRyaWNzID0ge1xuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5WZWN0b3JdOiB7XG4gICAgICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5TdHJpbmddOiB7XG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5CaXRBcnJheV06IHtcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGVdOiB7XG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuSEFNTUlOR106IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkddLFxuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTEVWRU5TSFRFSU5dLFxuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk5FRURMRU1BTk5fV1VOU0NIXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlcl06IHtcbiAgICAgICAgW051bWJlck1ldHJpY3NOYW1lcy5OdW1lcmljRGlzdGFuY2VdOiBudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzW051bWJlck1ldHJpY3NOYW1lcy5OdW1lcmljRGlzdGFuY2VdLFxuICAgIH1cbn07XG5leHBvcnQgY29uc3QgTWV0cmljVG9EYXRhVHlwZSA9IE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpXG4gICAgLnJlZHVjZSgocmV0LCBrZXkpID0+IHtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2tleV0pKVxuICAgICAgICByZXRbdmFsXSA9IGtleTtcbiAgICByZXR1cm4gcmV0O1xufSwge30pO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnU3RyaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdEFycmF5TWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnQml0QXJyYXknO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmVjdG9yTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnVmVjdG9yJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc01hY3JvTW9sZWN1bGVNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGUudG9TdHJpbmcoKTtcbn1cbi8qKiBNYW5oYXR0YW4gZGlzdGFuY2UgYmV0d2VlbiB0d28gc2VxdWVuY2VzIChtYXRjaCAtIDAsIG1pc21hdGNoIC0gMSkgbm9ybWFsaXplZCBmb3IgbGVuZ3RoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hbmhhdHRhbkRpc3RhbmNlKHMxLCBzMikge1xuICAgIGlmIChzMS5sZW5ndGggIT09IHMyLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkaXN0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzMS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGRpc3QgKz0gczFbaV0gPT0gczJbaV0gPyAwIDogMTtcbiAgICAgICAgcmV0dXJuIGRpc3QgLyBzMS5sZW5ndGg7XG4gICAgfVxufVxuLyoqIFVuaWZpZWQgY2xhc3MgaW1wbGVtZW50aW5nIGRpZmZlcmVudCBzdHJpbmcgbWVhc3VyZXMuICovXG5leHBvcnQgY2xhc3MgTWVhc3VyZSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBNZWFzdXJlIHdpdGggLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgTWV0aG9kIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHN0cmluZ3MuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IobWV0aG9kKSB7XG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kO1xuICAgICAgICB0aGlzLmRhdGFUeXBlID0gTWV0cmljVG9EYXRhVHlwZVttZXRob2RdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1c3RvbSBzdHJpbmcgZGlzdGFuY2UgZnVuY3Rpb24gc3BlY2lmaWVkLlxuICAgICAqIEBwYXJhbSB7b3B0c30gb3B0cyBPcHRpb25zIGZvciB0aGUgbWVhc3VyZS4gdXNlZCBmb3IgbWFjcm9tb2xlY3VsZSBkaXN0YW5jZXNcbiAgICAgKiBAcmV0dXJuIHtEaXN0YW5jZU1ldHJpY30gQ2FsbGJhY2sgb2YgdGhlIG1lYXN1cmUgY2hvc2VuLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGdldE1lYXN1cmUob3B0cykge1xuICAgICAgICBjb25zdCBkaWN0ID0gQXZhaWxhYmxlTWV0cmljcztcbiAgICAgICAgaWYgKCFkaWN0Lmhhc093blByb3BlcnR5KHRoaXMuZGF0YVR5cGUpIHx8ICFkaWN0W3RoaXMuZGF0YVR5cGVdLmhhc093blByb3BlcnR5KHRoaXMubWV0aG9kKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBtZWFzdXJlICR7dGhpcy5tZXRob2R9IGZvciBkYXRhIHR5cGUgJHt0aGlzLmRhdGFUeXBlfWApO1xuICAgICAgICByZXR1cm4gaXNNYWNyb01vbGVjdWxlTWV0cmljKHRoaXMubWV0aG9kKSA/XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXShvcHRzKSA6XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXN0b20gc3RyaW5nIGRpc3RhbmNlIGJ5IHRoZSBnaXZlbiBkYXRhIHR5cGUuXG4gICAgICogQHBhcmFtIHtBdmFpbGFibGVEYXRhVHlwZXN9IGRhdGFUeXBlIE1ldHJpYydzIGRhdGEgdHlwZVxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBNZXRyaWMgbmFtZXMgd2hpY2ggZXhwZWN0cyB0aGUgZ2l2ZW4gZGF0YSB0eXBlXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldE1ldHJpY0J5RGF0YVR5cGUoZGF0YVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3NbZGF0YVR5cGVdKTtcbiAgICB9XG4gICAgLyoqIFJldHVybnMgbWV0cmljIG5hbWVzIGF2YWlsYWJsZS5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IGF2YWlsYWJsZU1lYXN1cmVzKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljcyk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pXUXRiV1YwY21samN5NXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SNWNHVmtMVzFsZEhKcFkzTXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhMUVVGTExFVkJRVVVzVFVGQlRTeHhRa0ZCY1VJc1EwRkJRenRCUVVNeFF5eFBRVUZQTEVWQlFVTXNWMEZCVnl4RlFVRkRMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZGY0VRc1QwRkJUeXhGUVVOTUxHdENRVUZyUWl4RlFVTnNRaXh4UWtGQmNVSXNSVUZEY2tJc1kwRkJZeXhGUVVOa0xGbEJRVmtzUlVGRFdpeHBRa0ZCYVVJc1JVRkRha0lzWlVGQlpTeEZRVU5tTEd0Q1FVRnJRaXhGUVVOc1FpeHZRa0ZCYjBJc1JVRkRjRUlzY1VKQlFYRkNMRVZCUTNKQ0xHTkJRV01zUlVGRFpDeGhRVUZoTEVWQlEySXNaMEpCUVdkQ0xFVkJRMmhDTEdWQlFXVXNSMEZEYUVJc1RVRkJUU3cyUWtGQk5rSXNRMEZCUXp0QlFVVnlReXhQUVVGUExFVkJRVU1zTUVKQlFUQkNMRVZCUVVNc1RVRkJUU3hwUkVGQmFVUXNRMEZCUXp0QlFVY3pSaXhQUVVGUExFVkJRVU1zYlVKQlFXMUNMRVZCUVVVc2QwSkJRWGRDTEVWQlFVTXNUVUZCVFN4eFEwRkJjVU1zUTBGQlF6dEJRVU5zUnl4UFFVRlBMRVZCUVVNc2RVSkJRWFZDTEVWQlFVVXNiMEpCUVc5Q0xFVkJRMjVFTEd0Q1FVRnJRaXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMR3RDUVVGclFpeEZRVUZETEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUnpsRkxFMUJRVTBzUTBGQlF5eE5RVUZOTERSQ1FVRTBRaXhIUVVGNVJEdEpRVU5vUnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMREJDUVVFd1FqdERRVU16UkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzTkVKQlFUUkNMRWRCUVhsRU8wbEJRMmhITEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRkZCUVZFN1NVRkROME1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTeFhRVUZYTzBsQlF6ZERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc2FVSkJRV2xDTzBOQlEyeEVMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTdzRRa0ZCT0VJc1IwRkJOa1E3U1VGRGRFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGRGFrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4WlFVRlpPMGxCUTNwRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzYTBKQlFXdENPMGxCUTNKRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVVzY1VKQlFYRkNPMGxCUXpORUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzWTBGQll6dEpRVU0zUXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU55UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZMRzlDUVVGdlFqdEpRVU42UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMSEZDUVVGeFFqdEpRVU16UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkROME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeGhRVUZoTzBsQlF6TkRMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1pVRkJaVHRKUVVNdlF5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRanREUVVOd1JDeERRVUZETzBGQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc05FSkJRVFJDTEVkQlFYbEVPMGxCUTJoSExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1pVRkJaU3hEUVVGRExFVkJRVVVzWlVGQlpUdERRVU4wUkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzWjBKQlFXZENMRWRCUVVjN1NVRkRPVUlzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJUdFJRVU5vUXl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRFJDUVVFMFFpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGTkJRVk1zUTBGQlF6dExRVU16Ump0SlFVTkVMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1VVRkRhRU1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRPVVlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRPVVlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNN1MwRkRNMFk3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTzFGQlEyeERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVVVGQlVTeERRVUZETzFGQlF6bEdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETzFGQlEzUkdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETzFGQlEyeEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETzFGQlEzaEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6RkdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETzFGQlEyeEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNXVUZCV1N4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zV1VGQldTeERRVUZETzFGQlEzUkhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETzFGQlEzaEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6RkdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEzcEdPMGxCUTBRc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1JVRkJSVHRSUVVOMlF5eERRVUZETEhkQ1FVRjNRaXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExIZENRVUYzUWl4RFFVRkRMRTlCUVU4c1EwRkJRenRSUVVONlJpeERRVUZETEhkQ1FVRjNRaXhEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExIZENRVUYzUWl4RFFVRkRMRmRCUVZjc1EwRkJRenRSUVVOcVJ5eERRVUZETEhkQ1FVRjNRaXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zYVVKQlFXbENMRU5CUVVNN1MwRkRPVWM3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzFGQlEyaERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zWlVGQlpTeERRVUZETzB0QlEzWkhPME5CUTBZc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEdkQ1FVRm5RaXhIUVVGeFFpeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETzB0QlF6VkZMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRWEZDTEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVN1NVRkRja01zUzBGQlN5eE5RVUZOTEVkQlFVY3NTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWRCUVhsQ0xFTkJRVU1zUTBGQlF6dFJRVU40UlN4SFFVRkhMRU5CUVVNc1IwRkJlVUlzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVVjJReXhQUVVGUExFZEJRVWNzUTBGQlF6dEJRVU5pTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVdWVUxFMUJRVTBzVlVGQlZTeGpRVUZqTEVOQlFVTXNTVUZCYTBJN1NVRkRMME1zVDBGQlR5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeFJRVUZSTEVOQlFVTTdRVUZETlVNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeG5Ra0ZCWjBJc1EwRkJReXhKUVVGclFqdEpRVU5xUkN4UFFVRlBMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRlZCUVZVc1EwRkJRenRCUVVNNVF5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR05CUVdNc1EwRkJReXhKUVVGclFqdEpRVU12UXl4UFFVRlBMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRkZCUVZFc1EwRkJRenRCUVVNMVF5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMSEZDUVVGeFFpeERRVUZETEVsQlFXdENPMGxCUTNSRUxFOUJRVThzWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzZFVKQlFYVkNMRU5CUVVNc1lVRkJZU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzBGQlEzQkdMRU5CUVVNN1FVRkZSQ3huUjBGQlowYzdRVUZEYUVjc1RVRkJUU3hWUVVGVkxHbENRVUZwUWl4RFFVRkRMRVZCUVZVc1JVRkJSU3hGUVVGVk8wbEJRM1JFTEVsQlFVa3NSVUZCUlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTzFGQlF6TkNMRTlCUVU4c1EwRkJReXhEUVVGRE8wdEJRMVk3VTBGQlRUdFJRVU5NTEVsQlFVa3NTVUZCU1N4SFFVRlhMRU5CUVVNc1EwRkJRenRSUVVOeVFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVN1dVRkRhRU1zU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEycERMRTlCUVU4c1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTTdTMEZEZWtJN1FVRkRTQ3hEUVVGRE8wRkJSVVFzTkVSQlFUUkVPMEZCUXpWRUxFMUJRVTBzVDBGQlR5eFBRVUZQTzBsQlNXeENPenM3TzA5QlNVYzdTVUZEU0N4WlFVRlpMRTFCUVc5Q08xRkJRemxDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RFFVRjFRaXhEUVVGRE8wbEJRMnBGTEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTkpMRlZCUVZVc1EwRkJReXhKUVVGVk8xRkJRekZDTEUxQlFVMHNTVUZCU1N4SFFVVk9MR2RDUVVGblFpeERRVUZETzFGQlEzSkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZEZWtZc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eHRRa0ZCYlVJc1NVRkJTU3hEUVVGRExFMUJRVTBzYTBKQlFXdENMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEyNUdMRTlCUVU4c2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGVFTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRnhReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETjBVc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGdFFpeERRVUZETzBsQlEzWkVMRU5CUVVNN1NVRkZSRHM3T3pzN1QwRkxSenRKUVVOSkxFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhSUVVFMFFqdFJRVU0xUkN4UFFVRlBMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5xUkN4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFNDeE5RVUZOTEV0QlFVc3NhVUpCUVdsQ08xRkJRekZDTEU5QlFVOHNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRPMGxCUTNaRExFTkJRVU03UTBGRFJpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQXFJR0Z6SUdac0lHWnliMjBnSjJaaGMzUmxjM1F0YkdWMlpXNXphSFJsYVc0bk8xeHVhVzF3YjNKMElIdHFZWEp2VjJsdWEyeGxjbjBnWm5KdmJTQW5hbUZ5YnkxM2FXNXJiR1Z5TFhSNWNHVnpZM0pwY0hRbk8xeHVhVzF3YjNKMElIdEVhWE4wWVc1alpVMWxkSEpwWTMwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRIbHdaUzFrWldOc1lYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdGNiaUFnWVhONWJXMWxkSEpwWTBScGMzUmhibU5sTEZ4dUlDQmljbUYxYmtKc1lXNXhkV1YwUkdsemRHRnVZMlVzWEc0Z0lHTnZjMmx1WlVScGMzUmhibU5sTEZ4dUlDQmthV05sUkdsemRHRnVZMlVzWEc0Z0lHVjFZMnhwWkdWaGJrUnBjM1JoYm1ObExGeHVJQ0JvWVcxdGFXNW5SR2x6ZEdGdVkyVXNYRzRnSUd0MWJHTjZlVzV6YTJsRWFYTjBZVzVqWlN4Y2JpQWdiV05EYjI1dVlYVm5hR1Y1UkdsemRHRnVZMlVzWEc0Z0lISnZaMjkwUjI5c1pHSmxjbWRFYVhOMFlXNWpaU3hjYmlBZ2NuVnpjMlZzUkdsemRHRnVZMlVzWEc0Z0lITnZhMkZzUkdsemRHRnVZMlVzWEc0Z0lIUmhibWx0YjNSdlJHbHpkR0Z1WTJVc1hHNGdJRzUxYldWeWFXTkVhWE4wWVc1alpTeGNibjBnWm5KdmJTQW5MaTR2WkdsemRHRnVZMlV0YldWMGNtbGpjeTF0WlhSb2IyUnpKenRjYmx4dWFXMXdiM0owSUh0allXeGpkV3hoZEdWRmRXTnNhV1JsWVc1RWFYTjBZVzVqWlgwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRtVmpkRzl5TFc5d1pYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElFSnBkRUZ5Y21GNUlHWnliMjBnSjBCa1lYUmhaM0p2YXkxc2FXSnlZWEpwWlhNdmRYUnBiSE12YzNKakwySnBkQzFoY25KaGVTYzdYRzVwYlhCdmNuUWdlMVpsWTNSdmNpd2dVM1J5YVc1blJHbGpkR2x2Ym1GeWVYMGdabkp2YlNBblFHUmhkR0ZuY205ckxXeHBZbkpoY21sbGN5OTFkR2xzY3k5emNtTXZkSGx3WlMxa1pXTnNZWEpoZEdsdmJuTW5PMXh1YVcxd2IzSjBJSHR0YlVScGMzUmhibU5sUm5WdVkzUnBiMjV6TENCTmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE45SUdaeWIyMGdKeTR1TDIxaFkzSnZiVzlzWldOMWJHVXRaR2x6ZEdGdVkyVXRablZ1WTNScGIyNXpKenRjYm1sdGNHOXlkQ0I3UkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXNJRUpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TEZ4dUlDQlRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXNJRlpsWTNSdmNrMWxkSEpwWTNOT1lXMWxjeXdnVG5WdFltVnlUV1YwY21samMwNWhiV1Z6ZlNCbWNtOXRJQ2N1TDJOdmJuTjBjeWM3WEc1Y2JseHVaWGh3YjNKMElHTnZibk4wSUhabFkzUnZja1JwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJXWldOMGIzSXNJSGs2SUZabFkzUnZjaWtnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0V1pXTjBiM0pOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhUb2dZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYzNSeWFXNW5SR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrY3pvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJSE4wY21sdVp5d2dlVG9nYzNSeWFXNW5LU0E5UGlCdWRXMWlaWElnZlNBOUlIdGNiaUFnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1TVpYWmxibk5vZEdWcGJsMDZJR1pzTG1ScGMzUmhibU5sTEZ4dUlDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3BoY205WGFXNXJiR1Z5WFRvZ2FtRnliMWRwYm10c1pYSXNYRzRnSUZ0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVRXRnVhR0YwZEdGdVhUb2diV0Z1YUdGMGRHRnVSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSek9pQjdJRnR1WVcxbE9pQnpkSEpwYm1kZE9pQW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtTQTlQaUJ1ZFcxaVpYSWdmU0E5SUh0Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxSaGJtbHRiM1J2WFRvZ2RHRnVhVzF2ZEc5RWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRPaUJrYVdObFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1QmMzbHRiV1YwY21salhUb2dZWE41YlcxbGRISnBZMFJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRbkpoZFc1Q2JHRnVjWFZsZEYwNklHSnlZWFZ1UW14aGJuRjFaWFJFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa052YzJsdVpWMDZJR052YzJsdVpVUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVMzVnNZM3A1Ym5OcmFWMDZJR3QxYkdONmVXNXphMmxFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMazFqUTI5dWJtRjFaMmhsZVYwNklHMWpRMjl1Ym1GMVoyaGxlVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVbTluYjNSSGIyeGtZbVZ5WjEwNklISnZaMjkwUjI5c1pHSmxjbWRFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEoxYzNObGJGMDZJSEoxYzNObGJFUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVUyOXJZV3hkT2lCemIydGhiRVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTR0Z0YldsdVoxMDZJR2hoYlcxcGJtZEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrVjFZMnhwWkdWaGJsMDZJR1YxWTJ4cFpHVmhia1JwYzNSaGJtTmxMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUc1MWJXSmxja1JwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJ1ZFcxaVpYSXNJSGs2SUc1MWJXSmxjaWtnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0T2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNdVRuVnRaWEpwWTBScGMzUmhibU5sWFRvZ2JuVnRaWEpwWTBScGMzUmhibU5sTEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFRjJZV2xzWVdKc1pVMWxkSEpwWTNNZ1BTQjdYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVXWldOMGIzSmRPaUI3WEc0Z0lDQWdXMVpsWTNSdmNrMWxkSEpwWTNOT1lXMWxjeTVGZFdOc2FXUmxZVzVkT2lCMlpXTjBiM0pFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcxWmxZM1J2Y2sxbGRISnBZM05PWVcxbGN5NUZkV05zYVdSbFlXNWRMRnh1SUNCOUxGeHVJQ0JiUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVVM1J5YVc1blhUb2dlMXh1SUNBZ0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUR1YyWlc1emFIUmxhVzVkT2lCemRISnBibWRFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NU1aWFpsYm5Ob2RHVnBibDBzWEc0Z0lDQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVLWVhKdlYybHVhMnhsY2wwNklITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3BoY205WGFXNXJiR1Z5WFN4Y2JpQWdJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGsxaGJtaGhkSFJoYmwwNklITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMazFoYm1oaGRIUmhibDBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVDYVhSQmNuSmhlVjA2SUh0Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVCYzNsdGJXVjBjbWxqWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUNjbUYxYmtKc1lXNXhkV1YwWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl6YVc1bFhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTM1ZzWTNwNWJuTnJhVjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFN4Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVRXTkRiMjV1WVhWbmFHVjVYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMazFqUTI5dWJtRjFaMmhsZVYwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSnZaMjkwUjI5c1pHSmxjbWRkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEoxYzNObGJGMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNkWE56Wld4ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVRiMnRoYkYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVOWVdOeWIwMXZiR1ZqZFd4bFhUb2dleUF2THlCdmNIUnBiMjVoYkNCaGNtZHpJRzVsWldSbFpDQm1iM0lnYldGamNtOXRiMnhsWTNWc1pTQm1kVzVqZEdsdmJuTWdkMmhwWTJnZ2FXNXBkR2xoYkdsNlpTQjBhR1Z0WEc0Z0lDQWdXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NUlRVTFOU1U1SFhUb2diVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMXROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVTRUZOVFVsT1IxMHNYRzRnSUNBZ1cwMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1TVJWWkZUbE5JVkVWSlRsMDZJRzF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5iVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa3hGVmtWT1UwaFVSVWxPWFN4Y2JpQWdJQ0JiVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMazVGUlVSTVJVMUJUazVmVjFWT1UwTklYVG9nYlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzF0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11VGtWRlJFeEZUVUZPVGw5WFZVNVRRMGhkTEZ4dUlDQjlMRnh1SUNCYlJHbHpkR0Z1WTJWTlpYUnlhV056VTNWaWFtVmpkSE11VG5WdFltVnlYVG9nZTF4dUlDQWdJRnRPZFcxaVpYSk5aWFJ5YVdOelRtRnRaWE11VG5WdFpYSnBZMFJwYzNSaGJtTmxYVG9nYm5WdFltVnlSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0T2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNdVRuVnRaWEpwWTBScGMzUmhibU5sWFN4Y2JpQWdmVnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxbGRISnBZMVJ2UkdGMFlWUjVjR1U2SUZOMGNtbHVaMFJwWTNScGIyNWhjbmtnUFNCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVk5aWFJ5YVdOektWeHVJQ0F1Y21Wa2RXTmxLQ2h5WlhRNklGTjBjbWx1WjBScFkzUnBiMjVoY25rc0lHdGxlU2tnUFQ0Z2UxeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2RtRnNJRzltSUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNOYmEyVjVJR0Z6SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsYzEwcEtWeHVJQ0FnSUNBZ2NtVjBXM1poYkNCaGN5QkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTmRJRDBnYTJWNU8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGREdGNiaUFnZlN3Z2UzMHBPMXh1WEc1bGVIQnZjblFnZEhsd1pTQkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTWdQU0JyWlhsdlppQjBlWEJsYjJZZ1FYWmhhV3hoWW14bFRXVjBjbWxqY3p0Y2JtVjRjRzl5ZENCMGVYQmxJRlpsWTNSdmNrMWxkSEpwWTNNZ1BTQnJaWGx2WmlCMGVYQmxiMllnUVhaaGFXeGhZbXhsVFdWMGNtbGpjMXRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NVdaV04wYjNKZE8xeHVaWGh3YjNKMElIUjVjR1VnVTNSeWFXNW5UV1YwY21samN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056VzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbE4wY21sdVoxMDdYRzVsZUhCdmNuUWdkSGx3WlNCQ2FYUkJjbkpoZVUxbGRISnBZM01nUFNCclpYbHZaaUIwZVhCbGIyWWdRWFpoYVd4aFlteGxUV1YwY21samMxdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1Q2FYUkJjbkpoZVYwN1hHNWxlSEJ2Y25RZ2RIbHdaU0JMYm05M2JrMWxkSEpwWTNNZ1BTQlRkSEpwYm1kTlpYUnlhV056SUh3Z1FtbDBRWEp5WVhsTlpYUnlhV056SUh3Z1ZtVmpkRzl5VFdWMGNtbGpjeUI4WEc0Z0lFMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3lCOElFNTFiV0psY2sxbGRISnBZM05PWVcxbGN6dGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1ZtRnNhV1JVZVhCbGN5QTlYRzRnSUhzZ1pHRjBZVG9nYzNSeWFXNW5XMTBzSUcxbGRISnBZem9nVTNSeWFXNW5UV1YwY21samN5QjhJRTF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5QjlJSHhjYmlBZ2V5QmtZWFJoT2lCV1pXTjBiM0piWFN3Z2JXVjBjbWxqT2lCV1pXTjBiM0pOWlhSeWFXTnpJSDBnZkZ4dUlDQjdJR1JoZEdFNklFSnBkRUZ5Y21GNVcxMHNJRzFsZEhKcFl6b2dRbWwwUVhKeVlYbE5aWFJ5YVdOeklIMGdmRnh1SUNCN0lHUmhkR0U2SUc1MWJXSmxjbHRkTENCdFpYUnlhV002SUU1MWJXSmxjazFsZEhKcFkzTk9ZVzFsY3lCOU8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5UZEhKcGJtZE5aWFJ5YVdNb2JtRnRaVG9nUzI1dmQyNU5aWFJ5YVdOektTQjdYRzRnSUhKbGRIVnliaUJOWlhSeWFXTlViMFJoZEdGVWVYQmxXMjVoYldWZElEMDlJQ2RUZEhKcGJtY25PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FYTkNhWFJCY25KaGVVMWxkSEpwWXlodVlXMWxPaUJMYm05M2JrMWxkSEpwWTNNcElIdGNiaUFnY21WMGRYSnVJRTFsZEhKcFkxUnZSR0YwWVZSNWNHVmJibUZ0WlYwZ1BUMGdKMEpwZEVGeWNtRjVKenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpWbVZqZEc5eVRXVjBjbWxqS0c1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3lrZ2UxeHVJQ0J5WlhSMWNtNGdUV1YwY21salZHOUVZWFJoVkhsd1pWdHVZVzFsWFNBOVBTQW5WbVZqZEc5eUp6dGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselRXRmpjbTlOYjJ4bFkzVnNaVTFsZEhKcFl5aHVZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXBJSHRjYmlBZ2NtVjBkWEp1SUUxbGRISnBZMVJ2UkdGMFlWUjVjR1ZiYm1GdFpWMGdQVDBnUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVUV0ZqY205TmIyeGxZM1ZzWlM1MGIxTjBjbWx1WnlncE8xeHVmVnh1WEc0dktpb2dUV0Z1YUdGMGRHRnVJR1JwYzNSaGJtTmxJR0psZEhkbFpXNGdkSGR2SUhObGNYVmxibU5sY3lBb2JXRjBZMmdnTFNBd0xDQnRhWE50WVhSamFDQXRJREVwSUc1dmNtMWhiR2w2WldRZ1ptOXlJR3hsYm1kMGFDNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVc1b1lYUjBZVzVFYVhOMFlXNWpaU2h6TVRvZ2MzUnlhVzVuTENCek1qb2djM1J5YVc1bktUb2diblZ0WW1WeUlIdGNiaUFnYVdZZ0tITXhMbXhsYm1kMGFDQWhQVDBnY3pJdWJHVnVaM1JvS1NCN1hHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYkdWMElHUnBjM1E2SUc1MWJXSmxjaUE5SURBN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlERTdJR2tnUENCek1TNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQWdJR1JwYzNRZ0t6MGdjekZiYVYwZ1BUMGdjekpiYVYwZ1B5QXdJRG9nTVR0Y2JpQWdJQ0J5WlhSMWNtNGdaR2x6ZENBdklITXhMbXhsYm1kMGFEdGNiaUFnZlZ4dWZWeHVYRzR2S2lvZ1ZXNXBabWxsWkNCamJHRnpjeUJwYlhCc1pXMWxiblJwYm1jZ1pHbG1abVZ5Wlc1MElITjBjbWx1WnlCdFpXRnpkWEpsY3k0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTlpXRnpkWEpsSUh0Y2JpQWdjSEp2ZEdWamRHVmtJRzFsZEdodlpEb2dTMjV2ZDI1TlpYUnlhV056TzF4dUlDQndjbTkwWldOMFpXUWdaR0YwWVZSNWNHVTZJRUYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjenRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbGN5QmhiaUJwYm5OMFlXNWpaU0J2WmlCTlpXRnpkWEpsSUhkcGRHZ2dMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2JXVjBhRzlrSUUxbGRHaHZaQ0IwYnlCallXeGpkV3hoZEdVZ1pHbHpkR0Z1WTJVZ1ltVjBkMlZsYmlCemRISnBibWR6TGx4dUlDQWdLaUJBYldWdFltVnliMllnVFdWaGMzVnlaWEpjYmlBZ0lDb3ZYRzRnSUdOdmJuTjBjblZqZEc5eUtHMWxkR2h2WkRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lDQWdkR2hwY3k1dFpYUm9iMlFnUFNCdFpYUm9iMlE3WEc0Z0lDQWdkR2hwY3k1a1lYUmhWSGx3WlNBOUlFMWxkSEpwWTFSdlJHRjBZVlI1Y0dWYmJXVjBhRzlrWFNCaGN5QkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJqZFhOMGIyMGdjM1J5YVc1bklHUnBjM1JoYm1ObElHWjFibU4wYVc5dUlITndaV05wWm1sbFpDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0dmNIUnpmU0J2Y0hSeklFOXdkR2x2Ym5NZ1ptOXlJSFJvWlNCdFpXRnpkWEpsTGlCMWMyVmtJR1p2Y2lCdFlXTnliMjF2YkdWamRXeGxJR1JwYzNSaGJtTmxjMXh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVhWE4wWVc1alpVMWxkSEpwWTMwZ1EyRnNiR0poWTJzZ2IyWWdkR2hsSUcxbFlYTjFjbVVnWTJodmMyVnVMbHh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdUV1ZoYzNWeVpYSmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFJOWldGemRYSmxLRzl3ZEhNL09pQmhibmtwT2lCRWFYTjBZVzVqWlUxbGRISnBZeUI3WEc0Z0lDQWdZMjl1YzNRZ1pHbGpkRG9nZXlCYmEyVjVPaUJ6ZEhKcGJtZGRPbHh1SUNBZ0lDQWdlMXRyWlhreU9pQnpkSEpwYm1kZE9pQkVhWE4wWVc1alpVMWxkSEpwWXlCOElDZ29iM0IwY3pvZ1lXNTVLU0E5UGlCRWFYTjBZVzVqWlUxbGRISnBZeWw5WEc0Z0lDQWdmU0E5SUVGMllXbHNZV0pzWlUxbGRISnBZM003WEc0Z0lDQWdhV1lnS0NGa2FXTjBMbWhoYzA5M2JsQnliM0JsY25SNUtIUm9hWE11WkdGMFlWUjVjR1VwSUh4OElDRmthV04wVzNSb2FYTXVaR0YwWVZSNWNHVmRMbWhoYzA5M2JsQnliM0JsY25SNUtIUm9hWE11YldWMGFHOWtLU2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdWVzVyYm05M2JpQnRaV0Z6ZFhKbElDUjdkR2hwY3k1dFpYUm9iMlI5SUdadmNpQmtZWFJoSUhSNWNHVWdKSHQwYUdsekxtUmhkR0ZVZVhCbGZXQXBPMXh1SUNBZ0lISmxkSFZ5YmlCcGMwMWhZM0p2VFc5c1pXTjFiR1ZOWlhSeWFXTW9kR2hwY3k1dFpYUm9iMlFwSUQ5Y2JpQWdJQ0FnSUNoa2FXTjBXM1JvYVhNdVpHRjBZVlI1Y0dWZFczUm9hWE11YldWMGFHOWtYU0JoY3lBb0tHOXdkSE02SUdGdWVTa2dQVDRnUkdsemRHRnVZMlZOWlhSeWFXTXBLU2h2Y0hSektTQTZYRzRnSUNBZ0lDQmthV04wVzNSb2FYTXVaR0YwWVZSNWNHVmRXM1JvYVhNdWJXVjBhRzlrWFNCaGN5QkVhWE4wWVc1alpVMWxkSEpwWXp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHTjFjM1J2YlNCemRISnBibWNnWkdsemRHRnVZMlVnWW5rZ2RHaGxJR2RwZG1WdUlHUmhkR0VnZEhsd1pTNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0QmRtRnBiR0ZpYkdWRVlYUmhWSGx3WlhOOUlHUmhkR0ZVZVhCbElFMWxkSEpwWXlkeklHUmhkR0VnZEhsd1pWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWRiWFgwZ1RXVjBjbWxqSUc1aGJXVnpJSGRvYVdOb0lHVjRjR1ZqZEhNZ2RHaGxJR2RwZG1WdUlHUmhkR0VnZEhsd1pWeHVJQ0FnS2lCQWJXVnRZbVZ5YjJZZ1RXVmhjM1Z5WlhKY2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCemRHRjBhV01nWjJWMFRXVjBjbWxqUW5sRVlYUmhWSGx3WlNoa1lYUmhWSGx3WlRvZ1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWektUb2djM1J5YVc1blcxMGdlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVk5aWFJ5YVdOelcyUmhkR0ZVZVhCbFhTazdYRzRnSUgxY2JseHVJQ0F2S2lvZ1VtVjBkWEp1Y3lCdFpYUnlhV01nYm1GdFpYTWdZWFpoYVd4aFlteGxMbHh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdUV1ZoYzNWeVpYSmNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnWVhaaGFXeGhZbXhsVFdWaGMzVnlaWE1vS1RvZ2MzUnlhVzVuVzEwZ2UxeHVJQ0FnSUhKbGRIVnliaUJQWW1wbFkzUXVhMlY1Y3loQmRtRnBiR0ZpYkdWTlpYUnlhV056S1R0Y2JpQWdmVnh1ZlZ4dUlsMTkiLCJpbXBvcnQgeyBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTWVhc3VyZSB9IGZyb20gJy4uL3R5cGVkLW1ldHJpY3MnO1xub25tZXNzYWdlID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZXMsIGZuTmFtZSwgc3RhcnRSb3csIHN0YXJ0Q29sLCBjaHVuY2tTaXplLCBvcHRzIH0gPSBldmVudC5kYXRhO1xuICAgIGNvbnN0IGRhdGEgPSB7fTtcbiAgICB0cnkge1xuICAgICAgICBsZXQgaSA9IHN0YXJ0Um93O1xuICAgICAgICBsZXQgaiA9IHN0YXJ0Q29sO1xuICAgICAgICBsZXQgY250ID0gMDtcbiAgICAgICAgbGV0IGxtaW4gPSAwO1xuICAgICAgICBsZXQgbG1heCA9IE51bWJlci5NSU5fVkFMVUU7XG4gICAgICAgIGNvbnN0IHJldFZhbCA9IG5ldyBGbG9hdDMyQXJyYXkoY2h1bmNrU2l6ZSk7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlRm4gPSBuZXcgTWVhc3VyZShmbk5hbWUpLmdldE1lYXN1cmUob3B0cyk7XG4gICAgICAgIHdoaWxlIChjbnQgPCBjaHVuY2tTaXplKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICFpc05pbCh2YWx1ZXNbaV0pICYmICFpc05pbCh2YWx1ZXNbal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1tpXSwgdmFsdWVzW2pdKSA6IDE7XG4gICAgICAgICAgICByZXRWYWxbY250XSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHZhbHVlIDwgbG1pbilcbiAgICAgICAgICAgICAgICBsbWluID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodmFsdWUgPiBsbWF4KVxuICAgICAgICAgICAgICAgIGxtYXggPSB2YWx1ZTtcbiAgICAgICAgICAgIGNudCsrO1xuICAgICAgICAgICAgaisrO1xuICAgICAgICAgICAgaWYgKGogPT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICAgICAgaiA9IGkgKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRhdGEuZGlzdGFuY2VNYXRyaXhEYXRhID0gcmV0VmFsO1xuICAgICAgICBkYXRhLm1pbiA9IGxtaW47XG4gICAgICAgIGRhdGEubWF4ID0gbG1heDtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgZGF0YS5lcnJvciA9IGU7XG4gICAgfVxuICAgIHBvc3RNZXNzYWdlKGRhdGEpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHbHpkR0Z1WTJVdGJXRjBjbWw0TFhkdmNtdGxjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltUnBjM1JoYm1ObExXMWhkSEpwZUMxM2IzSnJaWEl1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNUMEZCVHl4RlFVRkRMRXRCUVVzc1JVRkJReXhOUVVGTkxGTkJRVk1zUTBGQlF6dEJRVU01UWl4UFFVRlBMRVZCUVVNc1QwRkJUeXhGUVVGRExFMUJRVTBzYTBKQlFXdENMRU5CUVVNN1FVRkZla01zVTBGQlV5eEhRVUZITEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVN1NVRkRjRUlzVFVGQlRTeEZRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxGRkJRVkVzUlVGQlJTeFZRVUZWTEVWQlFVVXNTVUZCU1N4RlFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF6dEpRVU14UlN4TlFVRk5MRWxCUVVrc1IwRkJhMFlzUlVGQlJTeERRVUZETzBsQlF5OUdMRWxCUVVrN1VVRkRSaXhKUVVGSkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVOQlFVTTdVVUZEYWtJc1NVRkJTU3hEUVVGRExFZEJRVWNzVVVGQlVTeERRVUZETzFGQlEycENMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5hTEVsQlFVa3NTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOaUxFbEJRVWtzU1VGQlNTeEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNN1VVRkROVUlzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4WlFVRlpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRE5VTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM2hFTEU5QlFVOHNSMEZCUnl4SFFVRkhMRlZCUVZVc1JVRkJSVHRaUVVOMlFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOd1JDeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGRrTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dFpRVU53UWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhKUVVGSk8yZENRVU5rTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRaaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eEpRVUZKTzJkQ1FVTmtMRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU03V1VGRFppeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTk9MRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRMG9zU1VGQlNTeERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSVHRuUWtGRGRrSXNRMEZCUXl4RlFVRkZMRU5CUVVNN1owSkJRMG9zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRXRHRUUVVOR08xRkJRMFFzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhIUVVGSExFMUJRVTBzUTBGQlF6dFJRVU5xUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU5vUWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF6dExRVU5xUWp0SlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8xRkJRMVlzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1MwRkRhRUk3U1VGRFJDeFhRVUZYTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1FVRkRjRUlzUTBGQlF5eERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0cGMwNXBiSDBnWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdlMDFsWVhOMWNtVjlJR1p5YjIwZ0p5NHVMM1I1Y0dWa0xXMWxkSEpwWTNNbk8xeHVYRzV2Ym0xbGMzTmhaMlVnUFNBb1pYWmxiblFwSUQwK0lIdGNiaUFnWTI5dWMzUWdlM1poYkhWbGN5d2dabTVPWVcxbExDQnpkR0Z5ZEZKdmR5d2djM1JoY25SRGIyd3NJR05vZFc1amExTnBlbVVzSUc5d2RITjlJRDBnWlhabGJuUXVaR0YwWVR0Y2JpQWdZMjl1YzNRZ1pHRjBZVG9nZXlCbGNuSnZjajg2SUdGdWVTd2daR2x6ZEdGdVkyVk5ZWFJ5YVhoRVlYUmhQem9nUm14dllYUXpNa0Z5Y21GNUxDQnRhVzQvT2lCdWRXMWlaWElzSUcxaGVEODZJRzUxYldKbGNuMGdQU0I3ZlR0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JzWlhRZ2FTQTlJSE4wWVhKMFVtOTNPMXh1SUNBZ0lHeGxkQ0JxSUQwZ2MzUmhjblJEYjJ3N1hHNGdJQ0FnYkdWMElHTnVkQ0E5SURBN1hHNGdJQ0FnYkdWMElHeHRhVzRnUFNBd08xeHVJQ0FnSUd4bGRDQnNiV0Y0SUQwZ1RuVnRZbVZ5TGsxSlRsOVdRVXhWUlR0Y2JpQWdJQ0JqYjI1emRDQnlaWFJXWVd3Z1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtHTm9kVzVqYTFOcGVtVXBPMXh1SUNBZ0lHTnZibk4wSUdScGMzUmhibU5sUm00Z1BTQnVaWGNnVFdWaGMzVnlaU2htYms1aGJXVXBMbWRsZEUxbFlYTjFjbVVvYjNCMGN5azdYRzRnSUNBZ2QyaHBiR1VnS0dOdWRDQThJR05vZFc1amExTnBlbVVwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFpoYkhWbElEMGdJV2x6VG1sc0tIWmhiSFZsYzF0cFhTa2dKaVlnSVdselRtbHNLSFpoYkhWbGMxdHFYU2tnUDF4dUlDQWdJQ0FnSUNCa2FYTjBZVzVqWlVadUtIWmhiSFZsYzF0cFhTd2dkbUZzZFdWelcycGRLU0E2SURFN1hHNGdJQ0FnSUNCeVpYUldZV3hiWTI1MFhTQTlJSFpoYkhWbE8xeHVJQ0FnSUNBZ2FXWWdLSFpoYkhWbElEd2diRzFwYmlsY2JpQWdJQ0FnSUNBZ2JHMXBiaUE5SUhaaGJIVmxPMXh1SUNBZ0lDQWdhV1lnS0haaGJIVmxJRDRnYkcxaGVDbGNiaUFnSUNBZ0lDQWdiRzFoZUNBOUlIWmhiSFZsTzF4dUlDQWdJQ0FnWTI1MEt5czdYRzRnSUNBZ0lDQnFLeXM3WEc0Z0lDQWdJQ0JwWmlBb2FpQTlQVDBnZG1Gc2RXVnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0JwS3lzN1hHNGdJQ0FnSUNBZ0lHb2dQU0JwSUNzZ01UdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnWkdGMFlTNWthWE4wWVc1alpVMWhkSEpwZUVSaGRHRWdQU0J5WlhSV1lXdzdYRzRnSUNBZ1pHRjBZUzV0YVc0Z1BTQnNiV2x1TzF4dUlDQWdJR1JoZEdFdWJXRjRJRDBnYkcxaGVEdGNiaUFnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUdSaGRHRXVaWEp5YjNJZ1BTQmxPMXh1SUNCOVhHNGdJSEJ2YzNSTlpYTnpZV2RsS0dSaGRHRXBPMXh1ZlR0Y2JpSmRmUT09IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4vLyB0aGUgc3RhcnR1cCBmdW5jdGlvblxuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcblx0Ly8gVGhpcyBlbnRyeSBtb2R1bGUgZGVwZW5kcyBvbiBvdGhlciBsb2FkZWQgY2h1bmtzIGFuZCBleGVjdXRpb24gbmVlZCB0byBiZSBkZWxheWVkXG5cdHZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHVuZGVmaW5lZCwgWzUzNSw1MjFdLCAoKSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXyg2OTU5KSkpXG5cdF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8oX193ZWJwYWNrX2V4cG9ydHNfXyk7XG5cdHJldHVybiBfX3dlYnBhY2tfZXhwb3J0c19fO1xufTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5mID0ge307XG4vLyBUaGlzIGZpbGUgY29udGFpbnMgb25seSB0aGUgZW50cnkgY2h1bmsuXG4vLyBUaGUgY2h1bmsgbG9hZGluZyBmdW5jdGlvbiBmb3IgYWRkaXRpb25hbCBjaHVua3Ncbl9fd2VicGFja19yZXF1aXJlX18uZSA9IChjaHVua0lkKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLmYpLnJlZHVjZSgocHJvbWlzZXMsIGtleSkgPT4ge1xuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZltrZXldKGNodW5rSWQsIHByb21pc2VzKTtcblx0XHRyZXR1cm4gcHJvbWlzZXM7XG5cdH0sIFtdKSk7XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rcyBhbmQgc2libGluZyBjaHVua3MgZm9yIHRoZSBlbnRyeXBvaW50XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnUgPSAoY2h1bmtJZCkgPT4ge1xuXHQvLyByZXR1cm4gdXJsIGZvciBmaWxlbmFtZXMgYmFzZWQgb24gdGVtcGxhdGVcblx0cmV0dXJuIFwiXCIgKyBjaHVua0lkICsgXCIuanNcIjtcbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5nID0gKGZ1bmN0aW9uKCkge1xuXHRpZiAodHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnKSByZXR1cm4gZ2xvYmFsVGhpcztcblx0dHJ5IHtcblx0XHRyZXR1cm4gdGhpcyB8fCBuZXcgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGlmICh0eXBlb2Ygd2luZG93ID09PSAnb2JqZWN0JykgcmV0dXJuIHdpbmRvdztcblx0fVxufSkoKTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwidmFyIHNjcmlwdFVybDtcbmlmIChfX3dlYnBhY2tfcmVxdWlyZV9fLmcuaW1wb3J0U2NyaXB0cykgc2NyaXB0VXJsID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmxvY2F0aW9uICsgXCJcIjtcbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18uZy5kb2N1bWVudDtcbmlmICghc2NyaXB0VXJsICYmIGRvY3VtZW50KSB7XG5cdGlmIChkb2N1bWVudC5jdXJyZW50U2NyaXB0KVxuXHRcdHNjcmlwdFVybCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjO1xuXHRpZiAoIXNjcmlwdFVybCkge1xuXHRcdHZhciBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIik7XG5cdFx0aWYoc2NyaXB0cy5sZW5ndGgpIHtcblx0XHRcdHZhciBpID0gc2NyaXB0cy5sZW5ndGggLSAxO1xuXHRcdFx0d2hpbGUgKGkgPiAtMSAmJiAhc2NyaXB0VXJsKSBzY3JpcHRVcmwgPSBzY3JpcHRzW2ktLV0uc3JjO1xuXHRcdH1cblx0fVxufVxuLy8gV2hlbiBzdXBwb3J0aW5nIGJyb3dzZXJzIHdoZXJlIGFuIGF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgeW91IG11c3Qgc3BlY2lmeSBhbiBvdXRwdXQucHVibGljUGF0aCBtYW51YWxseSB2aWEgY29uZmlndXJhdGlvblxuLy8gb3IgcGFzcyBhbiBlbXB0eSBzdHJpbmcgKFwiXCIpIGFuZCBzZXQgdGhlIF9fd2VicGFja19wdWJsaWNfcGF0aF9fIHZhcmlhYmxlIGZyb20geW91ciBjb2RlIHRvIHVzZSB5b3VyIG93biBsb2dpYy5cbmlmICghc2NyaXB0VXJsKSB0aHJvdyBuZXcgRXJyb3IoXCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlclwiKTtcbnNjcmlwdFVybCA9IHNjcmlwdFVybC5yZXBsYWNlKC8jLiokLywgXCJcIikucmVwbGFjZSgvXFw/LiokLywgXCJcIikucmVwbGFjZSgvXFwvW15cXC9dKyQvLCBcIi9cIik7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBzY3JpcHRVcmw7IiwiLy8gbm8gYmFzZVVSSVxuXG4vLyBvYmplY3QgdG8gc3RvcmUgbG9hZGVkIGNodW5rc1xuLy8gXCIxXCIgbWVhbnMgXCJhbHJlYWR5IGxvYWRlZFwiXG52YXIgaW5zdGFsbGVkQ2h1bmtzID0ge1xuXHQ5NTk6IDFcbn07XG5cbi8vIGltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZ1xudmFyIGluc3RhbGxDaHVuayA9IChkYXRhKSA9PiB7XG5cdHZhciBbY2h1bmtJZHMsIG1vcmVNb2R1bGVzLCBydW50aW1lXSA9IGRhdGE7XG5cdGZvcih2YXIgbW9kdWxlSWQgaW4gbW9yZU1vZHVsZXMpIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8obW9yZU1vZHVsZXMsIG1vZHVsZUlkKSkge1xuXHRcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tW21vZHVsZUlkXSA9IG1vcmVNb2R1bGVzW21vZHVsZUlkXTtcblx0XHR9XG5cdH1cblx0aWYocnVudGltZSkgcnVudGltZShfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblx0d2hpbGUoY2h1bmtJZHMubGVuZ3RoKVxuXHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkcy5wb3AoKV0gPSAxO1xuXHRwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbihkYXRhKTtcbn07XG5fX3dlYnBhY2tfcmVxdWlyZV9fLmYuaSA9IChjaHVua0lkLCBwcm9taXNlcykgPT4ge1xuXHQvLyBcIjFcIiBpcyB0aGUgc2lnbmFsIGZvciBcImFscmVhZHkgbG9hZGVkXCJcblx0aWYoIWluc3RhbGxlZENodW5rc1tjaHVua0lkXSkge1xuXHRcdGlmKHRydWUpIHsgLy8gYWxsIGNodW5rcyBoYXZlIEpTXG5cdFx0XHRpbXBvcnRTY3JpcHRzKF9fd2VicGFja19yZXF1aXJlX18ucCArIF9fd2VicGFja19yZXF1aXJlX18udShjaHVua0lkKSk7XG5cdFx0fVxuXHR9XG59O1xuXG52YXIgY2h1bmtMb2FkaW5nR2xvYmFsID0gc2VsZltcIndlYnBhY2tDaHVua3BlcHRpZGVzXCJdID0gc2VsZltcIndlYnBhY2tDaHVua3BlcHRpZGVzXCJdIHx8IFtdO1xudmFyIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uID0gY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpO1xuY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2ggPSBpbnN0YWxsQ2h1bms7XG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3QiLCIvLyBydW4gc3RhcnR1cFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLngoKTtcbiJdLCJuYW1lcyI6WyJkZWZlcnJlZCIsIm5leHQiLCJ2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiRXVjbGlkZWFuIiwic3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIkxldmVuc2h0ZWluIiwiSmFyb1dpbmtsZXIiLCJNYW5oYXR0YW4iLCJzMSIsInMyIiwibGVuZ3RoIiwiZGlzdCIsImkiLCJiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJUYW5pbW90byIsIkRpY2UiLCJBc3ltbWV0cmljIiwiQnJhdW5CbGFucXVldCIsIkNvc2luZSIsIkt1bGN6eW5za2kiLCJNY0Nvbm5hdWdoZXkiLCJSb2dvdEdvbGRiZXJnIiwiUnVzc2VsIiwiU29rYWwiLCJIYW1taW5nIiwibnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIk51bWVyaWNEaXN0YW5jZSIsIkF2YWlsYWJsZU1ldHJpY3MiLCJWZWN0b3IiLCJTdHJpbmciLCJCaXRBcnJheSIsIk1hY3JvTW9sZWN1bGUiLCJIQU1NSU5HIiwiTEVWRU5TSFRFSU4iLCJORUVETEVNQU5OX1dVTlNDSCIsIk51bWJlciIsIk1ldHJpY1RvRGF0YVR5cGUiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicmV0Iiwia2V5IiwidmFsIiwiTWVhc3VyZSIsImNvbnN0cnVjdG9yIiwibWV0aG9kIiwidGhpcyIsImRhdGFUeXBlIiwiZ2V0TWVhc3VyZSIsIm9wdHMiLCJkaWN0IiwiaGFzT3duUHJvcGVydHkiLCJFcnJvciIsIm5hbWUiLCJ0b1N0cmluZyIsImdldE1ldHJpY0J5RGF0YVR5cGUiLCJhdmFpbGFibGVNZWFzdXJlcyIsIm9ubWVzc2FnZSIsImV2ZW50IiwidmFsdWVzIiwiZm5OYW1lIiwic3RhcnRSb3ciLCJzdGFydENvbCIsImNodW5ja1NpemUiLCJkYXRhIiwiaiIsImNudCIsImxtaW4iLCJsbWF4IiwiTUlOX1ZBTFVFIiwicmV0VmFsIiwiRmxvYXQzMkFycmF5IiwiZGlzdGFuY2VGbiIsInZhbHVlIiwiZGlzdGFuY2VNYXRyaXhEYXRhIiwibWluIiwibWF4IiwiZSIsImVycm9yIiwicG9zdE1lc3NhZ2UiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJ1bmRlZmluZWQiLCJleHBvcnRzIiwibW9kdWxlIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsIm0iLCJ4IiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsIk8iLCJyZXN1bHQiLCJjaHVua0lkcyIsImZuIiwicHJpb3JpdHkiLCJub3RGdWxmaWxsZWQiLCJJbmZpbml0eSIsImZ1bGZpbGxlZCIsImV2ZXJ5Iiwic3BsaWNlIiwiciIsImQiLCJkZWZpbml0aW9uIiwibyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsImYiLCJjaHVua0lkIiwiUHJvbWlzZSIsImFsbCIsInByb21pc2VzIiwidSIsImciLCJnbG9iYWxUaGlzIiwiRnVuY3Rpb24iLCJ3aW5kb3ciLCJvYmoiLCJwcm9wIiwicHJvdG90eXBlIiwiY2FsbCIsInNjcmlwdFVybCIsImltcG9ydFNjcmlwdHMiLCJsb2NhdGlvbiIsImRvY3VtZW50IiwiY3VycmVudFNjcmlwdCIsInNyYyIsInNjcmlwdHMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInJlcGxhY2UiLCJwIiwiaW5zdGFsbGVkQ2h1bmtzIiwiY2h1bmtMb2FkaW5nR2xvYmFsIiwic2VsZiIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwicHVzaCIsImJpbmQiLCJtb3JlTW9kdWxlcyIsInJ1bnRpbWUiLCJwb3AiLCJ0aGVuIl0sInNvdXJjZVJvb3QiOiIifQ==
|
|
1
|
+
var peptides;(()=>{"use strict";var e,t,r={959:(e,t,r)=>{var a=r(814),n=r(40),o=r(811),i=r(979),s=r(697),c=r(850),g=r(489);const l={[n.CF.Euclidean]:c.dP},u={[n.W.Levenshtein]:o.T,[n.W.JaroWinkler]:i.H$,[n.W.Manhattan]:function(e,t){if(e.length!==t.length)return 1;{let r=0;for(let a=1;a<e.length;a++)r+=e[a]==t[a]?0:1;return r/e.length}}},h={[n.gk.Tanimoto]:s.KR,[n.gk.Dice]:s._h,[n.gk.Asymmetric]:s.yU,[n.gk.BraunBlanquet]:s.Dz,[n.gk.Cosine]:s.Zd,[n.gk.Kulczynski]:s.s,[n.gk.McConnaughey]:s.aW,[n.gk.RogotGoldberg]:s.MI,[n.gk.Russel]:s.fX,[n.gk.Sokal]:s.NB,[n.gk.Hamming]:s.UX,[n.gk.Euclidean]:s.WI},k={[n.Yc.NumericDistance]:s.bX},p={[n.Qe.Vector]:{[n.CF.Euclidean]:l[n.CF.Euclidean]},[n.Qe.String]:{[n.W.Levenshtein]:u[n.W.Levenshtein],[n.W.JaroWinkler]:u[n.W.JaroWinkler],[n.W.Manhattan]:u[n.W.Manhattan]},[n.Qe.BitArray]:{[n.gk.Tanimoto]:h[n.gk.Tanimoto],[n.gk.Dice]:h[n.gk.Dice],[n.gk.Asymmetric]:h[n.gk.Asymmetric],[n.gk.BraunBlanquet]:h[n.gk.BraunBlanquet],[n.gk.Cosine]:h[n.gk.Cosine],[n.gk.Kulczynski]:h[n.gk.Kulczynski],[n.gk.McConnaughey]:h[n.gk.McConnaughey],[n.gk.RogotGoldberg]:h[n.gk.RogotGoldberg],[n.gk.Russel]:h[n.gk.Russel],[n.gk.Sokal]:h[n.gk.Sokal]},[n.Qe.MacroMolecule]:{[g.U.HAMMING]:g.o[g.U.HAMMING],[g.U.LEVENSHTEIN]:g.o[g.U.LEVENSHTEIN],[g.U.NEEDLEMANN_WUNSCH]:g.o[g.U.NEEDLEMANN_WUNSCH]},[n.Qe.Number]:{[n.Yc.NumericDistance]:k[n.Yc.NumericDistance]}},d=Object.keys(p).reduce(((e,t)=>{for(const r of Object.keys(p[t]))e[r]=t;return e}),{});class m{constructor(e){this.method=e,this.dataType=d[e]}getMeasure(e){const t=p;if(!t.hasOwnProperty(this.dataType)||!t[this.dataType].hasOwnProperty(this.method))throw new Error(`Unknown measure ${this.method} for data type ${this.dataType}`);return r=this.method,d[r]==n.Qe.MacroMolecule.toString()?t[this.dataType][this.method](e):t[this.dataType][this.method];var r}static getMetricByDataType(e){return Object.keys(p[e])}static get availableMeasures(){return Object.keys(p)}}onmessage=e=>{const{values:t,fnName:r,startRow:n,startCol:o,chunckSize:i,opts:s}=e.data,c={};try{let e=n,g=o,l=0,u=0,h=Number.MIN_VALUE;const k=new Float32Array(i),p=new m(r).getMeasure(s);for(;l<i;){const r=(0,a.k)(t[e])||(0,a.k)(t[g])?1:p(t[e],t[g]);k[l]=r,r<u&&(u=r),r>h&&(h=r),l++,g++,g===t.length&&(e++,g=e+1)}c.distanceMatrixData=k,c.min=u,c.max=h}catch(e){c.error=e}postMessage(c)}}},a={};function n(e){var t=a[e];if(void 0!==t)return t.exports;var o=a[e]={exports:{}};return r[e](o,o.exports,n),o.exports}n.m=r,n.x=()=>{var e=n.O(void 0,[677,521],(()=>n(959)));return n.O(e)},e=[],n.O=(t,r,a,o)=>{if(!r){var i=1/0;for(l=0;l<e.length;l++){for(var[r,a,o]=e[l],s=!0,c=0;c<r.length;c++)(!1&o||i>=o)&&Object.keys(n.O).every((e=>n.O[e](r[c])))?r.splice(c--,1):(s=!1,o<i&&(i=o));if(s){e.splice(l--,1);var g=a();void 0!==g&&(t=g)}}return t}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[r,a,o]},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>e+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&!e;)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={959:1};n.f.i=(t,r)=>{e[t]||importScripts(n.p+n.u(t))};var t=self.webpackChunkpeptides=self.webpackChunkpeptides||[],r=t.push.bind(t);t.push=t=>{var[a,o,i]=t;for(var s in o)n.o(o,s)&&(n.m[s]=o[s]);for(i&&i(n);a.length;)e[a.pop()]=1;r(t)}})(),t=n.x,n.x=()=>Promise.all([n.e(677),n.e(521)]).then(t);var o=n.x();peptides=o})();
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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WyJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2NodW5rIGxvYWRlZCIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvc3RhcnR1cCBjaHVuayBkZXBlbmRlbmNpZXMiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdHlwZWQtbWV0cmljcy90eXBlZC1tZXRyaWNzLmpzIiwid2VicGFjazovL3BlcHRpZGVzLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC9kaXN0YW5jZS1tYXRyaXgtd29ya2VyLmpzIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvZW5zdXJlIGNodW5rIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9nZXQgamF2YXNjcmlwdCBjaHVuayBmaWxlbmFtZSIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvZ2xvYmFsIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2ltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZyIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3N0YXJ0dXAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlZmVycmVkID0gW107XG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8gPSAocmVzdWx0LCBjaHVua0lkcywgZm4sIHByaW9yaXR5KSA9PiB7XG5cdGlmKGNodW5rSWRzKSB7XG5cdFx0cHJpb3JpdHkgPSBwcmlvcml0eSB8fCAwO1xuXHRcdGZvcih2YXIgaSA9IGRlZmVycmVkLmxlbmd0aDsgaSA+IDAgJiYgZGVmZXJyZWRbaSAtIDFdWzJdID4gcHJpb3JpdHk7IGktLSkgZGVmZXJyZWRbaV0gPSBkZWZlcnJlZFtpIC0gMV07XG5cdFx0ZGVmZXJyZWRbaV0gPSBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV07XG5cdFx0cmV0dXJuO1xuXHR9XG5cdHZhciBub3RGdWxmaWxsZWQgPSBJbmZpbml0eTtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBkZWZlcnJlZC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV0gPSBkZWZlcnJlZFtpXTtcblx0XHR2YXIgZnVsZmlsbGVkID0gdHJ1ZTtcblx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGNodW5rSWRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRpZiAoKHByaW9yaXR5ICYgMSA9PT0gMCB8fCBub3RGdWxmaWxsZWQgPj0gcHJpb3JpdHkpICYmIE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uTykuZXZlcnkoKGtleSkgPT4gKF9fd2VicGFja19yZXF1aXJlX18uT1trZXldKGNodW5rSWRzW2pdKSkpKSB7XG5cdFx0XHRcdGNodW5rSWRzLnNwbGljZShqLS0sIDEpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZnVsZmlsbGVkID0gZmFsc2U7XG5cdFx0XHRcdGlmKHByaW9yaXR5IDwgbm90RnVsZmlsbGVkKSBub3RGdWxmaWxsZWQgPSBwcmlvcml0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYoZnVsZmlsbGVkKSB7XG5cdFx0XHRkZWZlcnJlZC5zcGxpY2UoaS0tLCAxKVxuXHRcdFx0dmFyIHIgPSBmbigpO1xuXHRcdFx0aWYgKHIgIT09IHVuZGVmaW5lZCkgcmVzdWx0ID0gcjtcblx0XHR9XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn07IiwidmFyIG5leHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLng7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChbXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDY3NyksXG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5lKDUyMSlcblx0XSkudGhlbihuZXh0KTtcbn07IiwiaW1wb3J0ICogYXMgZmwgZnJvbSAnZmFzdGVzdC1sZXZlbnNodGVpbic7XG5pbXBvcnQgeyBqYXJvV2lua2xlciB9IGZyb20gJ2phcm8td2lua2xlci10eXBlc2NyaXB0JztcbmltcG9ydCB7IGFzeW1tZXRyaWNEaXN0YW5jZSwgYnJhdW5CbGFucXVldERpc3RhbmNlLCBjb3NpbmVEaXN0YW5jZSwgZGljZURpc3RhbmNlLCBldWNsaWRlYW5EaXN0YW5jZSwgaGFtbWluZ0Rpc3RhbmNlLCBrdWxjenluc2tpRGlzdGFuY2UsIG1jQ29ubmF1Z2hleURpc3RhbmNlLCByb2dvdEdvbGRiZXJnRGlzdGFuY2UsIHJ1c3NlbERpc3RhbmNlLCBzb2thbERpc3RhbmNlLCB0YW5pbW90b0Rpc3RhbmNlLCBudW1lcmljRGlzdGFuY2UsIH0gZnJvbSAnLi4vZGlzdGFuY2UtbWV0cmljcy1tZXRob2RzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlIH0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvdmVjdG9yLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgbW1EaXN0YW5jZUZ1bmN0aW9ucywgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzIH0gZnJvbSAnLi4vbWFjcm9tb2xlY3VsZS1kaXN0YW5jZS1mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMsIEJpdEFycmF5TWV0cmljc05hbWVzLCBTdHJpbmdNZXRyaWNzTmFtZXMsIFZlY3Rvck1ldHJpY3NOYW1lcywgTnVtYmVyTWV0cmljc05hbWVzIH0gZnJvbSAnLi9jb25zdHMnO1xuZXhwb3J0IGNvbnN0IHZlY3RvckRpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW1ZlY3Rvck1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3Qgc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLkxldmVuc2h0ZWluXTogZmwuZGlzdGFuY2UsXG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl06IGphcm9XaW5rbGVyLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogbWFuaGF0dGFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtOdW1iZXJNZXRyaWNzTmFtZXMuTnVtZXJpY0Rpc3RhbmNlXTogbnVtZXJpY0Rpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBBdmFpbGFibGVNZXRyaWNzID0ge1xuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5WZWN0b3JdOiB7XG4gICAgICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5TdHJpbmddOiB7XG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5CaXRBcnJheV06IHtcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGVdOiB7XG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuSEFNTUlOR106IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkddLFxuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTEVWRU5TSFRFSU5dLFxuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk5FRURMRU1BTk5fV1VOU0NIXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlcl06IHtcbiAgICAgICAgW051bWJlck1ldHJpY3NOYW1lcy5OdW1lcmljRGlzdGFuY2VdOiBudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzW051bWJlck1ldHJpY3NOYW1lcy5OdW1lcmljRGlzdGFuY2VdLFxuICAgIH1cbn07XG5leHBvcnQgY29uc3QgTWV0cmljVG9EYXRhVHlwZSA9IE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpXG4gICAgLnJlZHVjZSgocmV0LCBrZXkpID0+IHtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2tleV0pKVxuICAgICAgICByZXRbdmFsXSA9IGtleTtcbiAgICByZXR1cm4gcmV0O1xufSwge30pO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnU3RyaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdEFycmF5TWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnQml0QXJyYXknO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmVjdG9yTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnVmVjdG9yJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc01hY3JvTW9sZWN1bGVNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGUudG9TdHJpbmcoKTtcbn1cbi8qKiBNYW5oYXR0YW4gZGlzdGFuY2UgYmV0d2VlbiB0d28gc2VxdWVuY2VzIChtYXRjaCAtIDAsIG1pc21hdGNoIC0gMSkgbm9ybWFsaXplZCBmb3IgbGVuZ3RoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hbmhhdHRhbkRpc3RhbmNlKHMxLCBzMikge1xuICAgIGlmIChzMS5sZW5ndGggIT09IHMyLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkaXN0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzMS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGRpc3QgKz0gczFbaV0gPT0gczJbaV0gPyAwIDogMTtcbiAgICAgICAgcmV0dXJuIGRpc3QgLyBzMS5sZW5ndGg7XG4gICAgfVxufVxuLyoqIFVuaWZpZWQgY2xhc3MgaW1wbGVtZW50aW5nIGRpZmZlcmVudCBzdHJpbmcgbWVhc3VyZXMuICovXG5leHBvcnQgY2xhc3MgTWVhc3VyZSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBNZWFzdXJlIHdpdGggLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgTWV0aG9kIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHN0cmluZ3MuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IobWV0aG9kKSB7XG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kO1xuICAgICAgICB0aGlzLmRhdGFUeXBlID0gTWV0cmljVG9EYXRhVHlwZVttZXRob2RdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1c3RvbSBzdHJpbmcgZGlzdGFuY2UgZnVuY3Rpb24gc3BlY2lmaWVkLlxuICAgICAqIEBwYXJhbSB7b3B0c30gb3B0cyBPcHRpb25zIGZvciB0aGUgbWVhc3VyZS4gdXNlZCBmb3IgbWFjcm9tb2xlY3VsZSBkaXN0YW5jZXNcbiAgICAgKiBAcmV0dXJuIHtEaXN0YW5jZU1ldHJpY30gQ2FsbGJhY2sgb2YgdGhlIG1lYXN1cmUgY2hvc2VuLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGdldE1lYXN1cmUob3B0cykge1xuICAgICAgICBjb25zdCBkaWN0ID0gQXZhaWxhYmxlTWV0cmljcztcbiAgICAgICAgaWYgKCFkaWN0Lmhhc093blByb3BlcnR5KHRoaXMuZGF0YVR5cGUpIHx8ICFkaWN0W3RoaXMuZGF0YVR5cGVdLmhhc093blByb3BlcnR5KHRoaXMubWV0aG9kKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBtZWFzdXJlICR7dGhpcy5tZXRob2R9IGZvciBkYXRhIHR5cGUgJHt0aGlzLmRhdGFUeXBlfWApO1xuICAgICAgICByZXR1cm4gaXNNYWNyb01vbGVjdWxlTWV0cmljKHRoaXMubWV0aG9kKSA/XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXShvcHRzKSA6XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXN0b20gc3RyaW5nIGRpc3RhbmNlIGJ5IHRoZSBnaXZlbiBkYXRhIHR5cGUuXG4gICAgICogQHBhcmFtIHtBdmFpbGFibGVEYXRhVHlwZXN9IGRhdGFUeXBlIE1ldHJpYydzIGRhdGEgdHlwZVxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBNZXRyaWMgbmFtZXMgd2hpY2ggZXhwZWN0cyB0aGUgZ2l2ZW4gZGF0YSB0eXBlXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldE1ldHJpY0J5RGF0YVR5cGUoZGF0YVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3NbZGF0YVR5cGVdKTtcbiAgICB9XG4gICAgLyoqIFJldHVybnMgbWV0cmljIG5hbWVzIGF2YWlsYWJsZS5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IGF2YWlsYWJsZU1lYXN1cmVzKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljcyk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pXUXRiV1YwY21samN5NXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SNWNHVmtMVzFsZEhKcFkzTXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhMUVVGTExFVkJRVVVzVFVGQlRTeHhRa0ZCY1VJc1EwRkJRenRCUVVNeFF5eFBRVUZQTEVWQlFVTXNWMEZCVnl4RlFVRkRMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZGY0VRc1QwRkJUeXhGUVVOTUxHdENRVUZyUWl4RlFVTnNRaXh4UWtGQmNVSXNSVUZEY2tJc1kwRkJZeXhGUVVOa0xGbEJRVmtzUlVGRFdpeHBRa0ZCYVVJc1JVRkRha0lzWlVGQlpTeEZRVU5tTEd0Q1FVRnJRaXhGUVVOc1FpeHZRa0ZCYjBJc1JVRkRjRUlzY1VKQlFYRkNMRVZCUTNKQ0xHTkJRV01zUlVGRFpDeGhRVUZoTEVWQlEySXNaMEpCUVdkQ0xFVkJRMmhDTEdWQlFXVXNSMEZEYUVJc1RVRkJUU3cyUWtGQk5rSXNRMEZCUXp0QlFVVnlReXhQUVVGUExFVkJRVU1zTUVKQlFUQkNMRVZCUVVNc1RVRkJUU3hwUkVGQmFVUXNRMEZCUXp0QlFVY3pSaXhQUVVGUExFVkJRVU1zYlVKQlFXMUNMRVZCUVVVc2QwSkJRWGRDTEVWQlFVTXNUVUZCVFN4eFEwRkJjVU1zUTBGQlF6dEJRVU5zUnl4UFFVRlBMRVZCUVVNc2RVSkJRWFZDTEVWQlFVVXNiMEpCUVc5Q0xFVkJRMjVFTEd0Q1FVRnJRaXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMR3RDUVVGclFpeEZRVUZETEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUnpsRkxFMUJRVTBzUTBGQlF5eE5RVUZOTERSQ1FVRTBRaXhIUVVGNVJEdEpRVU5vUnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMREJDUVVFd1FqdERRVU16UkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzTkVKQlFUUkNMRWRCUVhsRU8wbEJRMmhITEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRkZCUVZFN1NVRkROME1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTeFhRVUZYTzBsQlF6ZERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc2FVSkJRV2xDTzBOQlEyeEVMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTdzRRa0ZCT0VJc1IwRkJOa1E3U1VGRGRFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGRGFrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4WlFVRlpPMGxCUTNwRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzYTBKQlFXdENPMGxCUTNKRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVVzY1VKQlFYRkNPMGxCUXpORUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzWTBGQll6dEpRVU0zUXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU55UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZMRzlDUVVGdlFqdEpRVU42UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMSEZDUVVGeFFqdEpRVU16UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkROME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeGhRVUZoTzBsQlF6TkRMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1pVRkJaVHRKUVVNdlF5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRanREUVVOd1JDeERRVUZETzBGQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc05FSkJRVFJDTEVkQlFYbEVPMGxCUTJoSExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1pVRkJaU3hEUVVGRExFVkJRVVVzWlVGQlpUdERRVU4wUkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzWjBKQlFXZENMRWRCUVVjN1NVRkRPVUlzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJUdFJRVU5vUXl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRFJDUVVFMFFpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExGTkJRVk1zUTBGQlF6dExRVU16Ump0SlFVTkVMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1VVRkRhRU1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRPVVlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRPVVlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNN1MwRkRNMFk3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTzFGQlEyeERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVVVGQlVTeERRVUZETzFGQlF6bEdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETzFGQlEzUkdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETzFGQlEyeEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETzFGQlEzaEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6RkdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETzFGQlEyeEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNXVUZCV1N4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zV1VGQldTeERRVUZETzFGQlEzUkhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETzFGQlEzaEhMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6RkdMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETzB0QlEzcEdPMGxCUTBRc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1JVRkJSVHRSUVVOMlF5eERRVUZETEhkQ1FVRjNRaXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExIZENRVUYzUWl4RFFVRkRMRTlCUVU4c1EwRkJRenRSUVVONlJpeERRVUZETEhkQ1FVRjNRaXhEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExIZENRVUYzUWl4RFFVRkRMRmRCUVZjc1EwRkJRenRSUVVOcVJ5eERRVUZETEhkQ1FVRjNRaXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zYVVKQlFXbENMRU5CUVVNN1MwRkRPVWM3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzFGQlEyaERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNaVUZCWlN4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zWlVGQlpTeERRVUZETzB0QlEzWkhPME5CUTBZc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEdkQ1FVRm5RaXhIUVVGeFFpeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETzB0QlF6VkZMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRWEZDTEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVN1NVRkRja01zUzBGQlN5eE5RVUZOTEVkQlFVY3NTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWRCUVhsQ0xFTkJRVU1zUTBGQlF6dFJRVU40UlN4SFFVRkhMRU5CUVVNc1IwRkJlVUlzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVVjJReXhQUVVGUExFZEJRVWNzUTBGQlF6dEJRVU5pTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJRenRCUVdWVUxFMUJRVTBzVlVGQlZTeGpRVUZqTEVOQlFVTXNTVUZCYTBJN1NVRkRMME1zVDBGQlR5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeFJRVUZSTEVOQlFVTTdRVUZETlVNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeG5Ra0ZCWjBJc1EwRkJReXhKUVVGclFqdEpRVU5xUkN4UFFVRlBMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRlZCUVZVc1EwRkJRenRCUVVNNVF5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR05CUVdNc1EwRkJReXhKUVVGclFqdEpRVU12UXl4UFFVRlBMR2RDUVVGblFpeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRkZCUVZFc1EwRkJRenRCUVVNMVF5eERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMSEZDUVVGeFFpeERRVUZETEVsQlFXdENPMGxCUTNSRUxFOUJRVThzWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzZFVKQlFYVkNMRU5CUVVNc1lVRkJZU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzBGQlEzQkdMRU5CUVVNN1FVRkZSQ3huUjBGQlowYzdRVUZEYUVjc1RVRkJUU3hWUVVGVkxHbENRVUZwUWl4RFFVRkRMRVZCUVZVc1JVRkJSU3hGUVVGVk8wbEJRM1JFTEVsQlFVa3NSVUZCUlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTzFGQlF6TkNMRTlCUVU4c1EwRkJReXhEUVVGRE8wdEJRMVk3VTBGQlRUdFJRVU5NTEVsQlFVa3NTVUZCU1N4SFFVRlhMRU5CUVVNc1EwRkJRenRSUVVOeVFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVN1dVRkRhRU1zU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEycERMRTlCUVU4c1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTTdTMEZEZWtJN1FVRkRTQ3hEUVVGRE8wRkJSVVFzTkVSQlFUUkVPMEZCUXpWRUxFMUJRVTBzVDBGQlR5eFBRVUZQTzBsQlNXeENPenM3TzA5QlNVYzdTVUZEU0N4WlFVRlpMRTFCUVc5Q08xRkJRemxDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRWRCUVVjc1owSkJRV2RDTEVOQlFVTXNUVUZCVFN4RFFVRjFRaXhEUVVGRE8wbEJRMnBGTEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTkpMRlZCUVZVc1EwRkJReXhKUVVGVk8xRkJRekZDTEUxQlFVMHNTVUZCU1N4SFFVVk9MR2RDUVVGblFpeERRVUZETzFGQlEzSkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zWTBGQll5eERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZEZWtZc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eHRRa0ZCYlVJc1NVRkJTU3hEUVVGRExFMUJRVTBzYTBKQlFXdENMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eERRVUZETzFGQlEyNUdMRTlCUVU4c2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGVFTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRnhReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETjBVc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGdFFpeERRVUZETzBsQlEzWkVMRU5CUVVNN1NVRkZSRHM3T3pzN1QwRkxSenRKUVVOSkxFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhSUVVFMFFqdFJRVU0xUkN4UFFVRlBMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5xUkN4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFNDeE5RVUZOTEV0QlFVc3NhVUpCUVdsQ08xRkJRekZDTEU5QlFVOHNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRPMGxCUTNaRExFTkJRVU03UTBGRFJpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQXFJR0Z6SUdac0lHWnliMjBnSjJaaGMzUmxjM1F0YkdWMlpXNXphSFJsYVc0bk8xeHVhVzF3YjNKMElIdHFZWEp2VjJsdWEyeGxjbjBnWm5KdmJTQW5hbUZ5YnkxM2FXNXJiR1Z5TFhSNWNHVnpZM0pwY0hRbk8xeHVhVzF3YjNKMElIdEVhWE4wWVc1alpVMWxkSEpwWTMwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRIbHdaUzFrWldOc1lYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdGNiaUFnWVhONWJXMWxkSEpwWTBScGMzUmhibU5sTEZ4dUlDQmljbUYxYmtKc1lXNXhkV1YwUkdsemRHRnVZMlVzWEc0Z0lHTnZjMmx1WlVScGMzUmhibU5sTEZ4dUlDQmthV05sUkdsemRHRnVZMlVzWEc0Z0lHVjFZMnhwWkdWaGJrUnBjM1JoYm1ObExGeHVJQ0JvWVcxdGFXNW5SR2x6ZEdGdVkyVXNYRzRnSUd0MWJHTjZlVzV6YTJsRWFYTjBZVzVqWlN4Y2JpQWdiV05EYjI1dVlYVm5hR1Y1UkdsemRHRnVZMlVzWEc0Z0lISnZaMjkwUjI5c1pHSmxjbWRFYVhOMFlXNWpaU3hjYmlBZ2NuVnpjMlZzUkdsemRHRnVZMlVzWEc0Z0lITnZhMkZzUkdsemRHRnVZMlVzWEc0Z0lIUmhibWx0YjNSdlJHbHpkR0Z1WTJVc1hHNGdJRzUxYldWeWFXTkVhWE4wWVc1alpTeGNibjBnWm5KdmJTQW5MaTR2WkdsemRHRnVZMlV0YldWMGNtbGpjeTF0WlhSb2IyUnpKenRjYmx4dWFXMXdiM0owSUh0allXeGpkV3hoZEdWRmRXTnNhV1JsWVc1RWFYTjBZVzVqWlgwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRtVmpkRzl5TFc5d1pYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElFSnBkRUZ5Y21GNUlHWnliMjBnSjBCa1lYUmhaM0p2YXkxc2FXSnlZWEpwWlhNdmRYUnBiSE12YzNKakwySnBkQzFoY25KaGVTYzdYRzVwYlhCdmNuUWdlMVpsWTNSdmNpd2dVM1J5YVc1blJHbGpkR2x2Ym1GeWVYMGdabkp2YlNBblFHUmhkR0ZuY205ckxXeHBZbkpoY21sbGN5OTFkR2xzY3k5emNtTXZkSGx3WlMxa1pXTnNZWEpoZEdsdmJuTW5PMXh1YVcxd2IzSjBJSHR0YlVScGMzUmhibU5sUm5WdVkzUnBiMjV6TENCTmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE45SUdaeWIyMGdKeTR1TDIxaFkzSnZiVzlzWldOMWJHVXRaR2x6ZEdGdVkyVXRablZ1WTNScGIyNXpKenRjYm1sdGNHOXlkQ0I3UkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXNJRUpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TEZ4dUlDQlRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXNJRlpsWTNSdmNrMWxkSEpwWTNOT1lXMWxjeXdnVG5WdFltVnlUV1YwY21samMwNWhiV1Z6ZlNCbWNtOXRJQ2N1TDJOdmJuTjBjeWM3WEc1Y2JseHVaWGh3YjNKMElHTnZibk4wSUhabFkzUnZja1JwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJXWldOMGIzSXNJSGs2SUZabFkzUnZjaWtnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0V1pXTjBiM0pOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhUb2dZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYzNSeWFXNW5SR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrY3pvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJSE4wY21sdVp5d2dlVG9nYzNSeWFXNW5LU0E5UGlCdWRXMWlaWElnZlNBOUlIdGNiaUFnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1TVpYWmxibk5vZEdWcGJsMDZJR1pzTG1ScGMzUmhibU5sTEZ4dUlDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3BoY205WGFXNXJiR1Z5WFRvZ2FtRnliMWRwYm10c1pYSXNYRzRnSUZ0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVRXRnVhR0YwZEdGdVhUb2diV0Z1YUdGMGRHRnVSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSek9pQjdJRnR1WVcxbE9pQnpkSEpwYm1kZE9pQW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtTQTlQaUJ1ZFcxaVpYSWdmU0E5SUh0Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxSaGJtbHRiM1J2WFRvZ2RHRnVhVzF2ZEc5RWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRPaUJrYVdObFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1QmMzbHRiV1YwY21salhUb2dZWE41YlcxbGRISnBZMFJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRbkpoZFc1Q2JHRnVjWFZsZEYwNklHSnlZWFZ1UW14aGJuRjFaWFJFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa052YzJsdVpWMDZJR052YzJsdVpVUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVMzVnNZM3A1Ym5OcmFWMDZJR3QxYkdONmVXNXphMmxFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMazFqUTI5dWJtRjFaMmhsZVYwNklHMWpRMjl1Ym1GMVoyaGxlVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVbTluYjNSSGIyeGtZbVZ5WjEwNklISnZaMjkwUjI5c1pHSmxjbWRFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEoxYzNObGJGMDZJSEoxYzNObGJFUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVUyOXJZV3hkT2lCemIydGhiRVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTR0Z0YldsdVoxMDZJR2hoYlcxcGJtZEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrVjFZMnhwWkdWaGJsMDZJR1YxWTJ4cFpHVmhia1JwYzNSaGJtTmxMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUc1MWJXSmxja1JwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJ1ZFcxaVpYSXNJSGs2SUc1MWJXSmxjaWtnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0T2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNdVRuVnRaWEpwWTBScGMzUmhibU5sWFRvZ2JuVnRaWEpwWTBScGMzUmhibU5sTEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElFRjJZV2xzWVdKc1pVMWxkSEpwWTNNZ1BTQjdYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVXWldOMGIzSmRPaUI3WEc0Z0lDQWdXMVpsWTNSdmNrMWxkSEpwWTNOT1lXMWxjeTVGZFdOc2FXUmxZVzVkT2lCMlpXTjBiM0pFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcxWmxZM1J2Y2sxbGRISnBZM05PWVcxbGN5NUZkV05zYVdSbFlXNWRMRnh1SUNCOUxGeHVJQ0JiUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVVM1J5YVc1blhUb2dlMXh1SUNBZ0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUR1YyWlc1emFIUmxhVzVkT2lCemRISnBibWRFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NU1aWFpsYm5Ob2RHVnBibDBzWEc0Z0lDQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVLWVhKdlYybHVhMnhsY2wwNklITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3BoY205WGFXNXJiR1Z5WFN4Y2JpQWdJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGsxaGJtaGhkSFJoYmwwNklITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMazFoYm1oaGRIUmhibDBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVDYVhSQmNuSmhlVjA2SUh0Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVCYzNsdGJXVjBjbWxqWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUNjbUYxYmtKc1lXNXhkV1YwWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl6YVc1bFhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTM1ZzWTNwNWJuTnJhVjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFN4Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVRXTkRiMjV1WVhWbmFHVjVYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMazFqUTI5dWJtRjFaMmhsZVYwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSnZaMjkwUjI5c1pHSmxjbWRkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEoxYzNObGJGMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNkWE56Wld4ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVRiMnRoYkYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVOWVdOeWIwMXZiR1ZqZFd4bFhUb2dleUF2THlCdmNIUnBiMjVoYkNCaGNtZHpJRzVsWldSbFpDQm1iM0lnYldGamNtOXRiMnhsWTNWc1pTQm1kVzVqZEdsdmJuTWdkMmhwWTJnZ2FXNXBkR2xoYkdsNlpTQjBhR1Z0WEc0Z0lDQWdXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NUlRVTFOU1U1SFhUb2diVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMXROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVTRUZOVFVsT1IxMHNYRzRnSUNBZ1cwMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1TVJWWkZUbE5JVkVWSlRsMDZJRzF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5iVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa3hGVmtWT1UwaFVSVWxPWFN4Y2JpQWdJQ0JiVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMazVGUlVSTVJVMUJUazVmVjFWT1UwTklYVG9nYlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzF0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11VGtWRlJFeEZUVUZPVGw5WFZVNVRRMGhkTEZ4dUlDQjlMRnh1SUNCYlJHbHpkR0Z1WTJWTlpYUnlhV056VTNWaWFtVmpkSE11VG5WdFltVnlYVG9nZTF4dUlDQWdJRnRPZFcxaVpYSk5aWFJ5YVdOelRtRnRaWE11VG5WdFpYSnBZMFJwYzNSaGJtTmxYVG9nYm5WdFltVnlSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0T2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNdVRuVnRaWEpwWTBScGMzUmhibU5sWFN4Y2JpQWdmVnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxbGRISnBZMVJ2UkdGMFlWUjVjR1U2SUZOMGNtbHVaMFJwWTNScGIyNWhjbmtnUFNCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVk5aWFJ5YVdOektWeHVJQ0F1Y21Wa2RXTmxLQ2h5WlhRNklGTjBjbWx1WjBScFkzUnBiMjVoY25rc0lHdGxlU2tnUFQ0Z2UxeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2RtRnNJRzltSUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNOYmEyVjVJR0Z6SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsYzEwcEtWeHVJQ0FnSUNBZ2NtVjBXM1poYkNCaGN5QkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTmRJRDBnYTJWNU8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGREdGNiaUFnZlN3Z2UzMHBPMXh1WEc1bGVIQnZjblFnZEhsd1pTQkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTWdQU0JyWlhsdlppQjBlWEJsYjJZZ1FYWmhhV3hoWW14bFRXVjBjbWxqY3p0Y2JtVjRjRzl5ZENCMGVYQmxJRlpsWTNSdmNrMWxkSEpwWTNNZ1BTQnJaWGx2WmlCMGVYQmxiMllnUVhaaGFXeGhZbXhsVFdWMGNtbGpjMXRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NVdaV04wYjNKZE8xeHVaWGh3YjNKMElIUjVjR1VnVTNSeWFXNW5UV1YwY21samN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056VzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbE4wY21sdVoxMDdYRzVsZUhCdmNuUWdkSGx3WlNCQ2FYUkJjbkpoZVUxbGRISnBZM01nUFNCclpYbHZaaUIwZVhCbGIyWWdRWFpoYVd4aFlteGxUV1YwY21samMxdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1Q2FYUkJjbkpoZVYwN1hHNWxlSEJ2Y25RZ2RIbHdaU0JMYm05M2JrMWxkSEpwWTNNZ1BTQlRkSEpwYm1kTlpYUnlhV056SUh3Z1FtbDBRWEp5WVhsTlpYUnlhV056SUh3Z1ZtVmpkRzl5VFdWMGNtbGpjeUI4WEc0Z0lFMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3lCOElFNTFiV0psY2sxbGRISnBZM05PWVcxbGN6dGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1ZtRnNhV1JVZVhCbGN5QTlYRzRnSUhzZ1pHRjBZVG9nYzNSeWFXNW5XMTBzSUcxbGRISnBZem9nVTNSeWFXNW5UV1YwY21samN5QjhJRTF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5QjlJSHhjYmlBZ2V5QmtZWFJoT2lCV1pXTjBiM0piWFN3Z2JXVjBjbWxqT2lCV1pXTjBiM0pOWlhSeWFXTnpJSDBnZkZ4dUlDQjdJR1JoZEdFNklFSnBkRUZ5Y21GNVcxMHNJRzFsZEhKcFl6b2dRbWwwUVhKeVlYbE5aWFJ5YVdOeklIMGdmRnh1SUNCN0lHUmhkR0U2SUc1MWJXSmxjbHRkTENCdFpYUnlhV002SUU1MWJXSmxjazFsZEhKcFkzTk9ZVzFsY3lCOU8xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5UZEhKcGJtZE5aWFJ5YVdNb2JtRnRaVG9nUzI1dmQyNU5aWFJ5YVdOektTQjdYRzRnSUhKbGRIVnliaUJOWlhSeWFXTlViMFJoZEdGVWVYQmxXMjVoYldWZElEMDlJQ2RUZEhKcGJtY25PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FYTkNhWFJCY25KaGVVMWxkSEpwWXlodVlXMWxPaUJMYm05M2JrMWxkSEpwWTNNcElIdGNiaUFnY21WMGRYSnVJRTFsZEhKcFkxUnZSR0YwWVZSNWNHVmJibUZ0WlYwZ1BUMGdKMEpwZEVGeWNtRjVKenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpWbVZqZEc5eVRXVjBjbWxqS0c1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3lrZ2UxeHVJQ0J5WlhSMWNtNGdUV1YwY21salZHOUVZWFJoVkhsd1pWdHVZVzFsWFNBOVBTQW5WbVZqZEc5eUp6dGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselRXRmpjbTlOYjJ4bFkzVnNaVTFsZEhKcFl5aHVZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXBJSHRjYmlBZ2NtVjBkWEp1SUUxbGRISnBZMVJ2UkdGMFlWUjVjR1ZiYm1GdFpWMGdQVDBnUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVUV0ZqY205TmIyeGxZM1ZzWlM1MGIxTjBjbWx1WnlncE8xeHVmVnh1WEc0dktpb2dUV0Z1YUdGMGRHRnVJR1JwYzNSaGJtTmxJR0psZEhkbFpXNGdkSGR2SUhObGNYVmxibU5sY3lBb2JXRjBZMmdnTFNBd0xDQnRhWE50WVhSamFDQXRJREVwSUc1dmNtMWhiR2w2WldRZ1ptOXlJR3hsYm1kMGFDNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVc1b1lYUjBZVzVFYVhOMFlXNWpaU2h6TVRvZ2MzUnlhVzVuTENCek1qb2djM1J5YVc1bktUb2diblZ0WW1WeUlIdGNiaUFnYVdZZ0tITXhMbXhsYm1kMGFDQWhQVDBnY3pJdWJHVnVaM1JvS1NCN1hHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYkdWMElHUnBjM1E2SUc1MWJXSmxjaUE5SURBN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlERTdJR2tnUENCek1TNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQWdJR1JwYzNRZ0t6MGdjekZiYVYwZ1BUMGdjekpiYVYwZ1B5QXdJRG9nTVR0Y2JpQWdJQ0J5WlhSMWNtNGdaR2x6ZENBdklITXhMbXhsYm1kMGFEdGNiaUFnZlZ4dWZWeHVYRzR2S2lvZ1ZXNXBabWxsWkNCamJHRnpjeUJwYlhCc1pXMWxiblJwYm1jZ1pHbG1abVZ5Wlc1MElITjBjbWx1WnlCdFpXRnpkWEpsY3k0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTlpXRnpkWEpsSUh0Y2JpQWdjSEp2ZEdWamRHVmtJRzFsZEdodlpEb2dTMjV2ZDI1TlpYUnlhV056TzF4dUlDQndjbTkwWldOMFpXUWdaR0YwWVZSNWNHVTZJRUYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjenRjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbGN5QmhiaUJwYm5OMFlXNWpaU0J2WmlCTlpXRnpkWEpsSUhkcGRHZ2dMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2JXVjBhRzlrSUUxbGRHaHZaQ0IwYnlCallXeGpkV3hoZEdVZ1pHbHpkR0Z1WTJVZ1ltVjBkMlZsYmlCemRISnBibWR6TGx4dUlDQWdLaUJBYldWdFltVnliMllnVFdWaGMzVnlaWEpjYmlBZ0lDb3ZYRzRnSUdOdmJuTjBjblZqZEc5eUtHMWxkR2h2WkRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lDQWdkR2hwY3k1dFpYUm9iMlFnUFNCdFpYUm9iMlE3WEc0Z0lDQWdkR2hwY3k1a1lYUmhWSGx3WlNBOUlFMWxkSEpwWTFSdlJHRjBZVlI1Y0dWYmJXVjBhRzlrWFNCaGN5QkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJqZFhOMGIyMGdjM1J5YVc1bklHUnBjM1JoYm1ObElHWjFibU4wYVc5dUlITndaV05wWm1sbFpDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0dmNIUnpmU0J2Y0hSeklFOXdkR2x2Ym5NZ1ptOXlJSFJvWlNCdFpXRnpkWEpsTGlCMWMyVmtJR1p2Y2lCdFlXTnliMjF2YkdWamRXeGxJR1JwYzNSaGJtTmxjMXh1SUNBZ0tpQkFjbVYwZFhKdUlIdEVhWE4wWVc1alpVMWxkSEpwWTMwZ1EyRnNiR0poWTJzZ2IyWWdkR2hsSUcxbFlYTjFjbVVnWTJodmMyVnVMbHh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdUV1ZoYzNWeVpYSmNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFJOWldGemRYSmxLRzl3ZEhNL09pQmhibmtwT2lCRWFYTjBZVzVqWlUxbGRISnBZeUI3WEc0Z0lDQWdZMjl1YzNRZ1pHbGpkRG9nZXlCYmEyVjVPaUJ6ZEhKcGJtZGRPbHh1SUNBZ0lDQWdlMXRyWlhreU9pQnpkSEpwYm1kZE9pQkVhWE4wWVc1alpVMWxkSEpwWXlCOElDZ29iM0IwY3pvZ1lXNTVLU0E5UGlCRWFYTjBZVzVqWlUxbGRISnBZeWw5WEc0Z0lDQWdmU0E5SUVGMllXbHNZV0pzWlUxbGRISnBZM003WEc0Z0lDQWdhV1lnS0NGa2FXTjBMbWhoYzA5M2JsQnliM0JsY25SNUtIUm9hWE11WkdGMFlWUjVjR1VwSUh4OElDRmthV04wVzNSb2FYTXVaR0YwWVZSNWNHVmRMbWhoYzA5M2JsQnliM0JsY25SNUtIUm9hWE11YldWMGFHOWtLU2xjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdWVzVyYm05M2JpQnRaV0Z6ZFhKbElDUjdkR2hwY3k1dFpYUm9iMlI5SUdadmNpQmtZWFJoSUhSNWNHVWdKSHQwYUdsekxtUmhkR0ZVZVhCbGZXQXBPMXh1SUNBZ0lISmxkSFZ5YmlCcGMwMWhZM0p2VFc5c1pXTjFiR1ZOWlhSeWFXTW9kR2hwY3k1dFpYUm9iMlFwSUQ5Y2JpQWdJQ0FnSUNoa2FXTjBXM1JvYVhNdVpHRjBZVlI1Y0dWZFczUm9hWE11YldWMGFHOWtYU0JoY3lBb0tHOXdkSE02SUdGdWVTa2dQVDRnUkdsemRHRnVZMlZOWlhSeWFXTXBLU2h2Y0hSektTQTZYRzRnSUNBZ0lDQmthV04wVzNSb2FYTXVaR0YwWVZSNWNHVmRXM1JvYVhNdWJXVjBhRzlrWFNCaGN5QkVhWE4wWVc1alpVMWxkSEpwWXp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHTjFjM1J2YlNCemRISnBibWNnWkdsemRHRnVZMlVnWW5rZ2RHaGxJR2RwZG1WdUlHUmhkR0VnZEhsd1pTNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0QmRtRnBiR0ZpYkdWRVlYUmhWSGx3WlhOOUlHUmhkR0ZVZVhCbElFMWxkSEpwWXlkeklHUmhkR0VnZEhsd1pWeHVJQ0FnS2lCQWNtVjBkWEp1SUh0emRISnBibWRiWFgwZ1RXVjBjbWxqSUc1aGJXVnpJSGRvYVdOb0lHVjRjR1ZqZEhNZ2RHaGxJR2RwZG1WdUlHUmhkR0VnZEhsd1pWeHVJQ0FnS2lCQWJXVnRZbVZ5YjJZZ1RXVmhjM1Z5WlhKY2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCemRHRjBhV01nWjJWMFRXVjBjbWxqUW5sRVlYUmhWSGx3WlNoa1lYUmhWSGx3WlRvZ1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWektUb2djM1J5YVc1blcxMGdlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVk5aWFJ5YVdOelcyUmhkR0ZVZVhCbFhTazdYRzRnSUgxY2JseHVJQ0F2S2lvZ1VtVjBkWEp1Y3lCdFpYUnlhV01nYm1GdFpYTWdZWFpoYVd4aFlteGxMbHh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdUV1ZoYzNWeVpYSmNiaUFnSUNvdlhHNGdJSE4wWVhScFl5Qm5aWFFnWVhaaGFXeGhZbXhsVFdWaGMzVnlaWE1vS1RvZ2MzUnlhVzVuVzEwZ2UxeHVJQ0FnSUhKbGRIVnliaUJQWW1wbFkzUXVhMlY1Y3loQmRtRnBiR0ZpYkdWTlpYUnlhV056S1R0Y2JpQWdmVnh1ZlZ4dUlsMTkiLCJpbXBvcnQgeyBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTWVhc3VyZSB9IGZyb20gJy4uL3R5cGVkLW1ldHJpY3MnO1xub25tZXNzYWdlID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZXMsIGZuTmFtZSwgc3RhcnRSb3csIHN0YXJ0Q29sLCBjaHVuY2tTaXplLCBvcHRzIH0gPSBldmVudC5kYXRhO1xuICAgIGNvbnN0IGRhdGEgPSB7fTtcbiAgICB0cnkge1xuICAgICAgICBsZXQgaSA9IHN0YXJ0Um93O1xuICAgICAgICBsZXQgaiA9IHN0YXJ0Q29sO1xuICAgICAgICBsZXQgY250ID0gMDtcbiAgICAgICAgbGV0IGxtaW4gPSAwO1xuICAgICAgICBsZXQgbG1heCA9IE51bWJlci5NSU5fVkFMVUU7XG4gICAgICAgIGNvbnN0IHJldFZhbCA9IG5ldyBGbG9hdDMyQXJyYXkoY2h1bmNrU2l6ZSk7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlRm4gPSBuZXcgTWVhc3VyZShmbk5hbWUpLmdldE1lYXN1cmUob3B0cyk7XG4gICAgICAgIHdoaWxlIChjbnQgPCBjaHVuY2tTaXplKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICFpc05pbCh2YWx1ZXNbaV0pICYmICFpc05pbCh2YWx1ZXNbal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1tpXSwgdmFsdWVzW2pdKSA6IDE7XG4gICAgICAgICAgICByZXRWYWxbY250XSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHZhbHVlIDwgbG1pbilcbiAgICAgICAgICAgICAgICBsbWluID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodmFsdWUgPiBsbWF4KVxuICAgICAgICAgICAgICAgIGxtYXggPSB2YWx1ZTtcbiAgICAgICAgICAgIGNudCsrO1xuICAgICAgICAgICAgaisrO1xuICAgICAgICAgICAgaWYgKGogPT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICAgICAgaiA9IGkgKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRhdGEuZGlzdGFuY2VNYXRyaXhEYXRhID0gcmV0VmFsO1xuICAgICAgICBkYXRhLm1pbiA9IGxtaW47XG4gICAgICAgIGRhdGEubWF4ID0gbG1heDtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgZGF0YS5lcnJvciA9IGU7XG4gICAgfVxuICAgIHBvc3RNZXNzYWdlKGRhdGEpO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHbHpkR0Z1WTJVdGJXRjBjbWw0TFhkdmNtdGxjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltUnBjM1JoYm1ObExXMWhkSEpwZUMxM2IzSnJaWEl1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNUMEZCVHl4RlFVRkRMRXRCUVVzc1JVRkJReXhOUVVGTkxGTkJRVk1zUTBGQlF6dEJRVU01UWl4UFFVRlBMRVZCUVVNc1QwRkJUeXhGUVVGRExFMUJRVTBzYTBKQlFXdENMRU5CUVVNN1FVRkZla01zVTBGQlV5eEhRVUZITEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVN1NVRkRjRUlzVFVGQlRTeEZRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxGRkJRVkVzUlVGQlJTeFZRVUZWTEVWQlFVVXNTVUZCU1N4RlFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF6dEpRVU14UlN4TlFVRk5MRWxCUVVrc1IwRkJhMFlzUlVGQlJTeERRVUZETzBsQlF5OUdMRWxCUVVrN1VVRkRSaXhKUVVGSkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVOQlFVTTdVVUZEYWtJc1NVRkJTU3hEUVVGRExFZEJRVWNzVVVGQlVTeERRVUZETzFGQlEycENMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5hTEVsQlFVa3NTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOaUxFbEJRVWtzU1VGQlNTeEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNN1VVRkROVUlzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4WlFVRlpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRE5VTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM2hFTEU5QlFVOHNSMEZCUnl4SFFVRkhMRlZCUVZVc1JVRkJSVHRaUVVOMlFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOd1JDeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGRrTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dFpRVU53UWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhKUVVGSk8yZENRVU5rTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRaaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eEpRVUZKTzJkQ1FVTmtMRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU03V1VGRFppeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTk9MRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRMG9zU1VGQlNTeERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSVHRuUWtGRGRrSXNRMEZCUXl4RlFVRkZMRU5CUVVNN1owSkJRMG9zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRXRHRUUVVOR08xRkJRMFFzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhIUVVGSExFMUJRVTBzUTBGQlF6dFJRVU5xUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU5vUWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF6dExRVU5xUWp0SlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8xRkJRMVlzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1MwRkRhRUk3U1VGRFJDeFhRVUZYTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1FVRkRjRUlzUTBGQlF5eERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0cGMwNXBiSDBnWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdlMDFsWVhOMWNtVjlJR1p5YjIwZ0p5NHVMM1I1Y0dWa0xXMWxkSEpwWTNNbk8xeHVYRzV2Ym0xbGMzTmhaMlVnUFNBb1pYWmxiblFwSUQwK0lIdGNiaUFnWTI5dWMzUWdlM1poYkhWbGN5d2dabTVPWVcxbExDQnpkR0Z5ZEZKdmR5d2djM1JoY25SRGIyd3NJR05vZFc1amExTnBlbVVzSUc5d2RITjlJRDBnWlhabGJuUXVaR0YwWVR0Y2JpQWdZMjl1YzNRZ1pHRjBZVG9nZXlCbGNuSnZjajg2SUdGdWVTd2daR2x6ZEdGdVkyVk5ZWFJ5YVhoRVlYUmhQem9nUm14dllYUXpNa0Z5Y21GNUxDQnRhVzQvT2lCdWRXMWlaWElzSUcxaGVEODZJRzUxYldKbGNuMGdQU0I3ZlR0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JzWlhRZ2FTQTlJSE4wWVhKMFVtOTNPMXh1SUNBZ0lHeGxkQ0JxSUQwZ2MzUmhjblJEYjJ3N1hHNGdJQ0FnYkdWMElHTnVkQ0E5SURBN1hHNGdJQ0FnYkdWMElHeHRhVzRnUFNBd08xeHVJQ0FnSUd4bGRDQnNiV0Y0SUQwZ1RuVnRZbVZ5TGsxSlRsOVdRVXhWUlR0Y2JpQWdJQ0JqYjI1emRDQnlaWFJXWVd3Z1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtHTm9kVzVqYTFOcGVtVXBPMXh1SUNBZ0lHTnZibk4wSUdScGMzUmhibU5sUm00Z1BTQnVaWGNnVFdWaGMzVnlaU2htYms1aGJXVXBMbWRsZEUxbFlYTjFjbVVvYjNCMGN5azdYRzRnSUNBZ2QyaHBiR1VnS0dOdWRDQThJR05vZFc1amExTnBlbVVwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFpoYkhWbElEMGdJV2x6VG1sc0tIWmhiSFZsYzF0cFhTa2dKaVlnSVdselRtbHNLSFpoYkhWbGMxdHFYU2tnUDF4dUlDQWdJQ0FnSUNCa2FYTjBZVzVqWlVadUtIWmhiSFZsYzF0cFhTd2dkbUZzZFdWelcycGRLU0E2SURFN1hHNGdJQ0FnSUNCeVpYUldZV3hiWTI1MFhTQTlJSFpoYkhWbE8xeHVJQ0FnSUNBZ2FXWWdLSFpoYkhWbElEd2diRzFwYmlsY2JpQWdJQ0FnSUNBZ2JHMXBiaUE5SUhaaGJIVmxPMXh1SUNBZ0lDQWdhV1lnS0haaGJIVmxJRDRnYkcxaGVDbGNiaUFnSUNBZ0lDQWdiRzFoZUNBOUlIWmhiSFZsTzF4dUlDQWdJQ0FnWTI1MEt5czdYRzRnSUNBZ0lDQnFLeXM3WEc0Z0lDQWdJQ0JwWmlBb2FpQTlQVDBnZG1Gc2RXVnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0JwS3lzN1hHNGdJQ0FnSUNBZ0lHb2dQU0JwSUNzZ01UdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnWkdGMFlTNWthWE4wWVc1alpVMWhkSEpwZUVSaGRHRWdQU0J5WlhSV1lXdzdYRzRnSUNBZ1pHRjBZUzV0YVc0Z1BTQnNiV2x1TzF4dUlDQWdJR1JoZEdFdWJXRjRJRDBnYkcxaGVEdGNiaUFnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUdSaGRHRXVaWEp5YjNJZ1BTQmxPMXh1SUNCOVhHNGdJSEJ2YzNSTlpYTnpZV2RsS0dSaGRHRXBPMXh1ZlR0Y2JpSmRmUT09IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4vLyB0aGUgc3RhcnR1cCBmdW5jdGlvblxuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcblx0Ly8gVGhpcyBlbnRyeSBtb2R1bGUgZGVwZW5kcyBvbiBvdGhlciBsb2FkZWQgY2h1bmtzIGFuZCBleGVjdXRpb24gbmVlZCB0byBiZSBkZWxheWVkXG5cdHZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHVuZGVmaW5lZCwgWzY3Nyw1MjFdLCAoKSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXyg5NTkpKSlcblx0X193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcblx0cmV0dXJuIF9fd2VicGFja19leHBvcnRzX187XG59O1xuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gKGNodW5rSWQpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uZikucmVkdWNlKChwcm9taXNlcywga2V5KSA9PiB7XG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5mW2tleV0oY2h1bmtJZCwgcHJvbWlzZXMpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fSwgW10pKTtcbn07IiwiLy8gVGhpcyBmdW5jdGlvbiBhbGxvdyB0byByZWZlcmVuY2UgYXN5bmMgY2h1bmtzIGFuZCBzaWJsaW5nIGNodW5rcyBmb3IgdGhlIGVudHJ5cG9pbnRcbl9fd2VicGFja19yZXF1aXJlX18udSA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gXCJcIiArIGNodW5rSWQgKyBcIi5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM7XG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkge1xuXHRcdFx0dmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7XG5cdFx0XHR3aGlsZSAoaSA+IC0xICYmICFzY3JpcHRVcmwpIHNjcmlwdFVybCA9IHNjcmlwdHNbaS0tXS5zcmM7XG5cdFx0fVxuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCIvLyBubyBiYXNlVVJJXG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgY2h1bmtzXG4vLyBcIjFcIiBtZWFucyBcImFscmVhZHkgbG9hZGVkXCJcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDk1OTogMVxufTtcblxuLy8gaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nXG52YXIgaW5zdGFsbENodW5rID0gKGRhdGEpID0+IHtcblx0dmFyIFtjaHVua0lkcywgbW9yZU1vZHVsZXMsIHJ1bnRpbWVdID0gZGF0YTtcblx0Zm9yKHZhciBtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG5cdFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLm1bbW9kdWxlSWRdID0gbW9yZU1vZHVsZXNbbW9kdWxlSWRdO1xuXHRcdH1cblx0fVxuXHRpZihydW50aW1lKSBydW50aW1lKF9fd2VicGFja19yZXF1aXJlX18pO1xuXHR3aGlsZShjaHVua0lkcy5sZW5ndGgpXG5cdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRzLnBvcCgpXSA9IDE7XG5cdHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKGRhdGEpO1xufTtcbl9fd2VicGFja19yZXF1aXJlX18uZi5pID0gKGNodW5rSWQsIHByb21pc2VzKSA9PiB7XG5cdC8vIFwiMVwiIGlzIHRoZSBzaWduYWwgZm9yIFwiYWxyZWFkeSBsb2FkZWRcIlxuXHRpZighaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG5cdFx0aWYodHJ1ZSkgeyAvLyBhbGwgY2h1bmtzIGhhdmUgSlNcblx0XHRcdGltcG9ydFNjcmlwdHMoX193ZWJwYWNrX3JlcXVpcmVfXy5wICsgX193ZWJwYWNrX3JlcXVpcmVfXy51KGNodW5rSWQpKTtcblx0XHR9XG5cdH1cbn07XG5cbnZhciBjaHVua0xvYWRpbmdHbG9iYWwgPSBzZWxmW1wid2VicGFja0NodW5rcGVwdGlkZXNcIl0gPSBzZWxmW1wid2VicGFja0NodW5rcGVwdGlkZXNcIl0gfHwgW107XG52YXIgcGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24gPSBjaHVua0xvYWRpbmdHbG9iYWwucHVzaC5iaW5kKGNodW5rTG9hZGluZ0dsb2JhbCk7XG5jaHVua0xvYWRpbmdHbG9iYWwucHVzaCA9IGluc3RhbGxDaHVuaztcblxuLy8gbm8gSE1SXG5cbi8vIG5vIEhNUiBtYW5pZmVzdCIsIi8vIHJ1biBzdGFydHVwXG52YXIgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18ueCgpO1xuIl0sIm5hbWVzIjpbImRlZmVycmVkIiwibmV4dCIsInZlY3RvckRpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJFdWNsaWRlYW4iLCJzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiTGV2ZW5zaHRlaW4iLCJKYXJvV2lua2xlciIsIk1hbmhhdHRhbiIsInMxIiwiczIiLCJsZW5ndGgiLCJkaXN0IiwiaSIsImJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIlRhbmltb3RvIiwiRGljZSIsIkFzeW1tZXRyaWMiLCJCcmF1bkJsYW5xdWV0IiwiQ29zaW5lIiwiS3VsY3p5bnNraSIsIk1jQ29ubmF1Z2hleSIsIlJvZ290R29sZGJlcmciLCJSdXNzZWwiLCJTb2thbCIsIkhhbW1pbmciLCJudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiTnVtZXJpY0Rpc3RhbmNlIiwiQXZhaWxhYmxlTWV0cmljcyIsIlZlY3RvciIsIlN0cmluZyIsIkJpdEFycmF5IiwiTWFjcm9Nb2xlY3VsZSIsIkhBTU1JTkciLCJMRVZFTlNIVEVJTiIsIk5FRURMRU1BTk5fV1VOU0NIIiwiTnVtYmVyIiwiTWV0cmljVG9EYXRhVHlwZSIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJyZXQiLCJrZXkiLCJ2YWwiLCJNZWFzdXJlIiwiY29uc3RydWN0b3IiLCJtZXRob2QiLCJ0aGlzIiwiZGF0YVR5cGUiLCJnZXRNZWFzdXJlIiwib3B0cyIsImRpY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIkVycm9yIiwibmFtZSIsInRvU3RyaW5nIiwiZ2V0TWV0cmljQnlEYXRhVHlwZSIsImF2YWlsYWJsZU1lYXN1cmVzIiwib25tZXNzYWdlIiwiZXZlbnQiLCJ2YWx1ZXMiLCJmbk5hbWUiLCJzdGFydFJvdyIsInN0YXJ0Q29sIiwiY2h1bmNrU2l6ZSIsImRhdGEiLCJqIiwiY250IiwibG1pbiIsImxtYXgiLCJNSU5fVkFMVUUiLCJyZXRWYWwiLCJGbG9hdDMyQXJyYXkiLCJkaXN0YW5jZUZuIiwidmFsdWUiLCJkaXN0YW5jZU1hdHJpeERhdGEiLCJtaW4iLCJtYXgiLCJlIiwiZXJyb3IiLCJwb3N0TWVzc2FnZSIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsInVuZGVmaW5lZCIsImV4cG9ydHMiLCJtb2R1bGUiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwibSIsIngiLCJfX3dlYnBhY2tfZXhwb3J0c19fIiwiTyIsInJlc3VsdCIsImNodW5rSWRzIiwiZm4iLCJwcmlvcml0eSIsIm5vdEZ1bGZpbGxlZCIsIkluZmluaXR5IiwiZnVsZmlsbGVkIiwiZXZlcnkiLCJzcGxpY2UiLCJyIiwiZCIsImRlZmluaXRpb24iLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZiIsImNodW5rSWQiLCJQcm9taXNlIiwiYWxsIiwicHJvbWlzZXMiLCJ1IiwiZyIsImdsb2JhbFRoaXMiLCJGdW5jdGlvbiIsIndpbmRvdyIsIm9iaiIsInByb3AiLCJwcm90b3R5cGUiLCJjYWxsIiwic2NyaXB0VXJsIiwiaW1wb3J0U2NyaXB0cyIsImxvY2F0aW9uIiwiZG9jdW1lbnQiLCJjdXJyZW50U2NyaXB0Iiwic3JjIiwic2NyaXB0cyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicmVwbGFjZSIsInAiLCJpbnN0YWxsZWRDaHVua3MiLCJjaHVua0xvYWRpbmdHbG9iYWwiLCJzZWxmIiwicGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24iLCJwdXNoIiwiYmluZCIsIm1vcmVNb2R1bGVzIiwicnVudGltZSIsInBvcCIsInRoZW4iXSwic291cmNlUm9vdCI6IiJ9
|