@magic-xpa/engine 4.900.0 → 4.1000.0-dev4100.2
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/esm2020/src/ClientManager.mjs +37 -1
- package/esm2020/src/ConstInterface.mjs +1 -2
- package/esm2020/src/CurrentClientVersion.mjs +2 -2
- package/fesm2015/magic-xpa-engine.mjs +37 -2
- package/fesm2015/magic-xpa-engine.mjs.map +1 -1
- package/fesm2020/magic-xpa-engine.mjs +37 -2
- package/fesm2020/magic-xpa-engine.mjs.map +1 -1
- package/package.json +4 -4
- package/src/ClientManager.d.ts +1 -0
- package/src/ConstInterface.d.ts +0 -1
|
@@ -115,6 +115,10 @@ export class ClientManager {
|
|
|
115
115
|
EventsManager.Instance.addGuiTriggeredEventWithTaskAndCodeAndLine(task, InternalInterface.MG_ACT_REC_PREFIX, dvRowIdx);
|
|
116
116
|
}
|
|
117
117
|
break;
|
|
118
|
+
case "navigateInTable":
|
|
119
|
+
if (guiEvent.ControlName === "magicRow")
|
|
120
|
+
this.handleNavigateInRowEvent(task, guiEvent.Value);
|
|
121
|
+
break;
|
|
118
122
|
case "close":
|
|
119
123
|
if (task.IsRoute())
|
|
120
124
|
EventsManager.Instance.AddRouterClosedEvent(task);
|
|
@@ -149,6 +153,38 @@ export class ClientManager {
|
|
|
149
153
|
break;
|
|
150
154
|
}
|
|
151
155
|
}
|
|
156
|
+
handleNavigateInRowEvent(task, evt) {
|
|
157
|
+
let internalEvt = InternalInterface.MG_ACT_NONE;
|
|
158
|
+
evt = evt.toLowerCase();
|
|
159
|
+
switch (evt) {
|
|
160
|
+
case "begin-page":
|
|
161
|
+
internalEvt = InternalInterface.MG_ACT_TBL_BEGPAGE;
|
|
162
|
+
break;
|
|
163
|
+
case "previous-page":
|
|
164
|
+
internalEvt = InternalInterface.MG_ACT_TBL_PRVPAGE;
|
|
165
|
+
break;
|
|
166
|
+
case "end-page":
|
|
167
|
+
internalEvt = InternalInterface.MG_ACT_TBL_ENDPAGE;
|
|
168
|
+
break;
|
|
169
|
+
case "next-page":
|
|
170
|
+
internalEvt = InternalInterface.MG_ACT_TBL_NXTPAGE;
|
|
171
|
+
break;
|
|
172
|
+
case "previous-line":
|
|
173
|
+
internalEvt = InternalInterface.MG_ACT_TBL_PRVLINE;
|
|
174
|
+
break;
|
|
175
|
+
case "next-line":
|
|
176
|
+
internalEvt = InternalInterface.MG_ACT_TBL_NXTLINE;
|
|
177
|
+
break;
|
|
178
|
+
case "begin-table":
|
|
179
|
+
internalEvt = InternalInterface.MG_ACT_TBL_BEGTBL;
|
|
180
|
+
break;
|
|
181
|
+
case "end-table":
|
|
182
|
+
internalEvt = InternalInterface.MG_ACT_TBL_ENDTBL;
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
if (internalEvt != InternalInterface.MG_ACT_NONE)
|
|
186
|
+
EventsManager.Instance.addGuiTriggeredEventWithTaskAndCode(task, internalEvt);
|
|
187
|
+
}
|
|
152
188
|
ConfirmationClosed(res) {
|
|
153
189
|
Commands.ResolvePromise(res);
|
|
154
190
|
}
|
|
@@ -360,4 +396,4 @@ export class ClientManager {
|
|
|
360
396
|
}
|
|
361
397
|
ClientManager._instance = null;
|
|
362
398
|
ClientManager._executionPropertiesFileName = "./assets/server-config.json";
|
|
363
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvQ2xpZW50TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RixPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sSUFBSSxFQUNKLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsY0FBYyxFQUVkLE9BQU8sRUFFUCxHQUFHLEVBQUUsYUFBYSxFQUNsQixrQkFBa0IsRUFDbEIsTUFBTSxFQUNQLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRzlDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0s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Q0FBQyxZQUFZLENBQUMsR0FBRyxDQUFpQiw4QkFBOEIsQ0FBQyxDQUFDO1FBRzNHLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RyxDQUFDOztBQW5oQmMsdUJBQVMsR0FBa0IsSUFBSSxDQUFDO0FBTXZCLDBDQUE0QixHQUFXLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHBsaWNhdGlvbkV4Y2VwdGlvbiwgRGF0ZVRpbWUsIE5TdHJpbmcsIFJlZlBhcmFtfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcblxyXG5pbXBvcnQge1xyXG4gIERhdGVUaW1lVXRpbHMsXHJcbiAgSW50ZXJuYWxJbnRlcmZhY2UsXHJcbiAgTG9nZ2VyLFxyXG4gIE1pc2MsXHJcbiAgT1NFbnZpcm9ubWVudCxcclxuICBTdG9yYWdlQXR0cmlidXRlLFxyXG4gIFhNTENvbnN0YW50c1xyXG59IGZyb20gJ0BtYWdpYy14cGEvdXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIENvbW1hbmRzLFxyXG4gIENvbW1hbmRUeXBlLFxyXG4gIERpc3BsYXlDb252ZXJ0b3IsXHJcbiAgRXZlbnRzLFxyXG4gIEd1aURhdGFDb2xsZWN0aW9uLFxyXG4gIEd1aUVudmlyb25tZW50LFxyXG4gIExhc3RGb2N1c2VkVmFsLFxyXG4gIE1hbmFnZXIsXHJcbiAgTWdDb250cm9sQmFzZSxcclxuICBQSUMsIFByb3BJbnRlcmZhY2UsXHJcbiAgUnVudGltZUNvbnRleHRCYXNlLFxyXG4gIFN0eWxlc1xyXG59IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtFdmVudHNNYW5hZ2VyfSBmcm9tICcuL2V2ZW50L0V2ZW50c01hbmFnZXInO1xyXG5pbXBvcnQge0d1aUV2ZW50c1Byb2Nlc3Nvcn0gZnJvbSAnLi9HdWlFdmVudHNQcm9jZXNzb3InO1xyXG5pbXBvcnQge0Vudmlyb25tZW50fSBmcm9tICcuL2Vudi9FbnZpcm9ubWVudCc7XHJcbmltcG9ydCB7TGFuZ3VhZ2VEYXRhfSBmcm9tICcuL2Vudi9MYW5ndWFnZURhdGEnO1xyXG5pbXBvcnQge1Rhc2tzVGFibGV9IGZyb20gJy4vdGFza3MvVGFza3NUYWJsZSc7XHJcbmltcG9ydCB7TWdDb250cm9sfSBmcm9tICcuL2d1aS9NZ0NvbnRyb2wnO1xyXG5pbXBvcnQge0lDbGllbnRDb21tYW5kfSBmcm9tICcuL2NvbW1hbmRzL0lDbGllbnRDb21tYW5kJztcclxuaW1wb3J0IHtUYXNrfSBmcm9tICcuL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQge01HRGF0YUNvbGxlY3Rpb259IGZyb20gJy4vdGFza3MvTUdEYXRhQ29sbGVjdGlvbic7XHJcbmltcG9ydCB7VW5pcXVlSURVdGlsc30gZnJvbSAnLi91dGlsL1VuaXF1ZUlEVXRpbHMnO1xyXG5pbXBvcnQge0h0dHBNYW5hZ2VyfSBmcm9tICcuL2h0dHAvSHR0cE1hbmFnZXInO1xyXG5pbXBvcnQge0NvbW1hbmRzVGFibGV9IGZyb20gJy4vQ29tbWFuZHNUYWJsZSc7XHJcbmltcG9ydCB7UmVtb3RlQ29tbWFuZHNQcm9jZXNzb3J9IGZyb20gJy4vcmVtb3RlL1JlbW90ZUNvbW1hbmRzUHJvY2Vzc29yJztcclxuaW1wb3J0IHtDb21tYW5kc1Byb2Nlc3NvckJhc2VfU2VuZGluZ0luc3RydWN0aW9ufSBmcm9tICcuL0NvbW1hbmRzUHJvY2Vzc29yQmFzZSc7XHJcbmltcG9ydCB7Q29tbWFuZHNQcm9jZXNzb3JNYW5hZ2VyfSBmcm9tICcuL0NvbW1hbmRzUHJvY2Vzc29yTWFuYWdlcic7XHJcbmltcG9ydCB7TUdEYXRhfSBmcm9tICcuL3Rhc2tzL01HRGF0YSc7XHJcbmltcG9ydCB7U2VydmVyRXJyb3J9IGZyb20gJy4vcmVtb3RlL1NlcnZlckVycm9yJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50RXZlbnRzfSBmcm9tICcuL2h0dHAvY2xpZW50L0h0dHBDbGllbnRFdmVudHMnO1xyXG5pbXBvcnQge0lHdWlFdmVudH0gZnJvbSAnLi9icmlkZ2UvSUd1aUV2ZW50JztcclxuaW1wb3J0IHtDb21tYW5kRmFjdG9yeX0gZnJvbSAnLi9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9Db21tYW5kRmFjdG9yeSc7XHJcbmltcG9ydCB7Q3VycmVudENsaWVudFZlcnNpb259IGZyb20gJy4vQ3VycmVudENsaWVudFZlcnNpb24nO1xyXG5pbXBvcnQge0RhdGFWaWV3fSBmcm9tICcuL2RhdGEvRGF0YVZpZXcnO1xyXG5pbXBvcnQge0xhc3RGb2N1c2VkTWFuYWdlcn0gZnJvbSAnLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXInO1xyXG5pbXBvcnQge0VudlBhcmFtc1RhYmxlfSBmcm9tICcuL2Vudi9FbnZWYXJpYWJsZXNUYWJsZSc7XHJcbmltcG9ydCB7R2xvYmFsUGFyYW1zfSBmcm9tICcuL2V4cC9HbG9iYWxQYXJhbXNUYWJsZSc7XHJcbmltcG9ydCB7T3BlblVSTENvbW1hbmR9IGZyb20gJy4vY29tbWFuZHMvU2VydmVyVG9DbGllbnQvT3BlblVSTENvbW1hbmQnO1xyXG5pbXBvcnQge1NlcnZlckNvbmZpZ30gZnJvbSAnLi9TZXJ2ZXJDb25maWcnO1xyXG5pbXBvcnQge0FjY2Vzc0hlbHBlcn0gZnJvbSAnLi9BY2Nlc3NIZWxwZXInO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmR9IGZyb20gJy4vY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtHVUlNYW5hZ2VyfSBmcm9tIFwiLi9HVUlNYW5hZ2VyXCI7XHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQ2xpZW50TWFuYWdlciB7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogQ2xpZW50TWFuYWdlciA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZ2xvYmFsVW5pcXVlU2Vzc2lvbklkOiBzdHJpbmcgPSBudWxsO1xyXG4vLyAgcHJpdmF0ZSBfbGFzdEZhaWxlZEZvY3VzZWRDb250cm9sOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDsgLy8gY29udHJvbCB3aGVyZSBsYXN0IHBhcmtpbmcgd2FzIGF0dGVtcHRlZCBidXQgd2UgZGlkIG5vdCBwYXJrIG9uIGl0XHJcbiAgcHJpdmF0ZSBfYnV0dG9uSXNDbGlja2VkID0gZmFsc2U7XHJcblxyXG5cclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfZXhlY3V0aW9uUHJvcGVydGllc0ZpbGVOYW1lOiBzdHJpbmcgPSBcIi4vYXNzZXRzL3NlcnZlci1jb25maWcuanNvblwiOyAvLyBwYXRoIG9mIHRoZSBleGVjdXRpb24gcHJvcGVydGllcyBmaWxlIGZyb20gYXNzZXRzIGZvbGRlclxyXG5cclxuICBzdGF0aWMgZ2V0IEluc3RhbmNlKCk6IENsaWVudE1hbmFnZXIge1xyXG4gICAgaWYgKENsaWVudE1hbmFnZXIuX2luc3RhbmNlID09PSBudWxsKVxyXG4gICAgICBDbGllbnRNYW5hZ2VyLl9pbnN0YW5jZSA9IG5ldyBDbGllbnRNYW5hZ2VyKCk7XHJcblxyXG4gICAgcmV0dXJuIENsaWVudE1hbmFnZXIuX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEFkZEV2ZW50KGd1aUV2ZW50OiBJR3VpRXZlbnQpOiB2b2lkIHtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+TUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5HZXRUYXNrQnlJRChndWlFdmVudC5UYXNrSUQpO1xyXG4gICAgbGV0IGxpbmVJZHg6IG51bWJlciA9ICtndWlFdmVudC5MaW5lO1xyXG4gICAgbGV0IGR2Um93SWR4OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIGlmICh0YXNrICE9IG51bGwpIHtcclxuICAgICAgbGV0IGNvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSBudWxsO1xyXG5cclxuICAgICAgaWYgKGd1aUV2ZW50LkNvbnRyb2xOYW1lICE9PSBudWxsKVxyXG4gICAgICAgIGNvbnRyb2wgPSB0YXNrLmdldEZvcm0oKS5HZXRDdHJsKGd1aUV2ZW50LkNvbnRyb2xOYW1lKTtcclxuXHJcbiAgICAgIGlmIChjb250cm9sICE9IG51bGwpIHtcclxuICAgICAgICBsZXQgZHY6IERhdGFWaWV3ID0gPERhdGFWaWV3PnRhc2suRGF0YVZpZXc7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wuSXNUYWJsZUNoaWxkKSB7XHJcbiAgICAgICAgICBsaW5lSWR4IC09IGR2LlJlY29yZHNCZWZvcmVDdXJyZW50VmlldztcclxuICAgICAgICB9XHJcbiAgICAgICAgc3dpdGNoIChndWlFdmVudC5FdmVudFR5cGUpIHtcclxuXHJcbiAgICAgICAgICBjYXNlIFwiY29sdW1uU29ydFwiOlxyXG4gICAgICAgICAgICBpZiAoY29udHJvbC5pc0NvbHVtblNvcnRhYmxlKCkpIHtcclxuICAgICAgICAgICAgICBFdmVudHMuT25Db2x1bW5DbGljayhjb250cm9sLCBndWlFdmVudC5MaW5lLCBndWlFdmVudC5Db250cm9sTmFtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwibW91c2Vkb3duXCI6XHJcbiAgICAgICAgICAgIC8vIERlZmVjdCAxNTIyODggJiBEZWZlY3QgMTUyMjY4OiBQcm9ibGVtOiBXaGVuIGJ1dHRvbiBpcyBjbGlja2VkLCB3ZSBnZXQgZm9jdXMgZXZlbnQgZmlyc3QgYW5kIGlmIG1lc3NhZ2VCb3ggaXMgb3BlbmVkIGhlcmUgbGlrZSB2ZXJpZnksIGV0Yy5cclxuICAgICAgICAgICAgLy8gd2UgZG8gbm90IHJlY2VpdmUgY2xpY2sgZXZlbnQuIEhlbmNlIGV2ZW50cyBhcmUgbm90IHByb2Nlc3NlZC4gU29sdXRpb246IFdlIGRvIG5lZWQgY2xpY2sgaGFuZGxpbmcgZm9yIGJ1dHRvbiBhcyBpdCBpcyBjYWxsZWQgd2hlbiB3ZSBwYXJrXHJcbiAgICAgICAgICAgIC8vIG9uIGJ1dHRvbiBhbmQgcHJlc3Mgc3BhY2Uga2V5LiBXZSBuZWVkIGZvY3VzIGV2ZW50IGhhbmRsaW5nIGZvciBleGVjdXRpbmcgQ1AgJiBDUyB3aGVuIHBhcmtlZCBvbiBidXR0b24gYnkgdGFiIGtleS4gU28gd2UgbmVlZCB0byBtYW5hZ2VcclxuICAgICAgICAgICAgLy8gaG93IGNsaWNrIGlzIGhhbmRsZWQuIFdlIGRvIG5vdCBuZWVkIGZvY3VzIGV2ZW50IGhhbmRsaW5nIHdoZW4gd2UgY2xpY2sgb24gYnV0dG9uLCBzbyBvbiBtb3VzZWRvd24sIHNldCBhIGZsYWcgd2hpY2ggd2lsbCBiZSB1c2VkIGluIGZvY3VzXHJcbiAgICAgICAgICAgIC8vIGV2ZW50IGhhbmRsaW5nIHRvIHNraXAgaXRzIGhhbmRsaW5nLiBUaGVuIHdlIHdpbGwgcmVjZWl2ZSBjbGljayBldmVudCB3aGVyZSB0aGlzIHdpbGwgYmUgYWN0dWFsbHkgaGFuZGxlZCBhbmQgaGVuY2Ugd29yay5cclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wuaXNCdXR0b24oKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2J1dHRvbklzQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoIWNvbnRyb2wuaXNTdWJmb3JtKCkpXHJcbiAgICAgICAgICAgICAgRXZlbnRzLkdldFJ1bnRpbWVDb250ZXh0KE1hbmFnZXIuR2V0Q3VycmVudENvbnRleHRJRCgpKS5MYXN0Q2xpY2tlZEN0cmxOYW1lID0gY29udHJvbC5nZXROYW1lKCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgXCJjbGlja1wiOlxyXG4gICAgICAgICAgICBpZiAoY29udHJvbC5pc0J1dHRvbigpIHx8IChjb250cm9sLkNvbm5lY3RlZENvbnRyb2wgJiYgZ3VpRXZlbnQuZnJvbUJ1dHRvbikpe1xyXG4gICAgICAgICAgICAgIEV2ZW50cy5PblNlbGVjdGlvbihcIlwiLCBjb250cm9sLCBsaW5lSWR4LCB0cnVlKTtcclxuICAgICAgICAgICAgICBFdmVudHMuR2V0UnVudGltZUNvbnRleHQoTWFuYWdlci5HZXRDdXJyZW50Q29udGV4dElEKCkpLkxhc3RDbGlja2VkQ3RybE5hbWUgPSBjb250cm9sLmdldE5hbWUoKTtcclxuICAgICAgICAgICAgICB0aGlzLl9idXR0b25Jc0NsaWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBzb3J0aW5nIHNob3VsZCBiZSBoYW5kbGVkIG9ubHkgb24gY29sdW1uIGNsaWNrIGFuZCBub3Qgb24gcm93RGF0YVxyXG4gICAgICAgICAgICAvLyBlbHNlIGlmIChjb250cm9sLlR5cGUgPT09IE1nQ29udHJvbFR5cGUuQ1RSTF9UWVBFX0NPTFVNTikge1xyXG4gICAgICAgICAgICAvLyAgIEV2ZW50cy5PbkNvbHVtbkNsaWNrKGNvbnRyb2wsIGd1aUV2ZW50LkxpbmUsIGd1aUV2ZW50LkNvbnRyb2xOYW1lKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICBFdmVudHMuT25Gb2N1cyhjb250cm9sLCBsaW5lSWR4LCB0cnVlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgbGV0IHByb2R1Y2VDbGljazogYm9vbGVhbiA9IGNvbnRyb2wuaXNCdXR0b24oKSB8fCBjb250cm9sLmlzVGV4dENvbnRyb2woKSB8fCBjb250cm9sLmlzTGFiZWwoKSB8fCBjb250cm9sLmlzVGFiQ29udHJvbCgpIHx8IGNvbnRyb2wuaXNUYWJsZUNvbnRyb2woKSB8fCBjb250cm9sLmlzQ29tYm9Cb3goKSB8fCBjb250cm9sLmlzSW1hZ2VDb250cm9sKCk7XHJcbiAgICAgICAgICAgICAgRXZlbnRzLk9uTW91c2VEb3duKGNvbnRyb2wuZ2V0Rm9ybSgpLCBjb250cm9sLCBudWxsLCB0cnVlLCBsaW5lSWR4LCBmYWxzZSwgcHJvZHVjZUNsaWNrKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJmb2N1c1wiOlxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuX2J1dHRvbklzQ2xpY2tlZClcclxuICAgICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgICAgICAvLyAvLyBJZiB3ZSBhdHRlbXB0IHRvIHBhcmsgb24gY29udHJvbCB3aGVyZSB3ZSBkbyBub3Qgd2FudCB0byBhbGxvdyB0byBwYXJrIGxpa2UgaWYgY29udHJvbCBoYXMgZXhwcmVzc2lvbiBvciBwYXJlbnQgdGFzayBmaWVsZCwgZG8gbm90IGFsbG93IHRvIGZvY3VzIG9uIGl0LlxyXG4gICAgICAgICAgICAvLyAvLyBTZXQgRm9jdXMgYmFjayB0byBsYXN0Rm9jdXNlZENvbnRyb2wuIFdlIG5lZWQgX2xhc3RGYWlsZWRGb2N1c2VkQ29udHJvbCBhcyB3ZSBnZXQgZm9jdXMgZXZlbnQgb24gYSBjb250cm9sIHR3aWNlLiBTbyB0byBhdm9pZCB0byBzaG93IGVycm9yIG11bHRpcGxlIHRpbWVzLFxyXG4gICAgICAgICAgICAvLyAvLyBtYWludGFpbiBfbGFzdEZhaWxlZEZvY3VzZWRDb250cm9sLlxyXG4gICAgICAgICAgICAvLyBpZiAoY29udHJvbCAhPT0gdGhpcy5fbGFzdEZhaWxlZEZvY3VzZWRDb250cm9sICYmIGNvbnRyb2wuSGFzRXhwT3JQYXJlbnRUYXNrRmllbGQoKSkge1xyXG4gICAgICAgICAgICAvLyAgIC8vIFNob3cgZXJyb3Igb25seSBmb3IgY29udHJvbHMgaGF2aW5nIERhdGEgcHJvcGVydHkgYW5kIHBhcmthYmxlXHJcbiAgICAgICAgICAgIC8vICAgaWYoY29udHJvbC5pc0xpc3RCb3goKSB8fCBjb250cm9sLmlzQ2hlY2tCb3goKSB8fCBjb250cm9sLmlzQ29tYm9Cb3goKSB8fCBjb250cm9sLmlzVGV4dENvbnRyb2woKSB8fCBjb250cm9sLmlzUmFkaW8oKSB8fCBjb250cm9sLmlzVGFiQ29udHJvbCgpKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBDb21tYW5kcy5tZXNzYWdlQm94KG51bGwsIFwiRXJyb3JcIiwgXCJDb250cm9sIGVpdGhlciBoYXMgZXhwcmVzc2lvbiBvciBoYXMgcGFyZW50IHRhc2sgdmFyaWFibGUgYXR0YWNoZWQgdG8gaXQuIEZhaWxlZCB0byBwYXJrIG9uIGNvbnRyb2wgd2l0aCBuYW1lOiBcIiArIGNvbnRyb2wuTmFtZSwgU3R5bGVzLk1TR0JPWF9JQ09OX0VSUk9SIHwgU3R5bGVzLk1TR0JPWF9CVVRUT05fT0spO1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gRGVmZWN0IDE1MjcyODogVXNlIGxhc3QgZm9jdXNlZCB0YXNrIGluc3RlYWQgY29udHJvbCB0YXNrIGFzIGNvbnRyb2wgY2FuIGJlIGZyb20gc3ViZm9ybS5cclxuICAgICAgICAgICAgLy8gICAgIEZvY3VzTWFuYWdlci5TZXRGb2N1cyhMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuZ2V0TGFzdEZvY3VzZWRUYXNrKCksIExhc3RGb2N1c2VkTWFuYWdlci5nZXRMYXN0Rm9jdXNlZENvbnRyb2woKSwgMCxcclxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuZ2V0TGFzdEZvY3VzZWRDb250cm9sKCkgPT09IG51bGwgPyB0cnVlIDogZmFsc2UpO1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5fbGFzdEZhaWxlZEZvY3VzZWRDb250cm9sID0gY29udHJvbDtcclxuICAgICAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgLy8gdGhpcy5fbGFzdEZhaWxlZEZvY3VzZWRDb250cm9sID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIEV2ZW50cy5PbkZvY3VzKGNvbnRyb2wsIGxpbmVJZHgsIHRydWUsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcImRibGNsaWNrXCI6XHJcbiAgICAgICAgICAgIEV2ZW50cy5PbkRibENsaWNrKGNvbnRyb2wsIGxpbmVJZHgpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIFwic2VsZWN0aW9uY2hhbmdlZFwiOlxyXG4gICAgICAgICAgICBFdmVudHMuT25TZWxlY3Rpb24oZ3VpRXZlbnQuVmFsdWUsIGNvbnRyb2wsIGxpbmVJZHgsIHRydWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJrZXlkb3duXCI6XHJcbiAgICAgICAgICAgIEV2ZW50cy5PbktleURvd24oIHRhc2suZ2V0Rm9ybSgpLCBjb250cm9sLCBndWlFdmVudC5tb2RpZmllcnMsIGd1aUV2ZW50LmtleUNvZGUsIDAsMCwgJycsZmFsc2UsJycsdHJ1ZSApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJzZXRleHRlcm5hbHZhbHVlXCI6XHJcbiAgICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuQWRkRXh0ZXJuYWxWYWx1ZUV2ZW50KCg8TWdDb250cm9sPmNvbnRyb2wpLCBndWlFdmVudC5leHRlcm5hbFZhbHVlLCBndWlFdmVudC5wYXJhbSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJ1bmhhbmRsZWQgZXZlbnQ6IFxcXCJcIiArIGd1aUV2ZW50LkV2ZW50VHlwZSArIFwiXFxcIlwiKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHN3aXRjaCAoZ3VpRXZlbnQuRXZlbnRUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIFwiZm9jdXNPbk5vbk1hZ2ljQ29udHJvbFwiOlxyXG4gICAgICAgICAgICBjb250cm9sID0gTGFzdEZvY3VzZWRNYW5hZ2VyLmdldExhc3RGb2N1c2VkQ29udHJvbCgpO1xyXG4gICAgICAgICAgICBpZiAoY29udHJvbCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIEV2ZW50cy5PbkZvY3VzT25Ob25NYWdpY0NvbnRyb2woY29udHJvbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiY2xpY2tcIjpcclxuICAgICAgICAgICAgaWYoZ3VpRXZlbnQuQ29udHJvbE5hbWUgPT09IFwibWFnaWNSb3dcIikge1xyXG4gICAgICAgICAgICAgIGR2Um93SWR4ID0gZ3VpRXZlbnQuTGluZSAtICg8RGF0YVZpZXc+dGFzay5EYXRhVmlldykuUmVjb3Jkc0JlZm9yZUN1cnJlbnRWaWV3O1xyXG4gICAgICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkR3VpVHJpZ2dlcmVkRXZlbnRXaXRoVGFza0FuZENvZGVBbmRMaW5lKHRhc2ssIEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SRUNfUFJFRklYLCBkdlJvd0lkeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiY2xvc2VcIjpcclxuICAgICAgICAgICAgaWYgKHRhc2suSXNSb3V0ZSgpKVxyXG4gICAgICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuQWRkUm91dGVyQ2xvc2VkRXZlbnQodGFzayk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICBFdmVudHMuQ2xvc2VGb3JtRXZlbnQodGFzay5nZXRGb3JtKCkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJkaXNwb3NlXCI6XHJcbiAgICAgICAgICAgIE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuZGVsZXRlTUdEYXRhVHJlZSh0YXNrLmdldE1nZElEKCkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJyZXNpemVcIjpcclxuICAgICAgICAgICAgRXZlbnRzLlRhYmxlUmVzaXplRXZlbnQodGFzay5nZXRGb3JtKCkuZ2V0VGFibGVDdHJsKCksIGd1aUV2ZW50LlBhZ2VTaXplKTtcclxuICAgICAgICAgIC8vY2FzZSAnYnJlYWsnIGlzIG1pc3NpbmcgZm9yICdyZXNpemUnIHdpdGggaW50ZW50aW9uIHRvIGV4ZWN1dGUgZ2V0Um93cyB3aXRoIHRoZSBkZXNpcmVkIGRhdGF2aWV3IHJvdyBpbmRleC5cclxuICAgICAgICAgIGNhc2UgXCJnZXRSb3dzXCI6XHJcbiAgICAgICAgICAgIGR2Um93SWR4ID0gbGluZUlkeCAtICg8RGF0YVZpZXc+dGFzay5EYXRhVmlldykuUmVjb3Jkc0JlZm9yZUN1cnJlbnRWaWV3O1xyXG4gICAgICAgICAgICBsZXQgbGFzdEZvY3VzZWRWYWw6IExhc3RGb2N1c2VkVmFsID0ge2d1aU1nQ29udHJvbDogdGFzay5nZXRGb3JtKCkuZ2V0VGFibGVDdHJsKCksIExpbmU6IGR2Um93SWR4LCBWYWw6IFwiXCJ9O1xyXG4gICAgICAgICAgICBFdmVudHMuT25HZXRSb3dzRGF0YSh0YXNrLmdldEZvcm0oKS5nZXRUYWJsZUN0cmwoKSwgZHZSb3dJZHgsIHRydWUsIGxhc3RGb2N1c2VkVmFsKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiUm91dGVyTmF2aWdhdGVcIjpcclxuICAgICAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5BZGRSb3V0ZUV2ZW50KHRhc2ssIEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9XRUJDTElFTlRfUk9VVEUsIGd1aUV2ZW50LlJvdXRlclBhdGgsIGd1aUV2ZW50LlJvdXRlck91dGxldE5hbWUsXHJcbiAgICAgICAgICAgICAgZ3VpRXZlbnQuUm91dGVyUGFyYW1zKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwic2V0ZXh0ZXJuYWx2YWx1ZVwiOlxyXG4gICAgICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFcnJvclRvTG9nKE5TdHJpbmcuRm9ybWF0KFwiVW5hYmxlIHRvIGZpbmQgezB9OiBUcnlpbmcgdG8gc2V0IHZhbHVlIGZvciBhIG5vbi1leGlzdGluZyBjb250cm9sLlwiLCBndWlFdmVudC5Db250cm9sTmFtZSkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCBcInVuaGFuZGxlZCBldmVudDogXFxcIlwiICsgZ3VpRXZlbnQuRXZlbnRUeXBlICsgXCJcXFwiXCIpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgLy90YXNrID09IG51bGxcclxuICAgICAgc3dpdGNoIChndWlFdmVudC5FdmVudFR5cGUpIHtcclxuICAgICAgICBjYXNlIFwiY29uZmlybWF0aW9uQ2xvc2VkXCI6XHJcbiAgICAgICAgICB0aGlzLkNvbmZpcm1hdGlvbkNsb3NlZChndWlFdmVudC5rZXlDb2RlKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyByYWlzZSBjYWxsYmFjayBvbiBjbG9zaW5nIGNvbmZpcm1hdGlvblxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgQ29uZmlybWF0aW9uQ2xvc2VkKHJlczogbnVtYmVyKTogdm9pZFxyXG4gIHtcclxuICAgIENvbW1hbmRzLlJlc29sdmVQcm9taXNlKHJlcyk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHRoZSB3b3JrIHRocmVhZCdzIGVudHJ5IG1ldGhvZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgYXN5bmMgV29ya1RocmVhZEV4ZWN1dGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChMb2dnZXIuSW5zdGFuY2UuU2hvdWxkTG9nKCkpIHtcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlVG9Mb2coXCJcIiwgdHJ1ZSk7XHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVRvTG9nKFwiU3RhcnRlZCBvbiBcIiArIERhdGVUaW1lVXRpbHMuVG9TdHJpbmcoRGF0ZVRpbWUuTm93LCBYTUxDb25zdGFudHMuRVJST1JfTE9HX0RBVEVfRk9STUFULCBMb2dnZXIuSW5zdGFuY2UpLCB0cnVlKTtcclxuICAgICAgdGhpcy5Xcml0ZUV4ZWN1dGlvblByb3BlcnRpZXNUb0xvZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChhd2FpdCBDb21tYW5kc1Byb2Nlc3Nvck1hbmFnZXIuU3RhcnRTZXNzaW9uKCkpIHtcclxuICAgICAgICBsZXQgbWdEYXRhVGFiOiBNR0RhdGFDb2xsZWN0aW9uID0gTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZTtcclxuICAgICAgICBsZXQgc3RhcnR1cE1nRGF0YTogTUdEYXRhID0gbWdEYXRhVGFiLlN0YXJ0dXBNZ0RhdGE7XHJcbiAgICAgICAgbWdEYXRhVGFiLmN1cnJNZ2RJRCA9IHN0YXJ0dXBNZ0RhdGEuR2V0SWQoKTtcclxuXHJcbiAgICAgICAgbGV0IG5vbkludGVyYWN0aXZlVGFzazogVGFzayA9IG51bGw7XHJcbiAgICAgICAgaWYgKCFzdGFydHVwTWdEYXRhLklzQWJvcnRpbmcpXHJcbiAgICAgICAgICBub25JbnRlcmFjdGl2ZVRhc2sgPSBhd2FpdCBUYXNrLlN0YXJ0UHJvZ3JhbShmYWxzZSwgZmFsc2UpO1xyXG5cclxuICAgICAgICBpZiAobm9uSW50ZXJhY3RpdmVUYXNrID09PSBudWxsKVxyXG4gICAgICAgICAgYXdhaXQgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5FdmVudHNMb29wKHN0YXJ0dXBNZ0RhdGEpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGF3YWl0IEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuTm9uSW50ZXJhY3RpdmVFdmVudHNMb29wKHN0YXJ0dXBNZ0RhdGEsIG5vbkludGVyYWN0aXZlVGFzayk7XHJcblxyXG4gICAgICAgIC8vIHNldCB0aGUgXCJlbmQgb2Ygd29ya1wiIGZsYWcgb25seSBmb3IgdGhlIG1haW4gd2luZG93XHJcbiAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5zZXRFbmRPZldvcmsodHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICBpZiAoZXggaW5zdGFuY2VvZiBBcHBsaWNhdGlvbkV4Y2VwdGlvbikge1xyXG4gICAgICAgIGxldCBpc05vUmVzdWx0RXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICBpZiAoZXggaW5zdGFuY2VvZiBTZXJ2ZXJFcnJvciAmJiAoPFNlcnZlckVycm9yPmV4KS5HZXRDb2RlKCkgPT09IFNlcnZlckVycm9yLklORl9OT19SRVNVTFQpXHJcbiAgICAgICAgICBpc05vUmVzdWx0RXJyb3IgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoIWlzTm9SZXN1bHRFcnJvcilcclxuICAgICAgICAgIGF3YWl0IEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuUHJvY2Vzc0Fib3J0aW5nRXJyb3IoZXgpO1xyXG5cclxuICAgICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLnNldEVuZE9mV29yayh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhyb3cgZXg7XHJcbiAgICB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgYXdhaXQgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5DaGVja0FuZFNob3dTcGlubmVyKGZhbHNlKTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmFkZEdsb2JhbENvbW1hbmQoQ29tbWFuZFR5cGUuRVhJVF9NQUdJQyk7XHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFdyaXRlIEV4ZWN1dGlvbiBwcm9wZXJ0aWVzIHRvIGxvZy5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIFdyaXRlRXhlY3V0aW9uUHJvcGVydGllc1RvTG9nKCk6IHZvaWQge1xyXG4gICAgaWYgKExvZ2dlci5JbnN0YW5jZS5TaG91bGRMb2dTZXJ2ZXJSZWxhdGVkTWVzc2FnZXMoKSkge1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVUb0xvZyhcIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCIsIHRydWUpO1xyXG4gICAgICAvLyBXcml0ZSBoZWFkaW5nXHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVRvTG9nKFwiRXhlY3V0aW9uIFByb3BlcnRpZXM6XCIsIHRydWUpO1xyXG5cclxuICAgICAgbGV0IHByb3BzU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoU2VydmVyQ29uZmlnLkluc3RhbmNlKTtcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlVG9Mb2cocHJvcHNTdHJpbmcsIHRydWUpO1xyXG5cclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlVG9Mb2coXCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVwiLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIFJ1bnRpbWVDb250ZXh0QmFzZS5JbnN0YW5jZS5Jbml0KFJlbW90ZUNvbW1hbmRzUHJvY2Vzc29yLlJDX05PX0NPTlRFWFRfSUQpO1xyXG4gICAgTGFzdEZvY3VzZWRNYW5hZ2VyLkluc3RhbmNlLkluaXQoTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZSk7XHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuTGFzdEFjdGlvblRpbWUgPSBNaXNjLmdldFN5c3RlbU1pbGxpc2Vjb25kcygpO1xyXG5cclxuXHJcbiAgICBSZW1vdGVDb21tYW5kc1Byb2Nlc3Nvci5TaG91bGRTY3JhbWJsZUFuZFVuc2NyYW1ibGVNZXNzYWdlcyA9IHRydWU7XHJcblxyXG5cclxuICAgIC8vIFRPRE86IEhvdyB0byBnZXQgUHJvY2Vzcy5HZXRDdXJyZW50UHJvY2VzcygpLklkP1xyXG4gICAgdGhpcy5fZ2xvYmFsVW5pcXVlU2Vzc2lvbklkID0gVW5pcXVlSURVdGlscy5HZXRVbmlxdWVNYWNoaW5lSUQoKSArIFwiX1wiOyAvLyArIFByb2Nlc3MuR2V0Q3VycmVudFByb2Nlc3MoKS5JZDtcclxuXHJcbiAgICB0aGlzLlJlZ2lzdGVyRGVsZWdhdGVzKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IEluaXRpYWxpemUgdGhlIGRhdGEgbmVlZGVkIGJ5IHRoZSBndWkgbGlicmFyeVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPiBDbGllbnRNYW5hZ2VyIGluc3RhbmNlPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgSW5pdEd1aU1hbmFnZXIoKTogdm9pZCB7XHJcbiAgICBNYW5hZ2VyLkV2ZW50c01hbmFnZXIgPSBFdmVudHNNYW5hZ2VyLkluc3RhbmNlO1xyXG4gICAgTWFuYWdlci5EZWZhdWx0U2VydmVyTmFtZSA9IFNlcnZlckNvbmZpZy5JbnN0YW5jZS5nZXRTZXJ2ZXIoKTtcclxuICAgIE1hbmFnZXIuRGVmYXVsdFByb3RvY29sID0gU2VydmVyQ29uZmlnLkluc3RhbmNlLmdldFByb3RvY29sKCk7XHJcbiAgICBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudCA9IEVudmlyb25tZW50Lkluc3RhbmNlO1xyXG4gICAgR3VpRGF0YUNvbGxlY3Rpb24uTUdEYXRhVGFibGUgPSBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlO1xyXG4gICAgUnVudGltZUNvbnRleHRCYXNlLm5vQ29udGV4dElkID0gUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IuUkNfTk9fQ09OVEVYVF9JRDtcclxuICB9XHJcblxyXG4gIC8vLyBJbml0aWFsaXplIGdsb2JhbCBkYXRhIGluIG9iamVjdHMgdXNlZCB0byBvdmVyY29tZSB0aGUgY2lyY3VsYXIgcmVmZXJlbmNlcyBpc3N1ZVxyXG4gIHByaXZhdGUgSW5pdENpcmN1bGFyUmVmZXJlbmNlc0J5cGFzc2VzKCkge1xyXG4gICAgVGFza3NUYWJsZS5jcmVhdGVOZXd0YXNrID0gVGFzay5DcmVhdGVUYXNrO1xyXG4gICAgT3BlblVSTENvbW1hbmQuY3JlYXRlTmV3Q29tbWFuZHNUYWJsZSA9IENvbW1hbmRzVGFibGUuY3JlYXRlQ29tbWFuZHNUYWJsZTtcclxuXHJcbiAgICBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlciA9IEV2ZW50c01hbmFnZXIuSW5zdGFuY2U7XHJcbiAgICBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUgPSBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlO1xyXG4gICAgQWNjZXNzSGVscGVyLmVudlBhcmFtc1RhYmxlID0gRW52UGFyYW1zVGFibGUuSW5zdGFuY2U7XHJcbiAgICBBY2Nlc3NIZWxwZXIuZ2xvYmFsUGFyYW1zID0gR2xvYmFsUGFyYW1zLkluc3RhbmNlO1xyXG4gICAgQWNjZXNzSGVscGVyLmxhbmd1YWdlRGF0YSA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZTtcclxuICAgIEFjY2Vzc0hlbHBlci5lbnZpcm9ubWVudCA9IEVudmlyb25tZW50Lkluc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBFbnRyeSBwb2ludCB0byB0aGUgV2ViIENsaWVudCA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiYXJnc1wiPmFycmF5IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHM8L3BhcmFtPlxyXG4gIHN0YXRpYyBNYWluKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpOiB2b2lkIHtcclxuICAgIC8vIFRPRE8gOiBDaGVjayBob3cgdG8gbG9hZCBmcm9tIFN0dWRpbyBpLmUuIEY3XHJcbiAgICAvLyBpZiAoYXJncy5sZW5ndGggIT09IDAgJiYgTlN0cmluZy5TdGFydHNXaXRoKGFyZ3NbMF0sIFwiL3NwYXduYWhlYWRcIikpIHtcclxuICAgIC8vICAgQ2xpZW50TWFuYWdlci5fc3RhcnRlZEZyb21TdHVkaW8gPSB0cnVlO1xyXG4gICAgLy8gICBTdHVkaW9MYXVuY2hlci5Jbml0KGFyZ3MpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gZWxzZVxyXG4gICAgQ2xpZW50TWFuYWdlci5TdGFydEV4ZWN1dGlvbihodHRwQ2xpZW50KTtcclxuXHJcbiAgICBMb2dnZXIuSW5zdGFuY2UuRmx1c2goKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVGVybWluYXRlIHRoZSBjbGllbnQgYW5kIHRlcm1pbmF0ZSB0aGUgY29udGV4dCA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGFzeW5jIFN0b3BFeGVjdXRpb24oKTogUHJvbWlzZSA8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgSHR0cE1hbmFnZXIuR2V0SW5zdGFuY2UoKS5Jc0Fib3J0aW5nTWFnaWNFbmdpbmUgPSB0cnVlO1xyXG4gICAgICBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLlN0YXJ0dXBNZ0RhdGEuZ2V0Rmlyc3RUYXNrKCkuQ2xvc2luZ0Zvcm1VSSA9IHRydWU7XHJcblxyXG4gICAgICBhd2FpdCBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLlN0YXJ0dXBNZ0RhdGEuZ2V0Rmlyc3RUYXNrKCkuZW5kVGFzayh0cnVlLCBmYWxzZSxcclxuICAgICAgICBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXgzKSB7XHJcbiAgICAgIGlmIChleDMgaW5zdGFuY2VvZiBBcHBsaWNhdGlvbkV4Y2VwdGlvbikge1xyXG4gICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nKGV4Myk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRocm93IGV4MztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBTdGFydEV4ZWN1dGlvbihodHRwQ2xpZW50Okh0dHBDbGllbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIEh0dHBNYW5hZ2VyLnNldE5hdGl2ZUh0dHBDbGllbnQoaHR0cENsaWVudCk7XHJcbiAgICBsZXQgbG9hZGVkOiBib29sZWFuID0gYXdhaXQgQ2xpZW50TWFuYWdlci5JbnN0YW5jZS5Mb2FkRXhlY3V0aW9uUHJvcHMoKTtcclxuXHJcbiAgICBpZiAobG9hZGVkKSB7XHJcbiAgICAgIG5ldyBHdWlFdmVudHNQcm9jZXNzb3IoKTtcclxuICAgICAgQ2xpZW50TWFuYWdlci5JbnN0YW5jZS5Jbml0R3VpTWFuYWdlcigpO1xyXG4gICAgICBDbGllbnRNYW5hZ2VyLkluc3RhbmNlLkluaXRDaXJjdWxhclJlZmVyZW5jZXNCeXBhc3NlcygpO1xyXG4gICAgICBsZXQgdmVyc2lvblN0cmluZyA9IEN1cnJlbnRDbGllbnRWZXJzaW9uID09PSAgJzAuMC4wLjAnID8gXCJEZXZlbG9wbWVudCBtb2RlXCIgOiBcIlZlcnNpb24gOiBcIiArIEN1cnJlbnRDbGllbnRWZXJzaW9uIDtcclxuXHJcbiAgICAgIGNvbnNvbGUubG9nKFwiTWFnaWMgV2ViIENsaWVudC4gXCIgKyB2ZXJzaW9uU3RyaW5nKTtcclxuXHJcbiAgICAgIEh0dHBNYW5hZ2VyLkdldEluc3RhbmNlKCkuSHR0cENvbW11bmljYXRpb25UaW1lb3V0TVMgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuR2V0Rmlyc3RIdHRwUmVxdWVzdFRpbWVvdXQoKTtcclxuXHJcbiAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuSW5pdCgpO1xyXG5cclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLkluaXRpYWxpemUoUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IuR2V0SW5zdGFuY2UoKS5wYXJzZUxvZ0xldmVsKFNlcnZlckNvbmZpZy5JbnN0YW5jZS5nZXRJbnRlcm5hbExvZ0xldmVsKCkpLGZhbHNlKTtcclxuXHJcbiAgICAgIGxldCBtZ2Q6IE1HRGF0YSA9IG5ldyBNR0RhdGEoXHJcbiAgICAgICAgbmV3IENvbW1hbmRzVGFibGUoKSxcclxuICAgICAgICBuZXcgQ29tbWFuZHNUYWJsZSgpLFxyXG4gICAgICAgIDAsIG51bGwsIGZhbHNlKTtcclxuICAgICAgYXdhaXQgTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5hZGRNR0RhdGEobWdkLCAwLCB0cnVlKTtcclxuXHJcbiAgICAgIGF3YWl0IENsaWVudE1hbmFnZXIuSW5zdGFuY2UuV29ya1RocmVhZEV4ZWN1dGlvbigpO1xyXG5cclxuICAgICAgaWYgKExvZ2dlci5JbnN0YW5jZS5TaG91bGRMb2coKSkge1xyXG4gICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVRvTG9nKE9TRW52aXJvbm1lbnQuRW9sU2VxICsgXCJFbmRlZCBvbiBcIiArIERhdGVUaW1lVXRpbHMuVG9TdHJpbmcoRGF0ZVRpbWUuTm93LCBcImRkL01NL3l5eXlcIiwgTG9nZ2VyLkluc3RhbmNlKSArIE9TRW52aXJvbm1lbnQuRW9sU2VxICsgT1NFbnZpcm9ubWVudC5Fb2xTZXEsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICBhd2FpdCBHVUlNYW5hZ2VyLkluc3RhbmNlLk1lc3NhZ2VCb3goXCJFcnJvclwiLCBcIkZhaWxlZCB0byBsb2FkIHNlcnZlciBjb25maWd1cmF0aW9uIGZpbGUgKFwiICsgdGhpcy5fZXhlY3V0aW9uUHJvcGVydGllc0ZpbGVOYW1lICsgXCIpXCIsIFN0eWxlcy5NU0dCT1hfSUNPTl9FUlJPUiB8IFN0eWxlcy5NU0dCT1hfQlVUVE9OX09LKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gTG9hZHMgdGhlIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzIGZpbGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VydmVyLFxyXG4gIC8vLyBhcHBsaWNhdGlvbiBhbmQgcHJvZ3JhbSB0byBleGVjdXRlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBhc3luYyBMb2FkRXhlY3V0aW9uUHJvcHMoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAvLyByZXR1cm4gdHJ1ZSwgaWYgc3VjY2Vzc2Z1bGx5IGxvYWRlZC5cclxuICAgIGxldCByZXNwb25zZTogc3RyaW5nID0gXCJcIjtcclxuICAgIGxldCBzdWNjZWVkZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIGlzRXJyb3IgY2Fubm90IGJlIHRydWUgaGVyZSwgYmVjYXVzZSBpdCBpcyByZXR1cm5lZCBieSBydW50aW1lIGVuZ2luZSBhbmQgdG8gcmVhZCBleGVjdXRpb24gcHJvcGVydGllcywgd2UgZG8gbm90IHJlYWNoIHRoZSBlbmdpbmUuXHJcbiAgICAgIGxldCBpc0Vycm9yOiBSZWZQYXJhbTxib29sZWFuPiA9IG5ldyBSZWZQYXJhbShmYWxzZSk7XHJcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgSHR0cE1hbmFnZXIuR2V0SW5zdGFuY2UoKS5HZXRDb250ZW50KENsaWVudE1hbmFnZXIuX2V4ZWN1dGlvblByb3BlcnRpZXNGaWxlTmFtZSwgbnVsbCwgZmFsc2UsIGlzRXJyb3IpO1xyXG4gICAgICBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuSW5pdChKU09OLnBhcnNlKHJlc3BvbnNlKSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgc3VjY2VlZGVkID0gZmFsc2U7XHJcbiAgICAgIC8vIFRPRE86IHNob3VsZCB3ZSB3cml0ZSB0aGUgZXJyb3IgbWVzc2FnZSB0byBsb2c/XHJcbiAgICAgIC8vIFRPRE86IHNob3VsZCB3ZSBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJyb3dzZXI/XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHN1Y2NlZWRlZDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pmdsb2JhbCB1bmlxdWUgSUQgb2YgdGhlIHNlc3Npb24gPSAnbWFjaGluZSB1bmlxdWUgSUQnICsgJ3Byb2Nlc3MgSUQnPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgR2V0R2xvYmFsVW5pcXVlU2Vzc2lvbklEKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2xvYmFsVW5pcXVlU2Vzc2lvbklkO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBHZXQgY29udHJvbCdzIHBpY3R1cmVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljICBHZXRDb250cm9sUGljdHVyZU1hc2sodGFza0lkOiBzdHJpbmcsIGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBQSUNcclxuICB7XHJcbiAgICBsZXQgcGljOiBQSUMgPSBudWxsO1xyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSA8VGFzaz5NR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLkdldFRhc2tCeUlEKHRhc2tJZCk7XHJcblxyXG4gICAgbGV0IGNvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSBudWxsO1xyXG5cclxuICAgIGlmIChjb250cm9sTmFtZSAhPT0gbnVsbCAmJiB0YXNrICE9IG51bGwpIHtcclxuICAgICAgICBjb250cm9sID0gdGFzay5nZXRGb3JtKCkuR2V0Q3RybChjb250cm9sTmFtZSk7XHJcbiAgICAgICAgcGljID0gY29udHJvbC5nZXRQSUMoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGljO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEdldCBmb3JtYXR0ZWQgdmFsdWVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljICBHZXRGb3JtYXR0ZWRWYWx1ZSh0YXNrSWQ6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgcm93SWQ/OiBzdHJpbmcpOiBzdHJpbmdcclxuICB7XHJcbiAgICBsZXQgcGljOiBQSUMgPSBudWxsO1xyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSA8VGFzaz5NR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLkdldFRhc2tCeUlEKHRhc2tJZCk7XHJcblxyXG4gICAgbGV0IGNvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSBudWxsO1xyXG4gICAgbGV0IG5ld1ZhbHVlOiBhbnkgPSB2YWx1ZTtcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUgIT09IG51bGwgICYmIHRhc2sgIT09IG51bGwpXHJcbiAgICAgIGNvbnRyb2wgPSB0YXNrLmdldEZvcm0oKS5HZXRDdHJsKGNvbnRyb2xOYW1lKTtcclxuICAgIGlmIChjb250cm9sICE9IG51bGwgJiYgY29udHJvbC5EYXRhVHlwZSA9PSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMpIHtcclxuICAgICAgaWYgKGNvbnRyb2wuaXNSZXBlYXRhYmxlKCkgJiYgIGNvbnRyb2wuZ2V0UHJvcChQcm9wSW50ZXJmYWNlLlBST1BfVFlQRV9GT1JNQVQpLmlzRXhwcmVzc2lvbigpKVxyXG4gICAgICB7XHJcbiAgICAgICAgICBsZXQgcGljdmFsID0gY29udHJvbC5nZXRQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0ZPUk1BVCkuZ2V0UHJldlZhbHVlKCtyb3dJZCk7XHJcbiAgICAgICAgICBwaWMgPSBuZXcgUElDIChwaWN2YWwsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgIGNvbnRyb2wuZ2V0Rm9ybSgpLmdldFRhc2soKS5nZXRDb21wSWR4KCkpXHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHBpYyA9IGNvbnRyb2wuZ2V0UElDKCk7XHJcblxyXG4gICAgICBsZXQgZGlzcFZhbHVlID0gU3RyaW5nKHZhbHVlKTtcclxuICAgICAgbGV0ICBuZXdQaWMgPSBwaWMuZ2V0VW5mb3JtYXR0ZWROdW1lcmljUGljKCk7XHJcblxyXG4gICAgICBsZXQgbnVtID0gRGlzcGxheUNvbnZlcnRvci5JbnN0YW5jZS50b051bShkaXNwVmFsdWUsIG5ld1BpYywgMCk7XHJcbiAgICAgIG5ld1ZhbHVlID0gRGlzcGxheUNvbnZlcnRvci5JbnN0YW5jZS5mcm9tTnVtKG51bSwgcGljKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXdWYWx1ZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBnZXQgcmFuZ2VkIHZhbHVlIGZvciBpbnB1dCB2YWx1ZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljICBHZXRSYW5nZWRWYWx1ZSh0YXNrSWQ6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZ1xyXG4gIHtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+TUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5HZXRUYXNrQnlJRCh0YXNrSWQpO1xyXG5cclxuICAgIGxldCBjb250cm9sOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUgIT09IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIGNvbnRyb2wgPSAgdGFzay5nZXRGb3JtKCkuR2V0Q3RybChjb250cm9sTmFtZSk7XHJcbiAgICAgIHJldHVybiBjb250cm9sLmdldFJhbmdlZFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHZhbGlkYXRlIHVzZXIgaW5wdXQgdmFsdWVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyAgVmFsaWRhdGVDb250cm9sVmFsdWUodGFza0lkOiBzdHJpbmcsIGNvbnRyb2xOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBzdHJpbmdcclxuICB7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IDxUYXNrPk1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuR2V0VGFza0J5SUQodGFza0lkKTtcclxuXHJcbiAgICBsZXQgY29udHJvbDogTWdDb250cm9sID0gbnVsbDtcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUgIT09IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIGNvbnRyb2wgPSAgdGFzay5nZXRGb3JtKCkuR2V0Q3RybChjb250cm9sTmFtZSkgYXMgTWdDb250cm9sO1xyXG4gICAgICByZXR1cm4gY29udHJvbC52YWxpZGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBHZXQgZmxkIHJhbmdlc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIEdldEZsZFJhbmdlcyh0YXNrSWQ6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IDxUYXNrPk1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuR2V0VGFza0J5SUQodGFza0lkKTtcclxuXHJcbiAgICBsZXQgY29udHJvbDogTWdDb250cm9sID0gbnVsbDtcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUgIT09IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIGNvbnRyb2wgPSAgdGFzay5nZXRGb3JtKCkuR2V0Q3RybChjb250cm9sTmFtZSkgYXMgTWdDb250cm9sO1xyXG4gICAgICByZXR1cm4gY29udHJvbC5nZXRSYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFJldHVybnMgd2hldGhlciBjbGllbnQvc2VydmVyIGNhY2hlIGV4aXN0c1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIFRyYW5zQ2FjaGVFeGlzdHMoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY2xpZW50VHJhbnNDYWNoZUV4aXN0czogYm9vbGVhbiA9IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRDdXJyTUdEYXRhKCkuY2xpZW50VHJhbnNhY3Rpb25DYWNoZUV4aXN0cygpO1xyXG4gICAgbGV0IHNlcnZlclRyYW5zYWN0aW9uQ2FjaGVFeGlzdHM6IGJvb2xlYW4gPSBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0Q3Vyck1HRGF0YSgpLnNlcnZlclRyYW5zYWN0aW9uQ2FjaGVFeGlzdHMoKTtcclxuXHJcbiAgICByZXR1cm4gY2xpZW50VHJhbnNDYWNoZUV4aXN0cyB8fCBzZXJ2ZXJUcmFuc2FjdGlvbkNhY2hlRXhpc3RzO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBTdWJzY3JpYmUgZm9yIGV2ZW50cyBkZWZpbmVkIGF0IEh0dHBDbGllbnRFdmVudHMgYW5kXHJcbiAgLy8vIGF0dGFjaCBhcHByb3ByaWF0ZSBldmVudCBoYW5kbGVyc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBSZWdpc3RlckRlbGVnYXRlcygpOiB2b2lkIHtcclxuICAgIEh0dHBDbGllbnRFdmVudHMuR2V0RXhlY3V0aW9uUHJvcGVydHlfRXZlbnQgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuR2V0RXhlY3V0aW9uUHJvcGVydHkuYmluZChTZXJ2ZXJDb25maWcuSW5zdGFuY2UpO1xyXG4gICAgSHR0cENsaWVudEV2ZW50cy5HZXRSdW50aW1lQ3R4SURfRXZlbnQgPSB0aGlzLkdldFJ1bnRpbWVDdHhJRC5iaW5kKHRoaXMpO1xyXG4gICAgSHR0cENsaWVudEV2ZW50cy5HZXRHbG9iYWxVbmlxdWVTZXNzaW9uSURfRXZlbnQgPSB0aGlzLkdldEdsb2JhbFVuaXF1ZVNlc3Npb25JRC5iaW5kKHRoaXMpO1xyXG4gICAgSHR0cENsaWVudEV2ZW50cy5TaG91bGREaXNwbGF5R2VuZXJpY0Vycm9yX0V2ZW50ID0gU2VydmVyQ29uZmlnLkluc3RhbmNlLlNob3VsZERpc3BsYXlHZW5lcmljRXJyb3IuYmluZChTZXJ2ZXJDb25maWcuSW5zdGFuY2UpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBSZXRyaWV2ZXMgcnVudGltZSBjb250ZXh0IElEXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIEdldFJ1bnRpbWVDdHhJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFJ1bnRpbWVDb250ZXh0QmFzZS5JbnN0YW5jZS5Db250ZXh0SUQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFNlbmQgYSByZXF1ZXN0IHRvIHNlcnZlciB0byB0ZXJtaW5hdGUgdGhlIGNvbnRleHQgdXNpbmcgZmV0Y2ggQVBJIHdpdGgga2VlcC1hbGl2ZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIFRlcm1pbmF0ZUNvbnRleHRVc2luZ0ZldGNoQVBJKCk6IHZvaWQge1xyXG5cclxuICAgIC8vIElmIFNlc3Npb24gaXMgcmUtaW5pdGlhbGl6aW5nIG1lYW5zIHRoZSBjb250ZXh0IGlzIG5vdCBmb3VuZCBhdCBzZXJ2ZXIuXHJcbiAgICAvLyB0aGVuIHRoZXJlIGlzIG5vIHBvaW50IGluIHRlcm1pbmF0aW5nIGNvbnRleHQuXHJcbiAgICBpZiAoUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IuSXNTZXNzaW9uUmVJbml0aWFsaXppbmcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIEh0dHBNYW5hZ2VyLkdldEluc3RhbmNlKCkuSXNBYm9ydGluZ01hZ2ljRW5naW5lID0gdHJ1ZTtcclxuXHJcbiAgICAvLyBEdWUgdG8gcGF5bG9hZCBsaW1pdCBvZiBmZXRjaCBBUEksIHNlbmQgb25seSB0aGUgY29udGV4dCB0ZXJtaW5hdGlvbiBjb21tYW5kIHRvIHNlcnZlclxyXG4gICAgTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5nZXRDdXJyTUdEYXRhKCkuQ21kc1RvU2VydmVyLkNsZWFyKCk7XHJcblxyXG4gICAgbGV0IGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZDogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kID0gQ29tbWFuZEZhY3RvcnkuXHJcbiAgICBDcmVhdGVDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQoTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5TdGFydHVwTWdEYXRhLmdldEZpcnN0VGFzaygpLmdldFRhc2tUYWcoKSk7XHJcblxyXG4gICAgTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5nZXRDdXJyTUdEYXRhKCkuQ21kc1RvU2VydmVyLkFkZCg8SUNsaWVudENvbW1hbmQ+Y29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kKTtcclxuXHJcbiAgICAvLyByZXNwb25zZSBuZWVkIG5vdCB0byBiZSBoYW5kbGVkIGFzIHRoZSBicm93c2VyIHVubG9hZCBjYW5ub3QgYmUgc3RvcHBlZCwgc28gbm8gbmVlZCB0byB3YWl0XHJcbiAgICBSZW1vdGVDb21tYW5kc1Byb2Nlc3Nvci5HZXRJbnN0YW5jZSgpLkV4ZWN1dGUoQ29tbWFuZHNQcm9jZXNzb3JCYXNlX1NlbmRpbmdJbnN0cnVjdGlvbi5PTkxZX0NPTU1BTkRTKTtcclxuICB9XHJcbn1cclxuIl19
|
|
399
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvQ2xpZW50TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RixPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sSUFBSSxFQUNKLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixpQkFBaUIsRUFDakIsY0FBYyxFQUVkLE9BQU8sRUFFUCxHQUFHLEVBQUUsYUFBYSxFQUNsQixrQkFBa0IsRUFDbEIsTUFBTSxFQUNQLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRzlDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBR3hDLE1BQU0sT0FBTyxhQUFhO0lBOFJ4QjtRQTNSUSwyQkFBc0IsR0FBVyxJQUFJLENBQUM7UUFFdEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBMFIvQixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0Usa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRzFFLHVCQUF1QixDQUFDLG1DQUFtQyxHQUFHLElBQUksQ0FBQztRQUluRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsR0FBRyxDQUFDO1FBRXZFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFqU0QsTUFBTSxLQUFLLFFBQVE7UUFDakIsSUFBSSxhQUFhLENBQUMsU0FBUyxLQUFLLElBQUk7WUFDbEMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBRWhELE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQW1CO1FBQ2pDLElBQUksSUFBSSxHQUFlLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlFLElBQUksT0FBTyxHQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNyQyxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7UUFFekIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ2hCLElBQUksT0FBTyxHQUFrQixJQUFJLENBQUM7WUFFbEMsSUFBSSxRQUFRLENBQUMsV0FBVyxLQUFLLElBQUk7Z0JBQy9CLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV6RCxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUU7Z0JBQ25CLElBQUksRUFBRSxHQUF1QixJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMzQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7b0JBQ3hCLE9BQU8sSUFBSSxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3hDO2dCQUNELFFBQVEsUUFBUSxDQUFDLFNBQVMsRUFBRTtvQkFFMUIsS0FBSyxZQUFZO3dCQUNmLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7NEJBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3lCQUNwRTt3QkFDRCxNQUFNO29CQUNSLEtBQUssV0FBVzt3QkFNZCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRTs0QkFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQzt5QkFDOUI7NkJBQ0ksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7NEJBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDbEcsTUFBTTtvQkFFUixLQUFLLE9BQU87d0JBQ1YsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFDOzRCQUMxRSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDOzRCQUMvQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBQ2hHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7eUJBQy9COzZCQUtJOzRCQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7NEJBQzlDLElBQUksWUFBWSxHQUFZLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQzs0QkFDek0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQzt5QkFDMUY7d0JBQ0QsTUFBTTtvQkFDUixLQUFLLE9BQU87d0JBRVYsSUFBSSxJQUFJLENBQUMsZ0JBQWdCOzRCQUN2QixPQUFPO3dCQW1CVCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO3dCQUU5QyxNQUFNO29CQUNSLEtBQUssVUFBVTt3QkFDYixNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDcEMsTUFBTTtvQkFFUixLQUFLLGtCQUFrQjt3QkFDckIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBQzNELE1BQU07b0JBQ1IsS0FBSyxTQUFTO3dCQUNaLE1BQU0sQ0FBQyxTQUFTLENBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBQyxJQUFJLENBQUUsQ0FBQzt3QkFDekcsTUFBTTtvQkFDUixLQUFLLGtCQUFrQjt3QkFDckIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBYSxPQUFRLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzNHLE1BQU07b0JBQ1I7d0JBRUUsTUFBTTtpQkFDVDthQUNGO2lCQUNJO2dCQUNILFFBQVEsUUFBUSxDQUFDLFNBQVMsRUFBRTtvQkFDMUIsS0FBSyx3QkFBd0I7d0JBQzNCLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3dCQUNyRCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7NEJBQ3BCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzt5QkFDMUM7d0JBQ0QsTUFBTTtvQkFDUixLQUFLLE9BQU87d0JBQ1YsSUFBRyxRQUFRLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRTs0QkFDdEMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQWMsSUFBSSxDQUFDLFFBQVMsQ0FBQyx3QkFBd0IsQ0FBQzs0QkFDOUUsYUFBYSxDQUFDLFFBQVEsQ0FBQywwQ0FBMEMsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUM7eUJBQ3hIO3dCQUNELE1BQU07b0JBQ1IsS0FBSyxpQkFBaUI7d0JBQ3BCLElBQUksUUFBUSxDQUFDLFdBQVcsS0FBSyxVQUFVOzRCQUNyQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDdEQsTUFBTTtvQkFDUixLQUFLLE9BQU87d0JBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFOzRCQUNoQixhQUFhLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDOzs0QkFFbEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzt3QkFDeEMsTUFBTTtvQkFDUixLQUFLLFNBQVM7d0JBQ1osZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3dCQUM1RCxNQUFNO29CQUNSLEtBQUssUUFBUTt3QkFDWCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFFNUUsS0FBSyxTQUFTO3dCQUNaLFFBQVEsR0FBRyxPQUFPLEdBQWMsSUFBSSxDQUFDLFFBQVMsQ0FBQyx3QkFBd0IsQ0FBQzt3QkFDeEUsSUFBSSxjQUFjLEdBQW1CLEVBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUMsQ0FBQzt3QkFDNUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQzt3QkFDcEYsTUFBTTtvQkFDUixLQUFLLGdCQUFnQjt3QkFDbkIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixFQUNqSSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ3pCLE1BQU07b0JBQ1IsS0FBSyxrQkFBa0I7d0JBQ3JCLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMscUVBQXFFLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7d0JBQzdJLE1BQU07b0JBQ1I7d0JBRUUsTUFBTTtpQkFDVDthQUNGO1NBQ0Y7O1lBRUMsUUFBUSxRQUFRLENBQUMsU0FBUyxFQUFFO2dCQUMxQixLQUFLLG9CQUFvQjtvQkFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDMUMsTUFBTTthQUNUO0lBQ0wsQ0FBQztJQUVPLHdCQUF3QixDQUFDLElBQVUsRUFBRSxHQUFXO1FBQ3RELElBQUksV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztRQUNoRCxHQUFHLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXhCLFFBQVEsR0FBRyxFQUFFO1lBQ1gsS0FBSyxZQUFZO2dCQUNmLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDbkQsTUFBTTtZQUVSLEtBQUssZUFBZTtnQkFDbEIsV0FBVyxHQUFHLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO2dCQUNuRCxNQUFNO1lBRVIsS0FBSyxVQUFVO2dCQUNiLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDbkQsTUFBTTtZQUVSLEtBQUssV0FBVztnQkFDZCxXQUFXLEdBQUcsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7Z0JBQ25ELE1BQU07WUFFUixLQUFLLGVBQWU7Z0JBQ2xCLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDbkQsTUFBTTtZQUVSLEtBQUssV0FBVztnQkFDZCxXQUFXLEdBQUcsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7Z0JBQ25ELE1BQU07WUFFUixLQUFLLGFBQWE7Z0JBQ2hCLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbEQsTUFBTTtZQUVSLEtBQUssV0FBVztnQkFDZCxXQUFXLEdBQUcsaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2xELE1BQU07U0FDVDtRQUVELElBQUksV0FBVyxJQUFJLGlCQUFpQixDQUFDLFdBQVc7WUFDOUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUtELGtCQUFrQixDQUFDLEdBQVc7UUFFNUIsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBS0QsS0FBSyxDQUFDLG1CQUFtQjtRQUN2QixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1SSxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztTQUN0QztRQUVELElBQUk7WUFDRixJQUFJLE1BQU0sd0JBQXdCLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ2pELElBQUksU0FBUyxHQUFxQixnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7Z0JBQzVELElBQUksYUFBYSxHQUFXLFNBQVMsQ0FBQyxhQUFhLENBQUM7Z0JBQ3BELFNBQVMsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUU1QyxJQUFJLGtCQUFrQixHQUFTLElBQUksQ0FBQztnQkFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVO29CQUMzQixrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUU3RCxJQUFJLGtCQUFrQixLQUFLLElBQUk7b0JBQzdCLE1BQU0sYUFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7O29CQUV2RCxNQUFNLGFBQWEsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBRzNGLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzNDO1NBQ0Y7UUFDRCxPQUFPLEVBQUUsRUFBRTtZQUNULElBQUksRUFBRSxZQUFZLG9CQUFvQixFQUFFO2dCQUN0QyxJQUFJLGVBQWUsR0FBWSxLQUFLLENBQUM7Z0JBQ3JDLElBQUksRUFBRSxZQUFZLFdBQVcsSUFBa0IsRUFBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxhQUFhO29CQUN4RixlQUFlLEdBQUcsSUFBSSxDQUFDO2dCQUV6QixJQUFJLENBQUMsZUFBZTtvQkFDbEIsTUFBTSxhQUFhLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUV4RCxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQzs7Z0JBRUMsTUFBTSxFQUFFLENBQUM7U0FDWjtnQkFDTztZQUNOLE1BQU0sYUFBYSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV4RCxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFLRCw2QkFBNkI7UUFDM0IsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLDhCQUE4QixFQUFFLEVBQUU7WUFDcEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsK0VBQStFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFbEgsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFMUQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRTlDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLCtFQUErRSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ25IO0lBQ0gsQ0FBQztJQXFCTyxjQUFjO1FBQ3BCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUMvQyxPQUFPLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5RCxPQUFPLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUQsY0FBYyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ2xELGlCQUFpQixDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFDMUQsa0JBQWtCLENBQUMsV0FBVyxHQUFHLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDO0lBQzVFLENBQUM7SUFHTyw4QkFBOEI7UUFDcEMsVUFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzNDLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxhQUFhLENBQUMsbUJBQW1CLENBQUM7UUFFMUUsWUFBWSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3BELFlBQVksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBQ3JELFlBQVksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUN0RCxZQUFZLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDbEQsWUFBWSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ2xELFlBQVksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNsRCxDQUFDO0lBSUQsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFzQjtRQU9oQyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUdELE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYTtRQUN4QixJQUFJO1lBQ0YsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUN2RCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFFNUUsTUFBTSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUM5RSxLQUFLLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLEdBQUcsWUFBWSxvQkFBb0IsRUFBRTtnQkFDdkMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMxQzs7Z0JBRUMsTUFBTSxHQUFHLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFxQjtRQUMvQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsSUFBSSxNQUFNLEdBQVksTUFBTSxhQUFhLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFeEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDekIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QyxhQUFhLENBQUMsUUFBUSxDQUFDLDhCQUE4QixFQUFFLENBQUM7WUFDeEQsSUFBSSxhQUFhLEdBQUcsb0JBQW9CLEtBQU0sU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLG9CQUFvQixDQUFFO1lBRXBILE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEdBQUcsYUFBYSxDQUFDLENBQUM7WUFFbEQsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLDBCQUEwQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUUxRyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLENBQUMsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUVuSSxJQUFJLEdBQUcsR0FBVyxJQUFJLE1BQU0sQ0FDMUIsSUFBSSxhQUFhLEVBQUUsRUFDbkIsSUFBSSxhQUFhLEVBQUUsRUFDbkIsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQixNQUFNLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV4RCxNQUFNLGFBQWEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUVuRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsV0FBVyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMzTDtTQUNGO2FBRUQ7WUFDRSxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSw0Q0FBNEMsR0FBRyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsR0FBRyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMzTDtJQUNILENBQUM7SUFLRCxLQUFLLENBQUMsa0JBQWtCO1FBRXRCLElBQUksUUFBUSxHQUFXLEVBQUUsQ0FBQztRQUMxQixJQUFJLFNBQVMsR0FBWSxJQUFJLENBQUM7UUFFOUIsSUFBSTtZQUVGLElBQUksT0FBTyxHQUFzQixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRCxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3hILFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNsRDtRQUNELE9BQU8sRUFBRSxFQUFFO1lBQ1QsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUduQjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFNRCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDckMsQ0FBQztJQU9ELE1BQU0sQ0FBRSxxQkFBcUIsQ0FBQyxNQUFjLEVBQUUsV0FBbUI7UUFFL0QsSUFBSSxHQUFHLEdBQVEsSUFBSSxDQUFDO1FBQ3BCLElBQUksSUFBSSxHQUFlLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckUsSUFBSSxPQUFPLEdBQWtCLElBQUksQ0FBQztRQUVsQyxJQUFJLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUN0QyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5QyxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzFCO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBTUQsTUFBTSxDQUFFLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxXQUFtQixFQUFFLEtBQVUsRUFBRSxLQUFjO1FBRXZGLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksR0FBZSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJFLElBQUksT0FBTyxHQUFrQixJQUFJLENBQUM7UUFDbEMsSUFBSSxRQUFRLEdBQVEsS0FBSyxDQUFDO1FBRTFCLElBQUksV0FBVyxLQUFLLElBQUksSUFBSyxJQUFJLEtBQUssSUFBSTtZQUN4QyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7WUFDbkUsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUssT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFDN0Y7Z0JBQ0ksSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEYsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFFLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7YUFDOUY7O2dCQUVDLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFekIsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUssTUFBTSxHQUFHLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBRTdDLElBQUksR0FBRyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoRSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBS0QsTUFBTSxDQUFFLGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBbUIsRUFBRSxLQUFhO1FBRXZFLElBQUksSUFBSSxHQUFlLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckUsSUFBSSxPQUFPLEdBQWtCLElBQUksQ0FBQztRQUVsQyxJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQ3hCO1lBQ0UsT0FBTyxHQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0MsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsTUFBTSxDQUFFLG9CQUFvQixDQUFDLE1BQWMsRUFBRSxXQUFtQixFQUFFLEtBQVU7UUFFMUUsSUFBSSxJQUFJLEdBQWUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRSxJQUFJLE9BQU8sR0FBYyxJQUFJLENBQUM7UUFFOUIsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUN4QjtZQUNFLE9BQU8sR0FBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBYyxDQUFDO1lBQzVELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtELE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBYyxFQUFFLFdBQW1CO1FBQ3JELElBQUksSUFBSSxHQUFlLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckUsSUFBSSxPQUFPLEdBQWMsSUFBSSxDQUFDO1FBRTlCLElBQUksV0FBVyxLQUFLLElBQUksRUFDeEI7WUFDRSxPQUFPLEdBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQWMsQ0FBQztZQUM1RCxPQUFPLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUM1QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtELE1BQU0sQ0FBQyxnQkFBZ0I7UUFDckIsSUFBSSxzQkFBc0IsR0FBWSxZQUFZLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDOUcsSUFBSSw0QkFBNEIsR0FBWSxZQUFZLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFFcEgsT0FBTyxzQkFBc0IsSUFBSSw0QkFBNEIsQ0FBQztJQUNoRSxDQUFDO0lBT0QsaUJBQWlCO1FBQ2YsZ0JBQWdCLENBQUMsMEJBQTBCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JILGdCQUFnQixDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLGdCQUFnQixDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0YsZ0JBQWdCLENBQUMsK0JBQStCLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7SUFNRCxlQUFlO1FBQ2IsT0FBTyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQy9DLENBQUM7SUFLRCxNQUFNLENBQUMsNkJBQTZCO1FBSWxDLElBQUksdUJBQXVCLENBQUMsdUJBQXVCO1lBQ2pELE9BQU87UUFDVCxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBR3ZELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFL0QsSUFBSSw4QkFBOEIsR0FBbUMsY0FBYztZQUNuRixvQ0FBb0MsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFMUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQWlCLDhCQUE4QixDQUFDLENBQUM7UUFHM0csdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7O0FBaGtCYyx1QkFBUyxHQUFrQixJQUFJLENBQUM7QUFNdkIsMENBQTRCLEdBQVcsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FwcGxpY2F0aW9uRXhjZXB0aW9uLCBEYXRlVGltZSwgTlN0cmluZywgUmVmUGFyYW19IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRGF0ZVRpbWVVdGlscyxcclxuICBJbnRlcm5hbEludGVyZmFjZSxcclxuICBMb2dnZXIsXHJcbiAgTWlzYyxcclxuICBPU0Vudmlyb25tZW50LFxyXG4gIFN0b3JhZ2VBdHRyaWJ1dGUsXHJcbiAgWE1MQ29uc3RhbnRzXHJcbn0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tbWFuZHMsXHJcbiAgQ29tbWFuZFR5cGUsXHJcbiAgRGlzcGxheUNvbnZlcnRvcixcclxuICBFdmVudHMsXHJcbiAgR3VpRGF0YUNvbGxlY3Rpb24sXHJcbiAgR3VpRW52aXJvbm1lbnQsXHJcbiAgTGFzdEZvY3VzZWRWYWwsXHJcbiAgTWFuYWdlcixcclxuICBNZ0NvbnRyb2xCYXNlLFxyXG4gIFBJQywgUHJvcEludGVyZmFjZSxcclxuICBSdW50aW1lQ29udGV4dEJhc2UsXHJcbiAgU3R5bGVzXHJcbn0gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQge0V2ZW50c01hbmFnZXJ9IGZyb20gJy4vZXZlbnQvRXZlbnRzTWFuYWdlcic7XHJcbmltcG9ydCB7R3VpRXZlbnRzUHJvY2Vzc29yfSBmcm9tICcuL0d1aUV2ZW50c1Byb2Nlc3Nvcic7XHJcbmltcG9ydCB7RW52aXJvbm1lbnR9IGZyb20gJy4vZW52L0Vudmlyb25tZW50JztcclxuaW1wb3J0IHtMYW5ndWFnZURhdGF9IGZyb20gJy4vZW52L0xhbmd1YWdlRGF0YSc7XHJcbmltcG9ydCB7VGFza3NUYWJsZX0gZnJvbSAnLi90YXNrcy9UYXNrc1RhYmxlJztcclxuaW1wb3J0IHtNZ0NvbnRyb2x9IGZyb20gJy4vZ3VpL01nQ29udHJvbCc7XHJcbmltcG9ydCB7SUNsaWVudENvbW1hbmR9IGZyb20gJy4vY29tbWFuZHMvSUNsaWVudENvbW1hbmQnO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gJy4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7TUdEYXRhQ29sbGVjdGlvbn0gZnJvbSAnLi90YXNrcy9NR0RhdGFDb2xsZWN0aW9uJztcclxuaW1wb3J0IHtVbmlxdWVJRFV0aWxzfSBmcm9tICcuL3V0aWwvVW5pcXVlSURVdGlscyc7XHJcbmltcG9ydCB7SHR0cE1hbmFnZXJ9IGZyb20gJy4vaHR0cC9IdHRwTWFuYWdlcic7XHJcbmltcG9ydCB7Q29tbWFuZHNUYWJsZX0gZnJvbSAnLi9Db21tYW5kc1RhYmxlJztcclxuaW1wb3J0IHtSZW1vdGVDb21tYW5kc1Byb2Nlc3Nvcn0gZnJvbSAnLi9yZW1vdGUvUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3InO1xyXG5pbXBvcnQge0NvbW1hbmRzUHJvY2Vzc29yQmFzZV9TZW5kaW5nSW5zdHJ1Y3Rpb259IGZyb20gJy4vQ29tbWFuZHNQcm9jZXNzb3JCYXNlJztcclxuaW1wb3J0IHtDb21tYW5kc1Byb2Nlc3Nvck1hbmFnZXJ9IGZyb20gJy4vQ29tbWFuZHNQcm9jZXNzb3JNYW5hZ2VyJztcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gJy4vdGFza3MvTUdEYXRhJztcclxuaW1wb3J0IHtTZXJ2ZXJFcnJvcn0gZnJvbSAnLi9yZW1vdGUvU2VydmVyRXJyb3InO1xyXG5pbXBvcnQge0h0dHBDbGllbnRFdmVudHN9IGZyb20gJy4vaHR0cC9jbGllbnQvSHR0cENsaWVudEV2ZW50cyc7XHJcbmltcG9ydCB7SUd1aUV2ZW50fSBmcm9tICcuL2JyaWRnZS9JR3VpRXZlbnQnO1xyXG5pbXBvcnQge0NvbW1hbmRGYWN0b3J5fSBmcm9tICcuL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5JztcclxuaW1wb3J0IHtDdXJyZW50Q2xpZW50VmVyc2lvbn0gZnJvbSAnLi9DdXJyZW50Q2xpZW50VmVyc2lvbic7XHJcbmltcG9ydCB7RGF0YVZpZXd9IGZyb20gJy4vZGF0YS9EYXRhVmlldyc7XHJcbmltcG9ydCB7TGFzdEZvY3VzZWRNYW5hZ2VyfSBmcm9tICcuL3J0L0xhc3RGb2N1c2VkTWFuYWdlcic7XHJcbmltcG9ydCB7RW52UGFyYW1zVGFibGV9IGZyb20gJy4vZW52L0VudlZhcmlhYmxlc1RhYmxlJztcclxuaW1wb3J0IHtHbG9iYWxQYXJhbXN9IGZyb20gJy4vZXhwL0dsb2JhbFBhcmFtc1RhYmxlJztcclxuaW1wb3J0IHtPcGVuVVJMQ29tbWFuZH0gZnJvbSAnLi9jb21tYW5kcy9TZXJ2ZXJUb0NsaWVudC9PcGVuVVJMQ29tbWFuZCc7XHJcbmltcG9ydCB7U2VydmVyQ29uZmlnfSBmcm9tICcuL1NlcnZlckNvbmZpZyc7XHJcbmltcG9ydCB7QWNjZXNzSGVscGVyfSBmcm9tICcuL0FjY2Vzc0hlbHBlcic7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZH0gZnJvbSAnLi9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9Db250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0dVSU1hbmFnZXJ9IGZyb20gXCIuL0dVSU1hbmFnZXJcIjtcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBDbGllbnRNYW5hZ2VyIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBDbGllbnRNYW5hZ2VyID0gbnVsbDtcclxuICBwcml2YXRlIF9nbG9iYWxVbmlxdWVTZXNzaW9uSWQ6IHN0cmluZyA9IG51bGw7XHJcbi8vICBwcml2YXRlIF9sYXN0RmFpbGVkRm9jdXNlZENvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSBudWxsOyAvLyBjb250cm9sIHdoZXJlIGxhc3QgcGFya2luZyB3YXMgYXR0ZW1wdGVkIGJ1dCB3ZSBkaWQgbm90IHBhcmsgb24gaXRcclxuICBwcml2YXRlIF9idXR0b25Jc0NsaWNrZWQgPSBmYWxzZTtcclxuXHJcblxyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9leGVjdXRpb25Qcm9wZXJ0aWVzRmlsZU5hbWU6IHN0cmluZyA9IFwiLi9hc3NldHMvc2VydmVyLWNvbmZpZy5qc29uXCI7IC8vIHBhdGggb2YgdGhlIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzIGZpbGUgZnJvbSBhc3NldHMgZm9sZGVyXHJcblxyXG4gIHN0YXRpYyBnZXQgSW5zdGFuY2UoKTogQ2xpZW50TWFuYWdlciB7XHJcbiAgICBpZiAoQ2xpZW50TWFuYWdlci5faW5zdGFuY2UgPT09IG51bGwpXHJcbiAgICAgIENsaWVudE1hbmFnZXIuX2luc3RhbmNlID0gbmV3IENsaWVudE1hbmFnZXIoKTtcclxuXHJcbiAgICByZXR1cm4gQ2xpZW50TWFuYWdlci5faW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQWRkRXZlbnQoZ3VpRXZlbnQ6IElHdWlFdmVudCk6IHZvaWQge1xyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSA8VGFzaz5NR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLkdldFRhc2tCeUlEKGd1aUV2ZW50LlRhc2tJRCk7XHJcbiAgICBsZXQgbGluZUlkeDogbnVtYmVyID0gK2d1aUV2ZW50LkxpbmU7XHJcbiAgICBsZXQgZHZSb3dJZHg6IG51bWJlciA9IDA7XHJcblxyXG4gICAgaWYgKHRhc2sgIT0gbnVsbCkge1xyXG4gICAgICBsZXQgY29udHJvbDogTWdDb250cm9sQmFzZSA9IG51bGw7XHJcblxyXG4gICAgICBpZiAoZ3VpRXZlbnQuQ29udHJvbE5hbWUgIT09IG51bGwpXHJcbiAgICAgICAgY29udHJvbCA9IHRhc2suZ2V0Rm9ybSgpLkdldEN0cmwoZ3VpRXZlbnQuQ29udHJvbE5hbWUpO1xyXG5cclxuICAgICAgaWYgKGNvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBkdjogRGF0YVZpZXcgPSA8RGF0YVZpZXc+dGFzay5EYXRhVmlldztcclxuICAgICAgICBpZiAoY29udHJvbC5Jc1RhYmxlQ2hpbGQpIHtcclxuICAgICAgICAgIGxpbmVJZHggLT0gZHYuUmVjb3Jkc0JlZm9yZUN1cnJlbnRWaWV3O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzd2l0Y2ggKGd1aUV2ZW50LkV2ZW50VHlwZSkge1xyXG5cclxuICAgICAgICAgIGNhc2UgXCJjb2x1bW5Tb3J0XCI6XHJcbiAgICAgICAgICAgIGlmIChjb250cm9sLmlzQ29sdW1uU29ydGFibGUoKSkge1xyXG4gICAgICAgICAgICAgIEV2ZW50cy5PbkNvbHVtbkNsaWNrKGNvbnRyb2wsIGd1aUV2ZW50LkxpbmUsIGd1aUV2ZW50LkNvbnRyb2xOYW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJtb3VzZWRvd25cIjpcclxuICAgICAgICAgICAgLy8gRGVmZWN0IDE1MjI4OCAmIERlZmVjdCAxNTIyNjg6IFByb2JsZW06IFdoZW4gYnV0dG9uIGlzIGNsaWNrZWQsIHdlIGdldCBmb2N1cyBldmVudCBmaXJzdCBhbmQgaWYgbWVzc2FnZUJveCBpcyBvcGVuZWQgaGVyZSBsaWtlIHZlcmlmeSwgZXRjLlxyXG4gICAgICAgICAgICAvLyB3ZSBkbyBub3QgcmVjZWl2ZSBjbGljayBldmVudC4gSGVuY2UgZXZlbnRzIGFyZSBub3QgcHJvY2Vzc2VkLiBTb2x1dGlvbjogV2UgZG8gbmVlZCBjbGljayBoYW5kbGluZyBmb3IgYnV0dG9uIGFzIGl0IGlzIGNhbGxlZCB3aGVuIHdlIHBhcmtcclxuICAgICAgICAgICAgLy8gb24gYnV0dG9uIGFuZCBwcmVzcyBzcGFjZSBrZXkuIFdlIG5lZWQgZm9jdXMgZXZlbnQgaGFuZGxpbmcgZm9yIGV4ZWN1dGluZyBDUCAmIENTIHdoZW4gcGFya2VkIG9uIGJ1dHRvbiBieSB0YWIga2V5LiBTbyB3ZSBuZWVkIHRvIG1hbmFnZVxyXG4gICAgICAgICAgICAvLyBob3cgY2xpY2sgaXMgaGFuZGxlZC4gV2UgZG8gbm90IG5lZWQgZm9jdXMgZXZlbnQgaGFuZGxpbmcgd2hlbiB3ZSBjbGljayBvbiBidXR0b24sIHNvIG9uIG1vdXNlZG93biwgc2V0IGEgZmxhZyB3aGljaCB3aWxsIGJlIHVzZWQgaW4gZm9jdXNcclxuICAgICAgICAgICAgLy8gZXZlbnQgaGFuZGxpbmcgdG8gc2tpcCBpdHMgaGFuZGxpbmcuIFRoZW4gd2Ugd2lsbCByZWNlaXZlIGNsaWNrIGV2ZW50IHdoZXJlIHRoaXMgd2lsbCBiZSBhY3R1YWxseSBoYW5kbGVkIGFuZCBoZW5jZSB3b3JrLlxyXG4gICAgICAgICAgICBpZiAoY29udHJvbC5pc0J1dHRvbigpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fYnV0dG9uSXNDbGlja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICghY29udHJvbC5pc1N1YmZvcm0oKSlcclxuICAgICAgICAgICAgICBFdmVudHMuR2V0UnVudGltZUNvbnRleHQoTWFuYWdlci5HZXRDdXJyZW50Q29udGV4dElEKCkpLkxhc3RDbGlja2VkQ3RybE5hbWUgPSBjb250cm9sLmdldE5hbWUoKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgY2FzZSBcImNsaWNrXCI6XHJcbiAgICAgICAgICAgIGlmIChjb250cm9sLmlzQnV0dG9uKCkgfHwgKGNvbnRyb2wuQ29ubmVjdGVkQ29udHJvbCAmJiBndWlFdmVudC5mcm9tQnV0dG9uKSl7XHJcbiAgICAgICAgICAgICAgRXZlbnRzLk9uU2VsZWN0aW9uKFwiXCIsIGNvbnRyb2wsIGxpbmVJZHgsIHRydWUpO1xyXG4gICAgICAgICAgICAgIEV2ZW50cy5HZXRSdW50aW1lQ29udGV4dChNYW5hZ2VyLkdldEN1cnJlbnRDb250ZXh0SUQoKSkuTGFzdENsaWNrZWRDdHJsTmFtZSA9IGNvbnRyb2wuZ2V0TmFtZSgpO1xyXG4gICAgICAgICAgICAgIHRoaXMuX2J1dHRvbklzQ2xpY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIHNvcnRpbmcgc2hvdWxkIGJlIGhhbmRsZWQgb25seSBvbiBjb2x1bW4gY2xpY2sgYW5kIG5vdCBvbiByb3dEYXRhXHJcbiAgICAgICAgICAgIC8vIGVsc2UgaWYgKGNvbnRyb2wuVHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQ09MVU1OKSB7XHJcbiAgICAgICAgICAgIC8vICAgRXZlbnRzLk9uQ29sdW1uQ2xpY2soY29udHJvbCwgZ3VpRXZlbnQuTGluZSwgZ3VpRXZlbnQuQ29udHJvbE5hbWUpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIEV2ZW50cy5PbkZvY3VzKGNvbnRyb2wsIGxpbmVJZHgsIHRydWUsIGZhbHNlKTtcclxuICAgICAgICAgICAgICBsZXQgcHJvZHVjZUNsaWNrOiBib29sZWFuID0gY29udHJvbC5pc0J1dHRvbigpIHx8IGNvbnRyb2wuaXNUZXh0Q29udHJvbCgpIHx8IGNvbnRyb2wuaXNMYWJlbCgpIHx8IGNvbnRyb2wuaXNUYWJDb250cm9sKCkgfHwgY29udHJvbC5pc1RhYmxlQ29udHJvbCgpIHx8IGNvbnRyb2wuaXNDb21ib0JveCgpIHx8IGNvbnRyb2wuaXNJbWFnZUNvbnRyb2woKTtcclxuICAgICAgICAgICAgICBFdmVudHMuT25Nb3VzZURvd24oY29udHJvbC5nZXRGb3JtKCksIGNvbnRyb2wsIG51bGwsIHRydWUsIGxpbmVJZHgsIGZhbHNlLCBwcm9kdWNlQ2xpY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcImZvY3VzXCI6XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5fYnV0dG9uSXNDbGlja2VkKVxyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgIC8vIC8vIElmIHdlIGF0dGVtcHQgdG8gcGFyayBvbiBjb250cm9sIHdoZXJlIHdlIGRvIG5vdCB3YW50IHRvIGFsbG93IHRvIHBhcmsgbGlrZSBpZiBjb250cm9sIGhhcyBleHByZXNzaW9uIG9yIHBhcmVudCB0YXNrIGZpZWxkLCBkbyBub3QgYWxsb3cgdG8gZm9jdXMgb24gaXQuXHJcbiAgICAgICAgICAgIC8vIC8vIFNldCBGb2N1cyBiYWNrIHRvIGxhc3RGb2N1c2VkQ29udHJvbC4gV2UgbmVlZCBfbGFzdEZhaWxlZEZvY3VzZWRDb250cm9sIGFzIHdlIGdldCBmb2N1cyBldmVudCBvbiBhIGNvbnRyb2wgdHdpY2UuIFNvIHRvIGF2b2lkIHRvIHNob3cgZXJyb3IgbXVsdGlwbGUgdGltZXMsXHJcbiAgICAgICAgICAgIC8vIC8vIG1haW50YWluIF9sYXN0RmFpbGVkRm9jdXNlZENvbnRyb2wuXHJcbiAgICAgICAgICAgIC8vIGlmIChjb250cm9sICE9PSB0aGlzLl9sYXN0RmFpbGVkRm9jdXNlZENvbnRyb2wgJiYgY29udHJvbC5IYXNFeHBPclBhcmVudFRhc2tGaWVsZCgpKSB7XHJcbiAgICAgICAgICAgIC8vICAgLy8gU2hvdyBlcnJvciBvbmx5IGZvciBjb250cm9scyBoYXZpbmcgRGF0YSBwcm9wZXJ0eSBhbmQgcGFya2FibGVcclxuICAgICAgICAgICAgLy8gICBpZihjb250cm9sLmlzTGlzdEJveCgpIHx8IGNvbnRyb2wuaXNDaGVja0JveCgpIHx8IGNvbnRyb2wuaXNDb21ib0JveCgpIHx8IGNvbnRyb2wuaXNUZXh0Q29udHJvbCgpIHx8IGNvbnRyb2wuaXNSYWRpbygpIHx8IGNvbnRyb2wuaXNUYWJDb250cm9sKCkpIHtcclxuICAgICAgICAgICAgLy8gICAgIENvbW1hbmRzLm1lc3NhZ2VCb3gobnVsbCwgXCJFcnJvclwiLCBcIkNvbnRyb2wgZWl0aGVyIGhhcyBleHByZXNzaW9uIG9yIGhhcyBwYXJlbnQgdGFzayB2YXJpYWJsZSBhdHRhY2hlZCB0byBpdC4gRmFpbGVkIHRvIHBhcmsgb24gY29udHJvbCB3aXRoIG5hbWU6IFwiICsgY29udHJvbC5OYW1lLCBTdHlsZXMuTVNHQk9YX0lDT05fRVJST1IgfCBTdHlsZXMuTVNHQk9YX0JVVFRPTl9PSyk7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBEZWZlY3QgMTUyNzI4OiBVc2UgbGFzdCBmb2N1c2VkIHRhc2sgaW5zdGVhZCBjb250cm9sIHRhc2sgYXMgY29udHJvbCBjYW4gYmUgZnJvbSBzdWJmb3JtLlxyXG4gICAgICAgICAgICAvLyAgICAgRm9jdXNNYW5hZ2VyLlNldEZvY3VzKExhc3RGb2N1c2VkTWFuYWdlci5JbnN0YW5jZS5nZXRMYXN0Rm9jdXNlZFRhc2soKSwgTGFzdEZvY3VzZWRNYW5hZ2VyLmdldExhc3RGb2N1c2VkQ29udHJvbCgpLCAwLFxyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgIExhc3RGb2N1c2VkTWFuYWdlci5nZXRMYXN0Rm9jdXNlZENvbnRyb2woKSA9PT0gbnVsbCA/IHRydWUgOiBmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vICAgICB0aGlzLl9sYXN0RmFpbGVkRm9jdXNlZENvbnRyb2wgPSBjb250cm9sO1xyXG4gICAgICAgICAgICAvLyAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAvLyB0aGlzLl9sYXN0RmFpbGVkRm9jdXNlZENvbnRyb2wgPSBudWxsO1xyXG5cclxuICAgICAgICAgICAgRXZlbnRzLk9uRm9jdXMoY29udHJvbCwgbGluZUlkeCwgdHJ1ZSwgZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiZGJsY2xpY2tcIjpcclxuICAgICAgICAgICAgRXZlbnRzLk9uRGJsQ2xpY2soY29udHJvbCwgbGluZUlkeCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgXCJzZWxlY3Rpb25jaGFuZ2VkXCI6XHJcbiAgICAgICAgICAgIEV2ZW50cy5PblNlbGVjdGlvbihndWlFdmVudC5WYWx1ZSwgY29udHJvbCwgbGluZUlkeCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcImtleWRvd25cIjpcclxuICAgICAgICAgICAgRXZlbnRzLk9uS2V5RG93biggdGFzay5nZXRGb3JtKCksIGNvbnRyb2wsIGd1aUV2ZW50Lm1vZGlmaWVycywgZ3VpRXZlbnQua2V5Q29kZSwgMCwwLCAnJyxmYWxzZSwnJyx0cnVlICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcInNldGV4dGVybmFsdmFsdWVcIjpcclxuICAgICAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5BZGRFeHRlcm5hbFZhbHVlRXZlbnQoKDxNZ0NvbnRyb2w+Y29udHJvbCksIGd1aUV2ZW50LmV4dGVybmFsVmFsdWUsIGd1aUV2ZW50LnBhcmFtKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcInVuaGFuZGxlZCBldmVudDogXFxcIlwiICsgZ3VpRXZlbnQuRXZlbnRUeXBlICsgXCJcXFwiXCIpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3dpdGNoIChndWlFdmVudC5FdmVudFR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgXCJmb2N1c09uTm9uTWFnaWNDb250cm9sXCI6XHJcbiAgICAgICAgICAgIGNvbnRyb2wgPSBMYXN0Rm9jdXNlZE1hbmFnZXIuZ2V0TGFzdEZvY3VzZWRDb250cm9sKCk7XHJcbiAgICAgICAgICAgIGlmIChjb250cm9sICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgRXZlbnRzLk9uRm9jdXNPbk5vbk1hZ2ljQ29udHJvbChjb250cm9sKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJjbGlja1wiOlxyXG4gICAgICAgICAgICBpZihndWlFdmVudC5Db250cm9sTmFtZSA9PT0gXCJtYWdpY1Jvd1wiKSB7XHJcbiAgICAgICAgICAgICAgZHZSb3dJZHggPSBndWlFdmVudC5MaW5lIC0gKDxEYXRhVmlldz50YXNrLkRhdGFWaWV3KS5SZWNvcmRzQmVmb3JlQ3VycmVudFZpZXc7XHJcbiAgICAgICAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhUYXNrQW5kQ29kZUFuZExpbmUodGFzaywgSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1JFQ19QUkVGSVgsIGR2Um93SWR4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJuYXZpZ2F0ZUluVGFibGVcIjpcclxuICAgICAgICAgICAgaWYgKGd1aUV2ZW50LkNvbnRyb2xOYW1lID09PSBcIm1hZ2ljUm93XCIpXHJcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0ZUluUm93RXZlbnQodGFzaywgZ3VpRXZlbnQuVmFsdWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJjbG9zZVwiOlxyXG4gICAgICAgICAgICBpZiAodGFzay5Jc1JvdXRlKCkpXHJcbiAgICAgICAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5BZGRSb3V0ZXJDbG9zZWRFdmVudCh0YXNrKTtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIEV2ZW50cy5DbG9zZUZvcm1FdmVudCh0YXNrLmdldEZvcm0oKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcImRpc3Bvc2VcIjpcclxuICAgICAgICAgICAgTUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5kZWxldGVNR0RhdGFUcmVlKHRhc2suZ2V0TWdkSUQoKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcInJlc2l6ZVwiOlxyXG4gICAgICAgICAgICBFdmVudHMuVGFibGVSZXNpemVFdmVudCh0YXNrLmdldEZvcm0oKS5nZXRUYWJsZUN0cmwoKSwgZ3VpRXZlbnQuUGFnZVNpemUpO1xyXG4gICAgICAgICAgLy9jYXNlICdicmVhaycgaXMgbWlzc2luZyBmb3IgJ3Jlc2l6ZScgd2l0aCBpbnRlbnRpb24gdG8gZXhlY3V0ZSBnZXRSb3dzIHdpdGggdGhlIGRlc2lyZWQgZGF0YXZpZXcgcm93IGluZGV4LlxyXG4gICAgICAgICAgY2FzZSBcImdldFJvd3NcIjpcclxuICAgICAgICAgICAgZHZSb3dJZHggPSBsaW5lSWR4IC0gKDxEYXRhVmlldz50YXNrLkRhdGFWaWV3KS5SZWNvcmRzQmVmb3JlQ3VycmVudFZpZXc7XHJcbiAgICAgICAgICAgIGxldCBsYXN0Rm9jdXNlZFZhbDogTGFzdEZvY3VzZWRWYWwgPSB7Z3VpTWdDb250cm9sOiB0YXNrLmdldEZvcm0oKS5nZXRUYWJsZUN0cmwoKSwgTGluZTogZHZSb3dJZHgsIFZhbDogXCJcIn07XHJcbiAgICAgICAgICAgIEV2ZW50cy5PbkdldFJvd3NEYXRhKHRhc2suZ2V0Rm9ybSgpLmdldFRhYmxlQ3RybCgpLCBkdlJvd0lkeCwgdHJ1ZSwgbGFzdEZvY3VzZWRWYWwpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJSb3V0ZXJOYXZpZ2F0ZVwiOlxyXG4gICAgICAgICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLkFkZFJvdXRlRXZlbnQodGFzaywgSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1dFQkNMSUVOVF9ST1VURSwgZ3VpRXZlbnQuUm91dGVyUGF0aCwgZ3VpRXZlbnQuUm91dGVyT3V0bGV0TmFtZSxcclxuICAgICAgICAgICAgICBndWlFdmVudC5Sb3V0ZXJQYXJhbXMpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJzZXRleHRlcm5hbHZhbHVlXCI6XHJcbiAgICAgICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUVycm9yVG9Mb2coTlN0cmluZy5Gb3JtYXQoXCJVbmFibGUgdG8gZmluZCB7MH06IFRyeWluZyB0byBzZXQgdmFsdWUgZm9yIGEgbm9uLWV4aXN0aW5nIGNvbnRyb2wuXCIsIGd1aUV2ZW50LkNvbnRyb2xOYW1lKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coIFwidW5oYW5kbGVkIGV2ZW50OiBcXFwiXCIgKyBndWlFdmVudC5FdmVudFR5cGUgKyBcIlxcXCJcIik7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSAvL3Rhc2sgPT0gbnVsbFxyXG4gICAgICBzd2l0Y2ggKGd1aUV2ZW50LkV2ZW50VHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJjb25maXJtYXRpb25DbG9zZWRcIjpcclxuICAgICAgICAgIHRoaXMuQ29uZmlybWF0aW9uQ2xvc2VkKGd1aUV2ZW50LmtleUNvZGUpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTmF2aWdhdGVJblJvd0V2ZW50KHRhc2s6IFRhc2ssIGV2dDogc3RyaW5nKSB7XHJcbiAgICBsZXQgaW50ZXJuYWxFdnQgPSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfTk9ORTtcclxuICAgIGV2dCA9IGV2dC50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgIHN3aXRjaCAoZXZ0KSB7XHJcbiAgICAgIGNhc2UgXCJiZWdpbi1wYWdlXCI6XHJcbiAgICAgICAgaW50ZXJuYWxFdnQgPSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfVEJMX0JFR1BBR0U7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFwicHJldmlvdXMtcGFnZVwiOlxyXG4gICAgICAgIGludGVybmFsRXZ0ID0gSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1RCTF9QUlZQQUdFO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBcImVuZC1wYWdlXCI6XHJcbiAgICAgICAgaW50ZXJuYWxFdnQgPSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfVEJMX0VORFBBR0U7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFwibmV4dC1wYWdlXCI6XHJcbiAgICAgICAgaW50ZXJuYWxFdnQgPSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfVEJMX05YVFBBR0U7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFwicHJldmlvdXMtbGluZVwiOlxyXG4gICAgICAgIGludGVybmFsRXZ0ID0gSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1RCTF9QUlZMSU5FO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBcIm5leHQtbGluZVwiOlxyXG4gICAgICAgIGludGVybmFsRXZ0ID0gSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1RCTF9OWFRMSU5FO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBcImJlZ2luLXRhYmxlXCI6XHJcbiAgICAgICAgaW50ZXJuYWxFdnQgPSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfVEJMX0JFR1RCTDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgXCJlbmQtdGFibGVcIjpcclxuICAgICAgICBpbnRlcm5hbEV2dCA9IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9UQkxfRU5EVEJMO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpbnRlcm5hbEV2dCAhPSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfTk9ORSlcclxuICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhUYXNrQW5kQ29kZSh0YXNrLCBpbnRlcm5hbEV2dCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHJhaXNlIGNhbGxiYWNrIG9uIGNsb3NpbmcgY29uZmlybWF0aW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBDb25maXJtYXRpb25DbG9zZWQocmVzOiBudW1iZXIpOiB2b2lkXHJcbiAge1xyXG4gICAgQ29tbWFuZHMuUmVzb2x2ZVByb21pc2UocmVzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gdGhlIHdvcmsgdGhyZWFkJ3MgZW50cnkgbWV0aG9kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBhc3luYyBXb3JrVGhyZWFkRXhlY3V0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKExvZ2dlci5JbnN0YW5jZS5TaG91bGRMb2coKSkge1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVUb0xvZyhcIlwiLCB0cnVlKTtcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlVG9Mb2coXCJTdGFydGVkIG9uIFwiICsgRGF0ZVRpbWVVdGlscy5Ub1N0cmluZyhEYXRlVGltZS5Ob3csIFhNTENvbnN0YW50cy5FUlJPUl9MT0dfREFURV9GT1JNQVQsIExvZ2dlci5JbnN0YW5jZSksIHRydWUpO1xyXG4gICAgICB0aGlzLldyaXRlRXhlY3V0aW9uUHJvcGVydGllc1RvTG9nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGF3YWl0IENvbW1hbmRzUHJvY2Vzc29yTWFuYWdlci5TdGFydFNlc3Npb24oKSkge1xyXG4gICAgICAgIGxldCBtZ0RhdGFUYWI6IE1HRGF0YUNvbGxlY3Rpb24gPSBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlO1xyXG4gICAgICAgIGxldCBzdGFydHVwTWdEYXRhOiBNR0RhdGEgPSBtZ0RhdGFUYWIuU3RhcnR1cE1nRGF0YTtcclxuICAgICAgICBtZ0RhdGFUYWIuY3Vyck1nZElEID0gc3RhcnR1cE1nRGF0YS5HZXRJZCgpO1xyXG5cclxuICAgICAgICBsZXQgbm9uSW50ZXJhY3RpdmVUYXNrOiBUYXNrID0gbnVsbDtcclxuICAgICAgICBpZiAoIXN0YXJ0dXBNZ0RhdGEuSXNBYm9ydGluZylcclxuICAgICAgICAgIG5vbkludGVyYWN0aXZlVGFzayA9IGF3YWl0IFRhc2suU3RhcnRQcm9ncmFtKGZhbHNlLCBmYWxzZSk7XHJcblxyXG4gICAgICAgIGlmIChub25JbnRlcmFjdGl2ZVRhc2sgPT09IG51bGwpXHJcbiAgICAgICAgICBhd2FpdCBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLkV2ZW50c0xvb3Aoc3RhcnR1cE1nRGF0YSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgYXdhaXQgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5Ob25JbnRlcmFjdGl2ZUV2ZW50c0xvb3Aoc3RhcnR1cE1nRGF0YSwgbm9uSW50ZXJhY3RpdmVUYXNrKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IHRoZSBcImVuZCBvZiB3b3JrXCIgZmxhZyBvbmx5IGZvciB0aGUgbWFpbiB3aW5kb3dcclxuICAgICAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLnNldEVuZE9mV29yayh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4KSB7XHJcbiAgICAgIGlmIChleCBpbnN0YW5jZW9mIEFwcGxpY2F0aW9uRXhjZXB0aW9uKSB7XHJcbiAgICAgICAgbGV0IGlzTm9SZXN1bHRFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChleCBpbnN0YW5jZW9mIFNlcnZlckVycm9yICYmICg8U2VydmVyRXJyb3I+ZXgpLkdldENvZGUoKSA9PT0gU2VydmVyRXJyb3IuSU5GX05PX1JFU1VMVClcclxuICAgICAgICAgIGlzTm9SZXN1bHRFcnJvciA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICghaXNOb1Jlc3VsdEVycm9yKVxyXG4gICAgICAgICAgYXdhaXQgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5Qcm9jZXNzQWJvcnRpbmdFcnJvcihleCk7XHJcblxyXG4gICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2Uuc2V0RW5kT2ZXb3JrKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aHJvdyBleDtcclxuICAgIH1cclxuICAgIGZpbmFsbHkge1xyXG4gICAgICBhd2FpdCBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLkNoZWNrQW5kU2hvd1NwaW5uZXIoZmFsc2UpO1xyXG5cclxuICAgICAgQ29tbWFuZHMuYWRkR2xvYmFsQ29tbWFuZChDb21tYW5kVHlwZS5FWElUX01BR0lDKTtcclxuICAgICAgQ29tbWFuZHMuYmVnaW5JbnZva2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gV3JpdGUgRXhlY3V0aW9uIHByb3BlcnRpZXMgdG8gbG9nLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgV3JpdGVFeGVjdXRpb25Qcm9wZXJ0aWVzVG9Mb2coKTogdm9pZCB7XHJcbiAgICBpZiAoTG9nZ2VyLkluc3RhbmNlLlNob3VsZExvZ1NlcnZlclJlbGF0ZWRNZXNzYWdlcygpKSB7XHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVRvTG9nKFwiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cIiwgdHJ1ZSk7XHJcbiAgICAgIC8vIFdyaXRlIGhlYWRpbmdcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlVG9Mb2coXCJFeGVjdXRpb24gUHJvcGVydGllczpcIiwgdHJ1ZSk7XHJcblxyXG4gICAgICBsZXQgcHJvcHNTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShTZXJ2ZXJDb25maWcuSW5zdGFuY2UpO1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVUb0xvZyhwcm9wc1N0cmluZywgdHJ1ZSk7XHJcblxyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVUb0xvZyhcIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCIsIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlLkluaXQoUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IuUkNfTk9fQ09OVEVYVF9JRCk7XHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuSW5pdChNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlKTtcclxuICAgIExhc3RGb2N1c2VkTWFuYWdlci5JbnN0YW5jZS5MYXN0QWN0aW9uVGltZSA9IE1pc2MuZ2V0U3lzdGVtTWlsbGlzZWNvbmRzKCk7XHJcblxyXG5cclxuICAgIFJlbW90ZUNvbW1hbmRzUHJvY2Vzc29yLlNob3VsZFNjcmFtYmxlQW5kVW5zY3JhbWJsZU1lc3NhZ2VzID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgLy8gVE9ETzogSG93IHRvIGdldCBQcm9jZXNzLkdldEN1cnJlbnRQcm9jZXNzKCkuSWQ/XHJcbiAgICB0aGlzLl9nbG9iYWxVbmlxdWVTZXNzaW9uSWQgPSBVbmlxdWVJRFV0aWxzLkdldFVuaXF1ZU1hY2hpbmVJRCgpICsgXCJfXCI7IC8vICsgUHJvY2Vzcy5HZXRDdXJyZW50UHJvY2VzcygpLklkO1xyXG5cclxuICAgIHRoaXMuUmVnaXN0ZXJEZWxlZ2F0ZXMoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gSW5pdGlhbGl6ZSB0aGUgZGF0YSBuZWVkZWQgYnkgdGhlIGd1aSBsaWJyYXJ5XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+IENsaWVudE1hbmFnZXIgaW5zdGFuY2U8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBJbml0R3VpTWFuYWdlcigpOiB2b2lkIHtcclxuICAgIE1hbmFnZXIuRXZlbnRzTWFuYWdlciA9IEV2ZW50c01hbmFnZXIuSW5zdGFuY2U7XHJcbiAgICBNYW5hZ2VyLkRlZmF1bHRTZXJ2ZXJOYW1lID0gU2VydmVyQ29uZmlnLkluc3RhbmNlLmdldFNlcnZlcigpO1xyXG4gICAgTWFuYWdlci5EZWZhdWx0UHJvdG9jb2wgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0UHJvdG9jb2woKTtcclxuICAgIEd1aUVudmlyb25tZW50LkVudmlyb25tZW50ID0gRW52aXJvbm1lbnQuSW5zdGFuY2U7XHJcbiAgICBHdWlEYXRhQ29sbGVjdGlvbi5NR0RhdGFUYWJsZSA9IE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2U7XHJcbiAgICBSdW50aW1lQ29udGV4dEJhc2Uubm9Db250ZXh0SWQgPSBSZW1vdGVDb21tYW5kc1Byb2Nlc3Nvci5SQ19OT19DT05URVhUX0lEO1xyXG4gIH1cclxuXHJcbiAgLy8vIEluaXRpYWxpemUgZ2xvYmFsIGRhdGEgaW4gb2JqZWN0cyB1c2VkIHRvIG92ZXJjb21lIHRoZSBjaXJjdWxhciByZWZlcmVuY2VzIGlzc3VlXHJcbiAgcHJpdmF0ZSBJbml0Q2lyY3VsYXJSZWZlcmVuY2VzQnlwYXNzZXMoKSB7XHJcbiAgICBUYXNrc1RhYmxlLmNyZWF0ZU5ld3Rhc2sgPSBUYXNrLkNyZWF0ZVRhc2s7XHJcbiAgICBPcGVuVVJMQ29tbWFuZC5jcmVhdGVOZXdDb21tYW5kc1RhYmxlID0gQ29tbWFuZHNUYWJsZS5jcmVhdGVDb21tYW5kc1RhYmxlO1xyXG5cclxuICAgIEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyID0gRXZlbnRzTWFuYWdlci5JbnN0YW5jZTtcclxuICAgIEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZSA9IE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2U7XHJcbiAgICBBY2Nlc3NIZWxwZXIuZW52UGFyYW1zVGFibGUgPSBFbnZQYXJhbXNUYWJsZS5JbnN0YW5jZTtcclxuICAgIEFjY2Vzc0hlbHBlci5nbG9iYWxQYXJhbXMgPSBHbG9iYWxQYXJhbXMuSW5zdGFuY2U7XHJcbiAgICBBY2Nlc3NIZWxwZXIubGFuZ3VhZ2VEYXRhID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlO1xyXG4gICAgQWNjZXNzSGVscGVyLmVudmlyb25tZW50ID0gRW52aXJvbm1lbnQuSW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IEVudHJ5IHBvaW50IHRvIHRoZSBXZWIgQ2xpZW50IDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJhcmdzXCI+YXJyYXkgb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50czwvcGFyYW0+XHJcbiAgc3RhdGljIE1haW4oaHR0cENsaWVudDogSHR0cENsaWVudCk6IHZvaWQge1xyXG4gICAgLy8gVE9ETyA6IENoZWNrIGhvdyB0byBsb2FkIGZyb20gU3R1ZGlvIGkuZS4gRjdcclxuICAgIC8vIGlmIChhcmdzLmxlbmd0aCAhPT0gMCAmJiBOU3RyaW5nLlN0YXJ0c1dpdGgoYXJnc1swXSwgXCIvc3Bhd25haGVhZFwiKSkge1xyXG4gICAgLy8gICBDbGllbnRNYW5hZ2VyLl9zdGFydGVkRnJvbVN0dWRpbyA9IHRydWU7XHJcbiAgICAvLyAgIFN0dWRpb0xhdW5jaGVyLkluaXQoYXJncyk7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBlbHNlXHJcbiAgICBDbGllbnRNYW5hZ2VyLlN0YXJ0RXhlY3V0aW9uKGh0dHBDbGllbnQpO1xyXG5cclxuICAgIExvZ2dlci5JbnN0YW5jZS5GbHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBUZXJtaW5hdGUgdGhlIGNsaWVudCBhbmQgdGVybWluYXRlIHRoZSBjb250ZXh0IDwvc3VtbWFyeT5cclxuICBzdGF0aWMgYXN5bmMgU3RvcEV4ZWN1dGlvbigpOiBQcm9taXNlIDx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBIdHRwTWFuYWdlci5HZXRJbnN0YW5jZSgpLklzQWJvcnRpbmdNYWdpY0VuZ2luZSA9IHRydWU7XHJcbiAgICAgIE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuU3RhcnR1cE1nRGF0YS5nZXRGaXJzdFRhc2soKS5DbG9zaW5nRm9ybVVJID0gdHJ1ZTtcclxuXHJcbiAgICAgIGF3YWl0IE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuU3RhcnR1cE1nRGF0YS5nZXRGaXJzdFRhc2soKS5lbmRUYXNrKHRydWUsIGZhbHNlLFxyXG4gICAgICAgIGZhbHNlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleDMpIHtcclxuICAgICAgaWYgKGV4MyBpbnN0YW5jZW9mIEFwcGxpY2F0aW9uRXhjZXB0aW9uKSB7XHJcbiAgICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRXhjZXB0aW9uVG9Mb2coZXgzKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhyb3cgZXgzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFzeW5jIFN0YXJ0RXhlY3V0aW9uKGh0dHBDbGllbnQ6SHR0cENsaWVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgSHR0cE1hbmFnZXIuc2V0TmF0aXZlSHR0cENsaWVudChodHRwQ2xpZW50KTtcclxuICAgIGxldCBsb2FkZWQ6IGJvb2xlYW4gPSBhd2FpdCBDbGllbnRNYW5hZ2VyLkluc3RhbmNlLkxvYWRFeGVjdXRpb25Qcm9wcygpO1xyXG5cclxuICAgIGlmIChsb2FkZWQpIHtcclxuICAgICAgbmV3IEd1aUV2ZW50c1Byb2Nlc3NvcigpO1xyXG4gICAgICBDbGllbnRNYW5hZ2VyLkluc3RhbmNlLkluaXRHdWlNYW5hZ2VyKCk7XHJcbiAgICAgIENsaWVudE1hbmFnZXIuSW5zdGFuY2UuSW5pdENpcmN1bGFyUmVmZXJlbmNlc0J5cGFzc2VzKCk7XHJcbiAgICAgIGxldCB2ZXJzaW9uU3RyaW5nID0gQ3VycmVudENsaWVudFZlcnNpb24gPT09ICAnMC4wLjAuMCcgPyBcIkRldmVsb3BtZW50IG1vZGVcIiA6IFwiVmVyc2lvbiA6IFwiICsgQ3VycmVudENsaWVudFZlcnNpb24gO1xyXG5cclxuICAgICAgY29uc29sZS5sb2coXCJNYWdpYyBXZWIgQ2xpZW50LiBcIiArIHZlcnNpb25TdHJpbmcpO1xyXG5cclxuICAgICAgSHR0cE1hbmFnZXIuR2V0SW5zdGFuY2UoKS5IdHRwQ29tbXVuaWNhdGlvblRpbWVvdXRNUyA9IFNlcnZlckNvbmZpZy5JbnN0YW5jZS5HZXRGaXJzdEh0dHBSZXF1ZXN0VGltZW91dCgpO1xyXG5cclxuICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5Jbml0KCk7XHJcblxyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuSW5pdGlhbGl6ZShSZW1vdGVDb21tYW5kc1Byb2Nlc3Nvci5HZXRJbnN0YW5jZSgpLnBhcnNlTG9nTGV2ZWwoU2VydmVyQ29uZmlnLkluc3RhbmNlLmdldEludGVybmFsTG9nTGV2ZWwoKSksZmFsc2UpO1xyXG5cclxuICAgICAgbGV0IG1nZDogTUdEYXRhID0gbmV3IE1HRGF0YShcclxuICAgICAgICBuZXcgQ29tbWFuZHNUYWJsZSgpLFxyXG4gICAgICAgIG5ldyBDb21tYW5kc1RhYmxlKCksXHJcbiAgICAgICAgMCwgbnVsbCwgZmFsc2UpO1xyXG4gICAgICBhd2FpdCBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLmFkZE1HRGF0YShtZ2QsIDAsIHRydWUpO1xyXG5cclxuICAgICAgYXdhaXQgQ2xpZW50TWFuYWdlci5JbnN0YW5jZS5Xb3JrVGhyZWFkRXhlY3V0aW9uKCk7XHJcblxyXG4gICAgICBpZiAoTG9nZ2VyLkluc3RhbmNlLlNob3VsZExvZygpKSB7XHJcbiAgICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlVG9Mb2coT1NFbnZpcm9ubWVudC5Fb2xTZXEgKyBcIkVuZGVkIG9uIFwiICsgRGF0ZVRpbWVVdGlscy5Ub1N0cmluZyhEYXRlVGltZS5Ob3csIFwiZGQvTU0veXl5eVwiLCBMb2dnZXIuSW5zdGFuY2UpICsgT1NFbnZpcm9ubWVudC5Fb2xTZXEgKyBPU0Vudmlyb25tZW50LkVvbFNlcSwgZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICB7XHJcbiAgICAgIGF3YWl0IEdVSU1hbmFnZXIuSW5zdGFuY2UuTWVzc2FnZUJveChcIkVycm9yXCIsIFwiRmFpbGVkIHRvIGxvYWQgc2VydmVyIGNvbmZpZ3VyYXRpb24gZmlsZSAoXCIgKyB0aGlzLl9leGVjdXRpb25Qcm9wZXJ0aWVzRmlsZU5hbWUgKyBcIilcIiwgU3R5bGVzLk1TR0JPWF9JQ09OX0VSUk9SIHwgU3R5bGVzLk1TR0JPWF9CVVRUT05fT0spO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBMb2FkcyB0aGUgZXhlY3V0aW9uIHByb3BlcnRpZXMgZmlsZSB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzZXJ2ZXIsXHJcbiAgLy8vIGFwcGxpY2F0aW9uIGFuZCBwcm9ncmFtIHRvIGV4ZWN1dGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGFzeW5jIExvYWRFeGVjdXRpb25Qcm9wcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIC8vIHJldHVybiB0cnVlLCBpZiBzdWNjZXNzZnVsbHkgbG9hZGVkLlxyXG4gICAgbGV0IHJlc3BvbnNlOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgbGV0IHN1Y2NlZWRlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gaXNFcnJvciBjYW5ub3QgYmUgdHJ1ZSBoZXJlLCBiZWNhdXNlIGl0IGlzIHJldHVybmVkIGJ5IHJ1bnRpbWUgZW5naW5lIGFuZCB0byByZWFkIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzLCB3ZSBkbyBub3QgcmVhY2ggdGhlIGVuZ2luZS5cclxuICAgICAgbGV0IGlzRXJyb3I6IFJlZlBhcmFtPGJvb2xlYW4+ID0gbmV3IFJlZlBhcmFtKGZhbHNlKTtcclxuICAgICAgcmVzcG9uc2UgPSBhd2FpdCBIdHRwTWFuYWdlci5HZXRJbnN0YW5jZSgpLkdldENvbnRlbnQoQ2xpZW50TWFuYWdlci5fZXhlY3V0aW9uUHJvcGVydGllc0ZpbGVOYW1lLCBudWxsLCBmYWxzZSwgaXNFcnJvcik7XHJcbiAgICAgIFNlcnZlckNvbmZpZy5JbnN0YW5jZS5Jbml0KEpTT04ucGFyc2UocmVzcG9uc2UpKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICBzdWNjZWVkZWQgPSBmYWxzZTtcclxuICAgICAgLy8gVE9ETzogc2hvdWxkIHdlIHdyaXRlIHRoZSBlcnJvciBtZXNzYWdlIHRvIGxvZz9cclxuICAgICAgLy8gVE9ETzogc2hvdWxkIHdlIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnJvd3Nlcj9cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3VjY2VlZGVkO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+Z2xvYmFsIHVuaXF1ZSBJRCBvZiB0aGUgc2Vzc2lvbiA9ICdtYWNoaW5lIHVuaXF1ZSBJRCcgKyAncHJvY2VzcyBJRCc8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBHZXRHbG9iYWxVbmlxdWVTZXNzaW9uSUQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9nbG9iYWxVbmlxdWVTZXNzaW9uSWQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEdldCBjb250cm9sJ3MgcGljdHVyZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgIEdldENvbnRyb2xQaWN0dXJlTWFzayh0YXNrSWQ6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZyk6IFBJQ1xyXG4gIHtcclxuICAgIGxldCBwaWM6IFBJQyA9IG51bGw7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IDxUYXNrPk1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuR2V0VGFza0J5SUQodGFza0lkKTtcclxuXHJcbiAgICBsZXQgY29udHJvbDogTWdDb250cm9sQmFzZSA9IG51bGw7XHJcblxyXG4gICAgaWYgKGNvbnRyb2xOYW1lICE9PSBudWxsICYmIHRhc2sgIT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnRyb2wgPSB0YXNrLmdldEZvcm0oKS5HZXRDdHJsKGNvbnRyb2xOYW1lKTtcclxuICAgICAgICBwaWMgPSBjb250cm9sLmdldFBJQygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwaWM7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgR2V0IGZvcm1hdHRlZCB2YWx1ZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgIEdldEZvcm1hdHRlZFZhbHVlKHRhc2tJZDogc3RyaW5nLCBjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55LCByb3dJZD86IHN0cmluZyk6IHN0cmluZ1xyXG4gIHtcclxuICAgIGxldCBwaWM6IFBJQyA9IG51bGw7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IDxUYXNrPk1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuR2V0VGFza0J5SUQodGFza0lkKTtcclxuXHJcbiAgICBsZXQgY29udHJvbDogTWdDb250cm9sQmFzZSA9IG51bGw7XHJcbiAgICBsZXQgbmV3VmFsdWU6IGFueSA9IHZhbHVlO1xyXG5cclxuICAgIGlmIChjb250cm9sTmFtZSAhPT0gbnVsbCAgJiYgdGFzayAhPT0gbnVsbClcclxuICAgICAgY29udHJvbCA9IHRhc2suZ2V0Rm9ybSgpLkdldEN0cmwoY29udHJvbE5hbWUpO1xyXG4gICAgaWYgKGNvbnRyb2wgIT0gbnVsbCAmJiBjb250cm9sLkRhdGFUeXBlID09IFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQykge1xyXG4gICAgICBpZiAoY29udHJvbC5pc1JlcGVhdGFibGUoKSAmJiAgY29udHJvbC5nZXRQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0ZPUk1BVCkuaXNFeHByZXNzaW9uKCkpXHJcbiAgICAgIHtcclxuICAgICAgICAgIGxldCBwaWN2YWwgPSBjb250cm9sLmdldFByb3AoUHJvcEludGVyZmFjZS5QUk9QX1RZUEVfRk9STUFUKS5nZXRQcmV2VmFsdWUoK3Jvd0lkKTtcclxuICAgICAgICAgIHBpYyA9IG5ldyBQSUMgKHBpY3ZhbCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAgY29udHJvbC5nZXRGb3JtKCkuZ2V0VGFzaygpLmdldENvbXBJZHgoKSlcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcGljID0gY29udHJvbC5nZXRQSUMoKTtcclxuXHJcbiAgICAgIGxldCBkaXNwVmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgICBsZXQgIG5ld1BpYyA9IHBpYy5nZXRVbmZvcm1hdHRlZE51bWVyaWNQaWMoKTtcclxuXHJcbiAgICAgIGxldCBudW0gPSBEaXNwbGF5Q29udmVydG9yLkluc3RhbmNlLnRvTnVtKGRpc3BWYWx1ZSwgbmV3UGljLCAwKTtcclxuICAgICAgbmV3VmFsdWUgPSBEaXNwbGF5Q29udmVydG9yLkluc3RhbmNlLmZyb21OdW0obnVtLCBwaWMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGdldCByYW5nZWQgdmFsdWUgZm9yIGlucHV0IHZhbHVlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgIEdldFJhbmdlZFZhbHVlKHRhc2tJZDogc3RyaW5nLCBjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nXHJcbiAge1xyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSA8VGFzaz5NR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLkdldFRhc2tCeUlEKHRhc2tJZCk7XHJcblxyXG4gICAgbGV0IGNvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSBudWxsO1xyXG5cclxuICAgIGlmIChjb250cm9sTmFtZSAhPT0gbnVsbClcclxuICAgIHtcclxuICAgICAgY29udHJvbCA9ICB0YXNrLmdldEZvcm0oKS5HZXRDdHJsKGNvbnRyb2xOYW1lKTtcclxuICAgICAgcmV0dXJuIGNvbnRyb2wuZ2V0UmFuZ2VkVmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgdmFsaWRhdGUgdXNlciBpbnB1dCB2YWx1ZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljICBWYWxpZGF0ZUNvbnRyb2xWYWx1ZSh0YXNrSWQ6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHN0cmluZ1xyXG4gIHtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+TUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5HZXRUYXNrQnlJRCh0YXNrSWQpO1xyXG5cclxuICAgIGxldCBjb250cm9sOiBNZ0NvbnRyb2wgPSBudWxsO1xyXG5cclxuICAgIGlmIChjb250cm9sTmFtZSAhPT0gbnVsbClcclxuICAgIHtcclxuICAgICAgY29udHJvbCA9ICB0YXNrLmdldEZvcm0oKS5HZXRDdHJsKGNvbnRyb2xOYW1lKSBhcyBNZ0NvbnRyb2w7XHJcbiAgICAgIHJldHVybiBjb250cm9sLnZhbGlkYXRlKHZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIEdldCBmbGQgcmFuZ2VzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgR2V0RmxkUmFuZ2VzKHRhc2tJZDogc3RyaW5nLCBjb250cm9sTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+TUdEYXRhQ29sbGVjdGlvbi5JbnN0YW5jZS5HZXRUYXNrQnlJRCh0YXNrSWQpO1xyXG5cclxuICAgIGxldCBjb250cm9sOiBNZ0NvbnRyb2wgPSBudWxsO1xyXG5cclxuICAgIGlmIChjb250cm9sTmFtZSAhPT0gbnVsbClcclxuICAgIHtcclxuICAgICAgY29udHJvbCA9ICB0YXNrLmdldEZvcm0oKS5HZXRDdHJsKGNvbnRyb2xOYW1lKSBhcyBNZ0NvbnRyb2w7XHJcbiAgICAgIHJldHVybiBjb250cm9sLmdldFJhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgUmV0dXJucyB3aGV0aGVyIGNsaWVudC9zZXJ2ZXIgY2FjaGUgZXhpc3RzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgVHJhbnNDYWNoZUV4aXN0cygpOiBib29sZWFuIHtcclxuICAgIGxldCBjbGllbnRUcmFuc0NhY2hlRXhpc3RzOiBib29sZWFuID0gQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldEN1cnJNR0RhdGEoKS5jbGllbnRUcmFuc2FjdGlvbkNhY2hlRXhpc3RzKCk7XHJcbiAgICBsZXQgc2VydmVyVHJhbnNhY3Rpb25DYWNoZUV4aXN0czogYm9vbGVhbiA9IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRDdXJyTUdEYXRhKCkuc2VydmVyVHJhbnNhY3Rpb25DYWNoZUV4aXN0cygpO1xyXG5cclxuICAgIHJldHVybiBjbGllbnRUcmFuc0NhY2hlRXhpc3RzIHx8IHNlcnZlclRyYW5zYWN0aW9uQ2FjaGVFeGlzdHM7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFN1YnNjcmliZSBmb3IgZXZlbnRzIGRlZmluZWQgYXQgSHR0cENsaWVudEV2ZW50cyBhbmRcclxuICAvLy8gYXR0YWNoIGFwcHJvcHJpYXRlIGV2ZW50IGhhbmRsZXJzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFJlZ2lzdGVyRGVsZWdhdGVzKCk6IHZvaWQge1xyXG4gICAgSHR0cENsaWVudEV2ZW50cy5HZXRFeGVjdXRpb25Qcm9wZXJ0eV9FdmVudCA9IFNlcnZlckNvbmZpZy5JbnN0YW5jZS5HZXRFeGVjdXRpb25Qcm9wZXJ0eS5iaW5kKFNlcnZlckNvbmZpZy5JbnN0YW5jZSk7XHJcbiAgICBIdHRwQ2xpZW50RXZlbnRzLkdldFJ1bnRpbWVDdHhJRF9FdmVudCA9IHRoaXMuR2V0UnVudGltZUN0eElELmJpbmQodGhpcyk7XHJcbiAgICBIdHRwQ2xpZW50RXZlbnRzLkdldEdsb2JhbFVuaXF1ZVNlc3Npb25JRF9FdmVudCA9IHRoaXMuR2V0R2xvYmFsVW5pcXVlU2Vzc2lvbklELmJpbmQodGhpcyk7XHJcbiAgICBIdHRwQ2xpZW50RXZlbnRzLlNob3VsZERpc3BsYXlHZW5lcmljRXJyb3JfRXZlbnQgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuU2hvdWxkRGlzcGxheUdlbmVyaWNFcnJvci5iaW5kKFNlcnZlckNvbmZpZy5JbnN0YW5jZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFJldHJpZXZlcyBydW50aW1lIGNvbnRleHQgSURcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgR2V0UnVudGltZUN0eElEKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlLkNvbnRleHRJRDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gU2VuZCBhIHJlcXVlc3QgdG8gc2VydmVyIHRvIHRlcm1pbmF0ZSB0aGUgY29udGV4dCB1c2luZyBmZXRjaCBBUEkgd2l0aCBrZWVwLWFsaXZlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgVGVybWluYXRlQ29udGV4dFVzaW5nRmV0Y2hBUEkoKTogdm9pZCB7XHJcblxyXG4gICAgLy8gSWYgU2Vzc2lvbiBpcyByZS1pbml0aWFsaXppbmcgbWVhbnMgdGhlIGNvbnRleHQgaXMgbm90IGZvdW5kIGF0IHNlcnZlci5cclxuICAgIC8vIHRoZW4gdGhlcmUgaXMgbm8gcG9pbnQgaW4gdGVybWluYXRpbmcgY29udGV4dC5cclxuICAgIGlmIChSZW1vdGVDb21tYW5kc1Byb2Nlc3Nvci5Jc1Nlc3Npb25SZUluaXRpYWxpemluZylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgSHR0cE1hbmFnZXIuR2V0SW5zdGFuY2UoKS5Jc0Fib3J0aW5nTWFnaWNFbmdpbmUgPSB0cnVlO1xyXG5cclxuICAgIC8vIER1ZSB0byBwYXlsb2FkIGxpbWl0IG9mIGZldGNoIEFQSSwgc2VuZCBvbmx5IHRoZSBjb250ZXh0IHRlcm1pbmF0aW9uIGNvbW1hbmQgdG8gc2VydmVyXHJcbiAgICBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLmdldEN1cnJNR0RhdGEoKS5DbWRzVG9TZXJ2ZXIuQ2xlYXIoKTtcclxuXHJcbiAgICBsZXQgY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kOiBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQgPSBDb21tYW5kRmFjdG9yeS5cclxuICAgIENyZWF0ZUNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZChNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLlN0YXJ0dXBNZ0RhdGEuZ2V0Rmlyc3RUYXNrKCkuZ2V0VGFza1RhZygpKTtcclxuXHJcbiAgICBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLmdldEN1cnJNR0RhdGEoKS5DbWRzVG9TZXJ2ZXIuQWRkKDxJQ2xpZW50Q29tbWFuZD5jb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQpO1xyXG5cclxuICAgIC8vIHJlc3BvbnNlIG5lZWQgbm90IHRvIGJlIGhhbmRsZWQgYXMgdGhlIGJyb3dzZXIgdW5sb2FkIGNhbm5vdCBiZSBzdG9wcGVkLCBzbyBubyBuZWVkIHRvIHdhaXRcclxuICAgIFJlbW90ZUNvbW1hbmRzUHJvY2Vzc29yLkdldEluc3RhbmNlKCkuRXhlY3V0ZShDb21tYW5kc1Byb2Nlc3NvckJhc2VfU2VuZGluZ0luc3RydWN0aW9uLk9OTFlfQ09NTUFORFMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export class ConstInterface {
|
|
2
|
-
;
|
|
3
2
|
}
|
|
4
3
|
ConstInterface.MG_TAG_CONTEXT = "context";
|
|
5
4
|
ConstInterface.MG_TAG_ENV = "env";
|
|
@@ -512,4 +511,4 @@ ConstInterface.MG_ATTR_SPECIAL_TABLE_REDUCE_TITLE_HEIGHT = "SpecialTableReduceTi
|
|
|
512
511
|
ConstInterface.MG_ATTR_SPECIAL_DOTNET_ALLOW_ZERO_DATE = "SpecialDotNetAllowZeroDate";
|
|
513
512
|
ConstInterface.MG_ATTR_SPECIAL_REUSE_TABLE_EDITOR = "SpecialReuseTableEditor";
|
|
514
513
|
ConstInterface.MG_TAG_LAST_ROUTE = "LastRoute";
|
|
515
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0NvbnN0SW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxjQUFjO0lBK0V6QixDQUFDOztBQTdFTSw2QkFBYyxHQUFXLFNBQVMsQ0FBQztBQUVuQyx5QkFBVSxHQUFXLEtBQUssQ0FBQztBQUMzQiw2QkFBYyxHQUFXLFNBQVMsQ0FBQztBQUNuQyw4QkFBZSxHQUFXLFVBQVUsQ0FBQztBQUNyQyxrQ0FBbUIsR0FBVyxXQUFXLENBQUM7QUFDMUMsbUNBQW9CLEdBQVcsZUFBZSxDQUFDO0FBQy9DLHVDQUF3QixHQUFXLGdCQUFnQixDQUFDO0FBQ3BELDBDQUEyQixHQUFXLHNCQUFzQixDQUFDO0FBQzdELDhDQUErQixHQUFXLHVCQUF1QixDQUFDO0FBQ2xFLGtDQUFtQixHQUFXLFlBQVksQ0FBQztBQUMzQyxzQ0FBdUIsR0FBVyxhQUFhLENBQUM7QUFDaEQsaUNBQWtCLEdBQVcsWUFBWSxDQUFDO0FBQzFDLHFDQUFzQixHQUFXLGFBQWEsQ0FBQztBQUMvQyxpQ0FBa0IsR0FBVyxhQUFhLENBQUM7QUFDM0MscUNBQXNCLEdBQVcsZ0JBQWdCLENBQUM7QUFDbEQsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLGdDQUFpQixHQUFXLFdBQVcsQ0FBQztBQUN4QyxnREFBaUMsR0FBVyxhQUFhLENBQUM7QUFLMUQsNENBQTZCLEdBQVcsc0JBQXNCLENBQUM7QUFDL0QsMENBQTJCLEdBQVcsb0JBQW9CLENBQUM7QUFJM0QsaUNBQWtCLEdBQVcsWUFBWSxDQUFDO0FBQzFDLDhDQUErQixHQUFXLHNCQUFzQixDQUFDO0FBQ2pFLCtCQUFnQixHQUFXLFVBQVUsQ0FBQztBQUV0Qyw2QkFBYyxHQUFXLFNBQVMsQ0FBQztBQUVuQyw4QkFBZSxHQUFXLFVBQVUsQ0FBQztBQUNyQyx5QkFBVSxHQUFXLEtBQUssQ0FBQztBQUMzQiw4QkFBZSxHQUFXLFVBQVUsQ0FBQztBQUNyQyxpQ0FBa0IsR0FBVyxrQkFBa0IsQ0FBQztBQUNoRCx5QkFBVSxHQUFXLEtBQUssQ0FBQztBQUMzQiw2QkFBYyxHQUFXLE1BQU0sQ0FBQztBQUNoQyw2QkFBYyxHQUFXLFNBQVMsQ0FBQztBQUNuQyxtQ0FBb0IsR0FBVyxlQUFlLENBQUM7QUFDL0MsMkJBQVksR0FBVyxPQUFPLENBQUM7QUFDL0IsMEJBQVcsR0FBVyxNQUFNLENBQUM7QUFDN0IsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLDRCQUFhLEdBQVcsUUFBUSxDQUFDO0FBRWpDLGlDQUFrQixHQUFXLFlBQVksQ0FBQztBQUMxQyxxQ0FBc0IsR0FBVyxhQUFhLENBQUM7QUFDL0Msa0NBQW1CLEdBQVcsYUFBYSxDQUFDO0FBQzVDLDZCQUFjLEdBQVcsU0FBUyxDQUFDO0FBQ25DLG1DQUFvQixHQUFXLGVBQWUsQ0FBQztBQUMvQyxnQ0FBaUIsR0FBVyxZQUFZLENBQUM7QUFDekMsZ0NBQWlCLEdBQVcsS0FBSyxDQUFDO0FBQ2xDLDhCQUFlLEdBQVcsY0FBYyxDQUFDO0FBQ3pDLDJCQUFZLEdBQVcsT0FBTyxDQUFDO0FBQy9CLCtCQUFnQixHQUFXLFFBQVEsQ0FBQztBQUNwQywwQkFBVyxHQUFXLE1BQU0sQ0FBQztBQUM3QixpQ0FBa0IsR0FBVyxZQUFZLENBQUM7QUFDMUMscUNBQXNCLEdBQVcsYUFBYSxDQUFDO0FBRS9DLDRCQUFhLEdBQVcsUUFBUSxDQUFDO0FBQ2pDLDBCQUFXLEdBQVcsTUFBTSxDQUFDO0FBQzdCLDJCQUFZLEdBQVcsT0FBTyxDQUFDO0FBQy9CLCtCQUFnQixHQUFXLFFBQVEsQ0FBQztBQUNwQyxrQ0FBbUIsR0FBVyxhQUFhLENBQUM7QUFDNUMsc0NBQXVCLEdBQVcsY0FBYyxDQUFDO0FBQ2pELDZCQUFjLEdBQVcsU0FBUyxDQUFDO0FBQ25DLGlDQUFrQixHQUFXLFVBQVUsQ0FBQztBQUN4Qyw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUNwQyxzQ0FBdUIsR0FBVyxnQkFBZ0IsQ0FBQztBQUNuRCxtQ0FBb0IsR0FBVyxhQUFhLENBQUM7QUFDN0Msa0NBQW1CLEdBQVcsYUFBYSxDQUFDO0FBRTVDLDZCQUFjLEdBQVcsUUFBUSxDQUFDO0FBRWxDLDhCQUFlLEdBQVcsU0FBUyxDQUFDO0FBRXBDLDhCQUFlLEdBQVcsU0FBUyxDQUFDO0FBQ3BDLG1DQUFvQixHQUFXLGNBQWMsQ0FBQztBQUM5Qyw0QkFBYSxHQUFXLE9BQU8sQ0FBQztBQUNoQyw2QkFBYyxHQUFXLFFBQVEsQ0FBQztBQUNsQyxtQ0FBb0IsR0FBVyxhQUFhLENBQUM7QUFDN0MsMkNBQTRCLEdBQVcsbUJBQW1CLENBQUM7QUFDM0Qsd0NBQXlCLEdBQVcsaUJBQWlCLENBQUM7QUFDdEQsZ0NBQWlCLEdBQVcsTUFBTSxDQUFDO0FBRW5DLGtDQUFtQixHQUFXLGFBQWEsQ0FBQztBQUM1QyxpQ0FBa0IsR0FBVyxhQUFhLENBQUM7QUFFM0MsNEJBQWEsR0FBVyxPQUFPLENBQUM7QUFDaEMsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLDJCQUFZLEdBQVcsTUFBTSxDQUFDO0FBRTlCLDJCQUFZLEdBQVcsTUFBTSxDQUFDO0FBQzlCLGtDQUFtQixHQUFXLGNBQWMsQ0FBQztBQUU3QyxnQ0FBaUIsR0FBVyxXQUFXLENBQUM7QUFDeEMsNEJBQWEsR0FBVyxPQUFPLENBQUM7QUFFaEMsOEJBQWUsR0FBVyxTQUFTLENBQUM7QUFDcEMsNEJBQWEsR0FBVyxPQUFPLENBQUM7QUFFaEMsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLDhCQUFlLEdBQVcsU0FBUyxDQUFDO0FBQ3BDLDBCQUFXLEdBQVcsS0FBSyxDQUFDO0FBQzVCLDhCQUFlLEdBQVcsU0FBUyxDQUFDO0FBQ3BDLCtDQUFnQyxHQUFXLHdCQUF3QixDQUFDO0FBQ3BFLGlDQUFrQixHQUFXLFlBQVksQ0FBQztBQUUxQyxnQ0FBaUIsR0FBVyxXQUFXLENBQUM7QUFDeEMsZ0NBQWlCLEdBQVcsaUJBQWlCLENBQUM7QUFDOUMsMkJBQVksR0FBVyxNQUFNLENBQUM7QUFDOUIsNEJBQWEsR0FBVyxPQUFPLENBQUM7QUFDaEMsZ0NBQWlCLEdBQVcsVUFBVSxDQUFDO0FBQ3ZDLDRCQUFhLEdBQVcsT0FBTyxDQUFDO0FBQ2hDLDhCQUFlLEdBQVcsU0FBUyxDQUFDO0FBQ3BDLGlDQUFrQixHQUFXLFdBQVcsQ0FBQztBQUN6QyxxQ0FBc0IsR0FBVyxnQkFBZ0IsQ0FBQztBQUVsRCxnQ0FBaUIsR0FBVyxXQUFXLENBQUM7QUFDeEMsMEJBQVcsR0FBVyxLQUFLLENBQUM7QUFDNUIsMkJBQVksR0FBVyxNQUFNLENBQUM7QUFDOUIsMEJBQVcsR0FBVyxLQUFLLENBQUM7QUFFNUIsOEJBQWUsR0FBVyxTQUFTLENBQUM7QUFDcEMsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBRXRDLCtCQUFnQixHQUFXLFVBQVUsQ0FBQztBQUN0QyxrQ0FBbUIsR0FBVyxZQUFZLENBQUM7QUFDM0MsdUNBQXdCLEdBQVcsZ0JBQWdCLENBQUM7QUFDcEQsMkNBQTRCLEdBQVcsa0JBQWtCLENBQUM7QUFFMUQsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBQ3RDLGdDQUFpQixHQUFXLFdBQVcsQ0FBQztBQUN4Qyx3Q0FBeUIsR0FBVyxrQkFBa0IsQ0FBQztBQUN2RCwyQkFBWSxHQUFXLE1BQU0sQ0FBQztBQUM5QiwyQkFBWSxHQUFXLE1BQU0sQ0FBQztBQUM5QiwrQkFBZ0IsR0FBVyxVQUFVLENBQUM7QUFDdEMsNEJBQWEsR0FBVyxPQUFPLENBQUM7QUFDaEMsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBQ3RDLDJCQUFZLEdBQVcsTUFBTSxDQUFDO0FBQzlCLG9DQUFxQixHQUFXLGVBQWUsQ0FBQztBQUNoRCwrQkFBZ0IsR0FBVyxVQUFVLENBQUM7QUFDdEMsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLG9DQUFxQixHQUFXLGNBQWMsQ0FBQztBQUUvQyw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUVwQyxvQ0FBcUIsR0FBVyxlQUFlLENBQUM7QUFDaEQsbUNBQW9CLEdBQVcsY0FBYyxDQUFDO0FBQzlDLG9DQUFxQixHQUFXLGFBQWEsQ0FBQztBQUM5QyxnQ0FBaUIsR0FBVyxXQUFXLENBQUM7QUFDeEMsaUNBQWtCLEdBQVcsWUFBWSxDQUFDO0FBRzFDLGlDQUFrQixHQUFXLFlBQVksQ0FBQztBQUMxQyw0QkFBYSxHQUFXLE9BQU8sQ0FBQztBQUNoQyw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUNwQyw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUNwQyxnQ0FBaUIsR0FBVyxXQUFXLENBQUM7QUFDeEMsaUNBQWtCLEdBQVcsWUFBWSxDQUFDO0FBQzFDLDZCQUFjLEdBQVcsUUFBUSxDQUFDO0FBQ2xDLDRCQUFhLEdBQVcsT0FBTyxDQUFDO0FBQ2hDLG1DQUFvQixHQUFXLGVBQWUsQ0FBQztBQUMvQyx5Q0FBMEIsR0FBVyxlQUFlLENBQUM7QUFDckQsb0NBQXFCLEdBQVcsZ0JBQWdCLENBQUM7QUFDakQsMENBQTJCLEdBQVcsZ0JBQWdCLENBQUM7QUFDdkQsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBRXRDLDJCQUFZLEdBQVcsTUFBTSxDQUFDO0FBQzlCLG1DQUFvQixHQUFXLGFBQWEsQ0FBQztBQUM3QyxnQ0FBaUIsR0FBVyxVQUFVLENBQUM7QUFDdkMsMkJBQVksR0FBVyxNQUFNLENBQUM7QUFDOUIsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLHVDQUF3QixHQUFXLGtCQUFrQixDQUFDO0FBQ3RELDJCQUFZLEdBQVcsTUFBTSxDQUFDO0FBQzlCLGlDQUFrQixHQUFXLFlBQVksQ0FBQztBQUMxQyw2QkFBYyxHQUFXLGFBQWEsQ0FBQztBQUN2QyxzQ0FBdUIsR0FBVyxnQkFBZ0IsQ0FBQztBQUVuRCxpQ0FBa0IsR0FBVyxZQUFZLENBQUM7QUFDMUMscUNBQXNCLEdBQVcsZ0JBQWdCLENBQUM7QUFDbEQsa0NBQW1CLEdBQVcsYUFBYSxDQUFDO0FBQzVDLDRCQUFhLEdBQVcsT0FBTyxDQUFDO0FBQ2hDLDZCQUFjLEdBQVcsVUFBVSxDQUFDO0FBQ3BDLCtCQUFnQixHQUFXLE1BQU0sQ0FBQztBQUNsQywyQkFBWSxHQUFXLE1BQU0sQ0FBQztBQUM5QixnQ0FBaUIsR0FBVyxXQUFXLENBQUM7QUFDeEMsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBQ3RDLHFDQUFzQixHQUFXLGVBQWUsQ0FBQztBQUNqRCxnQ0FBaUIsR0FBVyxXQUFXLENBQUM7QUFDeEMsb0NBQXFCLEdBQVcsZUFBZSxDQUFDO0FBQ2hELGlDQUFrQixHQUFXLFlBQVksQ0FBQztBQUMxQyxzQ0FBdUIsR0FBVyxTQUFTLENBQUM7QUFDNUMsMEJBQVcsR0FBVyxLQUFLLENBQUM7QUFDNUIsaUNBQWtCLEdBQVcsWUFBWSxDQUFDO0FBQzFDLGlDQUFrQixHQUFXLFlBQVksQ0FBQztBQUMxQyw0Q0FBNkIsR0FBVyx1QkFBdUIsQ0FBQztBQUNoRSxtQ0FBb0IsR0FBVyxjQUFjLENBQUM7QUFDOUMsZ0NBQWlCLEdBQVcsVUFBVSxDQUFDO0FBQ3ZDLG1DQUFvQixHQUFXLGFBQWEsQ0FBQztBQUM3QyxzQ0FBdUIsR0FBVyxlQUFlLENBQUM7QUFDbEQsK0JBQWdCLEdBQVcsU0FBUyxDQUFDO0FBQ3JDLDhCQUFlLEdBQVcsUUFBUSxDQUFDO0FBQ25DLCtCQUFnQixHQUFXLFNBQVMsQ0FBQztBQUNyQywyQkFBWSxHQUFXLE1BQU0sQ0FBQztBQUM5Qiw0QkFBYSxHQUFXLE9BQU8sQ0FBQztBQUNoQyw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUNwQyw2QkFBYyxHQUFXLFFBQVEsQ0FBQztBQUNsQywyQkFBWSxHQUFXLE1BQU0sQ0FBQztBQUM5Qiw2QkFBYyxHQUFXLFFBQVEsQ0FBQztBQUNsQyw0QkFBYSxHQUFXLE9BQU8sQ0FBQztBQUNoQywyQ0FBNEIsR0FBVyxzQkFBc0IsQ0FBQztBQUM5RCxpQ0FBa0IsR0FBVyxPQUFPLENBQUM7QUFDckMsd0NBQXlCLEdBQVcsYUFBYSxDQUFDO0FBQ2xELHVDQUF3QixHQUFXLGlCQUFpQixDQUFDO0FBQ3JELG9DQUFxQixHQUFXLGNBQWMsQ0FBQztBQUMvQywwQ0FBMkIsR0FBVyxtQkFBbUIsQ0FBQztBQUMxRCw2Q0FBOEIsR0FBVyxzQkFBc0IsQ0FBQztBQUNoRSxpREFBa0MsR0FBVywwQkFBMEIsQ0FBQztBQUN4RSx3REFBeUMsR0FBVyxnQ0FBZ0MsQ0FBQztBQUNyRix1REFBd0MsR0FBVywwQkFBMEIsQ0FBQztBQUM5RSxzREFBdUMsR0FBVyw4QkFBOEIsQ0FBQTtBQUNoRiw0REFBNkMsR0FBVyw4QkFBOEIsQ0FBQTtBQUN0Riw2Q0FBOEIsR0FBVyxzQkFBc0IsQ0FBQztBQUNoRSxtREFBb0MsR0FBVyxzQkFBc0IsQ0FBQztBQUN0RSxzQ0FBdUIsR0FBVyxnQkFBZ0IsQ0FBQztBQUNuRCwrQ0FBZ0MsR0FBVyx3QkFBd0IsQ0FBQztBQUNwRSw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUNwQyxrQ0FBbUIsR0FBVyxZQUFZLENBQUM7QUFDM0Msa0RBQW1DLEdBQVcsMEJBQTBCLENBQUM7QUFDekUseURBQTBDLEdBQVcsK0JBQStCLENBQUM7QUFDckYsZ0RBQWlDLEdBQVcsd0JBQXdCLENBQUM7QUFDckUsaURBQWtDLEdBQVcsK0JBQStCLENBQUM7QUFFN0UsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBQ3RDLDZCQUFjLEdBQVcsUUFBUSxDQUFDO0FBQ2xDLCtCQUFnQixHQUFXLFVBQVUsQ0FBQztBQUN0QyxpQ0FBa0IsR0FBVyxZQUFZLENBQUM7QUFDMUMsNEJBQWEsR0FBVyxPQUFPLENBQUM7QUFDaEMsa0NBQW1CLEdBQVcsYUFBYSxDQUFDO0FBQzVDLGlDQUFrQixHQUFXLFdBQVcsQ0FBQztBQUN6QyxrQ0FBbUIsR0FBVyxPQUFPLENBQUM7QUFFdEMsMEJBQVcsR0FBVyxLQUFLLENBQUM7QUFFNUIsMkJBQVksR0FBVyxNQUFNLENBQUM7QUFFOUIseUNBQTBCLEdBQVcsa0JBQWtCLENBQUM7QUFDeEQsaUNBQWtCLEdBQVcsV0FBVyxDQUFDO0FBQ3pDLHFDQUFzQixHQUFXLGNBQWMsQ0FBQztBQUNoRCxxQ0FBc0IsR0FBVyxjQUFjLENBQUM7QUFDaEQsZ0NBQWlCLEdBQVcsVUFBVSxDQUFDO0FBQ3ZDLDhCQUFlLEdBQVcsVUFBVSxDQUFDO0FBQ3JDLGtDQUFtQixHQUFXLFlBQVksQ0FBQztBQUMzQyw4QkFBZSxHQUFXLFVBQVUsQ0FBQztBQUNyQyw2QkFBYyxHQUFXLFFBQVEsQ0FBQztBQUNsQywrQkFBZ0IsR0FBVyxVQUFVLENBQUM7QUFDdEMsbUNBQW9CLEdBQVcsb0JBQW9CLENBQUM7QUFDcEQsa0NBQW1CLEdBQVcsY0FBYyxDQUFDO0FBQzdDLHlDQUEwQixHQUFXLG9CQUFvQixDQUFDO0FBQzFELDJCQUFZLEdBQVcsT0FBTyxDQUFDO0FBQy9CLG1DQUFvQixHQUFXLFlBQVksQ0FBQztBQUM1QyxxQ0FBc0IsR0FBVyxnQkFBZ0IsQ0FBQztBQUNsRCx3Q0FBeUIsR0FBVyxrQkFBa0IsQ0FBQztBQUN2RCxrQ0FBbUIsR0FBVyxhQUFhLENBQUM7QUFDNUMsd0NBQXlCLEdBQVcsdUJBQXVCLENBQUM7QUFDNUQsbURBQW9DLEdBQVcsMkJBQTJCLENBQUM7QUFDM0UsdUVBQXdELEdBQVcsOENBQThDLENBQUM7QUFDbEgsc0RBQXVDLEdBQVcsc0JBQXNCLENBQUM7QUFDekUsZ0RBQWlDLEdBQVcsK0JBQStCLENBQUM7QUFFNUUsNkNBQThCLEdBQVcscUJBQXFCLENBQUM7QUFDL0Qsb0NBQXFCLEdBQVcsY0FBYyxDQUFDO0FBRS9DLHFDQUFzQixHQUFXLFdBQVcsQ0FBQztBQUM3QyxzQ0FBdUIsR0FBVyxhQUFhLENBQUM7QUFFaEQsMkJBQVksR0FBVyxNQUFNLENBQUM7QUFDOUIsZ0RBQWlDLEdBQVcseUJBQXlCLENBQUM7QUFDdEUsOEJBQWUsR0FBVyxTQUFTLENBQUM7QUFDcEMsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBQ3RDLG1DQUFvQixHQUFXLGFBQWEsQ0FBQztBQUM3QywrQkFBZ0IsR0FBVyxhQUFhLENBQUM7QUFFekMscUNBQXNCLEdBQVcsZUFBZSxDQUFDO0FBQ2pELHVDQUF3QixHQUFXLGlCQUFpQixDQUFDO0FBRXJELG1DQUFvQixHQUFXLGFBQWEsQ0FBQztBQUM3QyxvQ0FBcUIsR0FBVyxnQkFBZ0IsQ0FBQztBQUNqRCwyQkFBWSxHQUFXLE1BQU0sQ0FBQztBQUM5QiwrQ0FBZ0MsR0FBVyx1QkFBdUIsQ0FBQztBQUluRSxxQ0FBc0IsR0FBVyxlQUFlLENBQUM7QUFDakQsK0JBQWdCLEdBQVcsVUFBVSxDQUFDO0FBQ3RDLG1DQUFvQixHQUFXLGFBQWEsQ0FBQztBQUM3QyxnREFBaUMsR0FBVyx3QkFBd0IsQ0FBQztBQUNyRSx1REFBd0MsR0FBVyw4QkFBOEIsQ0FBQztBQUNsRiw0Q0FBNkIsR0FBVyxxQkFBcUIsQ0FBQztBQUM5RCw0Q0FBNkIsR0FBVyxxQkFBcUIsQ0FBQztBQUM5RCxpQ0FBa0IsR0FBVyxXQUFXLENBQUM7QUFDekMsMENBQTJCLEdBQVcsbUJBQW1CLENBQUM7QUFDMUQsc0NBQXVCLEdBQVcsZUFBZSxDQUFDO0FBQ2xELHVDQUF3QixHQUFXLGdCQUFnQixDQUFDO0FBQ3BELHlDQUEwQixHQUFXLG1CQUFtQixDQUFDO0FBQ3pELHNDQUF1QixHQUFXLGVBQWUsQ0FBQztBQUNsRCw2Q0FBOEIsR0FBVyxxQkFBcUIsQ0FBQztBQUMvRCxnREFBaUMsR0FBVyx3QkFBd0IsQ0FBQztBQUNyRSx3Q0FBeUIsR0FBVyxpQkFBaUIsQ0FBQztBQUN0RCw4Q0FBK0IsR0FBVyxzQkFBc0IsQ0FBQztBQUNqRSwwQ0FBMkIsR0FBVyxtQkFBbUIsQ0FBQztBQUMxRCxxQ0FBc0IsR0FBVyxjQUFjLENBQUM7QUFDaEQsb0NBQXFCLEdBQVcsYUFBYSxDQUFDO0FBQzlDLGtDQUFtQixHQUFXLFlBQVksQ0FBQztBQUMzQyx1Q0FBd0IsR0FBVyxnQkFBZ0IsQ0FBQztBQUNwRCx1Q0FBd0IsR0FBVyxpQkFBaUIsQ0FBQztBQUNyRCw4Q0FBK0IsR0FBVyxzQkFBc0IsQ0FBQztBQUNqRSw4Q0FBK0IsR0FBVyx1QkFBdUIsQ0FBQztBQUlsRSw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUVwQyw2QkFBYyxHQUFXLFFBQVEsQ0FBQztBQUNsQyw0QkFBYSxHQUFXLE9BQU8sQ0FBQztBQUVoQywwQkFBVyxHQUFXLEtBQUssQ0FBQztBQUM1QiwyQkFBWSxHQUFXLE1BQU0sQ0FBQztBQUU5QiwwQkFBVyxHQUFXLEtBQUssQ0FBQztBQUM1Qiw4QkFBZSxHQUFXLFNBQVMsQ0FBQztBQUNwQyxpQ0FBa0IsR0FBVyxXQUFXLENBQUM7QUFFekMsa0NBQW1CLEdBQVcsWUFBWSxDQUFDO0FBQzNDLGdDQUFpQixHQUFXLFVBQVUsQ0FBQztBQUN2QywrQkFBZ0IsR0FBVyxTQUFTLENBQUM7QUFDckMsa0NBQW1CLEdBQVcsYUFBYSxDQUFDO0FBQzVDLG9DQUFxQixHQUFXLGlCQUFpQixDQUFDO0FBQ2xELDBDQUEyQixHQUFXLHFCQUFxQixDQUFDO0FBQzVELHNDQUF1QixHQUFXLGdCQUFnQixDQUFDO0FBQ25ELDZCQUFjLEdBQVcsUUFBUSxDQUFDO0FBQ2xDLGlDQUFrQixHQUFXLFdBQVcsQ0FBQztBQUN6QyxnQ0FBaUIsR0FBVyxVQUFVLENBQUM7QUFDdkMsdUNBQXdCLEdBQVcsZ0JBQWdCLENBQUM7QUFDcEQsa0NBQW1CLEdBQVcsZUFBZSxDQUFDO0FBQzlDLDRCQUFhLEdBQVcsT0FBTyxDQUFDO0FBQ2hDLG1DQUFvQixHQUFXLGNBQWMsQ0FBQztBQUM5QyxtQ0FBb0IsR0FBVyxjQUFjLENBQUM7QUFDOUMscUNBQXNCLEdBQVcsYUFBYSxDQUFDO0FBQy9DLDZCQUFjLEdBQVcsUUFBUSxDQUFDO0FBQ2xDLDJCQUFZLEdBQVcsTUFBTSxDQUFDO0FBQzlCLG9DQUFxQixHQUFXLFdBQVcsQ0FBQztBQUM1QyxtQ0FBb0IsR0FBVyxjQUFjLENBQUM7QUFDOUMsa0NBQW1CLEdBQVcsWUFBWSxDQUFDO0FBQzNDLDBDQUEyQixHQUFXLGVBQWUsQ0FBQztBQUN0RCxnQ0FBaUIsR0FBVyxVQUFVLENBQUM7QUFDdkMsaUNBQWtCLEdBQVcscUJBQXFCLENBQUM7QUFDbkQsNEJBQWEsR0FBVyxLQUFLLENBQUM7QUFDOUIsMEJBQVcsR0FBVyxLQUFLLENBQUM7QUFDNUIsMkJBQVksR0FBVyxRQUFRLENBQUM7QUFDaEMsK0JBQWdCLEdBQVcsV0FBVyxDQUFDO0FBQ3ZDLDhCQUFlLEdBQVcsUUFBUSxDQUFDO0FBQ25DLDRCQUFhLEdBQVcsUUFBUSxDQUFDO0FBQ2pDLDRDQUE2QixHQUFXLFdBQVcsQ0FBQztBQUNwRCw4Q0FBK0IsR0FBVyxlQUFlLENBQUM7QUFFMUQsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLHFDQUFzQixHQUFXLGNBQWMsQ0FBQztBQUloRCwwQkFBVyxHQUFXLE1BQU0sQ0FBQztBQUM3Qiw4QkFBZSxHQUFXLE9BQU8sQ0FBQztBQUNsQyxzQ0FBdUIsR0FBVyxlQUFlLENBQUM7QUFFbEQseUJBQVUsR0FBVyxLQUFLLENBQUM7QUFFM0IsOEJBQWUsR0FBVyxTQUFTLENBQUM7QUFFcEMsOEJBQWUsR0FBVyxTQUFTLENBQUM7QUFFcEMsMkJBQVksR0FBVyxNQUFNLENBQUM7QUFFOUIsa0NBQW1CLEdBQVcsWUFBWSxDQUFDO0FBQzNDLGdDQUFpQixHQUFXLEtBQUssQ0FBQztBQUNsQyxnQ0FBaUIsR0FBVyxLQUFLLENBQUM7QUFDbEMscUNBQXNCLEdBQVcsVUFBVSxDQUFDO0FBQzVDLHFDQUFzQixHQUFXLFVBQVUsQ0FBQztBQUk1QyxzQ0FBdUIsR0FBVyxXQUFXLENBQUM7QUFFOUMsa0NBQW1CLEdBQVcsYUFBYSxDQUFDO0FBRzVDLDRCQUFhLEdBQVcsQ0FBQyxDQUFDO0FBRzFCLDZCQUFjLEdBQVcsQ0FBQyxDQUFDO0FBQzNCLDRCQUFhLEdBQVcsQ0FBQyxDQUFDO0FBQzFCLDJCQUFZLEdBQVcsRUFBRSxDQUFDO0FBQzFCLDJCQUFZLEdBQVcsRUFBRSxDQUFDO0FBQzFCLCtCQUFnQixHQUFXLENBQUMsQ0FBQztBQUM3QiwyQkFBWSxHQUFXLENBQUMsQ0FBQztBQUN6QiwrQkFBZ0IsR0FBVyxDQUFDLENBQUM7QUFDN0IsNkJBQWMsR0FBVyxDQUFDLENBQUM7QUFDM0IsK0JBQWdCLEdBQVcsRUFBRSxDQUFDO0FBQzlCLGtDQUFtQixHQUFXLEVBQUUsQ0FBQztBQUNqQyw2QkFBYyxHQUFXLEVBQUUsQ0FBQztBQUc1QiwyQkFBWSxHQUFXLEdBQUcsQ0FBQztBQUMzQiwwQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUkxQixnQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsa0NBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLCtCQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQixvQ0FBcUIsR0FBVyxHQUFHLENBQUM7QUFDcEMsOEJBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsZ0NBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLDhCQUFlLEdBQVcsR0FBRyxDQUFDO0FBQzlCLG1DQUFvQixHQUFXLEdBQUcsQ0FBQztBQUduQyxtQ0FBb0IsR0FBVyxHQUFHLENBQUM7QUFHbkMsb0NBQXFCLEdBQVcsSUFBSSxDQUFDO0FBQ3JDLG9DQUFxQixHQUFXLElBQUksQ0FBQztBQUNyQyxtQ0FBb0IsR0FBVyxJQUFJLENBQUM7QUFDcEMsaUNBQWtCLEdBQVcsSUFBSSxDQUFDO0FBQ2xDLG1DQUFvQixHQUFXLElBQUksQ0FBQztBQUNwQyxvQ0FBcUIsR0FBVyxJQUFJLENBQUM7QUFDckMsb0NBQXFCLEdBQVcsSUFBSSxDQUFDO0FBQ3JDLDBDQUEyQixHQUFXLElBQUksQ0FBQztBQUMzQyx5Q0FBMEIsR0FBVyxJQUFJLENBQUM7QUFDMUMsdUNBQXdCLEdBQVcsSUFBSSxDQUFDO0FBQ3hDLHNDQUF1QixHQUFXLElBQUksQ0FBQztBQUN2QywyQ0FBNEIsR0FBVyxJQUFJLENBQUM7QUFFNUMscUNBQXNCLEdBQVcsSUFBSSxDQUFDO0FBRXRDLHNDQUF1QixHQUFXLElBQUksQ0FBQztBQUN2QyxpQ0FBa0IsR0FBVyxJQUFJLENBQUM7QUFDbEMsa0NBQW1CLEdBQVcsSUFBSSxDQUFDO0FBQ25DLGdDQUFpQixHQUFXLFNBQVMsQ0FBQztBQUd0Qyx1Q0FBd0IsR0FBVyxjQUFjLENBQUM7QUFDbEQsdUNBQXdCLEdBQVcsY0FBYyxDQUFDO0FBQ2xELHNDQUF1QixHQUFXLGdCQUFnQixDQUFDO0FBQ25ELHNDQUF1QixHQUFXLGdCQUFnQixDQUFDO0FBQ25ELHVDQUF3QixHQUFXLGlCQUFpQixDQUFDO0FBQ3JELHVDQUF3QixHQUFXLGlCQUFpQixDQUFDO0FBQ3JELG9DQUFxQixHQUFXLGtCQUFrQixDQUFDO0FBQ25ELDZDQUE4QixHQUFXLHVCQUF1QixDQUFDO0FBQ2pFLDRDQUE2QixHQUFXLFlBQVksQ0FBQztBQUNyRCwwQ0FBMkIsR0FBVyxVQUFVLENBQUM7QUFDakQseUNBQTBCLEdBQVcsUUFBUSxDQUFDO0FBQzlDLDhDQUErQixHQUFXLGNBQWMsQ0FBQztBQUV6RCx3Q0FBeUIsR0FBVyxNQUFNLENBQUM7QUFFM0MseUNBQTBCLEdBQVcsdUJBQXVCLENBQUM7QUFJN0QseUJBQVUsR0FBVyxHQUFHLENBQUM7QUFDekIsa0NBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLGdDQUFpQixHQUFXLEdBQUcsQ0FBQztBQUdoQyw0QkFBYSxHQUFXLElBQUksQ0FBQztBQUM3QixnQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsNkJBQWMsR0FBVyxHQUFHLENBQUM7QUFHN0Isb0NBQXFCLEdBQVcsR0FBRyxDQUFDO0FBRXBDLGdDQUFpQixHQUFXLEdBQUcsQ0FBQztBQUNoQyw2QkFBYyxHQUFXLEdBQUcsQ0FBQztBQUM3Qiw2QkFBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixnQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFFaEMseUJBQVUsR0FBVyxHQUFHLENBQUM7QUFDekIsZ0NBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLHlDQUEwQixHQUFXLEdBQUcsQ0FBQztBQUN6QyxvQ0FBcUIsR0FBVyxHQUFHLENBQUM7QUFDcEMsNkJBQWMsR0FBVyxHQUFHLENBQUM7QUFDN0IsbUNBQW9CLEdBQVcsR0FBRyxDQUFDO0FBQ25DLDBCQUFXLEdBQVcsR0FBRyxDQUFDO0FBQzFCLDZCQUFjLEdBQVcsR0FBRyxDQUFDO0FBRzdCLG1DQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNuQyxrQ0FBbUIsR0FBVyxHQUFHLENBQUM7QUFDbEMsc0NBQXVCLEdBQVcsR0FBRyxDQUFDO0FBS3RDLDZCQUFjLEdBQVcsR0FBRyxDQUFDO0FBQzdCLDJCQUFZLEdBQVcsR0FBRyxDQUFDO0FBQzNCLDZCQUFjLEdBQVcsR0FBRyxDQUFDO0FBQzdCLDRCQUFhLEdBQVcsR0FBRyxDQUFDO0FBRzVCLGtDQUFtQixHQUFXLENBQUMsQ0FBQztBQUtoQyw0QkFBYSxHQUFXLElBQUksQ0FBQztBQUM3Qiw4QkFBZSxHQUFXLElBQUksQ0FBQztBQUMvQiw4QkFBZSxHQUFXLElBQUksQ0FBQztBQUMvQiw2QkFBYyxHQUFXLElBQUksQ0FBQztBQUM5Qiw4QkFBZSxHQUFXLElBQUksQ0FBQztBQUMvQiwyQkFBWSxHQUFXLElBQUksQ0FBQztBQUM1QixnQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsNEJBQWEsR0FBVyxHQUFHLENBQUM7QUFFNUIsMkJBQVksR0FBVyxTQUFTLENBQUM7QUFFakMsdUJBQVEsR0FBVyxXQUFXLENBQUM7QUFLL0Isc0NBQXVCLEdBQVcsb0JBQW9CLENBQUM7QUFDdkQsb0NBQXFCLEdBQVcsb0JBQW9CLENBQUM7QUFFckQsNEJBQWEsR0FBVyxjQUFjLENBQUM7QUFDdkMsd0JBQVMsR0FBVyxjQUFjLENBQUM7QUFFbkMsOEJBQWUsR0FBVyxNQUFNLENBQUM7QUFDakMsa0NBQW1CLEdBQVcsS0FBSyxDQUFDO0FBQ3BDLGlDQUFrQixHQUFXLFdBQVcsQ0FBQztBQUN6QyxxQ0FBc0IsR0FBVyxVQUFVLENBQUM7QUFDNUMsNEJBQWEsR0FBVyxPQUFPLENBQUM7QUFFaEMsNkNBQThCLEdBQVcseUJBQXlCLENBQUM7QUFDbkUsNkJBQWMsR0FBVyxzQkFBc0IsQ0FBQztBQUNoRCxnQ0FBaUIsR0FBVyxpQkFBaUIsQ0FBQztBQUM5Qyw2QkFBYyxHQUFXLGVBQWUsQ0FBQztBQUN6QyxvQ0FBcUIsR0FBVyxvQkFBb0IsQ0FBQztBQUNyRCwrQkFBZ0IsR0FBVyxnQkFBZ0IsQ0FBQztBQUM1Qyx3Q0FBeUIsR0FBVyx1QkFBdUIsQ0FBQztBQUM1RCx1Q0FBd0IsR0FBVywwQkFBMEIsQ0FBQztBQUM5RCx3Q0FBeUIsR0FBVyx5QkFBeUIsQ0FBQztBQUM5RCx3Q0FBeUIsR0FBVywyQkFBMkIsQ0FBQztBQUNoRSxtQ0FBb0IsR0FBVyxzQkFBc0IsQ0FBQztBQUd0RCxtREFBb0MsR0FBVyxDQUFDLENBQUMsQ0FBQztBQUdsRCxxQkFBTSxHQUFXLFFBQVEsQ0FBQztBQUUxQix3QkFBUyxHQUFXLFVBQVUsQ0FBQztBQUUvQiwyQkFBWSxHQUFXLE9BQU8sQ0FBQztBQUcvQiwwQkFBVyxHQUFXLFFBQVEsQ0FBQztBQUMvQiwyQkFBWSxHQUFXLFNBQVMsQ0FBQztBQUNqQyxtQkFBSSxHQUFXLEtBQUssQ0FBQztBQUNyQixzQkFBTyxHQUFXLEtBQUssQ0FBQztBQUN4QixzQkFBTyxHQUFXLEtBQUssQ0FBQztBQUN4QiwyQkFBWSxHQUFXLFdBQVcsQ0FBQztBQUNuQywyQkFBWSxHQUFXLFdBQVcsQ0FBQztBQUNuQywwQkFBVyxHQUFXLFlBQVksQ0FBQztBQUNuQyw0QkFBYSxHQUFXLGFBQWEsQ0FBQztBQUN0QywwQkFBVyxHQUFXLFdBQVcsQ0FBQztBQUNsQyx1QkFBUSxHQUFXLEtBQUssQ0FBQztBQUd6QixpQ0FBa0IsR0FBVyxTQUFTLENBQUM7QUFDdkMsZ0NBQWlCLEdBQVcsT0FBTyxDQUFDO0FBQ3BDLG1DQUFvQixHQUFXLFlBQVksQ0FBQztBQUM1QyxtQ0FBb0IsR0FBVyxVQUFVLENBQUM7QUFHMUMsa0NBQW1CLEdBQVcsU0FBUyxDQUFDO0FBQ3hDLDZDQUE4QixHQUFXLGFBQWEsQ0FBQztBQUN2RCxpREFBa0MsR0FBVyx1QkFBdUIsQ0FBQztBQUNyRSxvQ0FBcUIsR0FBVyxXQUFXLENBQUM7QUFDNUMsd0NBQXlCLEdBQVcsZUFBZSxDQUFDO0FBQ3BELHFDQUFzQixHQUFXLFlBQVksQ0FBQztBQUM5Qyx3Q0FBeUIsR0FBVyxlQUFlLENBQUM7QUFDcEQsc0NBQXVCLEdBQVcsYUFBYSxDQUFDO0FBQ2hELHlDQUEwQixHQUFXLGdCQUFnQixDQUFDO0FBQ3RELDRDQUE2QixHQUFXLG1CQUFtQixDQUFDO0FBQzVELDBDQUEyQixHQUFXLGlCQUFpQixDQUFDO0FBQ3hELHlDQUEwQixHQUFXLGdCQUFnQixDQUFDO0FBQ3RELHlDQUEwQixHQUFXLGdCQUFnQixDQUFDO0FBQ3RELHFDQUFzQixHQUFXLFlBQVksQ0FBQztBQUs5Qyx1Q0FBd0IsR0FBVyxVQUFVLENBQUM7QUFDOUMsMkNBQTRCLEdBQVcsNEJBQTRCLENBQUM7QUFFcEUsZ0NBQWlCLEdBQVcsT0FBTyxDQUFDO0FBQ3BDLDBDQUEyQixHQUFXLGdCQUFnQixDQUFDO0FBRXZELGtDQUFtQixHQUFXLFNBQVMsQ0FBQztBQUN4QyxpQ0FBa0IsR0FBVyxRQUFRLENBQUM7QUFDdEMsaUNBQWtCLEdBQVcsUUFBUSxDQUFDO0FBQ3RDLG9DQUFxQixHQUFXLFVBQVUsQ0FBQztBQUMzQyxxQ0FBc0IsR0FBVyxXQUFXLENBQUM7QUFDN0MsbUNBQW9CLEdBQVcsU0FBUyxDQUFDO0FBQ3pDLHNDQUF1QixHQUFXLFlBQVksQ0FBQztBQUMvQyx1Q0FBd0IsR0FBVyxhQUFhLENBQUM7QUFDakQscUNBQXNCLEdBQVcsV0FBVyxDQUFDO0FBQzdDLHlDQUEwQixHQUFXLGVBQWUsQ0FBQztBQUNyRCwrQkFBZ0IsR0FBVyxVQUFVLENBQUM7QUFDdEMsZ0NBQWlCLEdBQVcsT0FBTyxDQUFDO0FBQ3BDLG9DQUFxQixHQUFXLFVBQVUsQ0FBQztBQUUzQyxnQ0FBaUIsR0FBVyxPQUFPLENBQUM7QUFDcEMsOENBQStCLEdBQVcsY0FBYyxDQUFDO0FBQ3pELHFDQUFzQixHQUFXLFlBQVksQ0FBQztBQUM5QyxpQ0FBa0IsR0FBVyxXQUFXLENBQUM7QUFDekMsZ0NBQWlCLEdBQVcsT0FBTyxDQUFDO0FBQ3BDLGlDQUFrQixHQUFXLFFBQVEsQ0FBQztBQUN0Qyw2Q0FBOEIsR0FBVyxrQkFBa0IsQ0FBQztBQUM1RCx1Q0FBd0IsR0FBVyxhQUFhLENBQUM7QUFDakQsb0NBQXFCLEdBQVcsY0FBYyxDQUFDO0FBQy9DLDhDQUErQixHQUFXLG1CQUFtQixDQUFDO0FBQzlELHNEQUF1QyxHQUFXLDBCQUEwQixDQUFDO0FBQzdFLG1EQUFvQyxHQUFXLHVCQUF1QixDQUFDO0FBQ3ZFLG1EQUFvQyxHQUFXLDBCQUEwQixDQUFDO0FBQzFFLHdEQUF5QyxHQUFXLCtCQUErQixDQUFDO0FBQ3BGLHFEQUFzQyxHQUFXLDRCQUE0QixDQUFDO0FBQzlFLGlEQUFrQyxHQUFXLHlCQUF5QixDQUFDO0FBRXZFLGdDQUFpQixHQUFXLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8c3VtbWFyeT4gVGhpcyBpbnRlcmZhY2UgaXMgdXNlZCB0byBkZWZpbmUgc29tZSBnbG9iYWwgY29uc3RhbnRzLlxyXG4vLy8gUnVsZXM6XHJcbi8vLyAxLiBBbnkgY2xhc3MgdGhhdCBuZWVkIG9uZSBvciBtb3JlIG9mIHRoZXNlIGNvbnN0YW50cyBtdXN0IGltcGxlbWVudCB0aGlzIGludGVyZmFjZVxyXG4vLy8gICAgb3IgYWNjZXNzIHRoZSBjb25zdGFudCBkaXJlY3RseSB1c2luZyB0aGUgaW50ZXJmYWNlIG5hbWUgYXMgaXRzIHByZWZpeC5cclxuLy8vIDIuIFBsZWFzZSBkZWZpbmUgdGhlIGNvbnN0YW50cyB1c2luZyBVUFBFUkNBU0UgbGV0dGVycyB0byBtYWtlIHRoZW0gc3RhbmQgb3V0IGNsZWFybHkuPC9zdW1tYXJ5PlxyXG5cclxuZXhwb3J0IGNsYXNzIENvbnN0SW50ZXJmYWNlIHtcclxuLy8vIDxzdW1tYXJ5PiBUYWdzIGFuZCBBdHRyaWJ1dGVzIG9mIHRoZSBYTUwgcHJvdG9jb2w8L3N1bW1hcnk+XHJcbiAgc3RhdGljIE1HX1RBR19DT05URVhUOiBzdHJpbmcgPSBcImNvbnRleHRcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19FTlY6IHN0cmluZyA9IFwiZW52XCI7XHJcbiAgc3RhdGljIE1HX1RBR19DT01NQU5EOiBzdHJpbmcgPSBcImNvbW1hbmRcIjtcclxuICBzdGF0aWMgTUdfVEFHX0xBTkdVQUdFOiBzdHJpbmcgPSBcImxhbmd1YWdlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19MQU5HVUFHRV9FTkQ6IHN0cmluZyA9IFwiL2xhbmd1YWdlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19DT05TVE1FU1NBR0VTOiBzdHJpbmcgPSBcIkNvbnN0TWVzc2FnZXNcIjtcclxuICBzdGF0aWMgTUdfVEFHX0NPTlNUTUVTU0FHRVNfRU5EOiBzdHJpbmcgPSBcIi9Db25zdE1lc3NhZ2VzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19DT05TVE1FU1NBR0VTQ09OVEVOVDogc3RyaW5nID0gXCJDb25zdExhbmdGaWxlQ29udGVudFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09OU1RNRVNTQUdFU0NPTlRFTlRfRU5EOiBzdHJpbmcgPSBcIi9Db25zdExhbmdGaWxlQ29udGVudFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfTUxTX0ZJTEVfVVJMOiBzdHJpbmcgPSBcIk1sc0ZpbGVVcmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX01MU19GSUxFX1VSTF9FTkQ6IHN0cmluZyA9IFwiL01sc0ZpbGVVcmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX01MU19DT05URU5UOiBzdHJpbmcgPSBcIk1sc0NvbnRlbnRcIjtcclxuICBzdGF0aWMgTUdfVEFHX01MU19DT05URU5UX0VORDogc3RyaW5nID0gXCIvTWxzQ29udGVudFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09NUE1BSU5QUkc6IHN0cmluZyA9IFwiY29tcG1haW5wcmdcIjtcclxuICBzdGF0aWMgTUdfVEFHX1NUQVJUVVBfUFJPR1JBTTogc3RyaW5nID0gXCJTdGFydHVwUHJvZ3JhbVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09OVEVYVF9JRDogc3RyaW5nID0gXCJDb250ZXh0SURcIjtcclxuICBzdGF0aWMgTUdfVEFHX1NFU1NJT05fSUQ6IHN0cmluZyA9IFwiU2Vzc2lvbklEXCI7XHJcbiAgc3RhdGljIE1HX1RBR19IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVDogc3RyaW5nID0gXCJIdHRwVGltZW91dFwiOyAvLyBjb21tdW5pY2F0aW9uLWxldmVsIHRpbWVvdXQgKGkuZS4gdGhlIGFjY2VzcyB0byB0aGUgd2ViIHNlcnZlciwgTk9UIHRoZSBlbnRpcmUgcmVxdWVzdC9yZXNwb25zZSByb3VuZC10cmlwKSwgaW4gc2Vjb25kcy5cclxuXHJcblxyXG4gIC8vIHRhc2sgZGVmaW5pdGlvbiBpZHNcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICBzdGF0aWMgTUdfVEFHX1RBU0tERUZJTklUSU9OX0lEU19VUkw6IHN0cmluZyA9IFwidGFza0RlZmluaXRpb25JZHNVcmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX09GRkxJTkVfU05JUFBFVFNfVVJMOiBzdHJpbmcgPSBcIm9mZmxpbmVTbmlwcGV0c1VybFwiO1xyXG5cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgc3RhdGljIE1HX0FUVFJfSVNTUEVDSUZJQzogc3RyaW5nID0gXCJpc1NwZWNpZmljXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNfR1VJX1RIUkVBRF9FWEVDVVRJT046IHN0cmluZyA9IFwiaXNHdWlUaHJlYWRFeGVjdXRpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9GVUxMTkFNRTogc3RyaW5nID0gXCJmdWxsbmFtZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfVEFHX1RBU0tVUkw6IHN0cmluZyA9IFwidGFza1VSTFwiO1xyXG5cclxuICBzdGF0aWMgTUdfVEFHX0VYUFRBQkxFOiBzdHJpbmcgPSBcImV4cHRhYmxlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19FWFA6IHN0cmluZyA9IFwiZXhwXCI7XHJcbiAgc3RhdGljIE1HX1RBR19EQVRBVklFVzogc3RyaW5nID0gXCJkYXRhdmlld1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09NUExFVEVfRFY6IHN0cmluZyA9IFwiQ29tcGxldGVEYXRhVmlld1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfUkVDOiBzdHJpbmcgPSBcInJlY1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfRkxEX0VORDogc3RyaW5nID0gXCIvZmxkXCI7XHJcbiAgc3RhdGljIE1HX1RBR19IQU5ETEVSOiBzdHJpbmcgPSBcImhhbmRsZXJcIjtcclxuICBzdGF0aWMgTUdfVEFHX0VWRU5USEFORExFUlM6IHN0cmluZyA9IFwiZXZlbnRoYW5kbGVyc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfRVZFTlQ6IHN0cmluZyA9IFwiZXZlbnRcIjtcclxuICBzdGF0aWMgTUdfVEFHX09QRVI6IHN0cmluZyA9IFwib3BlclwiO1xyXG4gIHN0YXRpYyBNR19UQUdfS0JETUFQX1VSTDogc3RyaW5nID0gXCJrYmRtYXB1cmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX0tCRE1BUDogc3RyaW5nID0gXCJrYmRtYXBcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19VU0VSX0VWRU5UUzogc3RyaW5nID0gXCJ1c2VyZXZlbnRzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19VU0VSX0VWRU5UU19FTkQ6IHN0cmluZyA9IFwiL3VzZXJldmVudHNcIjtcclxuICBzdGF0aWMgTUdfVEFHX0VWRU5UU19RVUVVRTogc3RyaW5nID0gXCJldmVudHNxdWV1ZVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRENfVkFMUzogc3RyaW5nID0gXCJkY192YWxzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19GTFdNVFJfQ09ORklHOiBzdHJpbmcgPSBcImZsd210cl9jb25maWdcIjtcclxuICBzdGF0aWMgTUdfVEFHX0ZMV01UUl9NU0c6IHN0cmluZyA9IFwiZmx3bXRyX21zZ1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfRkxXTVRSX0FDVDogc3RyaW5nID0gXCJhY3RcIjtcclxuICBzdGF0aWMgTUdfVEFHX0RFTF9MSVNUOiBzdHJpbmcgPSBcImNhY2hlRGVsTGlzdFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfTElOS1M6IHN0cmluZyA9IFwibGlua3NcIjtcclxuICBzdGF0aWMgTUdfVEFHX0xJTktTX0VORDogc3RyaW5nID0gXCIvbGlua3NcIjtcclxuICBzdGF0aWMgTUdfVEFHX0xJTks6IHN0cmluZyA9IFwibGlua1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVEFTS19UQUJMRVM6IHN0cmluZyA9IFwidGFza1RhYmxlc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVEFTS19UQUJMRVNfRU5EOiBzdHJpbmcgPSBcIi90YXNrVGFibGVzXCI7XHJcblxyXG4gIHN0YXRpYyBNR19UQUdfQ09MVU1OOiBzdHJpbmcgPSBcImNvbHVtblwiO1xyXG4gIHN0YXRpYyBNR19UQUdfU09SVDogc3RyaW5nID0gXCJzb3J0XCI7XHJcbiAgc3RhdGljIE1HX1RBR19TT1JUUzogc3RyaW5nID0gXCJzb3J0c1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfU09SVFNfRU5EOiBzdHJpbmcgPSBcIi9zb3J0c1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ0FDSEVEX1RBQkxFOiBzdHJpbmcgPSBcImNhY2hlZFRhYmxlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19DQUNIRURfVEFCTEVfRU5EOiBzdHJpbmcgPSBcIi9jYWNoZWRUYWJsZVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfUkVDT1JEUzogc3RyaW5nID0gXCJyZWNvcmRzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19SRUNPUkRTX0VORDogc3RyaW5nID0gXCIvcmVjb3Jkc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVEFTS19YTUw6IHN0cmluZyA9IFwidGFza3htbFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRVhFQ19TVEFDS19FTlRSWTogc3RyaW5nID0gXCJleGVjc3RhY2tlbnRyeVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfREJIX1JFQUxfSURYUzogc3RyaW5nID0gXCJkYmhSZWFsSWR4c1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVVNFUl9ERVRBSUxTOiBzdHJpbmcgPSBcInVzZXJEZXRhaWxzXCI7XHJcbiAgc1xyXG4gIHN0YXRpYyBNR19BVFRSX09CSkVDVDogc3RyaW5nID0gXCJvYmplY3RcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfQVJHTElTVDogc3RyaW5nID0gXCJhcmdsaXN0XCI7XHJcbiAgO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZJUlRVQUw6IHN0cmluZyA9IFwidmlydHVhbFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NVQkZPUk1fVEFTSzogc3RyaW5nID0gXCJzdWJmb3JtX3Rhc2tcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9QQVJBTTogc3RyaW5nID0gXCJwYXJhbVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1BBUkFNUzogc3RyaW5nID0gXCJwYXJhbXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ST1VURV9QQVJBTVM6IHN0cmluZyA9IFwicm91dGVQYXJhbXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWFBPU0VEX1JPVVRFX1BBUkFNUzogc3RyaW5nID0gXCJleHBvc2VkUm91dGVQYXJhbVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0VYUE9TRURfVE9fQ0xJRU5UOiBzdHJpbmcgPSBcImV4cG9zZWRUb0NsaWVudFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1BBUl9BVFRSUzogc3RyaW5nID0gXCJhdHRyXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1ZJUl9BU19SRUFMOiBzdHJpbmcgPSBcInZpcl9hc19yZWFsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE5LX0NSRUFURTogc3RyaW5nID0gXCJsaW5rX2NyZWF0ZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9SQU5HRTogc3RyaW5nID0gXCJyYW5nZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX05VTExWQUxVRTogc3RyaW5nID0gXCJudWxsdmFsdWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTklUOiBzdHJpbmcgPSBcImluaXRcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfTU9ERTogc3RyaW5nID0gXCJtb2RlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkVDT01QVVRFQlk6IHN0cmluZyA9IFwicmVjb21wdXRlX2J5XCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0hBTkRMRURCWTogc3RyaW5nID0gXCJoYW5kbGVkYnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MRVZFTDogc3RyaW5nID0gXCJsZXZlbFwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9TRUNPTkRTOiBzdHJpbmcgPSBcInNlY29uZHNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TQ09QRTogc3RyaW5nID0gXCJzY29wZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9QUk9QQUdBVEU6IHN0cmluZyA9IFwicHJvcGFnYXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRU5BQkxFRDogc3RyaW5nID0gXCJlbmFibGVkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRkxEOiBzdHJpbmcgPSBcImZsZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0ZJRUxESUQ6IHN0cmluZyA9IFwiZmllbGRpZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lHTk9SRV9TVUJGT1JNX1JFQ09NUFVURTogc3RyaW5nID0gXCJpZ25vcmVTdWJmb3JtUmVjb21wdXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTUFHSUNFVkVOVDogc3RyaW5nID0gXCJtYWdpY2V2ZW50XCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0ZPQ1VTTElTVDogc3RyaW5nID0gXCJmb2N1c2xpc3RcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9GT0NVU1RBU0s6IHN0cmluZyA9IFwiY3VyckZvY3VzZWRUYXNrXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEVYVDogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVElUTEU6IHN0cmluZyA9IFwidGl0bGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9USVRMRV9FWFA6IHN0cmluZyA9IFwidGl0bGVFeHBcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTUFHRTogc3RyaW5nID0gXCJpbWFnZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0JVVFRPTlM6IHN0cmluZyA9IFwiYnV0dG9uc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JFVFVSTl9WQUw6IHN0cmluZyA9IFwicmV0dXJuVmFsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRVJSX0xPR19BUFBFTkQ6IHN0cmluZyA9IFwiZXJyb3JMb2dBcHBlbmRcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfRVZFTlRUWVBFOiBzdHJpbmcgPSBcImV2ZW50dHlwZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0hPVzogc3RyaW5nID0gXCJob3dcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VTkRPOiBzdHJpbmcgPSBcInVuZG9cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DTkQ6IHN0cmluZyA9IFwiY25kXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0tFWUNPREU6IHN0cmluZyA9IFwia2V5Y29kZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01PRElGSUVSOiBzdHJpbmcgPSBcIm1vZGlmaWVyXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0NVUlJfUkVDOiBzdHJpbmcgPSBcImN1cnJfcmVjXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTEFTVF9SRUNfSUQ6IHN0cmluZyA9IFwibGFzdFJlY0lkeFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX09MRF9GSVJTVF9SRUNfSUQ6IHN0cmluZyA9IFwib2xkRmlyc3RSZWNJZHhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DVVJSX1JFQ19QT1NfSU5fRk9STTogc3RyaW5nID0gXCJjdXJyUmVjUG9zSW5Gb3JtXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0RBVEVNT0RFOiBzdHJpbmcgPSBcImRhdGVtb2RlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEhPVVNBTkRTOiBzdHJpbmcgPSBcInRob3VzYW5kc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RFQ0lNQUxfU0VQQVJBVE9SOiBzdHJpbmcgPSBcImRlY2ltYWxzZXBhcmF0b3JcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EQVRFOiBzdHJpbmcgPSBcImRhdGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9USU1FOiBzdHJpbmcgPSBcInRpbWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MQU5HVUFHRTogc3RyaW5nID0gXCJsYW5ndWFnZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01PREFMOiBzdHJpbmcgPSBcIm1vZGFsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNfUk9VVEU6IHN0cmluZyA9IFwiaXNfcm91dGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UQVNLOiBzdHJpbmcgPSBcInRhc2tcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTlRFUk5BTEVWRU5UOiBzdHJpbmcgPSBcImludGVybmFsZXZlbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQVJJQUJMRTogc3RyaW5nID0gXCJ2YXJpYWJsZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0hBTkRMRVJJRDogc3RyaW5nID0gXCJoYW5kbGVyaWRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ST0xMQkFDS19UWVBFOiBzdHJpbmcgPSBcInJvbGxiYWNrVHlwZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9DRU5UVVJZOiBzdHJpbmcgPSBcImNlbnR1cnlcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfSU5DTFVERV9GSVJTVDogc3RyaW5nID0gXCJpbmNsdWRlX2ZpcnN0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSU5DTFVERV9MQVNUOiBzdHJpbmcgPSBcImluY2x1ZGVfbGFzdFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lTX09ORVdBWV9LRVk6IHN0cmluZyA9IFwiaXNvbmV3YXlrZXlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTlNFUlRfQVQ6IHN0cmluZyA9IFwiaW5zZXJ0X2F0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfREJWSUVXU0laRTogc3RyaW5nID0gXCJkYnZpZXdzaXplXCI7XHJcblxyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9JTlZBTElEQVRFOiBzdHJpbmcgPSBcImludmFsaWRhdGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9STVBPUzogc3RyaW5nID0gXCJybXBvc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RJU1BMQVk6IHN0cmluZyA9IFwiZGlzcGxheVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NVQlRZUEU6IHN0cmluZyA9IFwic3VidHlwZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0FERF9BRlRFUjogc3RyaW5nID0gXCJhZGRfYWZ0ZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UT1BfUkVDX0lEOiBzdHJpbmcgPSBcInRvcF9yZWNfaWRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MT1dfSUQ6IHN0cmluZyA9IFwibG93X2lkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1dORVI6IHN0cmluZyA9IFwib3duZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VUERfSU5fUVVFUlk6IHN0cmluZyA9IFwidXBkYXRlSW5RdWVyeVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1VQRF9JTl9RVUVSWV9MT1dFUjogc3RyaW5nID0gXCJ1cGRhdGVpbnF1ZXJ5XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ1JFX0lOX01PRElGWTogc3RyaW5nID0gXCJjcmVhdGVJbk1vZGlmeVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NSRV9JTl9NT0RJRllfTE9XRVI6IHN0cmluZyA9IFwiY3JlYXRlaW5tb2RpZnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JRExFVElNRTogc3RyaW5nID0gXCJpZGxldGltZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9XQUlUOiBzdHJpbmcgPSBcIndhaXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRVRBSU5fRk9DVVM6IHN0cmluZyA9IFwicmV0YWluRm9jdXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TWU5DX0RBVEE6IHN0cmluZyA9IFwic3luY0RhdGFcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TSE9XOiBzdHJpbmcgPSBcInNob3dcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT01QT05FTlQ6IHN0cmluZyA9IFwiY29tcG9uZW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUEFUSF9QQVJFTlRfVEFTSzogc3RyaW5nID0gXCJwYXRoX3BhcmVudF90YXNrXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVVNFUjogc3RyaW5nID0gXCJ1c2VyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRk9SQ0VfRVhJVDogc3RyaW5nID0gXCJmb3JjZV9leGl0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUFVCTElDOiBzdHJpbmcgPSBcInB1YmxpY19uYW1lXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUFJHX0RFU0NSSVBUSU9OOiBzdHJpbmcgPSBcInByZ0Rlc2NyaXB0aW9uXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1RBQkxFX05BTUU6IHN0cmluZyA9IFwidGFibGVfbmFtZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lOREVYX0lOX1RBQkxFOiBzdHJpbmcgPSBcImluZGV4X2luX3RhYmxlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0FMTElOR1RBU0s6IHN0cmluZyA9IFwiY2FsbGluZ3Rhc2tcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9GTEFHUzogc3RyaW5nID0gXCJmbGFnc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xOS0VYUDogc3RyaW5nID0gXCJsaW5rX2V4cFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01PRElGSUVEOiBzdHJpbmcgPSBcIm1vZGlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9PUEVSOiBzdHJpbmcgPSBcIm9wZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRUZSRVNIT046IHN0cmluZyA9IFwicmVmcmVzaG9uXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEFTS01PREU6IHN0cmluZyA9IFwidGFza21vZGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FTVBUWV9EQVRBVklFVzogc3RyaW5nID0gXCJFbXB0eURhdGF2aWV3XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEFTS0xFVkVMOiBzdHJpbmcgPSBcInRhc2tsZXZlbFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RSQU5TX0NMRUFSRUQ6IHN0cmluZyA9IFwidHJhbnNfY2xlYXJlZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RSQU5TX1NUQVQ6IHN0cmluZyA9IFwidHJhbnNfc3RhdFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NVQkZPUk1fVklTSUJMRTogc3RyaW5nID0gXCJ2aXNpYmxlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQUNLOiBzdHJpbmcgPSBcImFja1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NPTVBVVEVfQlk6IHN0cmluZyA9IFwiY29tcHV0ZV9ieVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NIVU5LX1NJWkU6IHN0cmluZyA9IFwiY2h1bmtfc2l6ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NIVU5LX1NJWkVfRVhQUkVTU0lPTjogc3RyaW5nID0gXCJjaHVua19zaXplX2V4cHJlc3Npb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9IQVNfTUFJTl9UQkw6IHN0cmluZyA9IFwiaGFzX21haW5fdGJsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU0VSVkVSX0lEOiBzdHJpbmcgPSBcInNlcnZlcmlkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1VCRk9STV9DVFJMOiBzdHJpbmcgPSBcInN1YmZvcm1DdHJsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0hFQ0tfQllfU0VSVkVSOiBzdHJpbmcgPSBcImNoZWNrQnlTZXJ2ZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9PUEVSX0lEWDogc3RyaW5nID0gXCJvcGVyaWR4XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRVhQX0lEWDogc3RyaW5nID0gXCJleHBpZHhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWFBfVFlQRTogc3RyaW5nID0gXCJleHB0eXBlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTlVMTDogc3RyaW5nID0gXCJudWxsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTlVMTFM6IHN0cmluZyA9IFwibnVsbHNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EQ19SRUZTOiBzdHJpbmcgPSBcImRjX3JlZnNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LRUQ6IHN0cmluZyA9IFwibGlua2VkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRElTUDogc3RyaW5nID0gXCJkaXNwXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkVNT1ZFOiBzdHJpbmcgPSBcInJlbW92ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RWUE9TOiBzdHJpbmcgPSBcImR2cG9zXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU0lHTklGSUNBTlRfTlVNX1NJWkU6IHN0cmluZyA9IFwic2lnbmlmaWNhbnRfbnVtX3NpemVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ERUJVR19NT0RFOiBzdHJpbmcgPSBcImRlYnVnXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUE9JTlRfVFJBTlNMQVRJT046IHN0cmluZyA9IFwiY2hhbmdlUG9pbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX0VYSVRDVFJMOiBzdHJpbmcgPSBcInNwZWNpYWxFeGl0Q3RybFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RFRkFVTFRfQ09MT1I6IHN0cmluZyA9IFwiZGVmYXVsdENvbG9yXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfREVGQVVMVF9GT0NVU19DT0xPUjogc3RyaW5nID0gXCJkZWZhdWx0Rm9jdXNDb2xvclwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RFRkFVTFRfRElTQUJMRURfQ09MT1I6IHN0cmluZyA9IFwiZGVmYXVsdERpc2FibGVkQ29sb3JcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT05URVhUX0lOQUNUSVZJVFlfVElNRU9VVDogc3RyaW5nID0gXCJDb250ZXh0SW5hY3Rpdml0eVRpbWVvdXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DTElFTlRfQ09OVEVYVF9JTkFDVElWSVRZX1RJTUVPVVQ6IHN0cmluZyA9IFwiQ2xpZW50Q29udGV4dEluYWN0aXZpdHlUaW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ09OVEVYVF9JTkFDVElWSVRZX1RJTUVPVVRfTE9XRVI6IHN0cmluZyA9IFwiY29udGV4dGluYWN0aXZpdHl0aW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ09OVEVYVF9JTkFDVElWSVRZX1dBUk5JTkdfVElNRTogc3RyaW5nID0gXCJDb250ZXh0SW5hY3Rpdml0eVdhcm5pbmdUaW1lXCJcclxuICBzdGF0aWMgTUdfQVRUUl9DT05URVhUX0lOQUNUSVZJVFlfV0FSTklOR19USU1FX0xPV0VSOiBzdHJpbmcgPSBcImNvbnRleHRpbmFjdGl2aXR5d2FybmluZ3RpbWVcIlxyXG4gIHN0YXRpYyBNR19BVFRSX0NPTlRFWFRfVU5MT0FEX1RJTUVPVVQ6IHN0cmluZyA9IFwiQ29udGV4dFVubG9hZFRpbWVvdXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT05URVhUX1VOTE9BRF9USU1FT1VUX0xPV0VSOiBzdHJpbmcgPSBcImNvbnRleHR1bmxvYWR0aW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVE9PTFRJUF9USU1FT1VUOiBzdHJpbmcgPSBcIlRvb2x0aXBUaW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfV0VCQ0xJRU5UX1JFSU5JVF9TRVNTSU9OOiBzdHJpbmcgPSBcIldlYkNsaWVudFJlSW5pdFNlc3Npb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MT1dISUdIOiBzdHJpbmcgPSBcImxvd2hpZ2hcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9BQ0NFU1NfVEVTVDogc3RyaW5nID0gXCJBY2Nlc3NUZXN0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9URVhUX1NJWkVfRkFDVE9SSU5HOiBzdHJpbmcgPSBcIlNwZWNpYWxUZXh0U2l6ZUZhY3RvcmluZ1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NQRUNJQUxfRkxBVF9FRElUX09OX0NMQVNTSUNfVEhFTUU6IHN0cmluZyA9IFwiU3BlY2lhbEZsYXRFZGl0T25DbGFzc2ljVGhlbWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX0xFR0FDWV9UUklNX1JBTkdFOiBzdHJpbmcgPSBcIlNwZWNpYWxMZWdhY3lUcmltUmFuZ2VcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX0xFR0FDWV9FTVBUWV9SQU5HRTogc3RyaW5nID0gXCJTcGVjaWFsRmlyc3RSYW5nZU9uRW1wdHlGaWVsZFwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9FTkNPRElORzogc3RyaW5nID0gXCJlbmNvZGluZ1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NZU1RFTTogc3RyaW5nID0gXCJzeXN0ZW1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRUNPVkVSWTogc3RyaW5nID0gXCJyZWNvdmVyeVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JFVkVSU0lCTEU6IHN0cmluZyA9IFwicmV2ZXJzaWJsZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX05FV0lEOiBzdHJpbmcgPSBcIm5ld2lkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTVBSR19TT1VSQ0U6IHN0cmluZyA9IFwibXByZ19zb3VyY2VcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTlZPS0VSX0lEOiBzdHJpbmcgPSBcImludm9rZXJpZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RSQU5TX0xFVkVMOiBzdHJpbmcgPSBcImxldmVsXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0xFTjogc3RyaW5nID0gXCJsZW5cIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfREVTQzogc3RyaW5nID0gXCJkZXNjXCI7IC8vIGRlc2NyaXB0aW9uXHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0NMT1NFX1NVQkZPUk1fT05MWTogc3RyaW5nID0gXCJjbG9zZVN1YmZvcm1Pbmx5XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0hFQ0tfT05MWTogc3RyaW5nID0gXCJjaGVja09ubHlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWEVDX09OX1NFUlZFUjogc3RyaW5nID0gXCJleGVjT25TZXJ2ZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWEVDX09OX0NMSUVOVDogc3RyaW5nID0gXCJleGVjT25DbGllbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VU0VSX1NPUlQ6IHN0cmluZyA9IFwidXNlclNvcnRcIjtcclxuICBzdGF0aWMgTUdfVEFHX1VTRVJOQU1FOiBzdHJpbmcgPSBcInVzZXJOYW1lXCI7XHJcbiAgc3RhdGljIE1HX1RBR19JU19MT0dHRURfSU46IHN0cmluZyA9IFwiaXNMb2dnZWRJblwiO1xyXG4gIHN0YXRpYyBNR19UQUdfUEFTU1dPUkQ6IHN0cmluZyA9IFwicGFzc3dvcmRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VU0VSSUQ6IHN0cmluZyA9IFwidXNlcklkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVVNFUklORk86IHN0cmluZyA9IFwidXNlckluZm9cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DUFlfR0xCX1BSTVM6IHN0cmluZyA9IFwiY29weV9nbG9iYWxfcGFyYW1zXCI7XHJcbiAgc3RhdGljIE1HX1RBR19HTE9CQUxQQVJBTVM6IHN0cmluZyA9IFwiZ2xvYmFscGFyYW1zXCI7XHJcbiAgc3RhdGljIE1HX1RBR19HTE9CQUxQQVJBTVNDSEFOR0VTOiBzdHJpbmcgPSBcImdsb2JhbFBhcmFtQ2hhbmdlc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfUEFSQU06IHN0cmluZyA9IFwicGFyYW1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTUVfQVVUT19PRkY6IHN0cmluZyA9IFwiaW1lQXV0b09mZlwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xPQ0FMX0FTNDAwU0VUOiBzdHJpbmcgPSBcImxvY2FsX2FzNDAwc2V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE9DQUxfRVhUUkFfR0VOR086IHN0cmluZyA9IFwibG9jYWxfZXh0cmFHZW5nb1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xPQ0FMX0ZMQUdTOiBzdHJpbmcgPSBcImxvY2FsX2ZsYWdzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQUNJQUxfQU5TSV9FWFA6IHN0cmluZyA9IFwiU3BlY2lhbEFuc2lFeHByZXNzaW9uXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9TSE9XX1NUQVRVU0JBUl9QQU5FUzogc3RyaW5nID0gXCJTcGVjaWFsU2hvd1N0YXR1c0JhclBhbmVzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9ST1VURV9UT19ST09UX1BST0dfT05fQ09OVEVYVF9SRUNSRUFUSU9OOiBzdHJpbmcgPSBcIlNwZWNpYWxSb3V0ZVRvUm9vdFByb2dyYW1PbkNvbnRleHRSZWNyZWF0aW9uXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9TUEVDSUFMX0VESVRfTEVGVF9BTElHTjogc3RyaW5nID0gXCJTcGVjaWFsRWRpdExlZnRBbGlnblwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NQRUFDSUFMX1NXRl9DT05UUk9MX05BTUU6IHN0cmluZyA9IFwiU3BlY2lhbFN3ZkNvbnRyb2xOYW1lUHJvcGVydHlcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9WQUxfTkVXX1BPTElDWTogc3RyaW5nID0gXCJTcGVjaWFsVmFsTmV3UG9saWN5XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1BFUl9DQUxMTU9ERTogc3RyaW5nID0gXCJvcGVyQ2FsbE1vZGVcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfVEFTS19NQUlOTEVWRUw6IHN0cmluZyA9IFwibWFpbmxldmVsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1BFUl9NRVRIT0ROQU1FOiBzdHJpbmcgPSBcIm1ldGhvZF9uYW1lXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0dVSUQ6IHN0cmluZyA9IFwiR1VJRFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NPTlRST0xTX1BFUlNJU1RFTkNZX1BBVEg6IHN0cmluZyA9IFwiQ29udHJvbHNQZXJzaXN0ZW5jeVBhdGhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9QUk9KRElSOiBzdHJpbmcgPSBcInByb2pkaXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9URVJNSU5BTDogc3RyaW5nID0gXCJ0ZXJtaW5hbFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRU5WX1BBUkFNX1VSTDogc3RyaW5nID0gXCJlbnZwYXJhbXVybFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRU5WX1BBUkFNOiBzdHJpbmcgPSBcImVudmlyb25tZW50XCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0hBTkRMRVJfT05GT1JNOiBzdHJpbmcgPSBcIkhhbmRsZXJPbkZvcm1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EUk9QX1VTRVJGT1JNQVRTOiBzdHJpbmcgPSBcImRyb3B1c2VyZm9ybWF0c1wiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9DT05UUk9MX05BTUU6IHN0cmluZyA9IFwiQ29udHJvbE5hbWVcIjtcclxuICBzdGF0aWMgTUdfVEFHX0hJRERFTl9DT05UT0xTOiBzdHJpbmcgPSBcIkhpZGRlbkNvbnRyb2xzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNOUzogc3RyaW5nID0gXCJJc25zXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9DQU5DRUxfT05fQ1JFQVRFOiBzdHJpbmcgPSBcIlNwZWNpYWxDYW5jZWxPbkNyZWF0ZVwiO1xyXG5cclxuICAvLyBmb3IgZW52IHZhciB0YWJsZVxyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9USU1FX1NFUEFSQVRPUjogc3RyaW5nID0gXCJ0aW1lc2VwYXJhdG9yXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSU9USU1JTkc6IHN0cmluZyA9IFwiaW90aW1pbmdcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9IVFRQX1RJTUVPVVQ6IHN0cmluZyA9IFwiaHR0cHRpbWVvdXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VU0VfU0lHTkVEX0JST1dTRVJfQ0xJRU5UOiBzdHJpbmcgPSBcInVzZXNpZ25lZGJyb3dzZXJjbGllbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DTE9TRV9QUklOVEVEX1RBQkxFU19JTl9TVUJUQVNLUzogc3RyaW5nID0gXCJjbG9zZXByaW50ZWR0YWJsZXNpbnN1YnRhc2tzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfR0VORVJJQ19URVhUX1BSSU5USU5HOiBzdHJpbmcgPSBcImdlbmVyaWN0ZXh0cHJpbnRpbmdcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ISUdIX1JFU09MVVRJT05fUFJJTlQ6IHN0cmluZyA9IFwiaGlnaHJlc29sdXRpb25wcmludFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01FUkdFX1RSSU06IHN0cmluZyA9IFwibWVyZ2V0cmltXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1JJR0lOQUxfSU1BR0VfTE9BRDogc3RyaW5nID0gXCJvcmlnaW5hbGltYWdlbG9hZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1BSSU5UX0RBVEFfVFJJTTogc3RyaW5nID0gXCJwcmludGRhdGF0cmltXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUFNDUklQVF9QUklOVF9OVDogc3RyaW5nID0gXCJwc2NyaXB0cHJpbnRudFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RIT1VTQU5EX1NFUEFSQVRPUjogc3RyaW5nID0gXCJ0aG91c2FuZHNlcGFyYXRvclwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JURl9CVUZGRVJfU0laRTogc3RyaW5nID0gXCJydGZidWZmZXJzaXplXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9DT05WX0FERF9TTEFTSDogc3RyaW5nID0gXCJzcGVjaWFsY29udmFkZHNsYXNoXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9GVUxMX0VYUEFORF9QUklOVDogc3RyaW5nID0gXCJzcGVjaWFsZnVsbGV4cGFuZHByaW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9GVUxMX1RFWFQ6IHN0cmluZyA9IFwic3BlY2lhbGZ1bGx0ZXh0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9MQVNUX0xJTkVfUFJJTlQ6IHN0cmluZyA9IFwic3BlY2lhbGxhc3RsaW5lcHJpbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX1BSSU5URVJfT0VNOiBzdHJpbmcgPSBcInNwZWNpYWxwcmludGVyb2VtXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkFOR0VfUE9QX1RJTUU6IHN0cmluZyA9IFwicmFuZ2Vwb3B0aW1lXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEVNUF9QT1BfVElNRTogc3RyaW5nID0gXCJ0ZW1wcG9wdGltZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0VNQkVEX0ZPTlRTOiBzdHJpbmcgPSBcImVtYmVkZm9udHNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9CQVRDSF9QQUlOVF9USU1FOiBzdHJpbmcgPSBcImJhdGNocGFpbnR0aW1lXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNBTV9UUkFOU0FDVElPTjogc3RyaW5nID0gXCJpc2FtdHJhbnNhY3Rpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DRU5URVJfU0NSRUVOX0lOX09OTElORTogc3RyaW5nID0gXCJjZW50ZXJzY3JlZW5pbm9ubGluZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JFUE9TSVRJT05fQUZURVJfTU9ESUZZOiBzdHJpbmcgPSBcInJlcG9zaXRpb25hZnRlcm1vZGlmeVwiO1xyXG5cclxuICAvLyBmb3IgdXNlciBldmVudFxyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9UQVNLRkxXOiBzdHJpbmcgPSBcInRhc2tmbHdcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfUkVDT01QOiBzdHJpbmcgPSBcInJlY29tcFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0ZMV09QOiBzdHJpbmcgPSBcImZsd29wXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0VORDogc3RyaW5nID0gXCJlbmRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTkZPOiBzdHJpbmcgPSBcImluZm9cIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfS0VZOiBzdHJpbmcgPSBcImtleVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0tFWV9FWFA6IHN0cmluZyA9IFwia2V5X2V4cFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX05VTExfRkxBR1M6IHN0cmluZyA9IFwibnVsbEZsYWdzXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0RWUE9TX1ZBTFVFOiBzdHJpbmcgPSBcImR2UG9zVmFsdWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EVlBPU19ERUM6IHN0cmluZyA9IFwiRHZQb3NEZWNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UUkFOU19JRDogc3RyaW5nID0gXCJ0cmFuc0lkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkVBTFJFRlJFU0g6IHN0cmluZyA9IFwicmVhbFJlZnJlc2hcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TVUJfRk9STV9SQ01QOiBzdHJpbmcgPSBcInN1Yl9mb3JtX3JlY29tcFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0hBU19MSU5LX1JFQ09NUFVURVM6IHN0cmluZyA9IFwiaGFzX2xpbmtfcmVjb21wdXRlc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xPQ0FURV9GSVJTVF9JRDogc3RyaW5nID0gXCJsb2NhdGVGaXJzdFJlY1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX09GRlNFVDogc3RyaW5nID0gXCJvZmZzZXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9IQVNfTE9DQVRFOiBzdHJpbmcgPSBcImhhc0xvY2F0ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0FTX1BBUkVOVDogc3RyaW5nID0gXCJBc1BhcmVudFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RBU0tfVU5JUVVFX1NPUlQ6IHN0cmluZyA9IFwiVGFza1VuaXF1ZVNvcnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UUkFOU19PV05FUjogc3RyaW5nID0gXCJuZXdUcmFuc093bmVyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0xPU0U6IHN0cmluZyA9IFwiY2xvc2VcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UQVNLX0NPVU5URVI6IHN0cmluZyA9IFwidGFza19jb3VudGVyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE9PUF9DT1VOVEVSOiBzdHJpbmcgPSBcImxvb3BfY291bnRlclwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NIQUNIRURfRkxEX0lEOiBzdHJpbmcgPSBcImNhY2hlZEZsZElkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE9DQVRFOiBzdHJpbmcgPSBcImxvY2F0ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xJTks6IHN0cmluZyA9IFwibGlua1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lTX0xJTktfRklFTEQ6IHN0cmluZyA9IFwiaXNMaW5rRmxkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0FDSEVEX1RBQkxFOiBzdHJpbmcgPSBcImNhY2hlZF90YWJsZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RBQkxFX0lOREVYOiBzdHJpbmcgPSBcInRhYmxlSW5kZXhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LX0VWQUxfQ09ORElUSU9OOiBzdHJpbmcgPSBcImV2YWxDb25kaXRpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LX01PREU6IHN0cmluZyA9IFwibGlua21vZGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LX1NUQVJUOiBzdHJpbmcgPSBcImxpbmtCZWdpbkFmdGVyRmllbGRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JREVOVDogc3RyaW5nID0gXCJ0aWRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ESVI6IHN0cmluZyA9IFwiZGlyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ09ORDogc3RyaW5nID0gXCJjbmRFeHBcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT05EX1JFUzogc3RyaW5nID0gXCJ0c2tDbmRSZXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRVRfVkFMOiBzdHJpbmcgPSBcInJldFZhbFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RCUE9TOiBzdHJpbmcgPSBcImRiX3Bvc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVVNSX0RFRl9GVUNfUkVUX0VYUF9JRDogc3RyaW5nID0gXCJyZXR1cm5leHBcIjtcclxuICBzdGF0aWMgTUdfVEFHX1VTUl9ERUZfRlVDX1JFVF9FWFBfQVRUUjogc3RyaW5nID0gXCJyZXR1cm5leHBhdHRyXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0RJUkVDVElPTjogc3RyaW5nID0gXCJkaXJlY3Rpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9LRUVQX1VTRVJfU09SVDogc3RyaW5nID0gXCJrZWVwVXNlclNvcnRcIjtcclxuXHJcblxyXG4gIC8vIGZvciBkYmhcclxuICBzdGF0aWMgTUdfVEFHX0RCSFM6IHN0cmluZyA9IFwiREJIU1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfREJIU19FTkQ6IHN0cmluZyA9IFwiL0RCSFNcIjtcclxuICBzdGF0aWMgTUdfVEFHX0RCSF9EQVRBX0lEU19VUkw6IHN0cmluZyA9IFwiZGJoRGF0YUlkc1VybFwiO1xyXG5cclxuICBzdGF0aWMgTUdfVEFHX0ZMRDogc3RyaW5nID0gXCJGTERcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfU1RPUkFHRTogc3RyaW5nID0gXCJTdG9yYWdlXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1BJQ1RVUkU6IHN0cmluZyA9IFwiUGljdHVyZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9OQU1FOiBzdHJpbmcgPSBcIm5hbWVcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfRklFTERfSU5ERVg6IHN0cmluZyA9IFwiZmllbGRpbmRleFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01JTl9WQUxVRTogc3RyaW5nID0gXCJtaW5cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9NQVhfVkFMVUU6IHN0cmluZyA9IFwibWF4XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTlVMTF9NSU5fVkFMVUU6IHN0cmluZyA9IFwibnVsbF9taW5cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9OVUxMX01BWF9WQUxVRTogc3RyaW5nID0gXCJudWxsX21heFwiO1xyXG5cclxuXHJcbiAgLy8gZm9yIGRhdGFiYXNlc1xyXG4gIHN0YXRpYyBNR19UQUdfREFUQUJBU0VTX0hFQURFUjogc3RyaW5nID0gXCJEYXRhYmFzZXNcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19EQVRBQkFTRV9VUkw6IHN0cmluZyA9IFwiZGF0YWJhc2VVcmxcIjtcclxuXHJcblxyXG4gIHN0YXRpYyBCWVRFU19JTl9DSEFSOiBudW1iZXIgPSAyO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IG1hZ2ljIG9wZXJhdGlvbiBjb2Rlczwvc3VtbWFyeT5cclxuICBzdGF0aWMgTUdfT1BFUl9WRVJJRlk6IG51bWJlciA9IDI7XHJcbiAgc3RhdGljIE1HX09QRVJfQkxPQ0s6IG51bWJlciA9IDU7XHJcbiAgc3RhdGljIE1HX09QRVJfTE9PUDogbnVtYmVyID0gOTc7XHJcbiAgc3RhdGljIE1HX09QRVJfRUxTRTogbnVtYmVyID0gOTg7XHJcbiAgc3RhdGljIE1HX09QRVJfRU5EQkxPQ0s6IG51bWJlciA9IDY7XHJcbiAgc3RhdGljIE1HX09QRVJfQ0FMTDogbnVtYmVyID0gNztcclxuICBzdGF0aWMgTUdfT1BFUl9FVkFMVUFURTogbnVtYmVyID0gODtcclxuICBzdGF0aWMgTUdfT1BFUl9VUERBVEU6IG51bWJlciA9IDk7XHJcbiAgc3RhdGljIE1HX09QRVJfVVNSX0VYSVQ6IG51bWJlciA9IDEzO1xyXG4gIHN0YXRpYyBNR19PUEVSX1JBSVNFX0VWRU5UOiBudW1iZXIgPSAxNDtcclxuICBzdGF0aWMgTUdfT1BFUl9TRVJWRVI6IG51bWJlciA9IDk5O1xyXG5cclxuXHJcbiAgc3RhdGljIFRSQU5TX0NPTU1JVDogc3RyaW5nID0gJ0MnO1xyXG4gIHN0YXRpYyBUUkFOU19BQk9SVDogc3RyaW5nID0gJ0EnO1xyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBldmVudCB0eXBlczwvc3VtbWFyeT5cclxuICBzdGF0aWMgRVZFTlRfVFlQRV9TWVNURU06IHN0cmluZyA9ICdTJztcclxuICBzdGF0aWMgRVZFTlRfVFlQRV9JTlRFUk5BTDogc3RyaW5nID0gJ0knO1xyXG4gIHN0YXRpYyBFVkVOVF9UWVBFX1RJTUVSOiBzdHJpbmcgPSAnVCc7XHJcbiAgc3RhdGljIEVWRU5UX1RZUEVfRVhQUkVTU0lPTjogc3RyaW5nID0gJ0UnO1xyXG4gIHN0YXRpYyBFVkVOVF9UWVBFX1VTRVI6IHN0cmluZyA9ICdVJztcclxuICBzdGF0aWMgRVZFTlRfVFlQRV9QVUJMSUM6IHN0cmluZyA9ICdQJztcclxuICBzdGF0aWMgRVZFTlRfVFlQRV9OT05FOiBzdHJpbmcgPSAnTic7XHJcbiAgc3RhdGljIEVWRU5UX1RZUEVfTk9USU5JVEVEOiBzdHJpbmcgPSAnWCc7IC8vIGludGVybmFsXHJcblxyXG4gIC8vIHRlbXBvcmFyeSB0eXBlXHJcbiAgc3RhdGljIEVWRU5UX1RZUEVfVVNFUl9GVU5DOiBzdHJpbmcgPSAnRic7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYnJlYWsgbGV2ZWxzIC0gdXNlZCBmb3IgZGlzcGxheSBwdXJwb3Nlczwvc3VtbWFyeT5cclxuICBzdGF0aWMgQlJLX0xFVkVMX1RBU0tfUFJFRklYOiBzdHJpbmcgPSBcIlRQXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9UQVNLX1NVRkZJWDogc3RyaW5nID0gXCJUU1wiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX1BSRUZJWDogc3RyaW5nID0gXCJSUFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX01BSU46IHN0cmluZyA9IFwiUk1cIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX1JFQ19TVUZGSVg6IHN0cmluZyA9IFwiUlNcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0NUUkxfUFJFRklYOiBzdHJpbmcgPSBcIkNQXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9DVFJMX1NVRkZJWDogc3RyaW5nID0gXCJDU1wiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfQ1RSTF9WRVJJRklDQVRJT046IHN0cmluZyA9IFwiQ1ZcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0hBTkRMRVJfSU5URVJOQUw6IHN0cmluZyA9IFwiSElcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0hBTkRMRVJfU1lTVEVNOiBzdHJpbmcgPSBcIkhTXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1RJTUVSOiBzdHJpbmcgPSBcIkhUXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX0VYUFJFU1NJT046IHN0cmluZyA9IFwiSEVcIjtcclxuXHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1VTRVI6IHN0cmluZyA9IFwiSFVcIjtcclxuXHJcbiAgc3RhdGljIEJSS19MRVZFTF9VU0VSX0ZVTkNUSU9OOiBzdHJpbmcgPSBcIlVGXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9WQVJJQUJMRTogc3RyaW5nID0gXCJWQ1wiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfTUFJTl9QUk9HOiBzdHJpbmcgPSBcIk1QXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9TVUJGT1JNOiBzdHJpbmcgPSBcIlNVQkZPUk1cIjtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBicmVhayBsZXZlbHMgLSB1c2VkIGZvciBmbG93IG1vbml0b3IgcHVycG9zZXM8L3N1bW1hcnk+XHJcbiAgc3RhdGljIEJSS19MRVZFTF9UQVNLX1BSRUZJWF9GTTogc3RyaW5nID0gXCJUYXNrIFByZWZpeCBcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX1RBU0tfU1VGRklYX0ZNOiBzdHJpbmcgPSBcIlRhc2sgU3VmZml4IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX1BSRUZJWF9GTTogc3RyaW5nID0gXCJSZWNvcmQgUHJlZml4IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX1NVRkZJWF9GTTogc3RyaW5nID0gXCJSZWNvcmQgU3VmZml4IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfQ1RSTF9QUkVGSVhfRk06IHN0cmluZyA9IFwiQ29udHJvbCBQcmVmaXggXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9DVFJMX1NVRkZJWF9GTTogc3RyaW5nID0gXCJDb250cm9sIFN1ZmZpeCBcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX1ZBUklBQkxFX0ZNOiBzdHJpbmcgPSBcIlZhcmlhYmxlIENoYW5nZSBcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0NUUkxfVkVSSUZJQ0FUSU9OX0ZNOiBzdHJpbmcgPSBcIkNvbnRyb2wgVmVyaWZpY2F0aW9uIFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfSEFORExFUl9JTlRFUk5BTF9GTTogc3RyaW5nID0gXCJJbnRlcm5hbDogXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1NZU1RFTV9GTTogc3RyaW5nID0gXCJTeXN0ZW06IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfSEFORExFUl9USU1FUl9GTTogc3RyaW5nID0gXCJUaW1lcjpcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0hBTkRMRVJfRVhQUkVTU0lPTl9GTTogc3RyaW5nID0gXCJFeHByZXNzaW9uOiBcIjtcclxuXHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1VTRVJfRk06IHN0cmluZyA9IFwiVXNlclwiO1xyXG5cclxuICBzdGF0aWMgQlJLX0xFVkVMX1VTRVJfRlVOQ1RJT05fRk06IHN0cmluZyA9IFwiVXNlciBEZWZpbmVkIEZ1bmN0aW9uXCI7XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHRyYW5zYWN0aW9uczwvc3VtbWFyeT5cclxuICBzdGF0aWMgVFJBTlNfTk9ORTogc3RyaW5nID0gJ08nO1xyXG4gIHN0YXRpYyBUUkFOU19SRUNPUkRfUFJFRklYOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIFRSQU5TX1RBU0tfUFJFRklYOiBzdHJpbmcgPSAnVCc7XHJcblxyXG4gIC8vIHJlY292ZXJ5IHR5cGUgKGFjY2VwdGVkIGZyb20gdGhlIHNlcnZlcilcclxuICBzdGF0aWMgUkVDT1ZFUllfTk9ORTogc3RyaW5nID0gJ1xcMCc7XHJcbiAgc3RhdGljIFJFQ09WRVJZX1JPTExCQUNLOiBzdHJpbmcgPSAnUic7XHJcbiAgc3RhdGljIFJFQ09WRVJZX1JFVFJZOiBzdHJpbmcgPSAnVCc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVmVyaWZ5IE9wZXJhdGlvbiBDb25zdGFudHM8L3N1bW1hcnk+XHJcbiAgc3RhdGljIEZMV19WRVJJRllfTU9ERV9FUlJPUjogc3RyaW5nID0gJ0UnO1xyXG5cclxuICBzdGF0aWMgSU1BR0VfRVhDTEFNQVRJT046IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgSU1BR0VfQ1JJVElDQUw6IHN0cmluZyA9ICdDJztcclxuICBzdGF0aWMgSU1BR0VfUVVFU1RJT046IHN0cmluZyA9ICdRJztcclxuICBzdGF0aWMgSU1BR0VfSU5GT1JNQVRJT046IHN0cmluZyA9ICdJJztcclxuXHJcbiAgc3RhdGljIEJVVFRPTlNfT0s6IHN0cmluZyA9ICdPJztcclxuICBzdGF0aWMgQlVUVE9OU19PS19DQU5DRUw6IHN0cmluZyA9ICdLJztcclxuICBzdGF0aWMgQlVUVE9OU19BQk9SVF9SRVRSWV9JR05PUkU6IHN0cmluZyA9ICdBJztcclxuICBzdGF0aWMgQlVUVE9OU19ZRVNfTk9fQ0FOQ0VMOiBzdHJpbmcgPSAnWSc7XHJcbiAgc3RhdGljIEJVVFRPTlNfWUVTX05POiBzdHJpbmcgPSAnTic7XHJcbiAgc3RhdGljIEJVVFRPTlNfUkVUUllfQ0FOQ0VMOiBzdHJpbmcgPSAnUic7XHJcbiAgc3RhdGljIERJU1BMQVlfQk9YOiBzdHJpbmcgPSAnQic7XHJcbiAgc3RhdGljIERJU1BMQVlfU1RBVFVTOiBzdHJpbmcgPSAnUyc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRU5EIFRBU0sgRVZBTFVBVElPTjwvc3VtbWFyeT5cclxuICBzdGF0aWMgRU5EX0NPTkRfRVZBTF9CRUZPUkU6IHN0cmluZyA9IFwiQlwiO1xyXG4gIHN0YXRpYyBFTkRfQ09ORF9FVkFMX0FGVEVSOiBzdHJpbmcgPSBcIkFcIjtcclxuICBzdGF0aWMgRU5EX0NPTkRfRVZBTF9JTU1JRElBVEU6IHN0cmluZyA9IFwiSVwiO1xyXG5cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYXJndW1lbnQgY29uc3RhbnRzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBBUkdfVFlQRV9GSUVMRDogc3RyaW5nID0gJ0YnO1xyXG4gIHN0YXRpYyBBUkdfVFlQRV9FWFA6IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgQVJHX1RZUEVfVkFMVUU6IHN0cmluZyA9ICdWJztcclxuICBzdGF0aWMgQVJHX1RZUEVfU0tJUDogc3RyaW5nID0gJ1gnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdlbmVyYWwgdXNlIGNvbnN0czwvc3VtbWFyeT5cclxuICBzdGF0aWMgVE9QX0xFVkVMX0NPTlRBSU5FUjogbnVtYmVyID0gMDtcclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IFJlcXVlc3RlciBwYXJhbWV0ZXJzIHRhZ3M8L3N1bW1hcnk+XHJcbiAgc3RhdGljIFJFUV9BUkdfQUxQSEE6IHN0cmluZyA9IFwiLUFcIjtcclxuICBzdGF0aWMgUkVRX0FSR19VTklDT0RFOiBzdHJpbmcgPSBcIi1DXCI7XHJcbiAgc3RhdGljIFJFUV9BUkdfTlVNRVJJQzogc3RyaW5nID0gXCItTlwiO1xyXG4gIHN0YXRpYyBSRVFfQVJHX0RPVUJMRTogc3RyaW5nID0gXCItRFwiO1xyXG4gIHN0YXRpYyBSRVFfQVJHX0xPR0lDQUw6IHN0cmluZyA9IFwiLUxcIjtcclxuICBzdGF0aWMgUkVRX0FSR19OVUxMOiBzdHJpbmcgPSBcIi1VXCI7XHJcbiAgc3RhdGljIFJFUV9BUkdfU0VQQVJBVE9SOiBzdHJpbmcgPSBcIiZcIjtcclxuICBzdGF0aWMgUkVRX0FSR19TVEFSVDogc3RyaW5nID0gXCI/XCI7XHJcblxyXG4gIHN0YXRpYyBSRVFfQVBQX05BTUU6IHN0cmluZyA9IFwiYXBwbmFtZVwiO1xyXG5cclxuICBzdGF0aWMgUkVRX0FSR1M6IHN0cmluZyA9IFwiYXJndW1lbnRzXCI7XHJcblxyXG4gIC8vIGlmIHRydWUsIHRoZSBSQyBhY2NlcHRpbmcgdGhpcyBwcm9wZXJ0eSBzaG91bGQgbm90IGRpc3BsYXkgYW4gYXV0aGVudGljYXRpb24gZGlhbG9nLFxyXG4gIC8vIGV2ZW4gaWYgcmVxdWlyZWQgYWNjb3JkaW5nIHRvIG90aGVyIGNvbmRpdGlvbnMgKElucHV0UGFzc3dvcmQvU3lzdGVtTG9naW4pLFxyXG4gIC8vIGFuZCBwZXJmb3JtIGEgc2lsZW50IGF1dGhlbnRpY2F0aW9uIHVzaW5nIHRoZSBVU0VSTkFNRSAmIFBBU1NXT1JEIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzLlxyXG4gIHN0YXRpYyBSRVFfU0tJUF9BVVRIRU5USUNBVElPTjogc3RyaW5nID0gXCJTa2lwQXV0aGVudGljYXRpb25cIjtcclxuICBzdGF0aWMgUkNfSU5ESUNBVElPTl9JTklUSUFMOiBzdHJpbmcgPSBcIldFQkNMSUVOVD1JTklUSUFMJlwiOyAvLyBmaXJzdCByZXF1ZXN0IG9mIHRoZSBoYW5kc2hha2VcclxuXHJcbiAgc3RhdGljIFJDX0lORElDQVRJT046IHN0cmluZyA9IFwiV0VCQ0xJRU5UPVkmXCI7XHJcbiAgc3RhdGljIFVURjhUUkFOUzogc3RyaW5nID0gXCJVVEY4VFJBTlM9WSZcIjtcclxuXHJcbiAgc3RhdGljIFJDX1RPS0VOX0NUWF9JRDogc3RyaW5nID0gXCJDVFg9XCI7XHJcbiAgc3RhdGljIFJDX1RPS0VOX1NFU1NJT05fSUQ6IHN0cmluZyA9IFwiU0k9XCI7XHJcbiAgc3RhdGljIFJDX1RPS0VOX0NUWF9HUk9VUDogc3RyaW5nID0gXCJDVFhHUk9VUD1cIjtcclxuICBzdGF0aWMgUkNfVE9LRU5fU0VTU0lPTl9DT1VOVDogc3RyaW5nID0gXCJTRVNTSU9OPVwiO1xyXG4gIHN0YXRpYyBSQ19UT0tFTl9EQVRBOiBzdHJpbmcgPSBcIkRBVEE9XCI7XHJcblxyXG4gIHN0YXRpYyBXRUJDTElFTlRfUkVJTklUSUFMSVpFX1JFUVVFU1Q6IHN0cmluZyA9IFwiV0NSRUlOSVRJQUxJWkVSRVFVRVNUPVlcIjtcclxuICBzdGF0aWMgTUFJTl9QUk9HX1ZJRVc6IHN0cmluZyA9IFwiTWFpblByb2dyYW1zRGF0YVZpZXdcIjtcclxuICBzdGF0aWMgR0xPQkFMX1BBUkFNX0xJU1Q6IHN0cmluZyA9IFwiR2xvYmFsUGFyYW1MaXN0XCI7XHJcbiAgc3RhdGljIExBU1RfRVhDRVBUSU9OOiBzdHJpbmcgPSBcIkxhc3RFeGNlcHRpb25cIjtcclxuICBzdGF0aWMgQ1RYX1JFTU9WRURfRlJPTV9TUlZSOiBzdHJpbmcgPSBcIkN0eFJlbW92ZWRGcm9tU3J2clwiO1xyXG4gIHN0YXRpYyBMQVNUX1JPVVRFX0VWRU5UOiBzdHJpbmcgPSBcIkxhc3RSb3V0ZUV2ZW50XCI7XHJcbiAgc3RhdGljIExBU1RfUk9VVEVfRVZFTlRfQVJHX0xJU1Q6IHN0cmluZyA9IFwiTGFzdFJvdXRlRXZlbnRBcmdMaXN0XCI7XHJcbiAgc3RhdGljIExBU1RfUk9VVEVfRVZFTlRfU1JDX1RTSzogc3RyaW5nID0gXCJMYXN0Um91dGVFdmVudFNvdXJjZVRhc2tcIjtcclxuICBzdGF0aWMgSVNfU0VTU0lPTl9SRUlOSVRJQUxJWklORzogc3RyaW5nID0gXCJJc1Nlc3Npb25SZUluaXRpYWxpemluZ1wiO1xyXG4gIHN0YXRpYyBSQ19BVVRIRU5USUNBVElPTl9SRVFVRVNUOiBzdHJpbmcgPSBcIlJDQVVUSEVOVElDQVRJT05SRVFVRVNUPVlcIjtcclxuICBzdGF0aWMgVjI0X1JJQV9FUlJPUl9QUkVGSVg6IHN0cmluZyA9IFwiPFJJQV9FUlJPUl9SRVNQT05TRT5cIjtcclxuXHJcbiAgLy8gc2Vzc2lvbiBjb3VudCAtMSBzZXJ2ZXMgYXMgYW4gaW5kaWNhdGlvbiBmcm9tIHRoZSBjbGllbnQgdG8gY2xvc2UgdGhlIGNvbnRleHQuXHJcbiAgc3RhdGljIFNFU1NJT05fQ09VTlRFUl9DTE9TRV9DVFhfSU5ESUNBVElPTjogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8vIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzXHJcbiAgc3RhdGljIFNFUlZFUjogc3RyaW5nID0gXCJzZXJ2ZXJcIjtcclxuXHJcbiAgc3RhdGljIENUWF9HUk9VUDogc3RyaW5nID0gXCJDdHhHcm91cFwiO1xyXG5cclxuICBzdGF0aWMgRVJST1JfU1RSSU5HOiBzdHJpbmcgPSBcIkVycm9yXCI7XHJcblxyXG5cclxuICBzdGF0aWMgVVNFUl9SQU5HRVM6IHN0cmluZyA9IFwicmFuZ2VzXCI7XHJcbiAgc3RhdGljIFVTRVJfTE9DQVRFUzogc3RyaW5nID0gXCJsb2NhdGVzXCI7XHJcbiAgc3RhdGljIFNPUlQ6IHN0cmluZyA9IFwic3J0XCI7XHJcbiAgc3RhdGljIE1JTl9STkc6IHN0cmluZyA9IFwibWluXCI7XHJcbiAgc3RhdGljIE1BWF9STkc6IHN0cmluZyA9IFwibWF4XCI7XHJcbiAgc3RhdGljIE5VTExfTUlOX1JORzogc3RyaW5nID0gXCJpc051bGxNaW5cIjtcclxuICBzdGF0aWMgTlVMTF9NQVhfUk5HOiBzdHJpbmcgPSBcImlzTnVsbE1heFwiO1xyXG4gIHN0YXRpYyBDTEVBUl9SQU5HRTogc3RyaW5nID0gXCJyYW5nZVJlc2V0XCI7XHJcbiAgc3RhdGljIENMRUFSX0xPQ0FURVM6IHN0cmluZyA9IFwibG9jYXRlUmVzZXRcIjtcclxuICBzdGF0aWMgQ0xFQVJfU09SVFM6IHN0cmluZyA9IFwic29ydFJlc2V0XCI7XHJcbiAgc3RhdGljIFVTRVJfUk5HOiBzdHJpbmcgPSBcInJuZ1wiO1xyXG5cclxuICAvLyBlbnZpcm9ubWVudCBtaXJyb3JpbmdcclxuICBzdGF0aWMgTUdfVEFHX0VOVl9DSEFOR0VTOiBzdHJpbmcgPSBcImNoYW5nZXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FTlZfVkFMVUU6IHN0cmluZyA9IFwidmFsdWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FTlZfV1JJVEVJTkk6IHN0cmluZyA9IFwid3JpdGVUb0lOSVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0VOVl9SRVNFUlZFRDogc3RyaW5nID0gXCJyZXNlcnZlZFwiO1xyXG5cclxuICAvLyAuSU5JIGVudmlyb25tZW50IHNlY3Rpb25zXHJcbiAgc3RhdGljIE1HX0FUVFJfRU5WX1JFTU9WRUQ6IHN0cmluZyA9IFwicmVtb3ZlZFwiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19FTlZfQlJBQ0tFVFM6IHN0cmluZyA9IFwiW01BR0lDX0VOVl1cIjtcclxuICBzdGF0aWMgSU5JX1NFQ1RJT05fTE9HSUNBTF9OQU1FU19CUkFDS0VUUzogc3RyaW5nID0gXCJbTUFHSUNfTE9HSUNBTF9OQU1FU11cIjtcclxuICBzdGF0aWMgSU5JX1NFQ1RJT05fTUFHSUNfRU5WOiBzdHJpbmcgPSBcIk1BR0lDX0VOVlwiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19TWVNURU1TOiBzdHJpbmcgPSBcIk1BR0lDX1NZU1RFTVNcIjtcclxuICBzdGF0aWMgSU5JX1NFQ1RJT05fTUFHSUNfREJNUzogc3RyaW5nID0gXCJNQUdJQ19EQk1TXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX01BR0lDX1NFUlZFUlM6IHN0cmluZyA9IFwiTUFHSUNfU0VSVkVSU1wiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19DT01NUzogc3RyaW5nID0gXCJNQUdJQ19DT01NU1wiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19QUklOVEVSUzogc3RyaW5nID0gXCJNQUdJQ19QUklOVEVSU1wiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19TWVNURU1fTUVOVTogc3RyaW5nID0gXCJNQUdJQ19TWVNURU1fTUVOVVwiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19EQVRBQkFTRVM6IHN0cmluZyA9IFwiTUFHSUNfREFUQUJBU0VTXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX01BR0lDX0xBTkdVQUdFOiBzdHJpbmcgPSBcIk1BR0lDX0xBTkdVQUdFXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX01BR0lDX1NFUlZJQ0VTOiBzdHJpbmcgPSBcIk1BR0lDX1NFUlZJQ0VTXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX1RPT0xTX01FTlU6IHN0cmluZyA9IFwiVE9PTFNfTUVOVVwiO1xyXG5cclxuXHJcblxyXG5cclxuICBzdGF0aWMgSU5JVElBTF9PRkZMSU5FX1RBU0tfVEFHOiBudW1iZXIgPSAxMDAwMDAwMDAwO1xyXG4gIHN0YXRpYyBFTkFCTEVfQ09NTVVOSUNBVElPTl9ESUFMT0dTOiBzdHJpbmcgPSBcIkVuYWJsZUNvbW11bmljYXRpb25EaWFsb2dzXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9BQk9SVDogc3RyaW5nID0gXCJhYm9ydFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9FTkhBTkNFRF9WRVJJRlk6IHN0cmluZyA9IFwiZW5oYW5jZWR2ZXJpZnlcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX09QRU5VUkw6IHN0cmluZyA9IFwib3BlbnVybFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9SRVNVTFQ6IHN0cmluZyA9IFwicmVzdWx0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX1ZFUklGWTogc3RyaW5nID0gXCJ2ZXJpZnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfQUREX1JBTkdFOiBzdHJpbmcgPSBcImFkZHJhbmdlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0FERF9MT0NBVEU6IHN0cmluZyA9IFwiYWRkbG9jYXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0FERF9TT1JUOiBzdHJpbmcgPSBcImFkZHNvcnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUkVTRVRfUkFOR0U6IHN0cmluZyA9IFwicmVzZXRyYW5nZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9SRVNFVF9MT0NBVEU6IHN0cmluZyA9IFwicmVzZXRsb2NhdGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUkVTRVRfU09SVDogc3RyaW5nID0gXCJyZXNldHNvcnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfQ0xJRU5UX1JFRlJFU0g6IHN0cmluZyA9IFwiY2xpZW50cmVmcmVzaFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9FVkFMOiBzdHJpbmcgPSBcImV2YWx1YXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0VWRU5UOiBzdHJpbmcgPSBcImV2ZW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0VYRUNfT1BFUjogc3RyaW5nID0gXCJleGVjb3BlclwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUVVFUlk6IHN0cmluZyA9IFwicXVlcnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUVVFUllfR0xPQkFMX1BBUkFNUzogc3RyaW5nID0gXCJnbG9iYWxwYXJhbXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUVVFUllfVFlQRTogc3RyaW5nID0gXCJxdWVyeV90eXBlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX1JFQ09NUDogc3RyaW5nID0gXCJyZWNvbXB1dGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfVFJBTlM6IHN0cmluZyA9IFwidHJhbnNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfVU5MT0FEOiBzdHJpbmcgPSBcInVubG9hZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9JTklQVVRfRk9SQ0VfV1JJVEU6IHN0cmluZyA9IFwiaW5pcHV0Rm9yY2VXcml0ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9JTklQVVRfUEFSQU06IHN0cmluZyA9IFwiaW5pcHV0UGFyYW1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FUlJPUl9NRVNTQUdFOiBzdHJpbmcgPSBcImVycm9yTWVzc2FnZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9UT1RBTF9SRUNPUkRTX0NPVU5UOiBzdHJpbmcgPSBcInRvdGFsUmVjb3Jkc0NvdW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX1JFQ09SRFNfQkVGT1JFX0NVUlJFTlRfVklFVzogc3RyaW5nID0gXCJyZWNvcmRzQmVmb3JlQ3VycmVudFZpZXdcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfU0VSVkVSX1RSQU5TX0NBQ0hFX0VNUFRZOiBzdHJpbmcgPSBcInNlcnZlclRyYW5zQ2FjaGVFbXB0eVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NQRUNJQUxfQU5TSV9CTE9CX0NIRUNLX05VTEw6IHN0cmluZyA9IFwiU3BlY2lhbEFuc2lCbG9iQ2hlY2tOdWxsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9UQUJMRV9SRURVQ0VfVElUTEVfSEVJR0hUOiBzdHJpbmcgPSBcIlNwZWNpYWxUYWJsZVJlZHVjZVRpdGxlSGVpZ2h0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9ET1RORVRfQUxMT1dfWkVST19EQVRFOiBzdHJpbmcgPSBcIlNwZWNpYWxEb3ROZXRBbGxvd1plcm9EYXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9SRVVTRV9UQUJMRV9FRElUT1I6IHN0cmluZyA9IFwiU3BlY2lhbFJldXNlVGFibGVFZGl0b3JcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19MQVNUX1JPVVRFOiBzdHJpbmcgPSBcIkxhc3RSb3V0ZVwiO1xyXG59XHJcbiJdfQ==
|
|
514
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0NvbnN0SW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxjQUFjOztBQUVsQiw2QkFBYyxHQUFXLFNBQVMsQ0FBQztBQUVuQyx5QkFBVSxHQUFXLEtBQUssQ0FBQztBQUMzQiw2QkFBYyxHQUFXLFNBQVMsQ0FBQztBQUNuQyw4QkFBZSxHQUFXLFVBQVUsQ0FBQztBQUNyQyxrQ0FBbUIsR0FBVyxXQUFXLENBQUM7QUFDMUMsbUNBQW9CLEdBQVcsZUFBZSxDQUFDO0FBQy9DLHVDQUF3QixHQUFXLGdCQUFnQixDQUFDO0FBQ3BELDBDQUEyQixHQUFXLHNCQUFzQixDQUFDO0FBQzdELDhDQUErQixHQUFXLHVCQUF1QixDQUFDO0FBQ2xFLGtDQUFtQixHQUFXLFlBQVksQ0FBQztBQUMzQyxzQ0FBdUIsR0FBVyxhQUFhLENBQUM7QUFDaEQsaUNBQWtCLEdBQVcsWUFBWSxDQUFDO0FBQzFDLHFDQUFzQixHQUFXLGFBQWEsQ0FBQztBQUMvQyxpQ0FBa0IsR0FBVyxhQUFhLENBQUM7QUFDM0MscUNBQXNCLEdBQVcsZ0JBQWdCLENBQUM7QUFDbEQsZ0NBQWlCLEdBQVcsV0FBVyxDQUFDO0FBQ3hDLGdDQUFpQixHQUFXLFdBQVcsQ0FBQztBQUN4QyxnREFBaUMsR0FBVyxhQUFhLENBQUM7QUFLMUQsNENBQTZCLEdBQVcsc0JBQXNCLENBQUM7QUFDL0QsMENBQTJCLEdBQVcsb0JBQW9CLENBQUM7QUFJM0QsaUNBQWtCLEdBQVcsWUFBWSxDQUFDO0FBQzFDLDhDQUErQixHQUFXLHNCQUFzQixDQUFDO0FBQ2pFLCtCQUFnQixHQUFXLFVBQVUsQ0FBQztBQUV0Qyw2QkFBYyxHQUFXLFNBQVMsQ0FBQztBQUVuQyw4QkFBZSxHQUFXLFVBQVUsQ0FBQztBQUNyQyx5QkFBVSxHQUFXLEtBQUssQ0FB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LG1EQUFvQyxHQUFXLDBCQUEwQixDQUFDO0FBQzFFLHdEQUF5QyxHQUFXLCtCQUErQixDQUFDO0FBQ3BGLHFEQUFzQyxHQUFXLDRCQUE0QixDQUFDO0FBQzlFLGlEQUFrQyxHQUFXLHlCQUF5QixDQUFDO0FBRXZFLGdDQUFpQixHQUFXLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8c3VtbWFyeT4gVGhpcyBpbnRlcmZhY2UgaXMgdXNlZCB0byBkZWZpbmUgc29tZSBnbG9iYWwgY29uc3RhbnRzLlxyXG4vLy8gUnVsZXM6XHJcbi8vLyAxLiBBbnkgY2xhc3MgdGhhdCBuZWVkIG9uZSBvciBtb3JlIG9mIHRoZXNlIGNvbnN0YW50cyBtdXN0IGltcGxlbWVudCB0aGlzIGludGVyZmFjZVxyXG4vLy8gICAgb3IgYWNjZXNzIHRoZSBjb25zdGFudCBkaXJlY3RseSB1c2luZyB0aGUgaW50ZXJmYWNlIG5hbWUgYXMgaXRzIHByZWZpeC5cclxuLy8vIDIuIFBsZWFzZSBkZWZpbmUgdGhlIGNvbnN0YW50cyB1c2luZyBVUFBFUkNBU0UgbGV0dGVycyB0byBtYWtlIHRoZW0gc3RhbmQgb3V0IGNsZWFybHkuPC9zdW1tYXJ5PlxyXG5cclxuZXhwb3J0IGNsYXNzIENvbnN0SW50ZXJmYWNlIHtcclxuLy8vIDxzdW1tYXJ5PiBUYWdzIGFuZCBBdHRyaWJ1dGVzIG9mIHRoZSBYTUwgcHJvdG9jb2w8L3N1bW1hcnk+XHJcbiAgc3RhdGljIE1HX1RBR19DT05URVhUOiBzdHJpbmcgPSBcImNvbnRleHRcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19FTlY6IHN0cmluZyA9IFwiZW52XCI7XHJcbiAgc3RhdGljIE1HX1RBR19DT01NQU5EOiBzdHJpbmcgPSBcImNvbW1hbmRcIjtcclxuICBzdGF0aWMgTUdfVEFHX0xBTkdVQUdFOiBzdHJpbmcgPSBcImxhbmd1YWdlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19MQU5HVUFHRV9FTkQ6IHN0cmluZyA9IFwiL2xhbmd1YWdlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19DT05TVE1FU1NBR0VTOiBzdHJpbmcgPSBcIkNvbnN0TWVzc2FnZXNcIjtcclxuICBzdGF0aWMgTUdfVEFHX0NPTlNUTUVTU0FHRVNfRU5EOiBzdHJpbmcgPSBcIi9Db25zdE1lc3NhZ2VzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19DT05TVE1FU1NBR0VTQ09OVEVOVDogc3RyaW5nID0gXCJDb25zdExhbmdGaWxlQ29udGVudFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09OU1RNRVNTQUdFU0NPTlRFTlRfRU5EOiBzdHJpbmcgPSBcIi9Db25zdExhbmdGaWxlQ29udGVudFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfTUxTX0ZJTEVfVVJMOiBzdHJpbmcgPSBcIk1sc0ZpbGVVcmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX01MU19GSUxFX1VSTF9FTkQ6IHN0cmluZyA9IFwiL01sc0ZpbGVVcmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX01MU19DT05URU5UOiBzdHJpbmcgPSBcIk1sc0NvbnRlbnRcIjtcclxuICBzdGF0aWMgTUdfVEFHX01MU19DT05URU5UX0VORDogc3RyaW5nID0gXCIvTWxzQ29udGVudFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09NUE1BSU5QUkc6IHN0cmluZyA9IFwiY29tcG1haW5wcmdcIjtcclxuICBzdGF0aWMgTUdfVEFHX1NUQVJUVVBfUFJPR1JBTTogc3RyaW5nID0gXCJTdGFydHVwUHJvZ3JhbVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09OVEVYVF9JRDogc3RyaW5nID0gXCJDb250ZXh0SURcIjtcclxuICBzdGF0aWMgTUdfVEFHX1NFU1NJT05fSUQ6IHN0cmluZyA9IFwiU2Vzc2lvbklEXCI7XHJcbiAgc3RhdGljIE1HX1RBR19IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVDogc3RyaW5nID0gXCJIdHRwVGltZW91dFwiOyAvLyBjb21tdW5pY2F0aW9uLWxldmVsIHRpbWVvdXQgKGkuZS4gdGhlIGFjY2VzcyB0byB0aGUgd2ViIHNlcnZlciwgTk9UIHRoZSBlbnRpcmUgcmVxdWVzdC9yZXNwb25zZSByb3VuZC10cmlwKSwgaW4gc2Vjb25kcy5cclxuXHJcblxyXG4gIC8vIHRhc2sgZGVmaW5pdGlvbiBpZHNcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICBzdGF0aWMgTUdfVEFHX1RBU0tERUZJTklUSU9OX0lEU19VUkw6IHN0cmluZyA9IFwidGFza0RlZmluaXRpb25JZHNVcmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX09GRkxJTkVfU05JUFBFVFNfVVJMOiBzdHJpbmcgPSBcIm9mZmxpbmVTbmlwcGV0c1VybFwiO1xyXG5cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgc3RhdGljIE1HX0FUVFJfSVNTUEVDSUZJQzogc3RyaW5nID0gXCJpc1NwZWNpZmljXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNfR1VJX1RIUkVBRF9FWEVDVVRJT046IHN0cmluZyA9IFwiaXNHdWlUaHJlYWRFeGVjdXRpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9GVUxMTkFNRTogc3RyaW5nID0gXCJmdWxsbmFtZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfVEFHX1RBU0tVUkw6IHN0cmluZyA9IFwidGFza1VSTFwiO1xyXG5cclxuICBzdGF0aWMgTUdfVEFHX0VYUFRBQkxFOiBzdHJpbmcgPSBcImV4cHRhYmxlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19FWFA6IHN0cmluZyA9IFwiZXhwXCI7XHJcbiAgc3RhdGljIE1HX1RBR19EQVRBVklFVzogc3RyaW5nID0gXCJkYXRhdmlld1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ09NUExFVEVfRFY6IHN0cmluZyA9IFwiQ29tcGxldGVEYXRhVmlld1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfUkVDOiBzdHJpbmcgPSBcInJlY1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfRkxEX0VORDogc3RyaW5nID0gXCIvZmxkXCI7XHJcbiAgc3RhdGljIE1HX1RBR19IQU5ETEVSOiBzdHJpbmcgPSBcImhhbmRsZXJcIjtcclxuICBzdGF0aWMgTUdfVEFHX0VWRU5USEFORExFUlM6IHN0cmluZyA9IFwiZXZlbnRoYW5kbGVyc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfRVZFTlQ6IHN0cmluZyA9IFwiZXZlbnRcIjtcclxuICBzdGF0aWMgTUdfVEFHX09QRVI6IHN0cmluZyA9IFwib3BlclwiO1xyXG4gIHN0YXRpYyBNR19UQUdfS0JETUFQX1VSTDogc3RyaW5nID0gXCJrYmRtYXB1cmxcIjtcclxuICBzdGF0aWMgTUdfVEFHX0tCRE1BUDogc3RyaW5nID0gXCJrYmRtYXBcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19VU0VSX0VWRU5UUzogc3RyaW5nID0gXCJ1c2VyZXZlbnRzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19VU0VSX0VWRU5UU19FTkQ6IHN0cmluZyA9IFwiL3VzZXJldmVudHNcIjtcclxuICBzdGF0aWMgTUdfVEFHX0VWRU5UU19RVUVVRTogc3RyaW5nID0gXCJldmVudHNxdWV1ZVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRENfVkFMUzogc3RyaW5nID0gXCJkY192YWxzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19GTFdNVFJfQ09ORklHOiBzdHJpbmcgPSBcImZsd210cl9jb25maWdcIjtcclxuICBzdGF0aWMgTUdfVEFHX0ZMV01UUl9NU0c6IHN0cmluZyA9IFwiZmx3bXRyX21zZ1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfRkxXTVRSX0FDVDogc3RyaW5nID0gXCJhY3RcIjtcclxuICBzdGF0aWMgTUdfVEFHX0RFTF9MSVNUOiBzdHJpbmcgPSBcImNhY2hlRGVsTGlzdFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfTElOS1M6IHN0cmluZyA9IFwibGlua3NcIjtcclxuICBzdGF0aWMgTUdfVEFHX0xJTktTX0VORDogc3RyaW5nID0gXCIvbGlua3NcIjtcclxuICBzdGF0aWMgTUdfVEFHX0xJTks6IHN0cmluZyA9IFwibGlua1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVEFTS19UQUJMRVM6IHN0cmluZyA9IFwidGFza1RhYmxlc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVEFTS19UQUJMRVNfRU5EOiBzdHJpbmcgPSBcIi90YXNrVGFibGVzXCI7XHJcblxyXG4gIHN0YXRpYyBNR19UQUdfQ09MVU1OOiBzdHJpbmcgPSBcImNvbHVtblwiO1xyXG4gIHN0YXRpYyBNR19UQUdfU09SVDogc3RyaW5nID0gXCJzb3J0XCI7XHJcbiAgc3RhdGljIE1HX1RBR19TT1JUUzogc3RyaW5nID0gXCJzb3J0c1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfU09SVFNfRU5EOiBzdHJpbmcgPSBcIi9zb3J0c1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfQ0FDSEVEX1RBQkxFOiBzdHJpbmcgPSBcImNhY2hlZFRhYmxlXCI7XHJcbiAgc3RhdGljIE1HX1RBR19DQUNIRURfVEFCTEVfRU5EOiBzdHJpbmcgPSBcIi9jYWNoZWRUYWJsZVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfUkVDT1JEUzogc3RyaW5nID0gXCJyZWNvcmRzXCI7XHJcbiAgc3RhdGljIE1HX1RBR19SRUNPUkRTX0VORDogc3RyaW5nID0gXCIvcmVjb3Jkc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVEFTS19YTUw6IHN0cmluZyA9IFwidGFza3htbFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRVhFQ19TVEFDS19FTlRSWTogc3RyaW5nID0gXCJleGVjc3RhY2tlbnRyeVwiO1xyXG4gIHN0YXRpYyBNR19UQUdfREJIX1JFQUxfSURYUzogc3RyaW5nID0gXCJkYmhSZWFsSWR4c1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVVNFUl9ERVRBSUxTOiBzdHJpbmcgPSBcInVzZXJEZXRhaWxzXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX09CSkVDVDogc3RyaW5nID0gXCJvYmplY3RcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfQVJHTElTVDogc3RyaW5nID0gXCJhcmdsaXN0XCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1ZJUlRVQUw6IHN0cmluZyA9IFwidmlydHVhbFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NVQkZPUk1fVEFTSzogc3RyaW5nID0gXCJzdWJmb3JtX3Rhc2tcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9QQVJBTTogc3RyaW5nID0gXCJwYXJhbVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1BBUkFNUzogc3RyaW5nID0gXCJwYXJhbXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ST1VURV9QQVJBTVM6IHN0cmluZyA9IFwicm91dGVQYXJhbXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWFBPU0VEX1JPVVRFX1BBUkFNUzogc3RyaW5nID0gXCJleHBvc2VkUm91dGVQYXJhbVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0VYUE9TRURfVE9fQ0xJRU5UOiBzdHJpbmcgPSBcImV4cG9zZWRUb0NsaWVudFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1BBUl9BVFRSUzogc3RyaW5nID0gXCJhdHRyXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1ZJUl9BU19SRUFMOiBzdHJpbmcgPSBcInZpcl9hc19yZWFsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE5LX0NSRUFURTogc3RyaW5nID0gXCJsaW5rX2NyZWF0ZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9SQU5HRTogc3RyaW5nID0gXCJyYW5nZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX05VTExWQUxVRTogc3RyaW5nID0gXCJudWxsdmFsdWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTklUOiBzdHJpbmcgPSBcImluaXRcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfTU9ERTogc3RyaW5nID0gXCJtb2RlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkVDT01QVVRFQlk6IHN0cmluZyA9IFwicmVjb21wdXRlX2J5XCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0hBTkRMRURCWTogc3RyaW5nID0gXCJoYW5kbGVkYnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MRVZFTDogc3RyaW5nID0gXCJsZXZlbFwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9TRUNPTkRTOiBzdHJpbmcgPSBcInNlY29uZHNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TQ09QRTogc3RyaW5nID0gXCJzY29wZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9QUk9QQUdBVEU6IHN0cmluZyA9IFwicHJvcGFnYXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRU5BQkxFRDogc3RyaW5nID0gXCJlbmFibGVkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRkxEOiBzdHJpbmcgPSBcImZsZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0ZJRUxESUQ6IHN0cmluZyA9IFwiZmllbGRpZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lHTk9SRV9TVUJGT1JNX1JFQ09NUFVURTogc3RyaW5nID0gXCJpZ25vcmVTdWJmb3JtUmVjb21wdXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTUFHSUNFVkVOVDogc3RyaW5nID0gXCJtYWdpY2V2ZW50XCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0ZPQ1VTTElTVDogc3RyaW5nID0gXCJmb2N1c2xpc3RcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9GT0NVU1RBU0s6IHN0cmluZyA9IFwiY3VyckZvY3VzZWRUYXNrXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEVYVDogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVElUTEU6IHN0cmluZyA9IFwidGl0bGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9USVRMRV9FWFA6IHN0cmluZyA9IFwidGl0bGVFeHBcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTUFHRTogc3RyaW5nID0gXCJpbWFnZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0JVVFRPTlM6IHN0cmluZyA9IFwiYnV0dG9uc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JFVFVSTl9WQUw6IHN0cmluZyA9IFwicmV0dXJuVmFsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRVJSX0xPR19BUFBFTkQ6IHN0cmluZyA9IFwiZXJyb3JMb2dBcHBlbmRcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfRVZFTlRUWVBFOiBzdHJpbmcgPSBcImV2ZW50dHlwZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0hPVzogc3RyaW5nID0gXCJob3dcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VTkRPOiBzdHJpbmcgPSBcInVuZG9cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DTkQ6IHN0cmluZyA9IFwiY25kXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0tFWUNPREU6IHN0cmluZyA9IFwia2V5Y29kZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01PRElGSUVSOiBzdHJpbmcgPSBcIm1vZGlmaWVyXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0NVUlJfUkVDOiBzdHJpbmcgPSBcImN1cnJfcmVjXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTEFTVF9SRUNfSUQ6IHN0cmluZyA9IFwibGFzdFJlY0lkeFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX09MRF9GSVJTVF9SRUNfSUQ6IHN0cmluZyA9IFwib2xkRmlyc3RSZWNJZHhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DVVJSX1JFQ19QT1NfSU5fRk9STTogc3RyaW5nID0gXCJjdXJyUmVjUG9zSW5Gb3JtXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0RBVEVNT0RFOiBzdHJpbmcgPSBcImRhdGVtb2RlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEhPVVNBTkRTOiBzdHJpbmcgPSBcInRob3VzYW5kc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RFQ0lNQUxfU0VQQVJBVE9SOiBzdHJpbmcgPSBcImRlY2ltYWxzZXBhcmF0b3JcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EQVRFOiBzdHJpbmcgPSBcImRhdGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9USU1FOiBzdHJpbmcgPSBcInRpbWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MQU5HVUFHRTogc3RyaW5nID0gXCJsYW5ndWFnZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01PREFMOiBzdHJpbmcgPSBcIm1vZGFsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNfUk9VVEU6IHN0cmluZyA9IFwiaXNfcm91dGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UQVNLOiBzdHJpbmcgPSBcInRhc2tcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTlRFUk5BTEVWRU5UOiBzdHJpbmcgPSBcImludGVybmFsZXZlbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQVJJQUJMRTogc3RyaW5nID0gXCJ2YXJpYWJsZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0hBTkRMRVJJRDogc3RyaW5nID0gXCJoYW5kbGVyaWRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ST0xMQkFDS19UWVBFOiBzdHJpbmcgPSBcInJvbGxiYWNrVHlwZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9DRU5UVVJZOiBzdHJpbmcgPSBcImNlbnR1cnlcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfSU5DTFVERV9GSVJTVDogc3RyaW5nID0gXCJpbmNsdWRlX2ZpcnN0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSU5DTFVERV9MQVNUOiBzdHJpbmcgPSBcImluY2x1ZGVfbGFzdFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lTX09ORVdBWV9LRVk6IHN0cmluZyA9IFwiaXNvbmV3YXlrZXlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTlNFUlRfQVQ6IHN0cmluZyA9IFwiaW5zZXJ0X2F0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfREJWSUVXU0laRTogc3RyaW5nID0gXCJkYnZpZXdzaXplXCI7XHJcblxyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9JTlZBTElEQVRFOiBzdHJpbmcgPSBcImludmFsaWRhdGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9STVBPUzogc3RyaW5nID0gXCJybXBvc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RJU1BMQVk6IHN0cmluZyA9IFwiZGlzcGxheVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NVQlRZUEU6IHN0cmluZyA9IFwic3VidHlwZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0FERF9BRlRFUjogc3RyaW5nID0gXCJhZGRfYWZ0ZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UT1BfUkVDX0lEOiBzdHJpbmcgPSBcInRvcF9yZWNfaWRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MT1dfSUQ6IHN0cmluZyA9IFwibG93X2lkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1dORVI6IHN0cmluZyA9IFwib3duZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VUERfSU5fUVVFUlk6IHN0cmluZyA9IFwidXBkYXRlSW5RdWVyeVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1VQRF9JTl9RVUVSWV9MT1dFUjogc3RyaW5nID0gXCJ1cGRhdGVpbnF1ZXJ5XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ1JFX0lOX01PRElGWTogc3RyaW5nID0gXCJjcmVhdGVJbk1vZGlmeVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NSRV9JTl9NT0RJRllfTE9XRVI6IHN0cmluZyA9IFwiY3JlYXRlaW5tb2RpZnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JRExFVElNRTogc3RyaW5nID0gXCJpZGxldGltZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9XQUlUOiBzdHJpbmcgPSBcIndhaXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRVRBSU5fRk9DVVM6IHN0cmluZyA9IFwicmV0YWluRm9jdXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TWU5DX0RBVEE6IHN0cmluZyA9IFwic3luY0RhdGFcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TSE9XOiBzdHJpbmcgPSBcInNob3dcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT01QT05FTlQ6IHN0cmluZyA9IFwiY29tcG9uZW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUEFUSF9QQVJFTlRfVEFTSzogc3RyaW5nID0gXCJwYXRoX3BhcmVudF90YXNrXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVVNFUjogc3RyaW5nID0gXCJ1c2VyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRk9SQ0VfRVhJVDogc3RyaW5nID0gXCJmb3JjZV9leGl0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUFVCTElDOiBzdHJpbmcgPSBcInB1YmxpY19uYW1lXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUFJHX0RFU0NSSVBUSU9OOiBzdHJpbmcgPSBcInByZ0Rlc2NyaXB0aW9uXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1RBQkxFX05BTUU6IHN0cmluZyA9IFwidGFibGVfbmFtZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lOREVYX0lOX1RBQkxFOiBzdHJpbmcgPSBcImluZGV4X2luX3RhYmxlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0FMTElOR1RBU0s6IHN0cmluZyA9IFwiY2FsbGluZ3Rhc2tcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9GTEFHUzogc3RyaW5nID0gXCJmbGFnc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xOS0VYUDogc3RyaW5nID0gXCJsaW5rX2V4cFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01PRElGSUVEOiBzdHJpbmcgPSBcIm1vZGlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9PUEVSOiBzdHJpbmcgPSBcIm9wZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRUZSRVNIT046IHN0cmluZyA9IFwicmVmcmVzaG9uXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEFTS01PREU6IHN0cmluZyA9IFwidGFza21vZGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FTVBUWV9EQVRBVklFVzogc3RyaW5nID0gXCJFbXB0eURhdGF2aWV3XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEFTS0xFVkVMOiBzdHJpbmcgPSBcInRhc2tsZXZlbFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RSQU5TX0NMRUFSRUQ6IHN0cmluZyA9IFwidHJhbnNfY2xlYXJlZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RSQU5TX1NUQVQ6IHN0cmluZyA9IFwidHJhbnNfc3RhdFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NVQkZPUk1fVklTSUJMRTogc3RyaW5nID0gXCJ2aXNpYmxlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQUNLOiBzdHJpbmcgPSBcImFja1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NPTVBVVEVfQlk6IHN0cmluZyA9IFwiY29tcHV0ZV9ieVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NIVU5LX1NJWkU6IHN0cmluZyA9IFwiY2h1bmtfc2l6ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NIVU5LX1NJWkVfRVhQUkVTU0lPTjogc3RyaW5nID0gXCJjaHVua19zaXplX2V4cHJlc3Npb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9IQVNfTUFJTl9UQkw6IHN0cmluZyA9IFwiaGFzX21haW5fdGJsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU0VSVkVSX0lEOiBzdHJpbmcgPSBcInNlcnZlcmlkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1VCRk9STV9DVFJMOiBzdHJpbmcgPSBcInN1YmZvcm1DdHJsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0hFQ0tfQllfU0VSVkVSOiBzdHJpbmcgPSBcImNoZWNrQnlTZXJ2ZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9PUEVSX0lEWDogc3RyaW5nID0gXCJvcGVyaWR4XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRVhQX0lEWDogc3RyaW5nID0gXCJleHBpZHhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWFBfVFlQRTogc3RyaW5nID0gXCJleHB0eXBlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTlVMTDogc3RyaW5nID0gXCJudWxsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTlVMTFM6IHN0cmluZyA9IFwibnVsbHNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EQ19SRUZTOiBzdHJpbmcgPSBcImRjX3JlZnNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LRUQ6IHN0cmluZyA9IFwibGlua2VkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfRElTUDogc3RyaW5nID0gXCJkaXNwXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkVNT1ZFOiBzdHJpbmcgPSBcInJlbW92ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RWUE9TOiBzdHJpbmcgPSBcImR2cG9zXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU0lHTklGSUNBTlRfTlVNX1NJWkU6IHN0cmluZyA9IFwic2lnbmlmaWNhbnRfbnVtX3NpemVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ERUJVR19NT0RFOiBzdHJpbmcgPSBcImRlYnVnXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUE9JTlRfVFJBTlNMQVRJT046IHN0cmluZyA9IFwiY2hhbmdlUG9pbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX0VYSVRDVFJMOiBzdHJpbmcgPSBcInNwZWNpYWxFeGl0Q3RybFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RFRkFVTFRfQ09MT1I6IHN0cmluZyA9IFwiZGVmYXVsdENvbG9yXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfREVGQVVMVF9GT0NVU19DT0xPUjogc3RyaW5nID0gXCJkZWZhdWx0Rm9jdXNDb2xvclwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RFRkFVTFRfRElTQUJMRURfQ09MT1I6IHN0cmluZyA9IFwiZGVmYXVsdERpc2FibGVkQ29sb3JcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT05URVhUX0lOQUNUSVZJVFlfVElNRU9VVDogc3RyaW5nID0gXCJDb250ZXh0SW5hY3Rpdml0eVRpbWVvdXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DTElFTlRfQ09OVEVYVF9JTkFDVElWSVRZX1RJTUVPVVQ6IHN0cmluZyA9IFwiQ2xpZW50Q29udGV4dEluYWN0aXZpdHlUaW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ09OVEVYVF9JTkFDVElWSVRZX1RJTUVPVVRfTE9XRVI6IHN0cmluZyA9IFwiY29udGV4dGluYWN0aXZpdHl0aW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ09OVEVYVF9JTkFDVElWSVRZX1dBUk5JTkdfVElNRTogc3RyaW5nID0gXCJDb250ZXh0SW5hY3Rpdml0eVdhcm5pbmdUaW1lXCJcclxuICBzdGF0aWMgTUdfQVRUUl9DT05URVhUX0lOQUNUSVZJVFlfV0FSTklOR19USU1FX0xPV0VSOiBzdHJpbmcgPSBcImNvbnRleHRpbmFjdGl2aXR5d2FybmluZ3RpbWVcIlxyXG4gIHN0YXRpYyBNR19BVFRSX0NPTlRFWFRfVU5MT0FEX1RJTUVPVVQ6IHN0cmluZyA9IFwiQ29udGV4dFVubG9hZFRpbWVvdXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT05URVhUX1VOTE9BRF9USU1FT1VUX0xPV0VSOiBzdHJpbmcgPSBcImNvbnRleHR1bmxvYWR0aW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVE9PTFRJUF9USU1FT1VUOiBzdHJpbmcgPSBcIlRvb2x0aXBUaW1lb3V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfV0VCQ0xJRU5UX1JFSU5JVF9TRVNTSU9OOiBzdHJpbmcgPSBcIldlYkNsaWVudFJlSW5pdFNlc3Npb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MT1dISUdIOiBzdHJpbmcgPSBcImxvd2hpZ2hcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9BQ0NFU1NfVEVTVDogc3RyaW5nID0gXCJBY2Nlc3NUZXN0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9URVhUX1NJWkVfRkFDVE9SSU5HOiBzdHJpbmcgPSBcIlNwZWNpYWxUZXh0U2l6ZUZhY3RvcmluZ1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NQRUNJQUxfRkxBVF9FRElUX09OX0NMQVNTSUNfVEhFTUU6IHN0cmluZyA9IFwiU3BlY2lhbEZsYXRFZGl0T25DbGFzc2ljVGhlbWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX0xFR0FDWV9UUklNX1JBTkdFOiBzdHJpbmcgPSBcIlNwZWNpYWxMZWdhY3lUcmltUmFuZ2VcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX0xFR0FDWV9FTVBUWV9SQU5HRTogc3RyaW5nID0gXCJTcGVjaWFsRmlyc3RSYW5nZU9uRW1wdHlGaWVsZFwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9FTkNPRElORzogc3RyaW5nID0gXCJlbmNvZGluZ1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NZU1RFTTogc3RyaW5nID0gXCJzeXN0ZW1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRUNPVkVSWTogc3RyaW5nID0gXCJyZWNvdmVyeVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JFVkVSU0lCTEU6IHN0cmluZyA9IFwicmV2ZXJzaWJsZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX05FV0lEOiBzdHJpbmcgPSBcIm5ld2lkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTVBSR19TT1VSQ0U6IHN0cmluZyA9IFwibXByZ19zb3VyY2VcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTlZPS0VSX0lEOiBzdHJpbmcgPSBcImludm9rZXJpZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RSQU5TX0xFVkVMOiBzdHJpbmcgPSBcImxldmVsXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0xFTjogc3RyaW5nID0gXCJsZW5cIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfREVTQzogc3RyaW5nID0gXCJkZXNjXCI7IC8vIGRlc2NyaXB0aW9uXHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0NMT1NFX1NVQkZPUk1fT05MWTogc3RyaW5nID0gXCJjbG9zZVN1YmZvcm1Pbmx5XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0hFQ0tfT05MWTogc3RyaW5nID0gXCJjaGVja09ubHlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWEVDX09OX1NFUlZFUjogc3RyaW5nID0gXCJleGVjT25TZXJ2ZXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FWEVDX09OX0NMSUVOVDogc3RyaW5nID0gXCJleGVjT25DbGllbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VU0VSX1NPUlQ6IHN0cmluZyA9IFwidXNlclNvcnRcIjtcclxuICBzdGF0aWMgTUdfVEFHX1VTRVJOQU1FOiBzdHJpbmcgPSBcInVzZXJOYW1lXCI7XHJcbiAgc3RhdGljIE1HX1RBR19JU19MT0dHRURfSU46IHN0cmluZyA9IFwiaXNMb2dnZWRJblwiO1xyXG4gIHN0YXRpYyBNR19UQUdfUEFTU1dPUkQ6IHN0cmluZyA9IFwicGFzc3dvcmRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VU0VSSUQ6IHN0cmluZyA9IFwidXNlcklkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVVNFUklORk86IHN0cmluZyA9IFwidXNlckluZm9cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DUFlfR0xCX1BSTVM6IHN0cmluZyA9IFwiY29weV9nbG9iYWxfcGFyYW1zXCI7XHJcbiAgc3RhdGljIE1HX1RBR19HTE9CQUxQQVJBTVM6IHN0cmluZyA9IFwiZ2xvYmFscGFyYW1zXCI7XHJcbiAgc3RhdGljIE1HX1RBR19HTE9CQUxQQVJBTVNDSEFOR0VTOiBzdHJpbmcgPSBcImdsb2JhbFBhcmFtQ2hhbmdlc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfUEFSQU06IHN0cmluZyA9IFwicGFyYW1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTUVfQVVUT19PRkY6IHN0cmluZyA9IFwiaW1lQXV0b09mZlwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xPQ0FMX0FTNDAwU0VUOiBzdHJpbmcgPSBcImxvY2FsX2FzNDAwc2V0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE9DQUxfRVhUUkFfR0VOR086IHN0cmluZyA9IFwibG9jYWxfZXh0cmFHZW5nb1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xPQ0FMX0ZMQUdTOiBzdHJpbmcgPSBcImxvY2FsX2ZsYWdzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQUNJQUxfQU5TSV9FWFA6IHN0cmluZyA9IFwiU3BlY2lhbEFuc2lFeHByZXNzaW9uXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9TSE9XX1NUQVRVU0JBUl9QQU5FUzogc3RyaW5nID0gXCJTcGVjaWFsU2hvd1N0YXR1c0JhclBhbmVzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9ST1VURV9UT19ST09UX1BST0dfT05fQ09OVEVYVF9SRUNSRUFUSU9OOiBzdHJpbmcgPSBcIlNwZWNpYWxSb3V0ZVRvUm9vdFByb2dyYW1PbkNvbnRleHRSZWNyZWF0aW9uXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9TUEVDSUFMX0VESVRfTEVGVF9BTElHTjogc3RyaW5nID0gXCJTcGVjaWFsRWRpdExlZnRBbGlnblwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NQRUFDSUFMX1NXRl9DT05UUk9MX05BTUU6IHN0cmluZyA9IFwiU3BlY2lhbFN3ZkNvbnRyb2xOYW1lUHJvcGVydHlcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9WQUxfTkVXX1BPTElDWTogc3RyaW5nID0gXCJTcGVjaWFsVmFsTmV3UG9saWN5XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1BFUl9DQUxMTU9ERTogc3RyaW5nID0gXCJvcGVyQ2FsbE1vZGVcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfVEFTS19NQUlOTEVWRUw6IHN0cmluZyA9IFwibWFpbmxldmVsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1BFUl9NRVRIT0ROQU1FOiBzdHJpbmcgPSBcIm1ldGhvZF9uYW1lXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0dVSUQ6IHN0cmluZyA9IFwiR1VJRFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NPTlRST0xTX1BFUlNJU1RFTkNZX1BBVEg6IHN0cmluZyA9IFwiQ29udHJvbHNQZXJzaXN0ZW5jeVBhdGhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9QUk9KRElSOiBzdHJpbmcgPSBcInByb2pkaXJcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9URVJNSU5BTDogc3RyaW5nID0gXCJ0ZXJtaW5hbFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRU5WX1BBUkFNX1VSTDogc3RyaW5nID0gXCJlbnZwYXJhbXVybFwiO1xyXG4gIHN0YXRpYyBNR19UQUdfRU5WX1BBUkFNOiBzdHJpbmcgPSBcImVudmlyb25tZW50XCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0hBTkRMRVJfT05GT1JNOiBzdHJpbmcgPSBcIkhhbmRsZXJPbkZvcm1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EUk9QX1VTRVJGT1JNQVRTOiBzdHJpbmcgPSBcImRyb3B1c2VyZm9ybWF0c1wiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9DT05UUk9MX05BTUU6IHN0cmluZyA9IFwiQ29udHJvbE5hbWVcIjtcclxuICBzdGF0aWMgTUdfVEFHX0hJRERFTl9DT05UT0xTOiBzdHJpbmcgPSBcIkhpZGRlbkNvbnRyb2xzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNOUzogc3RyaW5nID0gXCJJc25zXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9DQU5DRUxfT05fQ1JFQVRFOiBzdHJpbmcgPSBcIlNwZWNpYWxDYW5jZWxPbkNyZWF0ZVwiO1xyXG5cclxuICAvLyBmb3IgZW52IHZhciB0YWJsZVxyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9USU1FX1NFUEFSQVRPUjogc3RyaW5nID0gXCJ0aW1lc2VwYXJhdG9yXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSU9USU1JTkc6IHN0cmluZyA9IFwiaW90aW1pbmdcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9IVFRQX1RJTUVPVVQ6IHN0cmluZyA9IFwiaHR0cHRpbWVvdXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9VU0VfU0lHTkVEX0JST1dTRVJfQ0xJRU5UOiBzdHJpbmcgPSBcInVzZXNpZ25lZGJyb3dzZXJjbGllbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DTE9TRV9QUklOVEVEX1RBQkxFU19JTl9TVUJUQVNLUzogc3RyaW5nID0gXCJjbG9zZXByaW50ZWR0YWJsZXNpbnN1YnRhc2tzXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfR0VORVJJQ19URVhUX1BSSU5USU5HOiBzdHJpbmcgPSBcImdlbmVyaWN0ZXh0cHJpbnRpbmdcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ISUdIX1JFU09MVVRJT05fUFJJTlQ6IHN0cmluZyA9IFwiaGlnaHJlc29sdXRpb25wcmludFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01FUkdFX1RSSU06IHN0cmluZyA9IFwibWVyZ2V0cmltXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfT1JJR0lOQUxfSU1BR0VfTE9BRDogc3RyaW5nID0gXCJvcmlnaW5hbGltYWdlbG9hZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1BSSU5UX0RBVEFfVFJJTTogc3RyaW5nID0gXCJwcmludGRhdGF0cmltXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUFNDUklQVF9QUklOVF9OVDogc3RyaW5nID0gXCJwc2NyaXB0cHJpbnRudFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RIT1VTQU5EX1NFUEFSQVRPUjogc3RyaW5nID0gXCJ0aG91c2FuZHNlcGFyYXRvclwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JURl9CVUZGRVJfU0laRTogc3RyaW5nID0gXCJydGZidWZmZXJzaXplXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9DT05WX0FERF9TTEFTSDogc3RyaW5nID0gXCJzcGVjaWFsY29udmFkZHNsYXNoXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9GVUxMX0VYUEFORF9QUklOVDogc3RyaW5nID0gXCJzcGVjaWFsZnVsbGV4cGFuZHByaW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9GVUxMX1RFWFQ6IHN0cmluZyA9IFwic3BlY2lhbGZ1bGx0ZXh0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9MQVNUX0xJTkVfUFJJTlQ6IHN0cmluZyA9IFwic3BlY2lhbGxhc3RsaW5lcHJpbnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TUEVDSUFMX1BSSU5URVJfT0VNOiBzdHJpbmcgPSBcInNwZWNpYWxwcmludGVyb2VtXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkFOR0VfUE9QX1RJTUU6IHN0cmluZyA9IFwicmFuZ2Vwb3B0aW1lXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVEVNUF9QT1BfVElNRTogc3RyaW5nID0gXCJ0ZW1wcG9wdGltZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0VNQkVEX0ZPTlRTOiBzdHJpbmcgPSBcImVtYmVkZm9udHNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9CQVRDSF9QQUlOVF9USU1FOiBzdHJpbmcgPSBcImJhdGNocGFpbnR0aW1lXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfSVNBTV9UUkFOU0FDVElPTjogc3RyaW5nID0gXCJpc2FtdHJhbnNhY3Rpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DRU5URVJfU0NSRUVOX0lOX09OTElORTogc3RyaW5nID0gXCJjZW50ZXJzY3JlZW5pbm9ubGluZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1JFUE9TSVRJT05fQUZURVJfTU9ESUZZOiBzdHJpbmcgPSBcInJlcG9zaXRpb25hZnRlcm1vZGlmeVwiO1xyXG5cclxuICAvLyBmb3IgdXNlciBldmVudFxyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9UQVNLRkxXOiBzdHJpbmcgPSBcInRhc2tmbHdcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfUkVDT01QOiBzdHJpbmcgPSBcInJlY29tcFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0ZMV09QOiBzdHJpbmcgPSBcImZsd29wXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0VORDogc3RyaW5nID0gXCJlbmRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JTkZPOiBzdHJpbmcgPSBcImluZm9cIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfS0VZOiBzdHJpbmcgPSBcImtleVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0tFWV9FWFA6IHN0cmluZyA9IFwia2V5X2V4cFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX05VTExfRkxBR1M6IHN0cmluZyA9IFwibnVsbEZsYWdzXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0RWUE9TX1ZBTFVFOiBzdHJpbmcgPSBcImR2UG9zVmFsdWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9EVlBPU19ERUM6IHN0cmluZyA9IFwiRHZQb3NEZWNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UUkFOU19JRDogc3RyaW5nID0gXCJ0cmFuc0lkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfUkVBTFJFRlJFU0g6IHN0cmluZyA9IFwicmVhbFJlZnJlc2hcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9TVUJfRk9STV9SQ01QOiBzdHJpbmcgPSBcInN1Yl9mb3JtX3JlY29tcFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0hBU19MSU5LX1JFQ09NUFVURVM6IHN0cmluZyA9IFwiaGFzX2xpbmtfcmVjb21wdXRlc1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xPQ0FURV9GSVJTVF9JRDogc3RyaW5nID0gXCJsb2NhdGVGaXJzdFJlY1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX09GRlNFVDogc3RyaW5nID0gXCJvZmZzZXRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9IQVNfTE9DQVRFOiBzdHJpbmcgPSBcImhhc0xvY2F0ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0FTX1BBUkVOVDogc3RyaW5nID0gXCJBc1BhcmVudFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RBU0tfVU5JUVVFX1NPUlQ6IHN0cmluZyA9IFwiVGFza1VuaXF1ZVNvcnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UUkFOU19PV05FUjogc3RyaW5nID0gXCJuZXdUcmFuc093bmVyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0xPU0U6IHN0cmluZyA9IFwiY2xvc2VcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9UQVNLX0NPVU5URVI6IHN0cmluZyA9IFwidGFza19jb3VudGVyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE9PUF9DT1VOVEVSOiBzdHJpbmcgPSBcImxvb3BfY291bnRlclwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0NIQUNIRURfRkxEX0lEOiBzdHJpbmcgPSBcImNhY2hlZEZsZElkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTE9DQVRFOiBzdHJpbmcgPSBcImxvY2F0ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0xJTks6IHN0cmluZyA9IFwibGlua1wiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0lTX0xJTktfRklFTEQ6IHN0cmluZyA9IFwiaXNMaW5rRmxkXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ0FDSEVEX1RBQkxFOiBzdHJpbmcgPSBcImNhY2hlZF90YWJsZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1RBQkxFX0lOREVYOiBzdHJpbmcgPSBcInRhYmxlSW5kZXhcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LX0VWQUxfQ09ORElUSU9OOiBzdHJpbmcgPSBcImV2YWxDb25kaXRpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LX01PREU6IHN0cmluZyA9IFwibGlua21vZGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9MSU5LX1NUQVJUOiBzdHJpbmcgPSBcImxpbmtCZWdpbkFmdGVyRmllbGRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9JREVOVDogc3RyaW5nID0gXCJ0aWRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9ESVI6IHN0cmluZyA9IFwiZGlyXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfQ09ORDogc3RyaW5nID0gXCJjbmRFeHBcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9DT05EX1JFUzogc3RyaW5nID0gXCJ0c2tDbmRSZXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9SRVRfVkFMOiBzdHJpbmcgPSBcInJldFZhbFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0RCUE9TOiBzdHJpbmcgPSBcImRiX3Bvc1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfVVNSX0RFRl9GVUNfUkVUX0VYUF9JRDogc3RyaW5nID0gXCJyZXR1cm5leHBcIjtcclxuICBzdGF0aWMgTUdfVEFHX1VTUl9ERUZfRlVDX1JFVF9FWFBfQVRUUjogc3RyaW5nID0gXCJyZXR1cm5leHBhdHRyXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX0RJUkVDVElPTjogc3RyaW5nID0gXCJkaXJlY3Rpb25cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9LRUVQX1VTRVJfU09SVDogc3RyaW5nID0gXCJrZWVwVXNlclNvcnRcIjtcclxuXHJcblxyXG4gIC8vIGZvciBkYmhcclxuICBzdGF0aWMgTUdfVEFHX0RCSFM6IHN0cmluZyA9IFwiREJIU1wiO1xyXG4gIHN0YXRpYyBNR19UQUdfREJIU19FTkQ6IHN0cmluZyA9IFwiL0RCSFNcIjtcclxuICBzdGF0aWMgTUdfVEFHX0RCSF9EQVRBX0lEU19VUkw6IHN0cmluZyA9IFwiZGJoRGF0YUlkc1VybFwiO1xyXG5cclxuICBzdGF0aWMgTUdfVEFHX0ZMRDogc3RyaW5nID0gXCJGTERcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfU1RPUkFHRTogc3RyaW5nID0gXCJTdG9yYWdlXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1BJQ1RVUkU6IHN0cmluZyA9IFwiUGljdHVyZVwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9OQU1FOiBzdHJpbmcgPSBcIm5hbWVcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfRklFTERfSU5ERVg6IHN0cmluZyA9IFwiZmllbGRpbmRleFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX01JTl9WQUxVRTogc3RyaW5nID0gXCJtaW5cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9NQVhfVkFMVUU6IHN0cmluZyA9IFwibWF4XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfTlVMTF9NSU5fVkFMVUU6IHN0cmluZyA9IFwibnVsbF9taW5cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9OVUxMX01BWF9WQUxVRTogc3RyaW5nID0gXCJudWxsX21heFwiO1xyXG5cclxuXHJcbiAgLy8gZm9yIGRhdGFiYXNlc1xyXG4gIHN0YXRpYyBNR19UQUdfREFUQUJBU0VTX0hFQURFUjogc3RyaW5nID0gXCJEYXRhYmFzZXNcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19EQVRBQkFTRV9VUkw6IHN0cmluZyA9IFwiZGF0YWJhc2VVcmxcIjtcclxuXHJcblxyXG4gIHN0YXRpYyBCWVRFU19JTl9DSEFSOiBudW1iZXIgPSAyO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IG1hZ2ljIG9wZXJhdGlvbiBjb2Rlczwvc3VtbWFyeT5cclxuICBzdGF0aWMgTUdfT1BFUl9WRVJJRlk6IG51bWJlciA9IDI7XHJcbiAgc3RhdGljIE1HX09QRVJfQkxPQ0s6IG51bWJlciA9IDU7XHJcbiAgc3RhdGljIE1HX09QRVJfTE9PUDogbnVtYmVyID0gOTc7XHJcbiAgc3RhdGljIE1HX09QRVJfRUxTRTogbnVtYmVyID0gOTg7XHJcbiAgc3RhdGljIE1HX09QRVJfRU5EQkxPQ0s6IG51bWJlciA9IDY7XHJcbiAgc3RhdGljIE1HX09QRVJfQ0FMTDogbnVtYmVyID0gNztcclxuICBzdGF0aWMgTUdfT1BFUl9FVkFMVUFURTogbnVtYmVyID0gODtcclxuICBzdGF0aWMgTUdfT1BFUl9VUERBVEU6IG51bWJlciA9IDk7XHJcbiAgc3RhdGljIE1HX09QRVJfVVNSX0VYSVQ6IG51bWJlciA9IDEzO1xyXG4gIHN0YXRpYyBNR19PUEVSX1JBSVNFX0VWRU5UOiBudW1iZXIgPSAxNDtcclxuICBzdGF0aWMgTUdfT1BFUl9TRVJWRVI6IG51bWJlciA9IDk5O1xyXG5cclxuXHJcbiAgc3RhdGljIFRSQU5TX0NPTU1JVDogc3RyaW5nID0gJ0MnO1xyXG4gIHN0YXRpYyBUUkFOU19BQk9SVDogc3RyaW5nID0gJ0EnO1xyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBldmVudCB0eXBlczwvc3VtbWFyeT5cclxuICBzdGF0aWMgRVZFTlRfVFlQRV9TWVNURU06IHN0cmluZyA9ICdTJztcclxuICBzdGF0aWMgRVZFTlRfVFlQRV9JTlRFUk5BTDogc3RyaW5nID0gJ0knO1xyXG4gIHN0YXRpYyBFVkVOVF9UWVBFX1RJTUVSOiBzdHJpbmcgPSAnVCc7XHJcbiAgc3RhdGljIEVWRU5UX1RZUEVfRVhQUkVTU0lPTjogc3RyaW5nID0gJ0UnO1xyXG4gIHN0YXRpYyBFVkVOVF9UWVBFX1VTRVI6IHN0cmluZyA9ICdVJztcclxuICBzdGF0aWMgRVZFTlRfVFlQRV9QVUJMSUM6IHN0cmluZyA9ICdQJztcclxuICBzdGF0aWMgRVZFTlRfVFlQRV9OT05FOiBzdHJpbmcgPSAnTic7XHJcbiAgc3RhdGljIEVWRU5UX1RZUEVfTk9USU5JVEVEOiBzdHJpbmcgPSAnWCc7IC8vIGludGVybmFsXHJcblxyXG4gIC8vIHRlbXBvcmFyeSB0eXBlXHJcbiAgc3RhdGljIEVWRU5UX1RZUEVfVVNFUl9GVU5DOiBzdHJpbmcgPSAnRic7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYnJlYWsgbGV2ZWxzIC0gdXNlZCBmb3IgZGlzcGxheSBwdXJwb3Nlczwvc3VtbWFyeT5cclxuICBzdGF0aWMgQlJLX0xFVkVMX1RBU0tfUFJFRklYOiBzdHJpbmcgPSBcIlRQXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9UQVNLX1NVRkZJWDogc3RyaW5nID0gXCJUU1wiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX1BSRUZJWDogc3RyaW5nID0gXCJSUFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX01BSU46IHN0cmluZyA9IFwiUk1cIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX1JFQ19TVUZGSVg6IHN0cmluZyA9IFwiUlNcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0NUUkxfUFJFRklYOiBzdHJpbmcgPSBcIkNQXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9DVFJMX1NVRkZJWDogc3RyaW5nID0gXCJDU1wiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfQ1RSTF9WRVJJRklDQVRJT046IHN0cmluZyA9IFwiQ1ZcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0hBTkRMRVJfSU5URVJOQUw6IHN0cmluZyA9IFwiSElcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0hBTkRMRVJfU1lTVEVNOiBzdHJpbmcgPSBcIkhTXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1RJTUVSOiBzdHJpbmcgPSBcIkhUXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX0VYUFJFU1NJT046IHN0cmluZyA9IFwiSEVcIjtcclxuXHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1VTRVI6IHN0cmluZyA9IFwiSFVcIjtcclxuXHJcbiAgc3RhdGljIEJSS19MRVZFTF9VU0VSX0ZVTkNUSU9OOiBzdHJpbmcgPSBcIlVGXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9WQVJJQUJMRTogc3RyaW5nID0gXCJWQ1wiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfTUFJTl9QUk9HOiBzdHJpbmcgPSBcIk1QXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9TVUJGT1JNOiBzdHJpbmcgPSBcIlNVQkZPUk1cIjtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBicmVhayBsZXZlbHMgLSB1c2VkIGZvciBmbG93IG1vbml0b3IgcHVycG9zZXM8L3N1bW1hcnk+XHJcbiAgc3RhdGljIEJSS19MRVZFTF9UQVNLX1BSRUZJWF9GTTogc3RyaW5nID0gXCJUYXNrIFByZWZpeCBcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX1RBU0tfU1VGRklYX0ZNOiBzdHJpbmcgPSBcIlRhc2sgU3VmZml4IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX1BSRUZJWF9GTTogc3RyaW5nID0gXCJSZWNvcmQgUHJlZml4IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfUkVDX1NVRkZJWF9GTTogc3RyaW5nID0gXCJSZWNvcmQgU3VmZml4IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfQ1RSTF9QUkVGSVhfRk06IHN0cmluZyA9IFwiQ29udHJvbCBQcmVmaXggXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9DVFJMX1NVRkZJWF9GTTogc3RyaW5nID0gXCJDb250cm9sIFN1ZmZpeCBcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX1ZBUklBQkxFX0ZNOiBzdHJpbmcgPSBcIlZhcmlhYmxlIENoYW5nZSBcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0NUUkxfVkVSSUZJQ0FUSU9OX0ZNOiBzdHJpbmcgPSBcIkNvbnRyb2wgVmVyaWZpY2F0aW9uIFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfSEFORExFUl9JTlRFUk5BTF9GTTogc3RyaW5nID0gXCJJbnRlcm5hbDogXCI7XHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1NZU1RFTV9GTTogc3RyaW5nID0gXCJTeXN0ZW06IFwiO1xyXG4gIHN0YXRpYyBCUktfTEVWRUxfSEFORExFUl9USU1FUl9GTTogc3RyaW5nID0gXCJUaW1lcjpcIjtcclxuICBzdGF0aWMgQlJLX0xFVkVMX0hBTkRMRVJfRVhQUkVTU0lPTl9GTTogc3RyaW5nID0gXCJFeHByZXNzaW9uOiBcIjtcclxuXHJcbiAgc3RhdGljIEJSS19MRVZFTF9IQU5ETEVSX1VTRVJfRk06IHN0cmluZyA9IFwiVXNlclwiO1xyXG5cclxuICBzdGF0aWMgQlJLX0xFVkVMX1VTRVJfRlVOQ1RJT05fRk06IHN0cmluZyA9IFwiVXNlciBEZWZpbmVkIEZ1bmN0aW9uXCI7XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHRyYW5zYWN0aW9uczwvc3VtbWFyeT5cclxuICBzdGF0aWMgVFJBTlNfTk9ORTogc3RyaW5nID0gJ08nO1xyXG4gIHN0YXRpYyBUUkFOU19SRUNPUkRfUFJFRklYOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIFRSQU5TX1RBU0tfUFJFRklYOiBzdHJpbmcgPSAnVCc7XHJcblxyXG4gIC8vIHJlY292ZXJ5IHR5cGUgKGFjY2VwdGVkIGZyb20gdGhlIHNlcnZlcilcclxuICBzdGF0aWMgUkVDT1ZFUllfTk9ORTogc3RyaW5nID0gJ1xcMCc7XHJcbiAgc3RhdGljIFJFQ09WRVJZX1JPTExCQUNLOiBzdHJpbmcgPSAnUic7XHJcbiAgc3RhdGljIFJFQ09WRVJZX1JFVFJZOiBzdHJpbmcgPSAnVCc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gVmVyaWZ5IE9wZXJhdGlvbiBDb25zdGFudHM8L3N1bW1hcnk+XHJcbiAgc3RhdGljIEZMV19WRVJJRllfTU9ERV9FUlJPUjogc3RyaW5nID0gJ0UnO1xyXG5cclxuICBzdGF0aWMgSU1BR0VfRVhDTEFNQVRJT046IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgSU1BR0VfQ1JJVElDQUw6IHN0cmluZyA9ICdDJztcclxuICBzdGF0aWMgSU1BR0VfUVVFU1RJT046IHN0cmluZyA9ICdRJztcclxuICBzdGF0aWMgSU1BR0VfSU5GT1JNQVRJT046IHN0cmluZyA9ICdJJztcclxuXHJcbiAgc3RhdGljIEJVVFRPTlNfT0s6IHN0cmluZyA9ICdPJztcclxuICBzdGF0aWMgQlVUVE9OU19PS19DQU5DRUw6IHN0cmluZyA9ICdLJztcclxuICBzdGF0aWMgQlVUVE9OU19BQk9SVF9SRVRSWV9JR05PUkU6IHN0cmluZyA9ICdBJztcclxuICBzdGF0aWMgQlVUVE9OU19ZRVNfTk9fQ0FOQ0VMOiBzdHJpbmcgPSAnWSc7XHJcbiAgc3RhdGljIEJVVFRPTlNfWUVTX05POiBzdHJpbmcgPSAnTic7XHJcbiAgc3RhdGljIEJVVFRPTlNfUkVUUllfQ0FOQ0VMOiBzdHJpbmcgPSAnUic7XHJcbiAgc3RhdGljIERJU1BMQVlfQk9YOiBzdHJpbmcgPSAnQic7XHJcbiAgc3RhdGljIERJU1BMQVlfU1RBVFVTOiBzdHJpbmcgPSAnUyc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRU5EIFRBU0sgRVZBTFVBVElPTjwvc3VtbWFyeT5cclxuICBzdGF0aWMgRU5EX0NPTkRfRVZBTF9CRUZPUkU6IHN0cmluZyA9IFwiQlwiO1xyXG4gIHN0YXRpYyBFTkRfQ09ORF9FVkFMX0FGVEVSOiBzdHJpbmcgPSBcIkFcIjtcclxuICBzdGF0aWMgRU5EX0NPTkRfRVZBTF9JTU1JRElBVEU6IHN0cmluZyA9IFwiSVwiO1xyXG5cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYXJndW1lbnQgY29uc3RhbnRzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBBUkdfVFlQRV9GSUVMRDogc3RyaW5nID0gJ0YnO1xyXG4gIHN0YXRpYyBBUkdfVFlQRV9FWFA6IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgQVJHX1RZUEVfVkFMVUU6IHN0cmluZyA9ICdWJztcclxuICBzdGF0aWMgQVJHX1RZUEVfU0tJUDogc3RyaW5nID0gJ1gnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdlbmVyYWwgdXNlIGNvbnN0czwvc3VtbWFyeT5cclxuICBzdGF0aWMgVE9QX0xFVkVMX0NPTlRBSU5FUjogbnVtYmVyID0gMDtcclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IFJlcXVlc3RlciBwYXJhbWV0ZXJzIHRhZ3M8L3N1bW1hcnk+XHJcbiAgc3RhdGljIFJFUV9BUkdfQUxQSEE6IHN0cmluZyA9IFwiLUFcIjtcclxuICBzdGF0aWMgUkVRX0FSR19VTklDT0RFOiBzdHJpbmcgPSBcIi1DXCI7XHJcbiAgc3RhdGljIFJFUV9BUkdfTlVNRVJJQzogc3RyaW5nID0gXCItTlwiO1xyXG4gIHN0YXRpYyBSRVFfQVJHX0RPVUJMRTogc3RyaW5nID0gXCItRFwiO1xyXG4gIHN0YXRpYyBSRVFfQVJHX0xPR0lDQUw6IHN0cmluZyA9IFwiLUxcIjtcclxuICBzdGF0aWMgUkVRX0FSR19OVUxMOiBzdHJpbmcgPSBcIi1VXCI7XHJcbiAgc3RhdGljIFJFUV9BUkdfU0VQQVJBVE9SOiBzdHJpbmcgPSBcIiZcIjtcclxuICBzdGF0aWMgUkVRX0FSR19TVEFSVDogc3RyaW5nID0gXCI/XCI7XHJcblxyXG4gIHN0YXRpYyBSRVFfQVBQX05BTUU6IHN0cmluZyA9IFwiYXBwbmFtZVwiO1xyXG5cclxuICBzdGF0aWMgUkVRX0FSR1M6IHN0cmluZyA9IFwiYXJndW1lbnRzXCI7XHJcblxyXG4gIC8vIGlmIHRydWUsIHRoZSBSQyBhY2NlcHRpbmcgdGhpcyBwcm9wZXJ0eSBzaG91bGQgbm90IGRpc3BsYXkgYW4gYXV0aGVudGljYXRpb24gZGlhbG9nLFxyXG4gIC8vIGV2ZW4gaWYgcmVxdWlyZWQgYWNjb3JkaW5nIHRvIG90aGVyIGNvbmRpdGlvbnMgKElucHV0UGFzc3dvcmQvU3lzdGVtTG9naW4pLFxyXG4gIC8vIGFuZCBwZXJmb3JtIGEgc2lsZW50IGF1dGhlbnRpY2F0aW9uIHVzaW5nIHRoZSBVU0VSTkFNRSAmIFBBU1NXT1JEIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzLlxyXG4gIHN0YXRpYyBSRVFfU0tJUF9BVVRIRU5USUNBVElPTjogc3RyaW5nID0gXCJTa2lwQXV0aGVudGljYXRpb25cIjtcclxuICBzdGF0aWMgUkNfSU5ESUNBVElPTl9JTklUSUFMOiBzdHJpbmcgPSBcIldFQkNMSUVOVD1JTklUSUFMJlwiOyAvLyBmaXJzdCByZXF1ZXN0IG9mIHRoZSBoYW5kc2hha2VcclxuXHJcbiAgc3RhdGljIFJDX0lORElDQVRJT046IHN0cmluZyA9IFwiV0VCQ0xJRU5UPVkmXCI7XHJcbiAgc3RhdGljIFVURjhUUkFOUzogc3RyaW5nID0gXCJVVEY4VFJBTlM9WSZcIjtcclxuXHJcbiAgc3RhdGljIFJDX1RPS0VOX0NUWF9JRDogc3RyaW5nID0gXCJDVFg9XCI7XHJcbiAgc3RhdGljIFJDX1RPS0VOX1NFU1NJT05fSUQ6IHN0cmluZyA9IFwiU0k9XCI7XHJcbiAgc3RhdGljIFJDX1RPS0VOX0NUWF9HUk9VUDogc3RyaW5nID0gXCJDVFhHUk9VUD1cIjtcclxuICBzdGF0aWMgUkNfVE9LRU5fU0VTU0lPTl9DT1VOVDogc3RyaW5nID0gXCJTRVNTSU9OPVwiO1xyXG4gIHN0YXRpYyBSQ19UT0tFTl9EQVRBOiBzdHJpbmcgPSBcIkRBVEE9XCI7XHJcblxyXG4gIHN0YXRpYyBXRUJDTElFTlRfUkVJTklUSUFMSVpFX1JFUVVFU1Q6IHN0cmluZyA9IFwiV0NSRUlOSVRJQUxJWkVSRVFVRVNUPVlcIjtcclxuICBzdGF0aWMgTUFJTl9QUk9HX1ZJRVc6IHN0cmluZyA9IFwiTWFpblByb2dyYW1zRGF0YVZpZXdcIjtcclxuICBzdGF0aWMgR0xPQkFMX1BBUkFNX0xJU1Q6IHN0cmluZyA9IFwiR2xvYmFsUGFyYW1MaXN0XCI7XHJcbiAgc3RhdGljIExBU1RfRVhDRVBUSU9OOiBzdHJpbmcgPSBcIkxhc3RFeGNlcHRpb25cIjtcclxuICBzdGF0aWMgQ1RYX1JFTU9WRURfRlJPTV9TUlZSOiBzdHJpbmcgPSBcIkN0eFJlbW92ZWRGcm9tU3J2clwiO1xyXG4gIHN0YXRpYyBMQVNUX1JPVVRFX0VWRU5UOiBzdHJpbmcgPSBcIkxhc3RSb3V0ZUV2ZW50XCI7XHJcbiAgc3RhdGljIExBU1RfUk9VVEVfRVZFTlRfQVJHX0xJU1Q6IHN0cmluZyA9IFwiTGFzdFJvdXRlRXZlbnRBcmdMaXN0XCI7XHJcbiAgc3RhdGljIExBU1RfUk9VVEVfRVZFTlRfU1JDX1RTSzogc3RyaW5nID0gXCJMYXN0Um91dGVFdmVudFNvdXJjZVRhc2tcIjtcclxuICBzdGF0aWMgSVNfU0VTU0lPTl9SRUlOSVRJQUxJWklORzogc3RyaW5nID0gXCJJc1Nlc3Npb25SZUluaXRpYWxpemluZ1wiO1xyXG4gIHN0YXRpYyBSQ19BVVRIRU5USUNBVElPTl9SRVFVRVNUOiBzdHJpbmcgPSBcIlJDQVVUSEVOVElDQVRJT05SRVFVRVNUPVlcIjtcclxuICBzdGF0aWMgVjI0X1JJQV9FUlJPUl9QUkVGSVg6IHN0cmluZyA9IFwiPFJJQV9FUlJPUl9SRVNQT05TRT5cIjtcclxuXHJcbiAgLy8gc2Vzc2lvbiBjb3VudCAtMSBzZXJ2ZXMgYXMgYW4gaW5kaWNhdGlvbiBmcm9tIHRoZSBjbGllbnQgdG8gY2xvc2UgdGhlIGNvbnRleHQuXHJcbiAgc3RhdGljIFNFU1NJT05fQ09VTlRFUl9DTE9TRV9DVFhfSU5ESUNBVElPTjogbnVtYmVyID0gLTE7XHJcblxyXG4gIC8vIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzXHJcbiAgc3RhdGljIFNFUlZFUjogc3RyaW5nID0gXCJzZXJ2ZXJcIjtcclxuXHJcbiAgc3RhdGljIENUWF9HUk9VUDogc3RyaW5nID0gXCJDdHhHcm91cFwiO1xyXG5cclxuICBzdGF0aWMgRVJST1JfU1RSSU5HOiBzdHJpbmcgPSBcIkVycm9yXCI7XHJcblxyXG5cclxuICBzdGF0aWMgVVNFUl9SQU5HRVM6IHN0cmluZyA9IFwicmFuZ2VzXCI7XHJcbiAgc3RhdGljIFVTRVJfTE9DQVRFUzogc3RyaW5nID0gXCJsb2NhdGVzXCI7XHJcbiAgc3RhdGljIFNPUlQ6IHN0cmluZyA9IFwic3J0XCI7XHJcbiAgc3RhdGljIE1JTl9STkc6IHN0cmluZyA9IFwibWluXCI7XHJcbiAgc3RhdGljIE1BWF9STkc6IHN0cmluZyA9IFwibWF4XCI7XHJcbiAgc3RhdGljIE5VTExfTUlOX1JORzogc3RyaW5nID0gXCJpc051bGxNaW5cIjtcclxuICBzdGF0aWMgTlVMTF9NQVhfUk5HOiBzdHJpbmcgPSBcImlzTnVsbE1heFwiO1xyXG4gIHN0YXRpYyBDTEVBUl9SQU5HRTogc3RyaW5nID0gXCJyYW5nZVJlc2V0XCI7XHJcbiAgc3RhdGljIENMRUFSX0xPQ0FURVM6IHN0cmluZyA9IFwibG9jYXRlUmVzZXRcIjtcclxuICBzdGF0aWMgQ0xFQVJfU09SVFM6IHN0cmluZyA9IFwic29ydFJlc2V0XCI7XHJcbiAgc3RhdGljIFVTRVJfUk5HOiBzdHJpbmcgPSBcInJuZ1wiO1xyXG5cclxuICAvLyBlbnZpcm9ubWVudCBtaXJyb3JpbmdcclxuICBzdGF0aWMgTUdfVEFHX0VOVl9DSEFOR0VTOiBzdHJpbmcgPSBcImNoYW5nZXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FTlZfVkFMVUU6IHN0cmluZyA9IFwidmFsdWVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FTlZfV1JJVEVJTkk6IHN0cmluZyA9IFwid3JpdGVUb0lOSVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX0VOVl9SRVNFUlZFRDogc3RyaW5nID0gXCJyZXNlcnZlZFwiO1xyXG5cclxuICAvLyAuSU5JIGVudmlyb25tZW50IHNlY3Rpb25zXHJcbiAgc3RhdGljIE1HX0FUVFJfRU5WX1JFTU9WRUQ6IHN0cmluZyA9IFwicmVtb3ZlZFwiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19FTlZfQlJBQ0tFVFM6IHN0cmluZyA9IFwiW01BR0lDX0VOVl1cIjtcclxuICBzdGF0aWMgSU5JX1NFQ1RJT05fTE9HSUNBTF9OQU1FU19CUkFDS0VUUzogc3RyaW5nID0gXCJbTUFHSUNfTE9HSUNBTF9OQU1FU11cIjtcclxuICBzdGF0aWMgSU5JX1NFQ1RJT05fTUFHSUNfRU5WOiBzdHJpbmcgPSBcIk1BR0lDX0VOVlwiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19TWVNURU1TOiBzdHJpbmcgPSBcIk1BR0lDX1NZU1RFTVNcIjtcclxuICBzdGF0aWMgSU5JX1NFQ1RJT05fTUFHSUNfREJNUzogc3RyaW5nID0gXCJNQUdJQ19EQk1TXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX01BR0lDX1NFUlZFUlM6IHN0cmluZyA9IFwiTUFHSUNfU0VSVkVSU1wiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19DT01NUzogc3RyaW5nID0gXCJNQUdJQ19DT01NU1wiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19QUklOVEVSUzogc3RyaW5nID0gXCJNQUdJQ19QUklOVEVSU1wiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19TWVNURU1fTUVOVTogc3RyaW5nID0gXCJNQUdJQ19TWVNURU1fTUVOVVwiO1xyXG4gIHN0YXRpYyBJTklfU0VDVElPTl9NQUdJQ19EQVRBQkFTRVM6IHN0cmluZyA9IFwiTUFHSUNfREFUQUJBU0VTXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX01BR0lDX0xBTkdVQUdFOiBzdHJpbmcgPSBcIk1BR0lDX0xBTkdVQUdFXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX01BR0lDX1NFUlZJQ0VTOiBzdHJpbmcgPSBcIk1BR0lDX1NFUlZJQ0VTXCI7XHJcbiAgc3RhdGljIElOSV9TRUNUSU9OX1RPT0xTX01FTlU6IHN0cmluZyA9IFwiVE9PTFNfTUVOVVwiO1xyXG5cclxuXHJcblxyXG5cclxuICBzdGF0aWMgSU5JVElBTF9PRkZMSU5FX1RBU0tfVEFHOiBudW1iZXIgPSAxMDAwMDAwMDAwO1xyXG4gIHN0YXRpYyBFTkFCTEVfQ09NTVVOSUNBVElPTl9ESUFMT0dTOiBzdHJpbmcgPSBcIkVuYWJsZUNvbW11bmljYXRpb25EaWFsb2dzXCI7XHJcblxyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9BQk9SVDogc3RyaW5nID0gXCJhYm9ydFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9FTkhBTkNFRF9WRVJJRlk6IHN0cmluZyA9IFwiZW5oYW5jZWR2ZXJpZnlcIjtcclxuXHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX09QRU5VUkw6IHN0cmluZyA9IFwib3BlbnVybFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9SRVNVTFQ6IHN0cmluZyA9IFwicmVzdWx0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX1ZFUklGWTogc3RyaW5nID0gXCJ2ZXJpZnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfQUREX1JBTkdFOiBzdHJpbmcgPSBcImFkZHJhbmdlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0FERF9MT0NBVEU6IHN0cmluZyA9IFwiYWRkbG9jYXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0FERF9TT1JUOiBzdHJpbmcgPSBcImFkZHNvcnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUkVTRVRfUkFOR0U6IHN0cmluZyA9IFwicmVzZXRyYW5nZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9SRVNFVF9MT0NBVEU6IHN0cmluZyA9IFwicmVzZXRsb2NhdGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUkVTRVRfU09SVDogc3RyaW5nID0gXCJyZXNldHNvcnRcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfQ0xJRU5UX1JFRlJFU0g6IHN0cmluZyA9IFwiY2xpZW50cmVmcmVzaFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9FVkFMOiBzdHJpbmcgPSBcImV2YWx1YXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0VWRU5UOiBzdHJpbmcgPSBcImV2ZW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX0VYRUNfT1BFUjogc3RyaW5nID0gXCJleGVjb3BlclwiO1xyXG5cclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUVVFUlk6IHN0cmluZyA9IFwicXVlcnlcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUVVFUllfR0xPQkFMX1BBUkFNUzogc3RyaW5nID0gXCJnbG9iYWxwYXJhbXNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfUVVFUllfVFlQRTogc3RyaW5nID0gXCJxdWVyeV90eXBlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX1JFQ09NUDogc3RyaW5nID0gXCJyZWNvbXB1dGVcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfVFJBTlM6IHN0cmluZyA9IFwidHJhbnNcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfVU5MT0FEOiBzdHJpbmcgPSBcInVubG9hZFwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9JTklQVVRfRk9SQ0VfV1JJVEU6IHN0cmluZyA9IFwiaW5pcHV0Rm9yY2VXcml0ZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9JTklQVVRfUEFSQU06IHN0cmluZyA9IFwiaW5pcHV0UGFyYW1cIjtcclxuICBzdGF0aWMgTUdfQVRUUl9FUlJPUl9NRVNTQUdFOiBzdHJpbmcgPSBcImVycm9yTWVzc2FnZVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1ZBTF9UT1RBTF9SRUNPUkRTX0NPVU5UOiBzdHJpbmcgPSBcInRvdGFsUmVjb3Jkc0NvdW50XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfVkFMX1JFQ09SRFNfQkVGT1JFX0NVUlJFTlRfVklFVzogc3RyaW5nID0gXCJyZWNvcmRzQmVmb3JlQ3VycmVudFZpZXdcIjtcclxuICBzdGF0aWMgTUdfQVRUUl9WQUxfU0VSVkVSX1RSQU5TX0NBQ0hFX0VNUFRZOiBzdHJpbmcgPSBcInNlcnZlclRyYW5zQ2FjaGVFbXB0eVwiO1xyXG4gIHN0YXRpYyBNR19BVFRSX1NQRUNJQUxfQU5TSV9CTE9CX0NIRUNLX05VTEw6IHN0cmluZyA9IFwiU3BlY2lhbEFuc2lCbG9iQ2hlY2tOdWxsXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9UQUJMRV9SRURVQ0VfVElUTEVfSEVJR0hUOiBzdHJpbmcgPSBcIlNwZWNpYWxUYWJsZVJlZHVjZVRpdGxlSGVpZ2h0XCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9ET1RORVRfQUxMT1dfWkVST19EQVRFOiBzdHJpbmcgPSBcIlNwZWNpYWxEb3ROZXRBbGxvd1plcm9EYXRlXCI7XHJcbiAgc3RhdGljIE1HX0FUVFJfU1BFQ0lBTF9SRVVTRV9UQUJMRV9FRElUT1I6IHN0cmluZyA9IFwiU3BlY2lhbFJldXNlVGFibGVFZGl0b3JcIjtcclxuXHJcbiAgc3RhdGljIE1HX1RBR19MQVNUX1JPVVRFOiBzdHJpbmcgPSBcIkxhc3RSb3V0ZVwiO1xyXG59XHJcbiJdfQ==
|