qms-angular 1.1.46 → 1.1.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/bundles/qms-angular.umd.js +1686 -24
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/select-process-data/index.js +2 -0
  4. package/esm2015/lib/components/select-process-data/public-api.js +3 -0
  5. package/esm2015/lib/components/select-process-data/select-process-data.component.js +275 -0
  6. package/esm2015/lib/components/select-process-data/select-process-data.module.js +64 -0
  7. package/esm2015/lib/components/select-process-data-tree/index.js +2 -0
  8. package/esm2015/lib/components/select-process-data-tree/public-api.js +3 -0
  9. package/esm2015/lib/components/select-process-data-tree/select-process-data-tree.component.js +1134 -0
  10. package/esm2015/lib/components/select-process-data-tree/select-process-data-tree.module.js +64 -0
  11. package/esm2015/lib/model/en.js +2 -1
  12. package/esm2015/lib/model/no.js +2 -1
  13. package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +7 -4
  14. package/esm2015/lib/qms-ckeditor-components/common/functions/resource.function.js +3 -2
  15. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +4 -3
  16. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.js +1 -1
  17. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +2 -1
  18. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +3 -4
  19. package/esm2015/public-api.js +3 -1
  20. package/fesm2015/qms-angular.js +1491 -25
  21. package/fesm2015/qms-angular.js.map +1 -1
  22. package/lib/components/select-process-data/index.d.ts +1 -0
  23. package/lib/components/select-process-data/public-api.d.ts +2 -0
  24. package/lib/components/select-process-data/select-process-data.component.d.ts +120 -0
  25. package/lib/components/select-process-data/select-process-data.module.d.ts +2 -0
  26. package/lib/components/select-process-data-tree/index.d.ts +1 -0
  27. package/lib/components/select-process-data-tree/public-api.d.ts +2 -0
  28. package/lib/components/select-process-data-tree/select-process-data-tree.component.d.ts +196 -0
  29. package/lib/components/select-process-data-tree/select-process-data-tree.module.d.ts +2 -0
  30. package/lib/model/en.d.ts +1 -0
  31. package/lib/model/no.d.ts +1 -0
  32. package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +26 -0
  33. package/lib/qms-ckeditor-components/common/functions/resource.function.d.ts +1 -0
  34. package/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.d.ts +1 -0
  35. package/package.json +1 -1
  36. package/public-api.d.ts +2 -0
  37. package/qms-angular.metadata.json +1 -1
  38. package/src/assets/jointjs/scss/bpmn.scss +3 -3
  39. package/src/assets/jointjs/scss/rappid.scss +12 -1
  40. package/src/lib/components/select-process-data/select-process-data.component.scss +241 -0
  41. package/src/lib/components/select-process-data-tree/select-process-data-tree.component.scss +634 -0
@@ -133,7 +133,8 @@ function getToolbarConfiguration(LANG) {
133
133
  name: 'deleteTemplate',
134
134
  attrs: {
135
135
  button: {
136
- 'data-tooltip': `${LANG.BPMN.DELETE_TEMPLATE}`
136
+ 'data-tooltip': `${LANG.BPMN.DELETE_TEMPLATE}`,
137
+ 'data-before': `${LANG.DELETE}`
137
138
  }
138
139
  }
139
140
  },
@@ -142,7 +143,8 @@ function getToolbarConfiguration(LANG) {
142
143
  name: 'saveAsTemplate',
143
144
  attrs: {
144
145
  button: {
145
- 'data-tooltip': `${LANG.BPMN.SAVE_AS_TEMPLATE}`
146
+ 'data-tooltip': `${LANG.BPMN.SAVE_AS_TEMPLATE}`,
147
+ 'data-before': `${LANG.QMSCKEDITOR.TEMPLATE}`
146
148
  }
147
149
  }
148
150
  },
@@ -151,7 +153,8 @@ function getToolbarConfiguration(LANG) {
151
153
  name: 'resetToTempTemplate',
152
154
  attrs: {
153
155
  button: {
154
- 'data-tooltip': `${LANG.BPMN.RESET_TO_LAST_SAVE}`
156
+ 'data-tooltip': `${LANG.BPMN.RESET_TO_LAST_SAVE}`,
157
+ 'data-before': `${LANG.QMSCKEDITOR.RESET}`
155
158
  }
156
159
  }
157
160
  },
@@ -206,4 +209,4 @@ const ToolbarFunction = {
206
209
  getToolbarConfiguration
207
210
  };
208
211
  export default ToolbarFunction;
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2JwbW4vdG9vbGJhci5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLHVCQUF1QixDQUFDLElBQVM7SUFDeEMsT0FBTztRQUNMLEtBQUssRUFBRTtZQUNMO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxZQUFZO2dCQUNsQixLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7cUJBQ2xEO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7cUJBQ25EO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO3FCQUM1QztpQkFDRjthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFO29CQUNMLE1BQU0sRUFBRTt3QkFDTixjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtxQkFDdkM7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsVUFBVTtn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QUFLLEVBQUUsV0FBVztnQkFDbEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRTt3QkFDTCxFQUFFLEVBQUUsaUJBQWlCO3FCQUN0QjtvQkFDRCxLQUFLLEVBQUU7d0JBQ0wsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTt3QkFDdkQsdUJBQXVCLEVBQUUsS0FBSzt3QkFDOUIsZ0NBQWdDLEVBQUUsb0JBQW9CO3FCQUN2RDtpQkFDRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUNELE1BQU0sZUFBZSxHQUFHO0lBQ3RCLHVCQUF1QjtDQUN4QixDQUFDO0FBQ0YsZUFBZSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBnZXRUb29sYmFyQ29uZmlndXJhdGlvbihMQU5HOiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICB0b29sczogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgbmFtZTogJ2Z1bGxzY3JlZW4nLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5UT0dHTEVfRlVMTF9TQ1JFRU59YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIG5hbWU6ICdwcmludCcsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLk9QRU5fQV9QUklOVF9ESUFMT0d9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIG5hbWU6ICd0b2pzb24nLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5PUEVOX0FTX0pTT059YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3pvb20taW4nLFxuICAgICAgICBuYW1lOiAnem9vbS1pbicsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLlpPT01fSU59YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3pvb20tb3V0JyxcbiAgICAgICAgbmFtZTogJ3pvb20tb3V0JyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uWk9PTV9PVVR9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3pvb20tdG8tZml0JyxcbiAgICAgICAgbmFtZTogJ3pvb20tdG8tZml0JyxcbiAgICAgICAgZ3JvdXA6ICd6b29tJyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uWk9PTV9UT19GSVR9YCxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIG5hbWU6ICd0by1mcm9udCcsXG4gICAgICAgIGdyb3VwOiAnb3JkZXInLFxuICAgICAgICB0ZXh0OiBgJHtMQU5HLkJQTU4uU0VORF9UT19GUk9OVH1gLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgaWQ6ICdidG4tdG8tZnJvbnQnLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5CUklOR19PQkpFQ1RfVE9fRlJPTlR9YCxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIG5hbWU6ICd0by1iYWNrJyxcbiAgICAgICAgZ3JvdXA6ICdvcmRlcicsXG4gICAgICAgIHRleHQ6IGAke0xBTkcuQlBNTi5TRU5EX1RPX0JBQ0t9YCxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgIGlkOiAnYnRuLXRvLWJhY2snLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5CUklOR19PQkpFQ1RfVE9fQkFDS31gLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgbmFtZTogJ2NsZWFyJyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uQ0xFQVJfUEFQRVJ9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3VuZG8nLFxuICAgICAgICBuYW1lOiAndW5kbycsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLlVORE99YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3JlZG8nLFxuICAgICAgICBuYW1lOiAncmVkbycsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLlVORE99YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3NlbGVjdC1ib3gnLFxuICAgICAgICBuYW1lOiAnc2VsZWN0VGVtcGxhdGUnLFxuICAgICAgICB3aWR0aDogMTkwLFxuICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgICAgICBjb250ZW50OiBgJHtMQU5HLkJQTU4uU0VMRUNUX1RFTVBMQVRFfWAsXG4gICAgICAgICAgICBmbG93Q2hhcnRJZDogJycsXG4gICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgIGpzb25Db250ZW50OiAnJyxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgbmFtZTogJ2RlbGV0ZVRlbXBsYXRlJyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uREVMRVRFX1RFTVBMQVRFfWBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICBuYW1lOiAnc2F2ZUFzVGVtcGxhdGUnLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5TQVZFX0FTX1RFTVBMQVRFfWBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICBuYW1lOiAncmVzZXRUb1RlbXBUZW1wbGF0ZScsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLlJFU0VUX1RPX0xBU1RfU0FWRX1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbGFiZWwnLFxuICAgICAgICBuYW1lOiAnZ3JpZC1zaXplLWxhYmVsJyxcbiAgICAgICAgZ3JvdXA6ICdncmlkJyxcbiAgICAgICAgdGV4dDogYCR7TEFORy5CUE1OLkdSSURfU0laRX1gLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLkNIQU5HRV9HUklEX1NJWkV9YCxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3JhbmdlJyxcbiAgICAgICAgbmFtZTogJ2dyaWQtc2l6ZScsXG4gICAgICAgIGdyb3VwOiAnZ3JpZCcsXG4gICAgICAgIHRleHQ6IGAke0xBTkcuQlBNTi5HUklEX1NJWkV9YCxcbiAgICAgICAgbWluOiAxLFxuICAgICAgICBtYXg6IDUwLFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgICB2YWx1ZTogMTBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdzZXBhcmF0b3InLFxuICAgICAgICBncm91cDogJ3NuYXBsaW5lJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgbmFtZTogJ3NuYXBsaW5lJyxcbiAgICAgICAgZ3JvdXA6ICdzbmFwbGluZScsXG4gICAgICAgIGxhYmVsOiAnU25hcGxpbmVzJywgLy8nQlBNTi5TTkFQTElORVMnLFxuICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgaWQ6ICdzbmFwbGluZS1zd2l0Y2gnXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5FTkFCTEVfRElTQUJMRV9TTkFQTElORVN9YCxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIF1cbiAgfTtcbn1cbmNvbnN0IFRvb2xiYXJGdW5jdGlvbiA9IHtcbiAgZ2V0VG9vbGJhckNvbmZpZ3VyYXRpb25cbn07XG5leHBvcnQgZGVmYXVsdCBUb29sYmFyRnVuY3Rpb247XG4iXX0=
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2JwbW4vdG9vbGJhci5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLHVCQUF1QixDQUFDLElBQVM7SUFDeEMsT0FBTztRQUNMLEtBQUssRUFBRTtZQUNMO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxZQUFZO2dCQUNsQixLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7cUJBQ2xEO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7cUJBQ25EO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFO3dCQUNOLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO3FCQUM1QztpQkFDRjthQUNGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsS0FBSyxFQUFFO29CQUNMLE1BQU0sRUFBRTt3QkFDTixjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtxQkFDdkM7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsVUFBVTtn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QUFFLEVBQUU7YUFDVjtZQUNEO2dCQUNFLElBQUksRUFBRSxXQUFXO2dCQUNqQixLQUFLLEVBQUUsVUFBVTthQUNsQjtZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRSxXQUFXO2dCQUNsQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFO3dCQUNMLEVBQUUsRUFBRSxpQkFBaUI7cUJBQ3RCO29CQUNELEtBQUssRUFBRTt3QkFDTCxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO3dCQUN2RCx1QkFBdUIsRUFBRSxLQUFLO3dCQUM5QixnQ0FBZ0MsRUFBRSxvQkFBb0I7cUJBQ3ZEO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBQ0QsTUFBTSxlQUFlLEdBQUc7SUFDdEIsdUJBQXVCO0NBQ3hCLENBQUM7QUFDRixlQUFlLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGdldFRvb2xiYXJDb25maWd1cmF0aW9uKExBTkc6IGFueSkge1xuICByZXR1cm4ge1xuICAgIHRvb2xzOiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICBuYW1lOiAnZnVsbHNjcmVlbicsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLlRPR0dMRV9GVUxMX1NDUkVFTn1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgbmFtZTogJ3ByaW50JyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uT1BFTl9BX1BSSU5UX0RJQUxPR31gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgbmFtZTogJ3RvanNvbicsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLk9QRU5fQVNfSlNPTn1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnem9vbS1pbicsXG4gICAgICAgIG5hbWU6ICd6b29tLWluJyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uWk9PTV9JTn1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnem9vbS1vdXQnLFxuICAgICAgICBuYW1lOiAnem9vbS1vdXQnLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5aT09NX09VVH1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnem9vbS10by1maXQnLFxuICAgICAgICBuYW1lOiAnem9vbS10by1maXQnLFxuICAgICAgICBncm91cDogJ3pvb20nLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5aT09NX1RPX0ZJVH1gLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgbmFtZTogJ3RvLWZyb250JyxcbiAgICAgICAgZ3JvdXA6ICdvcmRlcicsXG4gICAgICAgIHRleHQ6IGAke0xBTkcuQlBNTi5TRU5EX1RPX0ZST05UfWAsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICBpZDogJ2J0bi10by1mcm9udCcsXG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLkJSSU5HX09CSkVDVF9UT19GUk9OVH1gLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbic6ICd0b3AnLFxuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcC1wb3NpdGlvbi1zZWxlY3Rvcic6ICcudG9vbGJhci1jb250YWluZXInXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgbmFtZTogJ3RvLWJhY2snLFxuICAgICAgICBncm91cDogJ29yZGVyJyxcbiAgICAgICAgdGV4dDogYCR7TEFORy5CUE1OLlNFTkRfVE9fQkFDS31gLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgaWQ6ICdidG4tdG8tYmFjaycsXG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLkJSSU5HX09CSkVDVF9UT19CQUNLfWAsXG4gICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uJzogJ3RvcCcsXG4gICAgICAgICAgICAnZGF0YS10b29sdGlwLXBvc2l0aW9uLXNlbGVjdG9yJzogJy50b29sYmFyLWNvbnRhaW5lcidcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICBuYW1lOiAnY2xlYXInLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5DTEVBUl9QQVBFUn1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAndW5kbycsXG4gICAgICAgIG5hbWU6ICd1bmRvJyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uVU5ET31gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAncmVkbycsXG4gICAgICAgIG5hbWU6ICdyZWRvJyxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBidXR0b246IHtcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAnOiBgJHtMQU5HLkJQTU4uVU5ET31gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnc2VsZWN0LWJveCcsXG4gICAgICAgIG5hbWU6ICdzZWxlY3RUZW1wbGF0ZScsXG4gICAgICAgIHdpZHRoOiAxOTAsXG4gICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGAke0xBTkcuQlBNTi5TRUxFQ1RfVEVNUExBVEV9YCxcbiAgICAgICAgICAgIGZsb3dDaGFydElkOiAnJyxcbiAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAganNvbkNvbnRlbnQ6ICcnLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICBuYW1lOiAnZGVsZXRlVGVtcGxhdGUnLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5ERUxFVEVfVEVNUExBVEV9YCxcbiAgICAgICAgICAgICdkYXRhLWJlZm9yZSc6IGAke0xBTkcuREVMRVRFfWBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICBuYW1lOiAnc2F2ZUFzVGVtcGxhdGUnLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGJ1dHRvbjoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5TQVZFX0FTX1RFTVBMQVRFfWAsXG4gICAgICAgICAgICAnZGF0YS1iZWZvcmUnOiBgJHtMQU5HLlFNU0NLRURJVE9SLlRFTVBMQVRFfWBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICBuYW1lOiAncmVzZXRUb1RlbXBUZW1wbGF0ZScsXG4gICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgYnV0dG9uOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLlJFU0VUX1RPX0xBU1RfU0FWRX1gLFxuICAgICAgICAgICAgJ2RhdGEtYmVmb3JlJzogYCR7TEFORy5RTVNDS0VESVRPUi5SRVNFVH1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbGFiZWwnLFxuICAgICAgICBuYW1lOiAnZ3JpZC1zaXplLWxhYmVsJyxcbiAgICAgICAgZ3JvdXA6ICdncmlkJyxcbiAgICAgICAgdGV4dDogYCR7TEFORy5CUE1OLkdSSURfU0laRX1gLFxuICAgICAgICBhdHRyczoge1xuICAgICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICAnZGF0YS10b29sdGlwJzogYCR7TEFORy5CUE1OLkNIQU5HRV9HUklEX1NJWkV9YCxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3JhbmdlJyxcbiAgICAgICAgbmFtZTogJ2dyaWQtc2l6ZScsXG4gICAgICAgIGdyb3VwOiAnZ3JpZCcsXG4gICAgICAgIHRleHQ6IGAke0xBTkcuQlBNTi5HUklEX1NJWkV9YCxcbiAgICAgICAgbWluOiAxLFxuICAgICAgICBtYXg6IDUwLFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgICB2YWx1ZTogMTBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdzZXBhcmF0b3InLFxuICAgICAgICBncm91cDogJ3NuYXBsaW5lJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgbmFtZTogJ3NuYXBsaW5lJyxcbiAgICAgICAgZ3JvdXA6ICdzbmFwbGluZScsXG4gICAgICAgIGxhYmVsOiAnU25hcGxpbmVzJywgLy8nQlBNTi5TTkFQTElORVMnLFxuICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgaWQ6ICdzbmFwbGluZS1zd2l0Y2gnXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgJ2RhdGEtdG9vbHRpcCc6IGAke0xBTkcuQlBNTi5FTkFCTEVfRElTQUJMRV9TTkFQTElORVN9YCxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24nOiAndG9wJyxcbiAgICAgICAgICAgICdkYXRhLXRvb2x0aXAtcG9zaXRpb24tc2VsZWN0b3InOiAnLnRvb2xiYXItY29udGFpbmVyJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIF1cbiAgfTtcbn1cbmNvbnN0IFRvb2xiYXJGdW5jdGlvbiA9IHtcbiAgZ2V0VG9vbGJhckNvbmZpZ3VyYXRpb25cbn07XG5leHBvcnQgZGVmYXVsdCBUb29sYmFyRnVuY3Rpb247XG4iXX0=
@@ -88,7 +88,7 @@ function BuildResourceNO(LANG = null) {
88
88
  "Upload failed": "Kunne ikke laste opp",
89
89
  "Upload in progress": "Laster opp fil",
90
90
  "White": "Hvit",
91
- "Widget toolbar": "Widget verktøylinje ",
91
+ "Widget toolbar": "Widget verktøylinje",
92
92
  "Words: %0": "Ord: %0",
93
93
  "Yellow": "Gul",
94
94
  "image widget": "Bilde-widget",
@@ -197,6 +197,7 @@ function BuildResourceNO(LANG = null) {
197
197
  "Templates": LANG.QMSCKEDITOR.TEMPLATES,
198
198
  "About CKEditor": LANG.QMSCKEDITOR.ABOUT_CKEDITOR,
199
199
  "Create Table of Contents": LANG.QMSCKEDITOR.CREATE_TABLE_OF_CONTENTS,
200
+ "Edit anchor": "Rediger anker"
200
201
  }
201
202
  };
202
203
  }
@@ -204,4 +205,4 @@ const CKEditorBuildResourceFunctions = {
204
205
  BuildResourceNO,
205
206
  };
206
207
  export default CKEditorBuildResourceFunctions;
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mdW5jdGlvbnMvcmVzb3VyY2UuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxlQUFlLENBQUMsT0FBWSxJQUFJO0lBQ3JDLE9BQU87UUFDSCxVQUFVLEVBQUU7WUFDUiw4REFBOEQ7WUFDOUQsVUFBVSxFQUFFLFVBQVU7WUFDdEIsY0FBYyxFQUFFLFdBQVc7WUFDM0IsWUFBWSxFQUFFLGVBQWU7WUFDN0IsYUFBYSxFQUFFLGFBQWE7WUFDNUIsWUFBWSxFQUFFLFdBQVc7WUFDekIsS0FBSyxFQUFFLE1BQU07WUFDYixPQUFPLEVBQUUsT0FBTztZQUNoQixhQUFhLEVBQUUsWUFBWTtZQUMzQixNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxLQUFLO1lBQ2IsZUFBZSxFQUFFLFlBQVk7WUFDN0IsUUFBUSxFQUFFLFFBQVE7WUFDbEIscUJBQXFCLEVBQUUseUJBQXlCO1lBQ2hELGdCQUFnQixFQUFFLGlCQUFpQjtZQUNuQywrQkFBK0IsRUFBRSxrQ0FBa0M7WUFDbkUsaUJBQWlCLEVBQUUsVUFBVTtZQUM3QixpREFBaUQsRUFBRSxtREFBbUQ7WUFDdEcscUNBQXFDLEVBQUUsc0RBQXNEO1lBQzdGLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxTQUFTLEVBQUUsVUFBVTtZQUNyQixVQUFVLEVBQUUsVUFBVTtZQUN0QixpQkFBaUIsRUFBRSxnQkFBZ0I7WUFDbkMsa0JBQWtCLEVBQUUsaUNBQWlDO1lBQ3JELFlBQVksRUFBRSxlQUFlO1lBQzdCLGdCQUFnQixFQUFFLHFDQUFxQztZQUN2RCxxQkFBcUIsRUFBRSxzQkFBc0I7WUFDN0MsdUJBQXVCLEVBQUUsMEJBQTBCO1lBQ25ELFlBQVksRUFB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LEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZO1lBQzdDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjO1lBQ2pELDBCQUEwQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCO1NBQ3hFO0tBQ0osQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLDhCQUE4QixHQUFHO0lBQ25DLGVBQWU7Q0FDbEIsQ0FBQztBQUVGLGVBQWUsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBCdWlsZFJlc291cmNlTk8oTEFORzogYW55ID0gbnVsbCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGRpY3Rpb25hcnk6IHtcbiAgICAgICAgICAgIC8vIHdvcmRzIG9mIENLNSBwb3NzaWJsZSBPTkxZIHZpYSB0aGUgVHJhbnNpZmV4IG9ubGluZSBzZXJ2aWNlXG4gICAgICAgICAgICBcIiUwIG9mICUxXCI6IFwiJTAgYXYgJTFcIixcbiAgICAgICAgICAgIFwiQWxpZ24gY2VudGVyXCI6IFwiTWlkdHN0aWxsXCIsXG4gICAgICAgICAgICBcIkFsaWduIGxlZnRcIjogXCJWZW5zdHJlanVzdGVyXCIsXG4gICAgICAgICAgICBcIkFsaWduIHJpZ2h0XCI6IFwiSMO4eXJlanVzdGVyXCIsXG4gICAgICAgICAgICBcIkFxdWFtYXJpbmVcIjogXCJBa3ZhbWFyaW5cIixcbiAgICAgICAgICAgIFwiQmlnXCI6IFwiU3RvclwiLFxuICAgICAgICAgICAgXCJCbGFja1wiOiBcIlN2YXJ0XCIsXG4gICAgICAgICAgICBcIkJsb2NrIHF1b3RlXCI6IFwiQmxva2tzaXRhdFwiLFxuICAgICAgICAgICAgXCJCbHVlXCI6IFwiQmzDpVwiLFxuICAgICAgICAgICAgXCJCb2xkXCI6IFwiRmV0XCIsXG4gICAgICAgICAgICBcIkJ1bGxldGVkIExpc3RcIjogXCJQdW5rdGxpc3RlXCIsXG4gICAgICAgICAgICBcIkNhbmNlbFwiOiBcIkF2YnJ5dFwiLFxuICAgICAgICAgICAgXCJDYW5ub3QgdXBsb2FkIGZpbGU6XCI6IFwiS2FuIGlra2UgbGFzdGUgb3BwIGZpbDpcIixcbiAgICAgICAgICAgIFwiQ2VudGVyZWQgaW1hZ2VcIjogXCJNaWR0c3RpbHQgYmlsZGVcIixcbiAgICAgICAgICAgIFwiQ2hhbmdlIGltYWdlIHRleHQgYWx0ZXJuYXRpdmVcIjogXCJFbmRyZSB0ZWtzdGFsdGVybmF0aXYgdGlsIGJpbGRldFwiLFxuICAgICAgICAgICAgXCJDaGFyYWN0ZXJzOiAlIDBcIjogXCJUZWduOiAlMFwiLFxuICAgICAgICAgICAgXCJDb3VsZCBub3QgaW5zZXJ0IGltYWdlIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLlwiOiBcIkt1bm5lIGlra2Ugc2V0dGUgaW5uIGJpbGRlIHDDpSBnamVsZGVuZGUgcG9zaXNqb24uXCIsXG4gICAgICAgICAgICBcIkNvdWxkIG5vdCBvYnRhaW4gcmVzaXplZCBpbWFnZSBVUkwuXCI6IFwiS3VubmUgaWtrZSBmaW5uZSBVUkwgZm9yIGJpbGRlIG1lZCBlbmRyZXQgc3TDuHJyZWxzZS5cIixcbiAgICAgICAgICAgIFwiRGVjcmVhc2UgaW5kZW50XCI6IFwiUmVkdXNlciBpbm5yeWtrXCIsXG4gICAgICAgICAgICBcIkRlZmF1bHRcIjogXCJTdGFuZGFyZFwiLFxuICAgICAgICAgICAgXCJEaW0gZ3JleVwiOiBcIlN2YWsgZ3LDpVwiLFxuICAgICAgICAgICAgXCJEb2N1bWVudCBjb2xvcnNcIjogXCJEb2t1bWVudGZhcmdlclwiLFxuICAgICAgICAgICAgXCJEcm9wZG93biB0b29sYmFyXCI6IFwiVmVya3TDuHlsaW5qZSBmb3IgbmVkdHJla2tzbGlzdGVcIixcbiAgICAgICAgICAgIFwiRWRpdCBibG9ja1wiOiBcIlJlZGlnZXIgYmxva2tcIixcbiAgICAgICAgICAgIFwiRWRpdG9yIHRvb2xiYXJcIjogXCJWZXJrdMO4eWxpbmplIGZvciByZWRpZ2VyaW5nc3Zlcmt0w7h5XCIsXG4gICAgICAgICAgICBcIkVudGVyIGltYWdlIGNhcHRpb25cIjogXCJTa3JpdiBpbm4gYmlsZGV0ZWtzdFwiLFxuICAgICAgICAgICAgXCJGb250IEJhY2tncm91bmQgQ29sb3JcIjogXCJVdGhldmluZ3NmYXJnZSBmb3IgdGVrc3RcIixcbiAgICAgICAgICAgIFwiRm9udCBDb2xvclwiOiBcIlNrcmlmdGZhcmdlXCIsXG4gICAgICAgICAgICBcIkZvbnQgRmFtaWx5XCI6IFwiU2tyaWZ0dHlwZWZhbWlsaWVcIixcbiAgICAgICAgICAgIFwiRm9udCBTaXplXCI6IFwiU2tyaWZ0c3TDuHJyZWxzZVwiLFxuICAgICAgICAgICAgXCJGdWxsIHNpemUgaW1hZ2VcIjogXCJCaWxkZSBpIGZ1bGwgc3TDuHJyZWxzZVwiLFxuICAgICAgICAgICAgXCJHcmVlblwiOiBcIkdyw7hublwiLFxuICAgICAgICAgICAgXCJHcmV5XCI6IFwiR3LDpVwiLFxuICAgICAgICAgICAgXCJIb3Jpem9udGFsIGxpbmVcIjogXCJIb3Jpc29udGFsIGxpbmplXCIsXG4gICAgICAgICAgICBcIkh1Z2VcIjogXCJWZWxkaWcgc3RvclwiLFxuICAgICAgICAgICAgXCJJbWFnZSByZXNpemUgbGlzdFwiOiBcIlwiLFxuICAgICAgICAgICAgXCJJbWFnZSB0b29sYmFyXCI6IFwiVmVya3TDuHlsaW5qZSBmb3IgYmlsZGVcIixcbiAgICAgICAgICAgIFwiSW5jcmVhc2UgaW5kZW50XCI6IFwiw5hrIGlubnJ5a2tcIixcbiAgICAgICAgICAgIFwiSW5zZXJ0IGltYWdlXCI6IFwiU2V0dCBpbm4gYmlsZGVcIixcbiAgICAgICAgICAgIFwiSW5zZXJ0IGltYWdlIG9yIGZpbGVcIjogXCJTZXR0IGlubiBiaWxkZSBlbGxlciBmaWxcIixcbiAgICAgICAgICAgIFwiSW5zZXJ0IHBhcmFncmFwaCBhZnRlciBibG9ja1wiOiBcIlwiLFxuICAgICAgICAgICAgXCJJbnNlcnQgcGFyYWdyYXBoIGJlZm9yZSBibG9ja1wiOiBcIlwiLFxuICAgICAgICAgICAgXCJJbnNlcnRpbmcgaW1hZ2UgZmFpbGVkXCI6IFwiSW5uc2V0dGluZyBhdiBiaWxkZSBtaXNseWt0ZXNcIixcbiAgICAgICAgICAgIFwiSXRhbGljXCI6IFwiS3Vyc2l2XCIsXG4gICAgICAgICAgICBcIkp1c3RpZnlcIjogXCJCbG9ra2p1c3RlclwiLFxuICAgICAgICAgICAgXCJMZWZ0IGFsaWduZWQgaW1hZ2VcIjogXCJWZW5zdHJlanVzdGVydCBiaWxkZVwiLFxuICAgICAgICAgICAgXCJMaWdodCBibHVlXCI6IFwiTHlzZWJsw6VcIixcbiAgICAgICAgICAgIFwiTGlnaHQgZ3JlZW5cIjogXCJMeXNlZ3LDuG5uXCIsXG4gICAgICAgICAgICBcIkxpZ2h0IGdyZXlcIjogXCJMeXNlZ3LDpVwiLFxuICAgICAgICAgICAgXCJOZXh0XCI6IFwiTmVzdGVcIixcbiAgICAgICAgICAgIFwiTnVtYmVyZWQgTGlzdFwiOiBcIk51bW1lcmVydCBsaXN0ZVwiLFxuICAgICAgICAgICAgXCJPcmFuZ2VcIjogXCJPcmFuc2plXCIsXG4gICAgICAgICAgICBcIk9yaWdpbmFsXCI6IFwiT3BwcmlubmVsaWdcIixcbiAgICAgICAgICAgIFwiUGFnZSBicmVha1wiOiBcIlNpZGVza2lmdCBcIixcbiAgICAgICAgICAgIFwiUHJldmlvdXNcIjogXCJGb3JyaWdlXCIsXG4gICAgICAgICAgICBcIlB1cnBsZVwiOiBcIkxpbGxhXCIsXG4gICAgICAgICAgICBcIlJlZFwiOiBcIlLDuGRcIixcbiAgICAgICAgICAgIFwiUmVkb1wiOiBcIkdqw7hyIG9tXCIsXG4gICAgICAgICAgICBcIlJlbW92ZSBGb3JtYXRcIjogXCJGamVybiBmb3JtYXRlcmluZ1wiLFxuICAgICAgICAgICAgXCJSZW1vdmUgY29sb3JcIjogXCJGamVybiBmYXJnZVwiLFxuICAgICAgICAgICAgXCJSZXNpemUgaW1hZ2VcIjogXCJcIixcbiAgICAgICAgICAgIFwiUmVzaXplIGltYWdlIHRvICUwXCI6IFwiXCIsXG4gICAgICAgICAgICBcIlJlc2l6ZSBpbWFnZSB0byB0aGUgb3JpZ2luYWwgc2l6ZVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJSaWNoIFRleHQgRWRpdG9yXCI6IFwiVGVrc3RyZWRpZ2VyaW5nc3Zlcmt0w7h5IGZvciByaWsgdGVrc3RcIixcbiAgICAgICAgICAgIFwiUmljaCBUZXh0IEVkaXRvciwgJTBcIjogXCJUZWtzdHJlZGlnZXJpbmdzdmVya3TDuHkgZm9yIHJpayB0ZWtzdCwgJTBcIixcbiAgICAgICAgICAgIFwiUmlnaHQgYWxpZ25lZCBpbWFnZVwiOiBcIkjDuHlyZWp1c3RlcnQgYmlsZGVcIixcbiAgICAgICAgICAgIFwiU2F2ZVwiOiBcIkxhZ3JlXCIsXG4gICAgICAgICAgICBcIlNlbGVjdCBhbGxcIjogXCJWZWxnIGFsdCBcIixcbiAgICAgICAgICAgIFwiU2VsZWN0aW5nIHJlc2l6ZWQgaW1hZ2UgZmFpbGVkXCI6IFwiS3VubmUgaWtrZSB2ZWxnZSBiaWxkZSBtZWQgZW5kcmV0IHN0w7hycmVsc2VcIixcbiAgICAgICAgICAgIFwiU2hvdyBtb3JlIGl0ZW1zXCI6IFwiVmlzIGZsZXJlIGVsZW1lbnRlclwiLFxuICAgICAgICAgICAgXCJTaWRlIGltYWdlXCI6IFwiU2lkZXN0aWx0IGJpbGRlXCIsXG4gICAgICAgICAgICBcIlNtYWxsXCI6IFwiTGl0ZW5cIixcbiAgICAgICAgICAgIFwiU291cmNlXCI6IFwiS2lsZGVcIixcbiAgICAgICAgICAgIFwiU3RyaWtldGhyb3VnaFwiOiBcIkdqZW5ub21zdHJla2V0XCIsXG4gICAgICAgICAgICBcIlN1YnNjcmlwdFwiOiBcIlNlbmtldCBza3JpZnRcIixcbiAgICAgICAgICAgIFwiU3VwZXJzY3JpcHRcIjogXCJIZXZldCBza3JpZnRcIixcbiAgICAgICAgICAgIFwiVGV4dCBhbGlnbm1lbnRcIjogXCJUZWtzdGp1c3RlcmluZ1wiLFxuICAgICAgICAgICAgXCJUZXh0IGFsaWdubWVudCB0b29sYmFyXCI6IFwiVmVya3TDuHlsaW5qZSBmb3IgdGVrc3RqdXN0ZXJpbmdcIixcbiAgICAgICAgICAgIFwiVGV4dCBhbHRlcm5hdGl2ZVwiOiBcIlRla3N0YWx0ZXJuYXRpdlwiLFxuICAgICAgICAgICAgXCJUaW55XCI6IFwiVmVsZGlnIGxpdGVuXCIsXG4gICAgICAgICAgICBcIlR1cnF1b2lzZVwiOiBcIlR1cmtpc1wiLFxuICAgICAgICAgICAgXCJVbmRlcmxpbmVcIjogXCJVbmRlcnN0cmVrZXRcIixcbiAgICAgICAgICAgIFwiVW5kb1wiOiBcIkFuZ3JlXCIsXG4gICAgICAgICAgICBcIlVwbG9hZCBmYWlsZWRcIjogXCJLdW5uZSBpa2tlIGxhc3RlIG9wcFwiLFxuICAgICAgICAgICAgXCJVcGxvYWQgaW4gcHJvZ3Jlc3NcIjogXCJMYXN0ZXIgb3BwIGZpbFwiLFxuICAgICAgICAgICAgXCJXaGl0ZVwiOiBcIkh2aXRcIixcbiAgICAgICAgICAgIFwiV2lkZ2V0IHRvb2xiYXJcIjogXCJXaWRnZXQgdmVya3TDuHlsaW5qZSBcIixcbiAgICAgICAgICAgIFwiV29yZHM6ICUwXCI6IFwiT3JkOiAlMFwiLFxuICAgICAgICAgICAgXCJZZWxsb3dcIjogXCJHdWxcIixcbiAgICAgICAgICAgIFwiaW1hZ2Ugd2lkZ2V0XCI6IFwiQmlsZGUtd2lkZ2V0XCIsXG4gICAgICAgICAgICAvLyBhZGRpdGluYWwgY3VzdG9tIHdvcmRzXG4gICAgICAgICAgICBcIk1heGltaXplXCI6IExBTkcuUU1TQ0tFRElUT1IuTUFYSU1JWkUsXG4gICAgICAgICAgICBcIk1pbmltaXplXCI6IExBTkcuUU1TQ0tFRElUT1IuTUlOSU1JWkUsXG4gICAgICAgICAgICBcIlBhcmFncmFwaFwiOiBMQU5HLlFNU0NLRURJVE9SLlBBUkFHUkFQSCxcbiAgICAgICAgICAgIFwiSGVhZGluZ1wiOiBMQU5HLlFNU0NLRURJVE9SLkhFQURJTkcsXG4gICAgICAgICAgICBcIkhlYWRpbmcgJTBcIjogTEFORy5RTVNDS0VESVRPUi5IRUFESU5HX05VTUJFUixcbiAgICAgICAgICAgIFwiQ2hvb3NlIGhlYWRpbmdcIjogTEFORy5RTVNDS0VESVRPUi5DSE9PU0VfSEVBRElORyxcbiAgICAgICAgICAgIFwiU3BlY2lhbCBjaGFyYWN0ZXJzXCI6IExBTkcuUU1TQ0tFRElUT1IuU1BFQ0lBTF9DSEFSQUNURVJTLFxuICAgICAgICAgICAgXCJCdXNpbmVzcyBQcm9jZXNzIE1vZGVsIGFuZCBOb3RhdGlvblwiOiBMQU5HLlFNU0NLRURJVE9SLkJQTU4sXG4gICAgICAgICAgICAvLyBJbWFnZVxuICAgICAgICAgICAgXCJMaW5rIGltYWdlXCI6IExBTkcuUU1TQ0tFRElUT1IuTElOS19JTUFHRSxcbiAgICAgICAgICAgIFwiRWRpdCBsaW5rXCI6IExBTkcuUU1TQ0tFRElUT1IuRURJVF9MSU5LLFxuICAgICAgICAgICAgXCJUaGlzIGxpbmsgaGFzIG5vIFVSTFwiOiBMQU5HLlFNU0NLRURJVE9SLlRISVNfTElOS19IQVNfTk9fVVJMLFxuICAgICAgICAgICAgXCJJbWFnZSBNYXBcIjogTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NQVAsXG4gICAgICAgICAgICAvLyBNZWRpYVxuICAgICAgICAgICAgXCJJbnNlcnQgbWVkaWFcIjogTEFORy5RTVNDS0VESVRPUi5JTlNFUlRfTUVESUEsXG4gICAgICAgICAgICBcIlJlc2l6ZSBtZWRpYVwiOiBMQU5HLlFNU0NLRURJVE9SLlJFU0laRV9NRURJQSxcbiAgICAgICAgICAgIFwiRnVsbCBzaXplIG1lZGlhXCI6IExBTkcuUU1TQ0tFRElUT1IuRlVMTF9TSVpFX01FRElBLFxuICAgICAgICAgICAgXCJTaWRlIG1lZGlhXCI6IExBTkcuUU1TQ0tFRElUT1IuU0lERV9NRURJQSxcbiAgICAgICAgICAgIFwiTGVmdCBhbGlnbmVkIG1lZGlhXCI6IExBTkcuUU1TQ0tFRElUT1IuTEVGVF9BTElHTkVEX01FRElBLFxuICAgICAgICAgICAgXCJDZW50ZXJlZCBtZWRpYVwiOiBMQU5HLlFNU0NLRURJVE9SLkNFTlRFUkVEX01FRElBLFxuICAgICAgICAgICAgXCJSaWdodCBhbGlnbmVkIG1lZGlhXCI6IExBTkcuUU1TQ0tFRElUT1IuUklHSFRfQUxJR05FRF9NRURJQSxcbiAgICAgICAgICAgIFwiUGFzdGUgdGhlIG1lZGlhIFVSTCBpbiB0aGUgaW5wdXQuXCI6IExBTkcuUU1TQ0tFRElUT1IuUEFTVEVfVEhFX01FRElBX1VSTF9JTl9USEVfSU5QVVQsXG4gICAgICAgICAgICBcIlRpcDogUGFzdGUgdGhlIFVSTCBpbnRvIHRoZSBjb250ZW50IHRvIGVtYmVkIGZhc3Rlci5cIjogTEFORy5RTVNDS0VESVRPUi5NRURJQV9USVAsXG4gICAgICAgICAgICAvLyBWaWRlb1xuICAgICAgICAgICAgXCJCcm93c2UgVmlkZW9cIjogTEFORy5RTVNDS0VESVRPUi5CUk9XU0VfVklERU8sXG4gICAgICAgICAgICBcIkZ1bGwgc2l6ZSB2aWRlb1wiOiBMQU5HLlFNU0NLRURJVE9SLkZVTExfU0laRV9WSURFTyxcbiAgICAgICAgICAgIFwiTGVmdCBhbGlnbmVkIHZpZGVvXCI6IExBTkcuUU1TQ0tFRElUT1IuTEVGVF9BTElHTkVEX1ZJREVPLFxuICAgICAgICAgICAgXCJDZW50ZXJlZCB2aWRlb1wiOiBMQU5HLlFNU0NLRURJVE9SLkNFTlRFUkVEX1ZJREVPLFxuICAgICAgICAgICAgXCJSaWdodCBhbGlnbmVkIHZpZGVvXCI6IExBTkcuUU1TQ0tFRElUT1IuUklHSFRfQUxJR05FRF9WSURFTyxcbiAgICAgICAgICAgIC8vIExpbmtcbiAgICAgICAgICAgIFwiTGlua1wiOiBMQU5HLlFNU0NLRURJVE9SLkxJTkssXG4gICAgICAgICAgICAvLyBBbmNob3JcbiAgICAgICAgICAgIFwiQW5jaG9yXCI6IExBTkcuUU1TQ0tFRElUT1IuQU5DSE9SLFxuICAgICAgICAgICAgXCJBbmNob3IgbmFtZVwiOiBMQU5HLlFNU0NLRURJVE9SLkFOQ0hPUl9OQU1FLFxuICAgICAgICAgICAgLy8gRmluZCBhbmQgcmVwbGFjZVxuICAgICAgICAgICAgXCJGaW5kIGFuZCByZXBsYWNlXCI6IExBTkcuUU1TQ0tFRElUT1IuRklORF9BTkRfUkVQTEFDRSxcbiAgICAgICAgICAgIFwiRmluZCBpbiB0ZXh04oCmXCI6IExBTkcuUU1TQ0tFRElUT1IuRklORF9JTl9URVhULFxuICAgICAgICAgICAgXCJNYXRjaCBjYXNlXCI6IExBTkcuUU1TQ0tFRElUT1IuTUFUQ0hfQ0FTRSxcbiAgICAgICAgICAgIFwiV2hvbGUgd29yZHMgb25seVwiOiBMQU5HLlFNU0NLRURJVE9SLldIT0xFX1dPUkRTX09OTFksXG4gICAgICAgICAgICBcIkZpbmRcIjogTEFORy5RTVNDS0VESVRPUi5GSU5ELFxuICAgICAgICAgICAgXCJSZXBsYWNlIHdpdGjigKZcIjogTEFORy5RTVNDS0VESVRPUi5SRVBMQUNFX1dJVEgsXG4gICAgICAgICAgICBcIlJlcGxhY2UgYWxsXCI6IExBTkcuUU1TQ0tFRElUT1IuUkVQTEFDRV9BTEwsXG4gICAgICAgICAgICBcIlJlcGxhY2VcIjogTEFORy5RTVNDS0VESVRPUi5SRVBMQUNFLFxuICAgICAgICAgICAgLy8gVGFibGVcbiAgICAgICAgICAgIFwiQ29sdW1uXCI6IExBTkcuUU1TQ0tFRElUT1IuQ09MVU1OLFxuICAgICAgICAgICAgXCJIZWFkZXIgY29sdW1uXCI6IExBTkcuUU1TQ0tFRElUT1IuSEVBREVSX0NPTFVNTixcbiAgICAgICAgICAgIFwiSW5zZXJ0IGNvbHVtbiBsZWZ0XCI6IExBTkcuUU1TQ0tFRElUT1IuSU5TRVJUX0NPTFVNTl9MRUZULFxuICAgICAgICAgICAgXCJJbnNlcnQgY29sdW1uIHJpZ2h0XCI6IExBTkcuUU1TQ0tFRElUT1IuSU5TRVJUX0NPTFVNTl9SSUdIVCxcbiAgICAgICAgICAgIFwiRGVsZXRlIGNvbHVtblwiOiBMQU5HLlFNU0NLRURJVE9SLkRFTEVURV9DT0xVTU4sXG4gICAgICAgICAgICBcIlNlbGVjdCBjb2x1bW5cIjogTEFORy5RTVNDS0VESVRPUi5TRUxFQ1RfQ09MVU1OLFxuICAgICAgICAgICAgXCJSb3dcIjogTEFORy5RTVNDS0VESVRPUi5ST1csXG4gICAgICAgICAgICBcIkhlYWRlciByb3dcIjogTEFORy5RTVNDS0VESVRPUi5IRUFERVJfUk9XLFxuICAgICAgICAgICAgXCJJbnNlcnQgcm93IGFib3ZlXCI6IExBTkcuUU1TQ0tFRElUT1IuSU5TRVJUX1JPV19BQk9WRSxcbiAgICAgICAgICAgIFwiSW5zZXJ0IHJvdyBiZWxvd1wiOiBMQU5HLlFNU0NLRURJVE9SLklOU0VSVF9ST1dfQkVMT1csXG4gICAgICAgICAgICBcIkRlbGV0ZSByb3dcIjogTEFORy5RTVNDS0VESVRPUi5ERUxFVEVfUk9XLFxuICAgICAgICAgICAgXCJTZWxlY3Qgcm93XCI6IExBTkcuUU1TQ0tFRElUT1IuU0VMRUNUX1JPVyxcbiAgICAgICAgICAgIFwiTWVyZ2UgY2VsbHNcIjogTEFORy5RTVNDS0VESVRPUi5NRVJHRV9DRUxMUyxcbiAgICAgICAgICAgIFwiTWVyZ2UgY2VsbCB1cFwiOiBMQU5HLlFNU0NLRURJVE9SLk1FUkdFX0NFTExfVVAsXG4gICAgICAgICAgICBcIk1lcmdlIGNlbGwgcmlnaHRcIjogTEFORy5RTVNDS0VESVRPUi5NRVJHRV9DRUxMX1JJR0hULFxuICAgICAgICAgICAgXCJNZXJnZSBjZWxsIGRvd25cIjogTEFORy5RTVNDS0VESVRPUi5NRVJHRV9DRUxMX0RPV04sXG4gICAgICAgICAgICBcIk1lcmdlIGNlbGwgbGVmdFwiOiBMQU5HLlFNU0NLRURJVE9SLk1FUkdFX0NFTExfTEVGVCxcbiAgICAgICAgICAgIFwiU3BsaXQgY2VsbCB2ZXJ0aWNhbGx5XCI6IExBTkcuUU1TQ0tFRElUT1IuU1BMSVRfQ0VMTF9WRVJUSUNBTExZLFxuICAgICAgICAgICAgXCJTcGxpdCBjZWxsIGhvcml6b250YWxseVwiOiBMQU5HLlFNU0NLRURJVE9SLlNQTElUX0NFTExfSE9SSVpPTlRBTExZLFxuICAgICAgICAgICAgXCJUYWJsZSBwcm9wZXJ0aWVzXCI6IExBTkcuUU1TQ0tFRElUT1IuVEFCTEVfUFJPUEVSVElFUyxcbiAgICAgICAgICAgIFwiQm9yZGVyXCI6IExBTkcuUU1TQ0tFRElUT1IuQk9SREVSLFxuICAgICAgICAgICAgXCJTdHlsZVwiOiBMQU5HLlFNU0NLRURJVE9SLlNUWUxFLFxuICAgICAgICAgICAgXCJOb25lXCI6IExBTkcuUU1TQ0tFRElUT1IuTk9ORSxcbiAgICAgICAgICAgIFwiU29saWRcIjogTEFORy5RTVNDS0VESVRPUi5TT0xJRCxcbiAgICAgICAgICAgIFwiRG90dGVkXCI6IExBTkcuUU1TQ0tFRElUT1IuRE9UVEVELFxuICAgICAgICAgICAgXCJEYXNoZWRcIjogTEFORy5RTVNDS0VESVRPUi5EQVNIRUQsXG4gICAgICAgICAgICBcIkRvdWJsZVwiOiBMQU5HLlFNU0NLRURJVE9SLkRPVUJMRSxcbiAgICAgICAgICAgIFwiR3Jvb3ZlXCI6IExBTkcuUU1TQ0tFRElUT1IuR1JPT1ZFLFxuICAgICAgICAgICAgXCJSaWRnZVwiOiBMQU5HLlFNU0NLRURJVE9SLlJJREdFLFxuICAgICAgICAgICAgXCJJbnNldFwiOiBMQU5HLlFNU0NLRURJVE9SLklOU0VULFxuICAgICAgICAgICAgXCJPdXRzZXRcIjogTEFORy5RTVNDS0VESVRPUi5PVVRTRVQsXG4gICAgICAgICAgICBcIkNvbG9yXCI6IExBTkcuUU1TQ0tFRElUT1IuQ09MT1IsXG4gICAgICAgICAgICBcIkNvbG9yIHBpY2tlclwiOiBMQU5HLlFNU0NLRURJVE9SLkNPTE9SX1BJQ0tFUixcbiAgICAgICAgICAgIFwiV2lkdGhcIjogTEFORy5RTVNDS0VESVRPUi5XSURUSCxcbiAgICAgICAgICAgIFwiSGVpZ2h0XCI6IExBTkcuUU1TQ0tFRElUT1IuSEVJR0hULFxuICAgICAgICAgICAgXCJCYWNrZ3JvdW5kXCI6IExBTkcuUU1TQ0tFRElUT1IuQkFDS0dST1VORCxcbiAgICAgICAgICAgIFwiRGltZW5zaW9uc1wiOiBMQU5HLlFNU0NLRURJVE9SLkRJTUVOU0lPTixcbiAgICAgICAgICAgIFwiQWxpZ25tZW50XCI6IExBTkcuUU1TQ0tFRElUT1IuQUxJR05NRU5ULFxuICAgICAgICAgICAgXCJBbGlnbiB0YWJsZSB0byB0aGUgbGVmdFwiOiBMQU5HLlFNU0NLRURJVE9SLkFMSUdOX1RBQkxFX0xFRlQsXG4gICAgICAgICAgICBcIkNlbnRlciB0YWJsZVwiOiBMQU5HLlFNU0NLRURJVE9SLkNFTlRFUl9UQUJMRSxcbiAgICAgICAgICAgIFwiQWxpZ24gdGFibGUgdG8gdGhlIHJpZ2h0XCI6IExBTkcuUU1TQ0tFRElUT1IuQUxJR05fVEFCTEVfUklHSFQsXG4gICAgICAgICAgICBcIkNlbGwgcHJvcGVydGllc1wiOiBMQU5HLlFNU0NLRURJVE9SLkNFTExfUFJPUEVSVElFUyxcbiAgICAgICAgICAgIFwiUGFkZGluZ1wiOiBMQU5HLlFNU0NLRURJVE9SLlBBRERJTkcsXG4gICAgICAgICAgICBcIlRhYmxlIGNlbGwgdGV4dCBhbGlnbm1lbnRcIjogTEFORy5RTVNDS0VESVRPUi5UQUJMRV9DRUxMX1RFWFRfQUxJR05NRU5ULFxuICAgICAgICAgICAgXCJBbGlnbiBjZWxsIHRleHQgdG8gdGhlIGxlZnRcIjogTEFORy5RTVNDS0VESVRPUi5BTElHTl9DRUxMX1RFWFRfTEVGVCxcbiAgICAgICAgICAgIFwiQWxpZ24gY2VsbCB0ZXh0IHRvIHRoZSBjZW50ZXJcIjogTEFORy5RTVNDS0VESVRPUi5BTElHTl9DRUxMX1RFWFRfQ0VOVEVSLFxuICAgICAgICAgICAgXCJBbGlnbiBjZWxsIHRleHQgdG8gdGhlIHJpZ2h0XCI6IExBTkcuUU1TQ0tFRElUT1IuQUxJR05fQ0VMTF9URVhUX1JJR0hULFxuICAgICAgICAgICAgXCJKdXN0aWZ5IGNlbGwgdGV4dFwiOiBMQU5HLlFNU0NLRURJVE9SLkpVU1RJRllfQ0VMTF9URVhULFxuICAgICAgICAgICAgXCJBbGlnbiBjZWxsIHRleHQgdG8gdGhlIHRvcFwiOiBMQU5HLlFNU0NLRURJVE9SLkFMSUdOX0NFTExfVEVYVF9UT1AsXG4gICAgICAgICAgICBcIkFsaWduIGNlbGwgdGV4dCB0byB0aGUgbWlkZGxlXCI6IExBTkcuUU1TQ0tFRElUT1IuQUxJR05fQ0VMTF9URVhUX01JRERMRSxcbiAgICAgICAgICAgIFwiQWxpZ24gY2VsbCB0ZXh0IHRvIHRoZSBib3R0b21cIjogTEFORy5RTVNDS0VESVRPUi5BTElHTl9DRUxMX1RFWFRfQk9UVE9NLFxuICAgICAgICAgICAgLy8gT3RoZXJcbiAgICAgICAgICAgIFwiVG9nZ2xlIFRvb2xiYXJcIjogTEFORy5RTVNDS0VESVRPUi5UT0dHTEVfVE9PTEJBUixcbiAgICAgICAgICAgIFwiSW5zZXJ0IHRhYmxlXCI6IExBTkcuUU1TQ0tFRElUT1IuSU5TRVJUX1RBQkxFLFxuICAgICAgICAgICAgXCJUb29sdGlwXCI6IExBTkcuUU1TQ0tFRElUT1IuVE9PTFRJUCxcbiAgICAgICAgICAgIFwiVGltZXN0YW1wXCI6IExBTkcuUU1TQ0tFRElUT1IuVElNRVNUQU1QLFxuICAgICAgICAgICAgXCJBZGQgVGVtcGxhdGVcIjogTEFORy5RTVNDS0VESVRPUi5BRERfVEVNUExBVEUsXG4gICAgICAgICAgICBcIlRlbXBsYXRlc1wiOiBMQU5HLlFNU0NLRURJVE9SLlRFTVBMQVRFUyxcbiAgICAgICAgICAgIFwiQWJvdXQgQ0tFZGl0b3JcIjogTEFORy5RTVNDS0VESVRPUi5BQk9VVF9DS0VESVRPUixcbiAgICAgICAgICAgIFwiQ3JlYXRlIFRhYmxlIG9mIENvbnRlbnRzXCI6IExBTkcuUU1TQ0tFRElUT1IuQ1JFQVRFX1RBQkxFX09GX0NPTlRFTlRTLFxuICAgICAgICB9XG4gICAgfVxufVxuXG5jb25zdCBDS0VkaXRvckJ1aWxkUmVzb3VyY2VGdW5jdGlvbnMgPSB7XG4gICAgQnVpbGRSZXNvdXJjZU5PLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ0tFZGl0b3JCdWlsZFJlc291cmNlRnVuY3Rpb25zOyJdfQ==
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mdW5jdGlvbnMvcmVzb3VyY2UuZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxlQUFlLENBQUMsT0FBWSxJQUFJO0lBQ3JDLE9BQU87UUFDSCxVQUFVLEVBQUU7WUFDUiw4REFBOEQ7WUFDOUQsVUFBVSxFQUFFLFVBQVU7WUFDdEIsY0FBYyxFQUFFLFdBQVc7WUFDM0IsWUFBWSxFQUFFLGVBQWU7WUFDN0IsYUFBYSxFQUFFLGFBQWE7WUFDNUIsWUFBWSxFQUFFLFdBQVc7WUFDekIsS0FBSyxFQUFFLE1BQU07WUFDYixPQUFPLEVBQUUsT0FBTztZQUNoQixhQUFhLEVBQUUsWUFBWTtZQUMzQixNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxLQUFLO1lBQ2IsZUFBZSxFQUFFLFlBQVk7WUFDN0IsUUFBUSxFQUFFLFFBQVE7WUFDbEIscUJBQXFCLEVBQUUseUJBQXlCO1lBQ2hELGdCQUFnQixFQUFFLGlCQUFpQjtZQUNuQywrQkFBK0IsRUFBRSxrQ0FBa0M7WUFDbkUsaUJBQWlCLEVBQUUsVUFBVTtZQUM3QixpREFBaUQsRUFBRSxtREFBbUQ7WUFDdEcscUNBQXFDLEVBQUUsc0RBQXNEO1lBQzdGLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxTQUFTLEVBQUUsVUFBVTtZQUNyQixVQUFVLEVBQUUsVUFBVTtZQUN0QixpQkFBaUIsRUFBRSxnQkFBZ0I7WUFDbkMsa0JBQWtCLEVBQUUsaUNBQWlDO1lBQ3JELFlBQVksRUFBRSxlQUFlO1lBQzdCLGdCQUFnQixFQUFFLHFDQUFxQztZQUN2RCxxQkFBcUIsRUFBRSxzQkFBc0I7WUFDN0MsdUJBQXVCLEVBQUUsMEJBQTBCO1lBQ25ELFlBQVksRUFB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LEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZO1lBQzdDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjO1lBQ2pELDBCQUEwQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCO1lBQ3JFLGFBQWEsRUFBRSxlQUFlO1NBQ2pDO0tBQ0osQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLDhCQUE4QixHQUFHO0lBQ25DLGVBQWU7Q0FDbEIsQ0FBQztBQUVGLGVBQWUsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBCdWlsZFJlc291cmNlTk8oTEFORzogYW55ID0gbnVsbCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGRpY3Rpb25hcnk6IHtcbiAgICAgICAgICAgIC8vIHdvcmRzIG9mIENLNSBwb3NzaWJsZSBPTkxZIHZpYSB0aGUgVHJhbnNpZmV4IG9ubGluZSBzZXJ2aWNlXG4gICAgICAgICAgICBcIiUwIG9mICUxXCI6IFwiJTAgYXYgJTFcIixcbiAgICAgICAgICAgIFwiQWxpZ24gY2VudGVyXCI6IFwiTWlkdHN0aWxsXCIsXG4gICAgICAgICAgICBcIkFsaWduIGxlZnRcIjogXCJWZW5zdHJlanVzdGVyXCIsXG4gICAgICAgICAgICBcIkFsaWduIHJpZ2h0XCI6IFwiSMO4eXJlanVzdGVyXCIsXG4gICAgICAgICAgICBcIkFxdWFtYXJpbmVcIjogXCJBa3ZhbWFyaW5cIixcbiAgICAgICAgICAgIFwiQmlnXCI6IFwiU3RvclwiLFxuICAgICAgICAgICAgXCJCbGFja1wiOiBcIlN2YXJ0XCIsXG4gICAgICAgICAgICBcIkJsb2NrIHF1b3RlXCI6IFwiQmxva2tzaXRhdFwiLFxuICAgICAgICAgICAgXCJCbHVlXCI6IFwiQmzDpVwiLFxuICAgICAgICAgICAgXCJCb2xkXCI6IFwiRmV0XCIsXG4gICAgICAgICAgICBcIkJ1bGxldGVkIExpc3RcIjogXCJQdW5rdGxpc3RlXCIsXG4gICAgICAgICAgICBcIkNhbmNlbFwiOiBcIkF2YnJ5dFwiLFxuICAgICAgICAgICAgXCJDYW5ub3QgdXBsb2FkIGZpbGU6XCI6IFwiS2FuIGlra2UgbGFzdGUgb3BwIGZpbDpcIixcbiAgICAgICAgICAgIFwiQ2VudGVyZWQgaW1hZ2VcIjogXCJNaWR0c3RpbHQgYmlsZGVcIixcbiAgICAgICAgICAgIFwiQ2hhbmdlIGltYWdlIHRleHQgYWx0ZXJuYXRpdmVcIjogXCJFbmRyZSB0ZWtzdGFsdGVybmF0aXYgdGlsIGJpbGRldFwiLFxuICAgICAgICAgICAgXCJDaGFyYWN0ZXJzOiAlIDBcIjogXCJUZWduOiAlMFwiLFxuICAgICAgICAgICAgXCJDb3VsZCBub3QgaW5zZXJ0IGltYWdlIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLlwiOiBcIkt1bm5lIGlra2Ugc2V0dGUgaW5uIGJpbGRlIHDDpSBnamVsZGVuZGUgcG9zaXNqb24uXCIsXG4gICAgICAgICAgICBcIkNvdWxkIG5vdCBvYnRhaW4gcmVzaXplZCBpbWFnZSBVUkwuXCI6IFwiS3VubmUgaWtrZSBmaW5uZSBVUkwgZm9yIGJpbGRlIG1lZCBlbmRyZXQgc3TDuHJyZWxzZS5cIixcbiAgICAgICAgICAgIFwiRGVjcmVhc2UgaW5kZW50XCI6IFwiUmVkdXNlciBpbm5yeWtrXCIsXG4gICAgICAgICAgICBcIkRlZmF1bHRcIjogXCJTdGFuZGFyZFwiLFxuICAgICAgICAgICAgXCJEaW0gZ3JleVwiOiBcIlN2YWsgZ3LDpVwiLFxuICAgICAgICAgICAgXCJEb2N1bWVudCBjb2xvcnNcIjogXCJEb2t1bWVudGZhcmdlclwiLFxuICAgICAgICAgICAgXCJEcm9wZG93biB0b29sYmFyXCI6IFwiVmVya3TDuHlsaW5qZSBmb3IgbmVkdHJla2tzbGlzdGVcIixcbiAgICAgICAgICAgIFwiRWRpdCBibG9ja1wiOiBcIlJlZGlnZXIgYmxva2tcIixcbiAgICAgICAgICAgIFwiRWRpdG9yIHRvb2xiYXJcIjogXCJWZXJrdMO4eWxpbmplIGZvciByZWRpZ2VyaW5nc3Zlcmt0w7h5XCIsXG4gICAgICAgICAgICBcIkVudGVyIGltYWdlIGNhcHRpb25cIjogXCJTa3JpdiBpbm4gYmlsZGV0ZWtzdFwiLFxuICAgICAgICAgICAgXCJGb250IEJhY2tncm91bmQgQ29sb3JcIjogXCJVdGhldmluZ3NmYXJnZSBmb3IgdGVrc3RcIixcbiAgICAgICAgICAgIFwiRm9udCBDb2xvclwiOiBcIlNrcmlmdGZhcmdlXCIsXG4gICAgICAgICAgICBcIkZvbnQgRmFtaWx5XCI6IFwiU2tyaWZ0dHlwZWZhbWlsaWVcIixcbiAgICAgICAgICAgIFwiRm9udCBTaXplXCI6IFwiU2tyaWZ0c3TDuHJyZWxzZVwiLFxuICAgICAgICAgICAgXCJGdWxsIHNpemUgaW1hZ2VcIjogXCJCaWxkZSBpIGZ1bGwgc3TDuHJyZWxzZVwiLFxuICAgICAgICAgICAgXCJHcmVlblwiOiBcIkdyw7hublwiLFxuICAgICAgICAgICAgXCJHcmV5XCI6IFwiR3LDpVwiLFxuICAgICAgICAgICAgXCJIb3Jpem9udGFsIGxpbmVcIjogXCJIb3Jpc29udGFsIGxpbmplXCIsXG4gICAgICAgICAgICBcIkh1Z2VcIjogXCJWZWxkaWcgc3RvclwiLFxuICAgICAgICAgICAgXCJJbWFnZSByZXNpemUgbGlzdFwiOiBcIlwiLFxuICAgICAgICAgICAgXCJJbWFnZSB0b29sYmFyXCI6IFwiVmVya3TDuHlsaW5qZSBmb3IgYmlsZGVcIixcbiAgICAgICAgICAgIFwiSW5jcmVhc2UgaW5kZW50XCI6IFwiw5hrIGlubnJ5a2tcIixcbiAgICAgICAgICAgIFwiSW5zZXJ0IGltYWdlXCI6IFwiU2V0dCBpbm4gYmlsZGVcIixcbiAgICAgICAgICAgIFwiSW5zZXJ0IGltYWdlIG9yIGZpbGVcIjogXCJTZXR0IGlubiBiaWxkZSBlbGxlciBmaWxcIixcbiAgICAgICAgICAgIFwiSW5zZXJ0IHBhcmFncmFwaCBhZnRlciBibG9ja1wiOiBcIlwiLFxuICAgICAgICAgICAgXCJJbnNlcnQgcGFyYWdyYXBoIGJlZm9yZSBibG9ja1wiOiBcIlwiLFxuICAgICAgICAgICAgXCJJbnNlcnRpbmcgaW1hZ2UgZmFpbGVkXCI6IFwiSW5uc2V0dGluZyBhdiBiaWxkZSBtaXNseWt0ZXNcIixcbiAgICAgICAgICAgIFwiSXRhbGljXCI6IFwiS3Vyc2l2XCIsXG4gICAgICAgICAgICBcIkp1c3RpZnlcIjogXCJCbG9ra2p1c3RlclwiLFxuICAgICAgICAgICAgXCJMZWZ0IGFsaWduZWQgaW1hZ2VcIjogXCJWZW5zdHJlanVzdGVydCBiaWxkZVwiLFxuICAgICAgICAgICAgXCJMaWdodCBibHVlXCI6IFwiTHlzZWJsw6VcIixcbiAgICAgICAgICAgIFwiTGlnaHQgZ3JlZW5cIjogXCJMeXNlZ3LDuG5uXCIsXG4gICAgICAgICAgICBcIkxpZ2h0IGdyZXlcIjogXCJMeXNlZ3LDpVwiLFxuICAgICAgICAgICAgXCJOZXh0XCI6IFwiTmVzdGVcIixcbiAgICAgICAgICAgIFwiTnVtYmVyZWQgTGlzdFwiOiBcIk51bW1lcmVydCBsaXN0ZVwiLFxuICAgICAgICAgICAgXCJPcmFuZ2VcIjogXCJPcmFuc2plXCIsXG4gICAgICAgICAgICBcIk9yaWdpbmFsXCI6IFwiT3BwcmlubmVsaWdcIixcbiAgICAgICAgICAgIFwiUGFnZSBicmVha1wiOiBcIlNpZGVza2lmdCBcIixcbiAgICAgICAgICAgIFwiUHJldmlvdXNcIjogXCJGb3JyaWdlXCIsXG4gICAgICAgICAgICBcIlB1cnBsZVwiOiBcIkxpbGxhXCIsXG4gICAgICAgICAgICBcIlJlZFwiOiBcIlLDuGRcIixcbiAgICAgICAgICAgIFwiUmVkb1wiOiBcIkdqw7hyIG9tXCIsXG4gICAgICAgICAgICBcIlJlbW92ZSBGb3JtYXRcIjogXCJGamVybiBmb3JtYXRlcmluZ1wiLFxuICAgICAgICAgICAgXCJSZW1vdmUgY29sb3JcIjogXCJGamVybiBmYXJnZVwiLFxuICAgICAgICAgICAgXCJSZXNpemUgaW1hZ2VcIjogXCJcIixcbiAgICAgICAgICAgIFwiUmVzaXplIGltYWdlIHRvICUwXCI6IFwiXCIsXG4gICAgICAgICAgICBcIlJlc2l6ZSBpbWFnZSB0byB0aGUgb3JpZ2luYWwgc2l6ZVwiOiBcIlwiLFxuICAgICAgICAgICAgXCJSaWNoIFRleHQgRWRpdG9yXCI6IFwiVGVrc3RyZWRpZ2VyaW5nc3Zlcmt0w7h5IGZvciByaWsgdGVrc3RcIixcbiAgICAgICAgICAgIFwiUmljaCBUZXh0IEVkaXRvciwgJTBcIjogXCJUZWtzdHJlZGlnZXJpbmdzdmVya3TDuHkgZm9yIHJpayB0ZWtzdCwgJTBcIixcbiAgICAgICAgICAgIFwiUmlnaHQgYWxpZ25lZCBpbWFnZVwiOiBcIkjDuHlyZWp1c3RlcnQgYmlsZGVcIixcbiAgICAgICAgICAgIFwiU2F2ZVwiOiBcIkxhZ3JlXCIsXG4gICAgICAgICAgICBcIlNlbGVjdCBhbGxcIjogXCJWZWxnIGFsdCBcIixcbiAgICAgICAgICAgIFwiU2VsZWN0aW5nIHJlc2l6ZWQgaW1hZ2UgZmFpbGVkXCI6IFwiS3VubmUgaWtrZSB2ZWxnZSBiaWxkZSBtZWQgZW5kcmV0IHN0w7hycmVsc2VcIixcbiAgICAgICAgICAgIFwiU2hvdyBtb3JlIGl0ZW1zXCI6IFwiVmlzIGZsZXJlIGVsZW1lbnRlclwiLFxuICAgICAgICAgICAgXCJTaWRlIGltYWdlXCI6IFwiU2lkZXN0aWx0IGJpbGRlXCIsXG4gICAgICAgICAgICBcIlNtYWxsXCI6IFwiTGl0ZW5cIixcbiAgICAgICAgICAgIFwiU291cmNlXCI6IFwiS2lsZGVcIixcbiAgICAgICAgICAgIFwiU3RyaWtldGhyb3VnaFwiOiBcIkdqZW5ub21zdHJla2V0XCIsXG4gICAgICAgICAgICBcIlN1YnNjcmlwdFwiOiBcIlNlbmtldCBza3JpZnRcIixcbiAgICAgICAgICAgIFwiU3VwZXJzY3JpcHRcIjogXCJIZXZldCBza3JpZnRcIixcbiAgICAgICAgICAgIFwiVGV4dCBhbGlnbm1lbnRcIjogXCJUZWtzdGp1c3RlcmluZ1wiLFxuICAgICAgICAgICAgXCJUZXh0IGFsaWdubWVudCB0b29sYmFyXCI6IFwiVmVya3TDuHlsaW5qZSBmb3IgdGVrc3RqdXN0ZXJpbmdcIixcbiAgICAgICAgICAgIFwiVGV4dCBhbHRlcm5hdGl2ZVwiOiBcIlRla3N0YWx0ZXJuYXRpdlwiLFxuICAgICAgICAgICAgXCJUaW55XCI6IFwiVmVsZGlnIGxpdGVuXCIsXG4gICAgICAgICAgICBcIlR1cnF1b2lzZVwiOiBcIlR1cmtpc1wiLFxuICAgICAgICAgICAgXCJVbmRlcmxpbmVcIjogXCJVbmRlcnN0cmVrZXRcIixcbiAgICAgICAgICAgIFwiVW5kb1wiOiBcIkFuZ3JlXCIsXG4gICAgICAgICAgICBcIlVwbG9hZCBmYWlsZWRcIjogXCJLdW5uZSBpa2tlIGxhc3RlIG9wcFwiLFxuICAgICAgICAgICAgXCJVcGxvYWQgaW4gcHJvZ3Jlc3NcIjogXCJMYXN0ZXIgb3BwIGZpbFwiLFxuICAgICAgICAgICAgXCJXaGl0ZVwiOiBcIkh2aXRcIixcbiAgICAgICAgICAgIFwiV2lkZ2V0IHRvb2xiYXJcIjogXCJXaWRnZXQgdmVya3TDuHlsaW5qZVwiLFxuICAgICAgICAgICAgXCJXb3JkczogJTBcIjogXCJPcmQ6ICUwXCIsXG4gICAgICAgICAgICBcIlllbGxvd1wiOiBcIkd1bFwiLFxuICAgICAgICAgICAgXCJpbWFnZSB3aWRnZXRcIjogXCJCaWxkZS13aWRnZXRcIixcbiAgICAgICAgICAgIC8vIGFkZGl0aW5hbCBjdXN0b20gd29yZHNcbiAgICAgICAgICAgIFwiTWF4aW1pemVcIjogTEFORy5RTVNDS0VESVRPUi5NQVhJTUlaRSxcbiAgICAgICAgICAgIFwiTWluaW1pemVcIjogTEFORy5RTVNDS0VESVRPUi5NSU5JTUlaRSxcbiAgICAgICAgICAgIFwiUGFyYWdyYXBoXCI6IExBTkcuUU1TQ0tFRElUT1IuUEFSQUdSQVBILFxuICAgICAgICAgICAgXCJIZWFkaW5nXCI6IExBTkcuUU1TQ0tFRElUT1IuSEVBRElORyxcbiAgICAgICAgICAgIFwiSGVhZGluZyAlMFwiOiBMQU5HLlFNU0NLRURJVE9SLkhFQURJTkdfTlVNQkVSLFxuICAgICAgICAgICAgXCJDaG9vc2UgaGVhZGluZ1wiOiBMQU5HLlFNU0NLRURJVE9SLkNIT09TRV9IRUFESU5HLFxuICAgICAgICAgICAgXCJTcGVjaWFsIGNoYXJhY3RlcnNcIjogTEFORy5RTVNDS0VESVRPUi5TUEVDSUFMX0NIQVJBQ1RFUlMsXG4gICAgICAgICAgICBcIkJ1c2luZXNzIFByb2Nlc3MgTW9kZWwgYW5kIE5vdGF0aW9uXCI6IExBTkcuUU1TQ0tFRElUT1IuQlBNTixcbiAgICAgICAgICAgIC8vIEltYWdlXG4gICAgICAgICAgICBcIkxpbmsgaW1hZ2VcIjogTEFORy5RTVNDS0VESVRPUi5MSU5LX0lNQUdFLFxuICAgICAgICAgICAgXCJFZGl0IGxpbmtcIjogTEFORy5RTVNDS0VESVRPUi5FRElUX0xJTkssXG4gICAgICAgICAgICBcIlRoaXMgbGluayBoYXMgbm8gVVJMXCI6IExBTkcuUU1TQ0tFRElUT1IuVEhJU19MSU5LX0hBU19OT19VUkwsXG4gICAgICAgICAgICBcIkltYWdlIE1hcFwiOiBMQU5HLlFNU0NLRURJVE9SLklNQUdFX01BUCxcbiAgICAgICAgICAgIC8vIE1lZGlhXG4gICAgICAgICAgICBcIkluc2VydCBtZWRpYVwiOiBMQU5HLlFNU0NLRURJVE9SLklOU0VSVF9NRURJQSxcbiAgICAgICAgICAgIFwiUmVzaXplIG1lZGlhXCI6IExBTkcuUU1TQ0tFRElUT1IuUkVTSVpFX01FRElBLFxuICAgICAgICAgICAgXCJGdWxsIHNpemUgbWVkaWFcIjogTEFORy5RTVNDS0VESVRPUi5GVUxMX1NJWkVfTUVESUEsXG4gICAgICAgICAgICBcIlNpZGUgbWVkaWFcIjogTEFORy5RTVNDS0VESVRPUi5TSURFX01FRElBLFxuICAgICAgICAgICAgXCJMZWZ0IGFsaWduZWQgbWVkaWFcIjogTEFORy5RTVNDS0VESVRPUi5MRUZUX0FMSUdORURfTUVESUEsXG4gICAgICAgICAgICBcIkNlbnRlcmVkIG1lZGlhXCI6IExBTkcuUU1TQ0tFRElUT1IuQ0VOVEVSRURfTUVESUEsXG4gICAgICAgICAgICBcIlJpZ2h0IGFsaWduZWQgbWVkaWFcIjogTEFORy5RTVNDS0VESVRPUi5SSUdIVF9BTElHTkVEX01FRElBLFxuICAgICAgICAgICAgXCJQYXN0ZSB0aGUgbWVkaWEgVVJMIGluIHRoZSBpbnB1dC5cIjogTEFORy5RTVNDS0VESVRPUi5QQVNURV9USEVfTUVESUFfVVJMX0lOX1RIRV9JTlBVVCxcbiAgICAgICAgICAgIFwiVGlwOiBQYXN0ZSB0aGUgVVJMIGludG8gdGhlIGNvbnRlbnQgdG8gZW1iZWQgZmFzdGVyLlwiOiBMQU5HLlFNU0NLRURJVE9SLk1FRElBX1RJUCxcbiAgICAgICAgICAgIC8vIFZpZGVvXG4gICAgICAgICAgICBcIkJyb3dzZSBWaWRlb1wiOiBMQU5HLlFNU0NLRURJVE9SLkJST1dTRV9WSURFTyxcbiAgICAgICAgICAgIFwiRnVsbCBzaXplIHZpZGVvXCI6IExBTkcuUU1TQ0tFRElUT1IuRlVMTF9TSVpFX1ZJREVPLFxuICAgICAgICAgICAgXCJMZWZ0IGFsaWduZWQgdmlkZW9cIjogTEFORy5RTVNDS0VESVRPUi5MRUZUX0FMSUdORURfVklERU8sXG4gICAgICAgICAgICBcIkNlbnRlcmVkIHZpZGVvXCI6IExBTkcuUU1TQ0tFRElUT1IuQ0VOVEVSRURfVklERU8sXG4gICAgICAgICAgICBcIlJpZ2h0IGFsaWduZWQgdmlkZW9cIjogTEFORy5RTVNDS0VESVRPUi5SSUdIVF9BTElHTkVEX1ZJREVPLFxuICAgICAgICAgICAgLy8gTGlua1xuICAgICAgICAgICAgXCJMaW5rXCI6IExBTkcuUU1TQ0tFRElUT1IuTElOSyxcbiAgICAgICAgICAgIC8vIEFuY2hvclxuICAgICAgICAgICAgXCJBbmNob3JcIjogTEFORy5RTVNDS0VESVRPUi5BTkNIT1IsXG4gICAgICAgICAgICBcIkFuY2hvciBuYW1lXCI6IExBTkcuUU1TQ0tFRElUT1IuQU5DSE9SX05BTUUsXG4gICAgICAgICAgICAvLyBGaW5kIGFuZCByZXBsYWNlXG4gICAgICAgICAgICBcIkZpbmQgYW5kIHJlcGxhY2VcIjogTEFORy5RTVNDS0VESVRPUi5GSU5EX0FORF9SRVBMQUNFLFxuICAgICAgICAgICAgXCJGaW5kIGluIHRleHTigKZcIjogTEFORy5RTVNDS0VESVRPUi5GSU5EX0lOX1RFWFQsXG4gICAgICAgICAgICBcIk1hdGNoIGNhc2VcIjogTEFORy5RTVNDS0VESVRPUi5NQVRDSF9DQVNFLFxuICAgICAgICAgICAgXCJXaG9sZSB3b3JkcyBvbmx5XCI6IExBTkcuUU1TQ0tFRElUT1IuV0hPTEVfV09SRFNfT05MWSxcbiAgICAgICAgICAgIFwiRmluZFwiOiBMQU5HLlFNU0NLRURJVE9SLkZJTkQsXG4gICAgICAgICAgICBcIlJlcGxhY2Ugd2l0aOKAplwiOiBMQU5HLlFNU0NLRURJVE9SLlJFUExBQ0VfV0lUSCxcbiAgICAgICAgICAgIFwiUmVwbGFjZSBhbGxcIjogTEFORy5RTVNDS0VESVRPUi5SRVBMQUNFX0FMTCxcbiAgICAgICAgICAgIFwiUmVwbGFjZVwiOiBMQU5HLlFNU0NLRURJVE9SLlJFUExBQ0UsXG4gICAgICAgICAgICAvLyBUYWJsZVxuICAgICAgICAgICAgXCJDb2x1bW5cIjogTEFORy5RTVNDS0VESVRPUi5DT0xVTU4sXG4gICAgICAgICAgICBcIkhlYWRlciBjb2x1bW5cIjogTEFORy5RTVNDS0VESVRPUi5IRUFERVJfQ09MVU1OLFxuICAgICAgICAgICAgXCJJbnNlcnQgY29sdW1uIGxlZnRcIjogTEFORy5RTVNDS0VESVRPUi5JTlNFUlRfQ09MVU1OX0xFRlQsXG4gICAgICAgICAgICBcIkluc2VydCBjb2x1bW4gcmlnaHRcIjogTEFORy5RTVNDS0VESVRPUi5JTlNFUlRfQ09MVU1OX1JJR0hULFxuICAgICAgICAgICAgXCJEZWxldGUgY29sdW1uXCI6IExBTkcuUU1TQ0tFRElUT1IuREVMRVRFX0NPTFVNTixcbiAgICAgICAgICAgIFwiU2VsZWN0IGNvbHVtblwiOiBMQU5HLlFNU0NLRURJVE9SLlNFTEVDVF9DT0xVTU4sXG4gICAgICAgICAgICBcIlJvd1wiOiBMQU5HLlFNU0NLRURJVE9SLlJPVyxcbiAgICAgICAgICAgIFwiSGVhZGVyIHJvd1wiOiBMQU5HLlFNU0NLRURJVE9SLkhFQURFUl9ST1csXG4gICAgICAgICAgICBcIkluc2VydCByb3cgYWJvdmVcIjogTEFORy5RTVNDS0VESVRPUi5JTlNFUlRfUk9XX0FCT1ZFLFxuICAgICAgICAgICAgXCJJbnNlcnQgcm93IGJlbG93XCI6IExBTkcuUU1TQ0tFRElUT1IuSU5TRVJUX1JPV19CRUxPVyxcbiAgICAgICAgICAgIFwiRGVsZXRlIHJvd1wiOiBMQU5HLlFNU0NLRURJVE9SLkRFTEVURV9ST1csXG4gICAgICAgICAgICBcIlNlbGVjdCByb3dcIjogTEFORy5RTVNDS0VESVRPUi5TRUxFQ1RfUk9XLFxuICAgICAgICAgICAgXCJNZXJnZSBjZWxsc1wiOiBMQU5HLlFNU0NLRURJVE9SLk1FUkdFX0NFTExTLFxuICAgICAgICAgICAgXCJNZXJnZSBjZWxsIHVwXCI6IExBTkcuUU1TQ0tFRElUT1IuTUVSR0VfQ0VMTF9VUCxcbiAgICAgICAgICAgIFwiTWVyZ2UgY2VsbCByaWdodFwiOiBMQU5HLlFNU0NLRURJVE9SLk1FUkdFX0NFTExfUklHSFQsXG4gICAgICAgICAgICBcIk1lcmdlIGNlbGwgZG93blwiOiBMQU5HLlFNU0NLRURJVE9SLk1FUkdFX0NFTExfRE9XTixcbiAgICAgICAgICAgIFwiTWVyZ2UgY2VsbCBsZWZ0XCI6IExBTkcuUU1TQ0tFRElUT1IuTUVSR0VfQ0VMTF9MRUZULFxuICAgICAgICAgICAgXCJTcGxpdCBjZWxsIHZlcnRpY2FsbHlcIjogTEFORy5RTVNDS0VESVRPUi5TUExJVF9DRUxMX1ZFUlRJQ0FMTFksXG4gICAgICAgICAgICBcIlNwbGl0IGNlbGwgaG9yaXpvbnRhbGx5XCI6IExBTkcuUU1TQ0tFRElUT1IuU1BMSVRfQ0VMTF9IT1JJWk9OVEFMTFksXG4gICAgICAgICAgICBcIlRhYmxlIHByb3BlcnRpZXNcIjogTEFORy5RTVNDS0VESVRPUi5UQUJMRV9QUk9QRVJUSUVTLFxuICAgICAgICAgICAgXCJCb3JkZXJcIjogTEFORy5RTVNDS0VESVRPUi5CT1JERVIsXG4gICAgICAgICAgICBcIlN0eWxlXCI6IExBTkcuUU1TQ0tFRElUT1IuU1RZTEUsXG4gICAgICAgICAgICBcIk5vbmVcIjogTEFORy5RTVNDS0VESVRPUi5OT05FLFxuICAgICAgICAgICAgXCJTb2xpZFwiOiBMQU5HLlFNU0NLRURJVE9SLlNPTElELFxuICAgICAgICAgICAgXCJEb3R0ZWRcIjogTEFORy5RTVNDS0VESVRPUi5ET1RURUQsXG4gICAgICAgICAgICBcIkRhc2hlZFwiOiBMQU5HLlFNU0NLRURJVE9SLkRBU0hFRCxcbiAgICAgICAgICAgIFwiRG91YmxlXCI6IExBTkcuUU1TQ0tFRElUT1IuRE9VQkxFLFxuICAgICAgICAgICAgXCJHcm9vdmVcIjogTEFORy5RTVNDS0VESVRPUi5HUk9PVkUsXG4gICAgICAgICAgICBcIlJpZGdlXCI6IExBTkcuUU1TQ0tFRElUT1IuUklER0UsXG4gICAgICAgICAgICBcIkluc2V0XCI6IExBTkcuUU1TQ0tFRElUT1IuSU5TRVQsXG4gICAgICAgICAgICBcIk91dHNldFwiOiBMQU5HLlFNU0NLRURJVE9SLk9VVFNFVCxcbiAgICAgICAgICAgIFwiQ29sb3JcIjogTEFORy5RTVNDS0VESVRPUi5DT0xPUixcbiAgICAgICAgICAgIFwiQ29sb3IgcGlja2VyXCI6IExBTkcuUU1TQ0tFRElUT1IuQ09MT1JfUElDS0VSLFxuICAgICAgICAgICAgXCJXaWR0aFwiOiBMQU5HLlFNU0NLRURJVE9SLldJRFRILFxuICAgICAgICAgICAgXCJIZWlnaHRcIjogTEFORy5RTVNDS0VESVRPUi5IRUlHSFQsXG4gICAgICAgICAgICBcIkJhY2tncm91bmRcIjogTEFORy5RTVNDS0VESVRPUi5CQUNLR1JPVU5ELFxuICAgICAgICAgICAgXCJEaW1lbnNpb25zXCI6IExBTkcuUU1TQ0tFRElUT1IuRElNRU5TSU9OLFxuICAgICAgICAgICAgXCJBbGlnbm1lbnRcIjogTEFORy5RTVNDS0VESVRPUi5BTElHTk1FTlQsXG4gICAgICAgICAgICBcIkFsaWduIHRhYmxlIHRvIHRoZSBsZWZ0XCI6IExBTkcuUU1TQ0tFRElUT1IuQUxJR05fVEFCTEVfTEVGVCxcbiAgICAgICAgICAgIFwiQ2VudGVyIHRhYmxlXCI6IExBTkcuUU1TQ0tFRElUT1IuQ0VOVEVSX1RBQkxFLFxuICAgICAgICAgICAgXCJBbGlnbiB0YWJsZSB0byB0aGUgcmlnaHRcIjogTEFORy5RTVNDS0VESVRPUi5BTElHTl9UQUJMRV9SSUdIVCxcbiAgICAgICAgICAgIFwiQ2VsbCBwcm9wZXJ0aWVzXCI6IExBTkcuUU1TQ0tFRElUT1IuQ0VMTF9QUk9QRVJUSUVTLFxuICAgICAgICAgICAgXCJQYWRkaW5nXCI6IExBTkcuUU1TQ0tFRElUT1IuUEFERElORyxcbiAgICAgICAgICAgIFwiVGFibGUgY2VsbCB0ZXh0IGFsaWdubWVudFwiOiBMQU5HLlFNU0NLRURJVE9SLlRBQkxFX0NFTExfVEVYVF9BTElHTk1FTlQsXG4gICAgICAgICAgICBcIkFsaWduIGNlbGwgdGV4dCB0byB0aGUgbGVmdFwiOiBMQU5HLlFNU0NLRURJVE9SLkFMSUdOX0NFTExfVEVYVF9MRUZULFxuICAgICAgICAgICAgXCJBbGlnbiBjZWxsIHRleHQgdG8gdGhlIGNlbnRlclwiOiBMQU5HLlFNU0NLRURJVE9SLkFMSUdOX0NFTExfVEVYVF9DRU5URVIsXG4gICAgICAgICAgICBcIkFsaWduIGNlbGwgdGV4dCB0byB0aGUgcmlnaHRcIjogTEFORy5RTVNDS0VESVRPUi5BTElHTl9DRUxMX1RFWFRfUklHSFQsXG4gICAgICAgICAgICBcIkp1c3RpZnkgY2VsbCB0ZXh0XCI6IExBTkcuUU1TQ0tFRElUT1IuSlVTVElGWV9DRUxMX1RFWFQsXG4gICAgICAgICAgICBcIkFsaWduIGNlbGwgdGV4dCB0byB0aGUgdG9wXCI6IExBTkcuUU1TQ0tFRElUT1IuQUxJR05fQ0VMTF9URVhUX1RPUCxcbiAgICAgICAgICAgIFwiQWxpZ24gY2VsbCB0ZXh0IHRvIHRoZSBtaWRkbGVcIjogTEFORy5RTVNDS0VESVRPUi5BTElHTl9DRUxMX1RFWFRfTUlERExFLFxuICAgICAgICAgICAgXCJBbGlnbiBjZWxsIHRleHQgdG8gdGhlIGJvdHRvbVwiOiBMQU5HLlFNU0NLRURJVE9SLkFMSUdOX0NFTExfVEVYVF9CT1RUT00sXG4gICAgICAgICAgICAvLyBPdGhlclxuICAgICAgICAgICAgXCJUb2dnbGUgVG9vbGJhclwiOiBMQU5HLlFNU0NLRURJVE9SLlRPR0dMRV9UT09MQkFSLFxuICAgICAgICAgICAgXCJJbnNlcnQgdGFibGVcIjogTEFORy5RTVNDS0VESVRPUi5JTlNFUlRfVEFCTEUsXG4gICAgICAgICAgICBcIlRvb2x0aXBcIjogTEFORy5RTVNDS0VESVRPUi5UT09MVElQLFxuICAgICAgICAgICAgXCJUaW1lc3RhbXBcIjogTEFORy5RTVNDS0VESVRPUi5USU1FU1RBTVAsXG4gICAgICAgICAgICBcIkFkZCBUZW1wbGF0ZVwiOiBMQU5HLlFNU0NLRURJVE9SLkFERF9URU1QTEFURSxcbiAgICAgICAgICAgIFwiVGVtcGxhdGVzXCI6IExBTkcuUU1TQ0tFRElUT1IuVEVNUExBVEVTLFxuICAgICAgICAgICAgXCJBYm91dCBDS0VkaXRvclwiOiBMQU5HLlFNU0NLRURJVE9SLkFCT1VUX0NLRURJVE9SLFxuICAgICAgICAgICAgXCJDcmVhdGUgVGFibGUgb2YgQ29udGVudHNcIjogTEFORy5RTVNDS0VESVRPUi5DUkVBVEVfVEFCTEVfT0ZfQ09OVEVOVFMsXG4gICAgICAgICAgICBcIkVkaXQgYW5jaG9yXCI6IFwiUmVkaWdlciBhbmtlclwiXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmNvbnN0IENLRWRpdG9yQnVpbGRSZXNvdXJjZUZ1bmN0aW9ucyA9IHtcbiAgICBCdWlsZFJlc291cmNlTk8sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDS0VkaXRvckJ1aWxkUmVzb3VyY2VGdW5jdGlvbnM7Il19
@@ -80,10 +80,11 @@ export class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
80
80
  this.naturalImageWidth = this.imageMapData.imageWidth;
81
81
  this.initFormControl();
82
82
  this.initSvgIcons(iconRegistry, sanitizer);
83
+ this.selectedTarget = data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same;
83
84
  }
84
85
  initDefaultValues() {
85
86
  this.selectedLinkType = LinkType.url;
86
- this.selectedTarget = TargetTypeName.new;
87
+ this.selectedTarget = this.data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same;
87
88
  this.selectedProtocol = ProtocolTypeName.http;
88
89
  this.url = '';
89
90
  this.processedUrl = '';
@@ -324,7 +325,7 @@ export class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
324
325
  this.myImageMap.areas[this.currentAreaId].aalt = this.anchorText;
325
326
  }
326
327
  else {
327
- this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || TargetTypeName.new;
328
+ this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || (this.data.defaultTargetNewWindow ? TargetTypeName.new : TargetTypeName.same);
328
329
  this.myImageMap.areas[this.currentAreaId].aalt = this.advisoryTitle;
329
330
  }
330
331
  this.myImageMap.areas[this.currentAreaId].ahref = ahref;
@@ -697,4 +698,4 @@ QMSCKEditorImageMapComponent.propDecorators = {
697
698
  myImageRef: [{ type: ViewChild, args: ['myImage',] }],
698
699
  myStatusRef: [{ type: ViewChild, args: ['myStatus',] }]
699
700
  };
700
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAvcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFVLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRSxPQUFP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RyxHQUFHLG1CQUFtQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzFDLE1BQU07WUFDVixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNkLEdBQUcsR0FBRyxnQkFBZ0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNO1lBQ1YsS0FBSyxRQUFRLENBQUMsTUFBTTtnQkFDaEIsR0FBRyxHQUFHLFdBQVcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMzQixNQUFNO1lBQ1YsS0FBSyxRQUFRLENBQUMscUJBQXFCO2dCQUMvQixHQUFHLEdBQUcsMkJBQTJCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUVyRDtnQkFDSSxNQUFNO1NBQ2I7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7OztZQXJ0QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLHlrVkFBcUQ7O2FBRXhEOzs7WUF0RStGLFNBQVM7WUFBOUUsaUJBQWlCO1lBQ25DLFNBQVM7WUFFVCx1QkFBdUI7WUFZdkIsc0JBQXNCO1lBZFgsWUFBWTtZQW9CdkIsd0JBQXdCO1lBaEJ4QixtQkFBbUIsdUJBbUluQixNQUFNLFNBQUMsZUFBZTtZQTdIdEIsZUFBZTtZQURmLFlBQVk7WUFnQlosc0JBQXNCO1lBRnRCLHFDQUFxQzs7O3VCQWdEekMsS0FBSzt5QkF5Q0wsU0FBUyxTQUFDLFNBQVM7MEJBR25CLFNBQVMsU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCwgUmVuZGVyZXIyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUU1TQ0tFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcW1zLWNrZWRpdG9yLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFFNU0NLRWRpdG9ySW1hZ2VNYXAgfSBmcm9tICcuLi8uLi9tb2RlbHMvcW1zLWNrZWRpdG9yLWltYWdlbWFwLm1vZGVsJztcbmltcG9ydCB7IExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL2xpbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IFByb3RvY29sVHlwZU5hbWUgfSBmcm9tICcuLi8uLi9jb21tb24vZW51bXMvcHJvdG9jb2wtdHlwZS5lbnVtJztcbmltcG9ydCB7IFRhcmdldFR5cGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL3RhcmdldC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSW1hZ2VNb2RlTmFtZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9pbWFnZS1tb2RlLmVudW0nO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEljb25TdmcgfSBmcm9tICcuLi8uLi9jb21tb24vY29uc3RhbnRzL2ljb25TdmcuY29uc3RhbnRzJztcbmltcG9ydCB7IFFNU0NLRWRpdG9ySW1hZ2VNYXBMaWIgfSBmcm9tICcuL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5saWInO1xuaW1wb3J0IFFNU0NLRWRpdG9yUGFyYW10ZXIgZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItcGFyYW1ldGVyLm1vZGVsJztcbmltcG9ydCB7IFFNU0NLRWRpdG9yTGlua1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItbGluay5zZXJ2aWNlJztcbmltcG9ydCB7IExpbmtBdHRhY2htZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vcW1zLWNrZWRpdG9yLWxpbmsvYXR0YWNobWVudHMvbGluay1hdHRhY2htZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRTVNDS0VkaXRvckxpbmtBbmNob3JEb2N1bWVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWxpbmstYW5jaG9yLWRvY3VtZW50Lm1vZGVsJztcbmltcG9ydCB7IExpbmtBbmNob3IgfSBmcm9tICcuLi8uLi9jb21tb24vZW51bXMvbGluay1hbmNob3IuZW51bSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaW52YWxpZFVSTFZhbGlkYXRvciB9IGZyb20gJy4vcW1zLWNrZWRpdG9yLWltYWdlbWFwLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBRTVNDS0VkaXRvckNvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItY29tbW9uLnNlcnZpY2VzJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vZGF0YS10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHJlZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvdHJlZSc7XG5pbXBvcnQgeyBRTVNTZWxlY3RQcm9jZXNzRG9jdW1lbnRHbG9iYWxTZXJ2aWNlLCBTZWxlY3RQcm9jZXNzRG9jdW1lbnRQb3B1cENvbXBvbmVudCwgU2VsZWN0UHJvY2Vzc0RvY3VtZW50UG9wdXBEYXRhIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9zZWxlY3QtcHJvY2Vzcy1kb2N1bWVudCc7XG5pbXBvcnQgeyBNb2R1bGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vbW9kdWxlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBRTVNDS0VkaXRvclRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLXRyZWUuc2VydmljZSc7XG5pbXBvcnQgZ3VpZEhlbHBlciBmcm9tICcuLi8uLi9jb21tb24vaGVscGVyL2d1aWRIZWxwZXInO1xuaW1wb3J0IHsgRG9jdW1lbnROb2RlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL2RvY3VtZW50LW5vZGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL2ZvcmtKb2luJztcbmltcG9ydCB7IElSZWxhdGVkIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9yZWxhdGVkL21vZGVsL3JlbGF0ZWQtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBQcm9jZXNzQ2xhc3NpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9wcm9jZXNzLWNsYXNzaWZpY2F0aW9uLmVudW0nO1xuaW1wb3J0IHsgR2V0U2VhcmNoUHJvY2Vzc0RvY3VtZW50T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dldC1zZWFyY2gtcHJvY2Vzcy1kb2N1bWVudC1vcHRpb24nO1xuXG5pbnRlcmZhY2UgSUxpbmtUeXBlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIElUYXJnZXQge1xuICAgIGlkOiBUYXJnZXRUeXBlTmFtZTtcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJUHJvdG9jb2wge1xuICAgIGlkOiBQcm90b2NvbFR5cGVOYW1lO1xuICAgIG5hbWU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIElNb2RlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBpY29uOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJWm9vbVR5cGUge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSUFuY2hvciB7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICB2aWV3VmFsdWU6IHN0cmluZztcbiAgICBhbmNob3JWYWx1ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1xbXNjay1pbWFnZW1hcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudCBleHRlbmRzIFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgQElucHV0KCkgY2tFZGl0b3I6IGFueTtcbiAgICBMQU5HOiBhbnk7XG4gICAgaW1hZ2VNYXBGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBpbWFnZU1hcERhdGE6IFFNU0NLRWRpdG9ySW1hZ2VNYXA7XG4gICAgbGlua1R5cGVzOiBJTGlua1R5cGVbXSA9IFtdO1xuICAgIHRhcmdldHM6IElUYXJnZXRbXSA9IFtdO1xuICAgIHByb3RvY29sczogSVByb3RvY29sW10gPSBbXTtcbiAgICBtb2RlczogSU1vZGVbXSA9IFtdO1xuICAgIHpvb21UeXBlczogSVpvb21UeXBlW10gPSBbXTtcbiAgICB1cmwgPSAnJztcbiAgICBwcm9jZXNzZWRVcmwgPSAnJztcbiAgICBzZWxlY3RlZE1vZGU6IEltYWdlTW9kZU5hbWUgPSBJbWFnZU1vZGVOYW1lLlJlY3RhbmdsZTtcbiAgICBzZWxlY3RlZExpbmtUeXBlOiBMaW5rVHlwZSA9IExpbmtUeXBlLnVybDtcbiAgICBzZWxlY3RlZFRhcmdldDogVGFyZ2V0VHlwZU5hbWUgPSBUYXJnZXRUeXBlTmFtZS5uZXc7XG4gICAgc2VsZWN0ZWRQcm90b2NvbDogUHJvdG9jb2xUeXBlTmFtZSB8IHN0cmluZyA9IFByb3RvY29sVHlwZU5hbWUuaHR0cDtcbiAgICBzZWxlY3RlZFpvb20gPSAxLjA7XG5cbiAgICBwcm90b2NvbFJlZ2V4OiBSZWdFeHAgPSAvXihodHRwfGh0dHBzfGZ0cHxuZXdzKTpcXC9cXC8oPz0uKS9pO1xuICAgIGphdmFzY3JpcHRMaW5rUmVnZXg6IFJlZ0V4cCA9IC9qYXZhc2NyaXB0XFw6L2k7XG5cbiAgICBkb2N1bWVudElkID0gMDtcbiAgICAvL2FuY2hvclRpdGxlID0gJyc7XG4gICAgYW5jaG9yVGV4dCA9ICcnO1xuICAgIC8vYW5jaG9yQnlOYW1lID0gJyc7XG4gICAgYWR2aXNvcnlUaXRsZSA9ICcnO1xuXG4gICAgaXNJbWFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgICBpc1VybFByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICBuYXR1cmFsSW1hZ2VXaWR0aCA9IDA7XG4gICAgbmF0dXJhbEltYWdlSGVpZ2h0ID0gMDtcbiAgICBjdXJyZW50QXJlYUlkID0gLTE7XG4gICAgbXlJbWFnZU1hcDogUU1TQ0tFZGl0b3JJbWFnZU1hcExpYjtcbiAgICBzaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xuXG4gICAgYW5jaG9yRG9jdW1lbnRzOiBRTVNDS0VkaXRvckxpbmtBbmNob3JEb2N1bWVudFtdID0gW107XG4gICAgYW5jaG9yczogSUFuY2hvcltdO1xuICAgIGVkaXRvckFuY2hvcnM6IElBbmNob3JbXTtcbiAgICAvL2RvY3VtZW50QW5jaG9yczogSUFuY2hvcltdO1xuXG4gICAgaW1hZ2VMaXN0ZW5lcnM6IGFueVtdID0gW107XG5cbiAgICBAVmlld0NoaWxkKCdteUltYWdlJylcbiAgICBteUltYWdlUmVmOiBFbGVtZW50UmVmPEhUTUxJbWFnZUVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbXlTdGF0dXMnKVxuICAgIG15U3RhdHVzUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByb2Nlc3NDb25maWc6IFRyZWVDb25maWc7XG4gICAgZG9jdW1lbnRDb25maWc6IFRyZWVDb25maWc7XG4gICAgZG9jdW1lbnRUeXBlcyA9IFtcbiAgICAgICAgRG9jdW1lbnROb2RlVHlwZS5Eb2N1bWVudCxcbiAgICAgICAgRG9jdW1lbnROb2RlVHlwZS5GaWxlRG9jdW1lbnQsXG4gICAgICAgIERvY3VtZW50Tm9kZVR5cGUuTGlua0RvY3VtZW50LFxuICAgICAgICBEb2N1bWVudE5vZGVUeXBlLlNob3J0Y3V0RG9jdW1lbnRcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbGlua1NlcnZpY2U6IFFNU0NLRWRpdG9yTGlua1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxRTVNDS0VkaXRvckltYWdlTWFwQ29tcG9uZW50PixcbiAgICAgICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBRTVNDS0VkaXRvckNvbW1vblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogUU1TQ0tFZGl0b3JJbWFnZU1hcCxcbiAgICAgICAgaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXG4gICAgICAgIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIHRyZWVTZXJ2aWNlOiBRTVNDS0VkaXRvclRyZWVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlbGVjdFByb2Nlc3NEb2N1bWVudEdsb2JhbFNlcnZpY2U6IFFNU1NlbGVjdFByb2Nlc3NEb2N1bWVudEdsb2JhbFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5pbWFnZU1hcERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmltYWdlSGVpZ2h0O1xuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoID0gdGhpcy5pbWFnZU1hcERhdGEuaW1hZ2VXaWR0aDtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUNvbnRyb2woKTtcbiAgICAgICAgdGhpcy5pbml0U3ZnSWNvbnMoaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xuICAgIH1cblxuXG4gICAgaW5pdERlZmF1bHRWYWx1ZXMoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9IExpbmtUeXBlLnVybDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhcmdldCA9IFRhcmdldFR5cGVOYW1lLm5ldztcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gUHJvdG9jb2xUeXBlTmFtZS5odHRwO1xuICAgICAgICB0aGlzLnVybCA9ICcnO1xuICAgICAgICB0aGlzLnByb2Nlc3NlZFVybCA9ICcnO1xuICAgICAgICB0aGlzLmFkdmlzb3J5VGl0bGUgPSAnJztcbiAgICAgICAgdGhpcy5hbmNob3JUZXh0ID0gJyc7XG4gICAgfVxuXG4gICAgaW5pdFN2Z0ljb25zKGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1wb2ludGVyJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1BPSU5URVIpKTtcbiAgICAgICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd2ZWN0b3ItY2lyY2xlJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX0NJUkNMRSkpO1xuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1yZWN0YW5nbGUnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoSWNvblN2Zy5WRUNUT1JfUkVDVEFOR0xFKSk7XG4gICAgICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgndmVjdG9yLXBvbHlnb24nLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoSWNvblN2Zy5WRUNUT1JfUE9MWUdPTikpO1xuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1yZW1vdmUnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoSWNvblN2Zy5WRUNUT1JfUkVNT1ZFKSk7XG4gICAgfVxuXG4gICAgaW5pdEZvcm1Db250cm9sKCkge1xuICAgICAgICBjb25zdCB2YWxpYXRpb25Db250cm9scyA9IHtcbiAgICAgICAgICAgIHRhcmdldExpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgICAgICAgICAgcHJvdG9jb2xMaXN0OiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgICAgICAgIGFuY2hvclRleHRMaXN0OiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgICAgICAgIG1vZGVMaXN0OiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgICAgICAgIHpvb21MaXN0OiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgICAgICAgIGxpbmtUeXBlTGlzdDogbmV3IEZvcm1Db250cm9sKClcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VNYXBEYXRhLmxpbmtKYXZhU2NyaXB0TGlua3NBbGxvd2VkID09IHRydWUpIHtcbiAgICAgICAgICAgIHZhbGlhdGlvbkNvbnRyb2xzWyd1cmwnXSA9IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbGlhdGlvbkNvbnRyb2xzWyd1cmwnXSA9IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGludmFsaWRVUkxWYWxpZGF0b3IodGhpcy5qYXZhc2NyaXB0TGlua1JlZ2V4KV0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW1hZ2VNYXBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHZhbGlhdGlvbkNvbnRyb2xzKTtcbiAgICB9XG5cbiAgICBpbml0TGlua1R5cGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmxpbmtUeXBlcykge1xuICAgICAgICAgICAgdGhpcy5saW5rVHlwZXMucHVzaCh7IGlkOiBMaW5rVHlwZS51cmwsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5MSU5LX1VSTCB9KTtcbiAgICAgICAgICAgIHRoaXMubGlua1R5cGVzLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBMaW5rVHlwZS5hbmNob3JUZXh0LFxuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5MSU5LX0FOQ0hPUl9JTl9URVhUXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRUYXJnZXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnRhcmdldHMpIHtcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0cy5wdXNoKHsgaWQ6IFRhcmdldFR5cGVOYW1lLm5ldywgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlRBUlRHRVRfTkVXIH0pO1xuICAgICAgICAgICAgdGhpcy50YXJnZXRzLnB1c2goeyBpZDogVGFyZ2V0VHlwZU5hbWUuc2FtZSwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlRBUkdFVF9TQU1FIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdFByb3RvY29sKCkge1xuICAgICAgICBpZiAodGhpcy5wcm90b2NvbHMpIHtcbiAgICAgICAgICAgIHRoaXMucHJvdG9jb2xzLnB1c2goeyBpZDogUHJvdG9jb2xUeXBlTmFtZS5odHRwLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuUFJPVE9DT0xfSFRUUCB9KTtcbiAgICAgICAgICAgIHRoaXMucHJvdG9jb2xzLnB1c2goeyBpZDogUHJvdG9jb2xUeXBlTmFtZS5odHRwcywgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX0hUVFBTIH0pO1xuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLmZ0cCwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX0ZUUCB9KTtcbiAgICAgICAgICAgIHRoaXMucHJvdG9jb2xzLnB1c2goeyBpZDogUHJvdG9jb2xUeXBlTmFtZS5uZXdzLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuUFJPVE9DT0xfTkVXIH0pO1xuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLm90aGVyLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuUFJPVE9DT0xfT1RIRVIgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0TW9kZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLm1vZGVzKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5Qb2ludGVyLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuSU1BR0VfTU9ERV9QT0lOVEVSLCBpY29uOiBcInZlY3Rvci1wb2ludGVyXCIgfSk7XG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5SZWN0YW5nbGUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NT0RFX1JFQ1RBTkdMRSwgaWNvbjogXCJ2ZWN0b3ItcmVjdGFuZ2xlXCIgfSk7XG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5DaXJjbGUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NT0RFX0NJUkNMRSwgaWNvbjogXCJ2ZWN0b3ItY2lyY2xlXCIgfSk7XG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5Qb2x5Z29uLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuSU1BR0VfTU9ERV9QT0xZR09OLCBpY29uOiBcInZlY3Rvci1wb2x5Z29uXCIgfSk7XG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5SZW1vdmUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NT0RFX1JFTU9WRSwgaWNvbjogXCJ2ZWN0b3ItcmVtb3ZlXCIgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0Wm9vbVR5cGVzKCkge1xuICAgICAgICBpZiAodGhpcy56b29tVHlwZXMpIHtcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMC4yNSwgbmFtZTogXCIyNSVcIiB9KTtcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMC41LCBuYW1lOiBcIjUwJVwiIH0pO1xuICAgICAgICAgICAgdGhpcy56b29tVHlwZXMucHVzaCh7IGlkOiAxLjAsIG5hbWU6IFwiMTAwJVwiIH0pO1xuICAgICAgICAgICAgdGhpcy56b29tVHlwZXMucHVzaCh7IGlkOiAyLjAsIG5hbWU6IFwiMjAwJVwiIH0pO1xuICAgICAgICAgICAgdGhpcy56b29tVHlwZXMucHVzaCh7IGlkOiAzLjAsIG5hbWU6IFwiMzAwJVwiIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdEFuY2hvcigpIHtcbiAgICAgICAgdGhpcy5hbmNob3JzID0gW107XG4gICAgICAgIHRoaXMuYW5jaG9ycyA9IFt7IHZhbHVlOiAwLCB2aWV3VmFsdWU6ICcnLCBhbmNob3JWYWx1ZTogTGlua0FuY2hvci5CbGFuayB9XTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbml0TGlua1R5cGUoKTtcbiAgICAgICAgdGhpcy5pbml0VGFyZ2V0KCk7XG4gICAgICAgIHRoaXMuaW5pdFByb3RvY29sKCk7XG4gICAgICAgIHRoaXMuaW5pdE1vZGVzKCk7XG4gICAgICAgIHRoaXMuaW5pdFpvb21UeXBlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICBpZiAodGhpcy5pbWFnZUxpc3RlbmVycyAmJiB0aGlzLmltYWdlTGlzdGVuZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VMaXN0ZW5lcnMuZm9yRWFjaChsaXN0ZW5lciA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdGVuZXIoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JbWFnZUxvYWQoKSB7XG4gICAgICAgIHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0ID0gdGhpcy5uYXR1cmFsSW1hZ2VIZWlnaHQgIT0gMCA/IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0IDogdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQubmF0dXJhbEhlaWdodDtcbiAgICAgICAgdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCA9IHRoaXMubmF0dXJhbEltYWdlV2lkdGggIT0gMCA/IHRoaXMubmF0dXJhbEltYWdlV2lkdGggOiB0aGlzLm15SW1hZ2VSZWYubmF0aXZlRWxlbWVudC5uYXR1cmFsV2lkdGg7XG5cbiAgICAgICAgdGhpcy5zZXRJbWFnZVNpemUoKTtcblxuICAgICAgICB0aGlzLm15SW1hZ2VNYXAuc2V0TWFwSnNvbih7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLmltYWdlTWFwRGF0YS5uYW1lLFxuICAgICAgICAgICAgYXJlYXM6IHRoaXMuaW1hZ2VNYXBEYXRhLmFyZWFzXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmltYWdlTWFwRGF0YS5hcmVhcyAmJiB0aGlzLmltYWdlTWFwRGF0YS5hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYmx1ckFyZWEodGhpcy5teUltYWdlTWFwLmN1cnJlbnRpZCk7XG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuY3VycmVudGlkID0gMDtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5zZWxlY3RlZElkID0gMDtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3RBcmVhKHRoaXMubXlJbWFnZU1hcC5hcmVhc1swXSk7XG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuaGlnaGxpZ2h0QXJlYSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMubXlJbWFnZVJlZikge1xuICAgICAgICAgICAgdGhpcy5pc0ltYWdlTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmltYWdlTGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQsICdsb2FkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25JbWFnZUxvYWQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW1hZ2VMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBdm9pZCBkcmFnJmRyb3Agb2YgdGhlIGltYWdlXG4gICAgICAgIHRoaXMubXlJbWFnZU1hcCA9IG5ldyBRTVNDS0VkaXRvckltYWdlTWFwTGliKHtcbiAgICAgICAgICAgIGN1c3RvbV9jYWxsYmFja3M6IHtcbiAgICAgICAgICAgICAgICBcIm9uQWRkQXJlYVwiOiB0aGlzLm9uQWRkQXJlYS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICdvblNlbGVjdEFyZWEnOiB0aGlzLm9uU2VsZWN0QXJlYS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICdvblJlbW92ZUFyZWEnOiB0aGlzLm9uUmVtb3ZlQXJlYS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICdvblN0YXR1c01lc3NhZ2UnOiB0aGlzLm9uU3RhdHVzTWVzc2FnZS5iaW5kKHRoaXMpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW1hZ2VFbGVtZW50OiB0aGlzLm15SW1hZ2VSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGJvdW5kaW5nX2JveDogZmFsc2UsXG4gICAgICAgICAgICBDTF9EUkFXX1NIQVBFOiAnI0YwMCcsXG4gICAgICAgICAgICBDTF9OT1JNX1NIQVBFOiAnI0FBQScsXG4gICAgICAgICAgICBDTF9ISUdITElHSFRfU0hBUEU6ICcjRjAwJyxcbiAgICAgICAgICAgIHN0cmluZ3M6IHtcbiAgICAgICAgICAgICAgICBcIlBPTFlHT05fRFJBV1wiOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuUE9MWUdPTl9EUkFXLFxuICAgICAgICAgICAgICAgIFwiUkVDVEFOR0xFX0RSQVdcIjogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlJFQ1RBTkdMRV9EUkFXLFxuICAgICAgICAgICAgICAgIFwiU1FVQVJFX0RSQVdcIjogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlNRVUFSRV9EUkFXLFxuICAgICAgICAgICAgICAgICdSRUFEWSc6ICcnLFxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfTU9WRSc6ICcnLFxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX1RPUCc6ICcnLFxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX1JJR0hUJzogJycsXG4gICAgICAgICAgICAgICAgJ1JFQ1RBTkdMRV9SRVNJWkVfQk9UVE9NJzogJycsXG4gICAgICAgICAgICAgICAgJ1JFQ1RBTkdMRV9SRVNJWkVfTEVGVCc6ICcnLFxuICAgICAgICAgICAgICAgICdTUVVBUkVfTU9WRSc6ICcnLFxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX1RPUCc6ICcnLFxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX1JJR0hUJzogJycsXG4gICAgICAgICAgICAgICAgJ1NRVUFSRV9SRVNJWkVfQk9UVE9NJzogJycsXG4gICAgICAgICAgICAgICAgJ1NRVUFSRV9SRVNJWkVfTEVGVCc6ICcnLFxuICAgICAgICAgICAgICAgICdQT0xZR09OX01PVkUnOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwYXJzZUxpbmtVcmwodXJsOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcHJvdG9jb2wgPSB0aGlzLnByb3RvY29sUmVnZXguZXhlYyh1cmwpO1xuICAgICAgICBpZiAoISFwcm90b2NvbCkge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSB1cmwuc3Vic3RyKHByb3RvY29sWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICB0aGlzLnVybCA9IHRoaXMucHJvY2Vzc2VkVXJsO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gcHJvdG9jb2xbMF0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmphdmFzY3JpcHRMaW5rUmVnZXgudGVzdCh1cmwpICYmICF0aGlzLmltYWdlTWFwRGF0YS5saW5rSmF2YVNjcmlwdExpbmtzQWxsb3dlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gUHJvdG9jb2xUeXBlTmFtZS5odHRwO1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSAnJztcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NlZFVybCA9IHVybDtcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLm90aGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWxlY3RBcmVhKGFyZWEpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50QXJlYUlkID0gYXJlYS5haWQ7XG4gICAgICAgIHRoaXMuc2hvd0ltYWdlTWFwSW5mb3JtYXRpb24gPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSkge1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLnJlbW92ZUFyZWEodGhpcy5jdXJyZW50QXJlYUlkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChhcmVhLmFocmVmLm1hdGNoKC9eIyguKikkLykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFuY2hvclRleHQgPSBhcmVhLmFocmVmLnNsaWNlKDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9IExpbmtUeXBlLmFuY2hvclRleHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9IExpbmtUeXBlLnVybDtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybChhcmVhLmFocmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUYXJnZXQgPSBhcmVhLmF0YXJnZXQ7XG4gICAgICAgICAgICB0aGlzLmFkdmlzb3J5VGl0bGUgPSBhcmVhLmFhbHQ7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlbW92ZUFyZWEoKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEFyZWFJZCA9IC0xO1xuICAgICAgICB0aGlzLnNob3dJbWFnZU1hcEluZm9ybWF0aW9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVtb3ZlTWFwKCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRBcmVhSWQgPSAtMTtcbiAgICAgICAgdGhpcy5zaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLm15SW1hZ2VNYXAucmVtb3ZlQWxsQXJlYXMoKTtcbiAgICB9XG5cbiAgICBvblN0YXR1c01lc3NhZ2UodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLm15U3RhdHVzUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm15U3RhdHVzUmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGV4dCB8fCAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVXJsS2V5dXAoKSB7XG4gICAgICAgIHRoaXMuaXNVcmxQcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMudXJsICE9IHRoaXMucHJvY2Vzc2VkVXJsKSB7XG4gICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybCh0aGlzLnVybCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNVcmxQcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25VcmxDaGFuZ2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1VybFByb2Nlc3NpbmcpIHtcbiAgICAgICAgICAgIHRoaXMub25VcmxLZXl1cCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BbmNob3JUZXh0Q2hhbmdlKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBvblByb3RvY29sQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBvblRhcmdldENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgb25BZGRBcmVhKGlkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50QXJlYUlkID0gaWQ7XG4gICAgICAgIHRoaXMuc2hvd0ltYWdlTWFwSW5mb3JtYXRpb24gPSB0cnVlO1xuICAgICAgICB0aGlzLmluaXREZWZhdWx0VmFsdWVzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUFyZWFWYWx1ZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRBcmVhSWQgPiAtMSkge1xuICAgICAgICAgICAgdmFyIGFocmVmID0gdGhpcy5idWlsZFVybFdpdGhQcm90b2NvbCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9PSBMaW5rVHlwZS5hbmNob3JUZXh0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmFyZWFzW3RoaXMuY3VycmVudEFyZWFJZF0uYXRhcmdldCA9IFRhcmdldFR5cGVOYW1lLnNhbWU7XG4gICAgICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmFyZWFzW3RoaXMuY3VycmVudEFyZWFJZF0uYWFsdCA9IHRoaXMuYW5jaG9yVGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5hcmVhc1t0aGlzLmN1cnJlbnRBcmVhSWRdLmF0YXJnZXQgPSB0aGlzLnNlbGVjdGVkVGFyZ2V0IHx8IFRhcmdldFR5cGVOYW1lLm5ldztcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hYWx0ID0gdGhpcy5hZHZpc29yeVRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmFyZWFzW3RoaXMuY3VycmVudEFyZWFJZF0uYWhyZWYgPSBhaHJlZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1aWxkVXJsV2l0aFByb3RvY29sKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZExpbmtUeXBlID09IExpbmtUeXBlLmFuY2hvclRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiAnIycgKyAodGhpcy5hbmNob3JUZXh0IHx8ICcnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISF0aGlzLnByb2Nlc3NlZFVybCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCArIHRoaXMucHJvY2Vzc2VkVXJsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkNsb3NlRGlhbG9nKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0U2Nyb2xsVG9wQ2tlZGl0b3IodGhpcy5ja0VkaXRvcik7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5zZXRTY3JvbGxUb3BFZGl0b3JDb250YWluZXIodGhpcy5ja0VkaXRvciwgc2Nyb2xsVG9wKTtcbiAgICB9XG5cbiAgICBvbk1vZGVDaGFuZ2UoZTogYW55KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gZS52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSkge1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmlzX2RyYXdpbmcgPSAwO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLm5leHRTaGFwZSA9ICcnO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLm5leHRTaGFwZSA9IHRoaXMuc2VsZWN0ZWRNb2RlO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2Nyb3NzaGFpcic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblpvb21DaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VTaXplKCk7XG4gICAgICAgIGlmICh0aGlzLm15SW1hZ2VNYXApIHtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5zY2FsZUFsbEFyZWFzKHRoaXMuc2VsZWN0ZWRab29tKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTGlua1R5cGVDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlua1R5cGUgPT09IExpbmtUeXBlLmFuY2hvclRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RWRpdG9yQW5jaG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgZ2V0RWRpdG9yQW5jaG9yKCkge1xuICAgICAgICB0aGlzLmFuY2hvckRvY3VtZW50cyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgZW50aXR5SWQ6IDAsXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRJZDogMCxcbiAgICAgICAgICAgICAgICBkb2N1bWVudFR5cGVJZDogMCxcbiAgICAgICAgICAgICAgICByaWNoVGV4dDogdGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRBbmNob3JEb2N1bWVudCh0aGlzLmFuY2hvckRvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZWRpdG9yQW5jaG9ycyA9IHRoaXMuYW5jaG9ycztcbiAgICB9XG5cbiAgICBzZXRJbWFnZVNpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLm15SW1hZ2VSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCAqIHRoaXMuc2VsZWN0ZWRab29tO1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5uYXR1cmFsSW1hZ2VIZWlnaHQgKiB0aGlzLnNlbGVjdGVkWm9vbTtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcIndpZHRoXCIsIGAke3dpZHRofXB4O2ApO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaGVpZ2h0XCIsIGAke2hlaWdodH1weDtgKTtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9IHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSA/ICdkZWZhdWx0JyA6ICdjcm9zc2hhaXInO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZUhhbmRib29rKGlzT25seURvY3VtZW50OiBib29sZWFuLCBpc0FuY2hvckRvY3VtZW50OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbmZpZyA9IHtcbiAgICAgICAgICAgIGFsbG93U2VsZWN0Rm9sZGVyOiB0cnVlLFxuICAgICAgICAgICAgYXJlYU9mQ3VycmVudFByb2Nlc3M6ICcnLFxuICAgICAgICAgICAgc2hvd0NoZWNrQm94OiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93TXVsdGlwbGVDaGVjazogZmFsc2UsXG4gICAgICAgICAgICBvbmx5Q2hlY2tCb3hGb3JDaGlsZDogZmFsc2UsXG4gICAgICAgICAgICBtb2R1bGVJZDogRGF0YVR5cGUucHJvY2VzcyxcbiAgICAgICAgICAgIG9wZW5JY29uQ29sb3I6ICcjMTk1NEE5JyxcbiAgICAgICAgICAgIGNsb3NlSWNvbkNvbG9yOiAnI2E0YjBkZScsXG4gICAgICAgICAgICBzaW5nbGVTZWxlY3RlZE5vZGU6IHRydWUsXG4gICAgICAgICAgICBvbmx5Rm9sZGVyOiBmYWxzZSxcbiAgICAgICAgICAgIHNlbGVjdE9uZTogdHJ1ZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZG9jdW1lbnRDb25maWcgPSB7XG4gICAgICAgICAgICBhbGxvd1NlbGVjdEZvbGRlcjogIWlzT25seURvY3VtZW50LFxuICAgICAgICAgICAgYXJlYU9mQ3VycmVudFByb2Nlc3M6ICcnLFxuICAgICAgICAgICAgc2hvd0NoZWNrQm94OiBmYWxzZSxcbiAgICAgICAgICAgIG1vZHVsZUlkOiBEYXRhVHlwZS5kb2N1bWVudCxcbiAgICAgICAgICAgIGFsbG93TXVsdGlwbGVDaGVjazogZmFsc2UsXG4gICAgICAgICAgICBvbmx5Q2hlY2tCb3hGb3JDaGlsZDogZmFsc2UsXG4gICAgICAgICAgICBvcGVuSWNvbkNvbG9yOiAnIzE5NTRBOScsXG4gICAgICAgICAgICBjbG9zZUljb25Db2xvcjogJyM0YWNhZmYnLFxuICAgICAgICAgICAgc2luZ2xlU2VsZWN0ZWROb2RlOiB0cnVlLFxuICAgICAgICAgICAgb25seUZvbGRlcjogZmFsc2UsXG4gICAgICAgICAgICBzZWxlY3RPbmU6IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkYXRhOiBTZWxlY3RQcm9jZXNzRG9jdW1lbnRQb3B1cERhdGEgPSBuZXcgU2VsZWN0UHJvY2Vzc0RvY3VtZW50UG9wdXBEYXRhKCk7XG4gICAgICAgIGRhdGEubW9kdWxlSWQgPSBNb2R1bGVUeXBlLmRvY3VtZW50UHJvY2VzcztcbiAgICAgICAgZGF0YS5tb2R1bGVOYW1lID0gdGhpcy5MQU5HLlFNU0NLRURJVE9SLkRPQ1VNRU5UX1BST0NFU1M7XG4gICAgICAgIGlmICghaXNPbmx5RG9jdW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyZWVQcm9jZXNzRGF0YSA9IGF3YWl0IHRoaXMudHJlZVNlcnZpY2UuZ2V0UHJvY2Vzc0FyZWFDb250ZW50cygnJywgdHJ1ZSwgdGhpcy5kYXRhLmVuYWJsZWRJbnRlcmNvbm5lY3RlZCkudG9Qcm9taXNlKCk7XG4gICAgICAgICAgICBkYXRhLnRyZWVEYXRhMSA9IHRyZWVQcm9jZXNzRGF0YT8uYXJlYXMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHguaWQsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHgubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHgucGFyZW50SWQgPT09IGd1aWRIZWxwZXIuZW1wdHkgPyAnJyA6IHgucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1c0lkOiAwLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXNOYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUlkOiAwLFxuICAgICAgICAgICAgICAgICAgICBleHBhbmRhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pIHx8IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHJlZURvY3VtZW50RGF0YSA9IGF3YWl0IHRoaXMudHJlZVNlcnZpY2UuZ2V0Rm9sZGVyQ2hpbGRyZW5zKCkudG9Qcm9taXNlKCk7XG5cbiAgICAgICAgZGF0YS50cmVlRGF0YTIgPSB0cmVlRG9jdW1lbnREYXRhPy5tYXAoKHgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IHguaWQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBuYW1lOiB4Lm5hbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBwYXJlbnRJZDogIXgucGFyZW50SGFuZGJvb2tJZCA/ICcnIDogeC5wYXJlbnRIYW5kYm9va0lkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgc3RhdHVzSWQ6IDAsXG4gICAgICAgICAgICAgICAgc3RhdHVzTmFtZTogJycsXG4gICAgICAgICAgICAgICAgZGlzcGxheUlkOiAwLFxuICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHgudHlwZSA+IERvY3VtZW50Tm9kZVR5cGUuU2hvcnRjdXREb2N1bWVudCxcbiAgICAgICAgICAgICAgICBsZXZlbFR5cGU6IHgudHlwZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGRhdGEudHJlZUNvbmZpZzEgPSB0aGlzLnByb2Nlc3NDb25maWc7XG4gICAgICAgIGRhdGEudHJlZUNvbmZpZzIgPSB0aGlzLmRvY3VtZW50Q29uZmlnO1xuICAgICAgICBkYXRhLnNwbGl0VmlldyA9IGZhbHNlO1xuICAgICAgICBkYXRhLmlzU2VsZWN0T25lID0gdHJ1ZTtcbiAgICAgICAgZGF0YS50b29sdGlwTG9jYXRpb25TZWFyY2hSZXN1bHQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU2VsZWN0UHJvY2Vzc0RvY3VtZW50UG9wdXBDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnNzY4cHgnLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiAnNjkwcHgnLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFsncmVsYXRlZC1wcm9jZXNzX19wb3B1cCcsICdjdXN0b20tbWF0LWRpYWxvZy1jb250YWluZXInXSxcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm9uU2VhcmNoLnN1YnNjcmliZShhc3luYyAoa2V5d29yZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWtleXdvcmQgfHwga2V5d29yZC50cmltKCkgPT09ICcnKVxuICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgbGV0IGdldFNlYXJjaE9wdGlvbiA9IG5ldyBHZXRTZWFyY2hQcm9jZXNzRG9jdW1lbnRPcHRpb24odHJ1ZSwgdHJ1ZSwgdGhpcy5kYXRhLmVuYWJsZWRJbnRlcmNvbm5lY3RlZCwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICBpZiAoaXNPbmx5RG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBnZXRTZWFyY2hPcHRpb24uaXNHZXRQcm9jZXNzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZ2V0U2VhcmNoT3B0aW9uLmlzR2V0SW50ZXJjb25uZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBnZXRTZWFyY2hPcHRpb24uaXNHZXRBcmVhID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFJlc3VsdCA9IGF3YWl0IHRoaXMudHJlZVNlcnZpY2UuZ2V0U2VhcmNoUHJvY2Vzc0RvY3VtZW50KGtleXdvcmQudHJpbSgpLCBnZXRTZWFyY2hPcHRpb24pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RQcm9jZXNzRG9jdW1lbnRHbG9iYWxTZXJ2aWNlLnNldFNlYXJjaFJlbGF0ZWQoc2VhcmNoUmVzdWx0KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm9uRXhwYW5kUHJvY2Vzc0FyZWEuc3Vic2NyaWJlKChhcmVhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRyZWVTZXJ2aWNlLmdldFByb2Nlc3NBcmVhQ29udGVudHMoYXJlYS5pZCwgdHJ1ZSwgdGhpcy5kYXRhLmVuYWJsZWRJbnRlcmNvbm5lY3RlZCkudG9Qcm9taXNlKCkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJlYXMgPSByZXMuYXJlYXMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB4LmlkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogeC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiB4LnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzSWQ6IHguc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c05hbWU6IHguc3RhdHVzTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5SWQ6IDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pIHx8IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlcyA9IHJlcy5wcm9jZXNzZXMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB4LmVudGl0eUlkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogeC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiB4LnByb2Nlc3NBcmVhSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzSWQ6IHguc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c05hbWU6IHguYXBwcm92YWxTdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUlkOiB4LnByb2Nlc3NOdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVR5cGU6IHgucHJvY2Vzc0NsYXNzaWZpY2F0aW9uID09PSBQcm9jZXNzQ2xhc3NpZmljYXRpb24uSW50ZXJjb25uZWN0ZWRQcm9jZXNzID8gRGF0YVR5cGUucHJvY2Vzc0ludGVyY29ubmVjdGVkIDogRGF0YVR5cGUucHJvY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSkgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0UHJvY2Vzc0RvY3VtZW50R2xvYmFsU2VydmljZS5zZXRQcm9jZXNzQXJlYUNoaWxkcmVuKFsuLi5hcmVhcywgLi4ucHJvY2Vzc2VzXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5vbkV4cGFuZEZvbGRlci5zdWJzY3JpYmUoKGZvbGRlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmVlU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXRGb2xkZXJDaGlsZHJlbnMoZm9sZGVyLmlkKVxuICAgICAgICAgICAgICAgIC50b1Byb21pc2UoKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRzID0gcmVzLm1hcCgoeCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB4LmlkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHgubmFtZS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogdGhpcy5nZXRQYXJlbnRJZCh4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzSWQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c05hbWU6IHguYXBwcm92YWxTdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlJZDogeC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kYWJsZTogIXRoaXMuZG9jdW1lbnRUeXBlcy5pbmNsdWRlcyh4LnR5cGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbFR5cGU6ICF0aGlzLmRvY3VtZW50VHlwZXMuaW5jbHVkZXMoeC50eXBlKSA/IHgudHlwZSA6IGZvbGRlci5sZXZlbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFByb2Nlc3NEb2N1bWVudEdsb2JhbFNlcnZpY2Uuc2V0Rm9sZGVyQ2hpbGRyZW4oY2hpbGRzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0RGF0YSA9IHJlc3VsdFswXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNBbmNob3JEb2N1bWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50SWQgPSByZXN1bHREYXRhLmlkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFuY2hvckRvY3VtZW50KHJlc3VsdERhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VMaW5rVXJsKHRoaXMuZ2V0TGlua1VSTChyZXN1bHREYXRhKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCA9IFByb3RvY29sVHlwZU5hbWUub3RoZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5hZHZpc29yeVRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkdmlzb3J5VGl0bGUgPSByZXN1bHREYXRhLml0ZW1OYW1lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRBbmNob3JEb2N1bWVudChkb2N1bWVudElkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5saW5rU2VydmljZVxuICAgICAgICAgICAgLmdldEFuY2hvckRvY3VtZW50TGlzdChkb2N1bWVudElkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSByZXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QW5jaG9yRG9jdW1lbnQodGhpcy5hbmNob3JEb2N1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZG9jdW1lbnRBbmNob3JzID0gdGhpcy5hbmNob3JzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5jaG9yRG9jdW1lbnRzID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QW5jaG9yRG9jdW1lbnQodGhpcy5hbmNob3JEb2N1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZG9jdW1lbnRBbmNob3JzID0gdGhpcy5hbmNob3JzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldEFuY2hvckRvY3VtZW50KGFuY2hvckRvY3VtZW50OiBRTVNDS0VkaXRvckxpbmtBbmNob3JEb2N1bWVudFtdKSB7XG4gICAgICAgIHRoaXMuaW5pdEFuY2hvcigpO1xuICAgICAgICBsZXQgaWQgPSAzO1xuICAgICAgICBpZiAoYW5jaG9yRG9jdW1lbnQpIHtcbiAgICAgICAgICAgIGFuY2hvckRvY3VtZW50LmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICBkaXYuaW5uZXJIVE1MID0gZS5yaWNoVGV4dDtcbiAgICAgICAgICAgICAgICBjb25zdCBkb21Db250ZW50ID0gZGl2O1xuICAgICAgICAgICAgICAgIGNvbnN0IGFUYWdzID0gZG9tQ29udGVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYScpO1xuICAgICAgICAgICAgICAgIGlmIChhVGFncykge1xuICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFUYWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSBhVGFnc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWcubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hbmNob3JzLmZpbmRJbmRleCgoeCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geC5hbmNob3JWYWx1ZSA9PT0gdGFnLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFuY2hvcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3VmFsdWU6IHRhZy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9yVmFsdWU6IHRhZy5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRoaXMuYW5jaG9ycy5wdXNoKHtcbiAgICAgICAgLy8gICAgIHZhbHVlOiAxLFxuICAgICAgICAvLyAgICAgdmlld1ZhbHVlOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuQU5DSE9SX0FUVEFDSE1FTlQsXG4gICAgICAgIC8vICAgICBhbmNob3JWYWx1ZTogTGlua0FuY2hvci5BdHRhY2htZW50XG4gICAgICAgIC8vIH0pO1xuICAgICAgICAvLyB0aGlzLmFuY2hvcnMucHVzaCh7XG4gICAgICAgIC8vICAgICB2YWx1ZTogMixcbiAgICAgICAgLy8gICAgIHZpZXdWYWx1ZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLkFOQ0hPUl9SRUxBVEVEX0RPQ1VNRU5ULFxuICAgICAgICAvLyAgICAgYW5jaG9yVmFsdWU6IExpbmtBbmNob3IuUmVsYXRlZFxuICAgICAgICAvLyB9KTtcbiAgICB9XG5cblxuICAgIGF0dGFjaG1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgUU1TQ0tFZGl0b3JQYXJhbXRlcigpO1xuICAgICAgICBkYXRhLm1vZHVsZSA9IHRoaXMuaW1hZ2VNYXBEYXRhLm1vZHVsZTtcbiAgICAgICAgZGF0YS5lbnRpdHlJZCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmVudGl0eUlkO1xuICAgICAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oTGlua0F0dGFjaG1lbnRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnNjUwcHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnNjUwcHgnLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9nVGVtcGxhdGVcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybChyZXN1bHQudXJsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gUHJvdG9jb2xUeXBlTmFtZS5vdGhlcjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFkdmlzb3J5VGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWR2aXNvcnlUaXRsZSA9IHJlc3VsdC50aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzYXZlKCkge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5teUltYWdlTWFwLmdldE1hcEpzb24oKTtcbiAgICAgICAgZGF0YS5pbWFnZUhlaWdodCA9IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0O1xuICAgICAgICBkYXRhLmltYWdlV2lkdGggPSB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoO1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0U2Nyb2xsVG9wQ2tlZGl0b3IodGhpcy5ja0VkaXRvcik7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2Uuc2V0U2Nyb2xsVG9wRWRpdG9yQ29udGFpbmVyKHRoaXMuY2tFZGl0b3IsIHNjcm9sbFRvcCk7XG4gICAgfVxuXG4gICAgY2FuY2VsKCkge1xuICAgICAgICAvL3RoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIHRoaXMub25DbG9zZURpYWxvZygpO1xuICAgIH1cblxuICAgIGdldFBhcmVudElkKGl0ZW0pIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50VHlwZXMuaW5jbHVkZXMoaXRlbS50eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuICFpdGVtLnBhcmVudEhhbmRib29rSWQgPyAnJyA6IGl0ZW0ucGFyZW50SGFuZGJvb2tJZC50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhaXRlbS5wYXJlbnRGb2xkZXJJZCA/ICcnIDogaXRlbS5wYXJlbnRGb2xkZXJJZC50b1N0cmluZygpO1xuICAgIH1cblxuICAgIGdldExpbmtVUkwoZGF0YTogYW55KSB7XG4gICAgICAgIGxldCB1cmwgPSAnJztcbiAgICAgICAgc3dpdGNoIChkYXRhPy5pdGVtVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEYXRhVHlwZS5kb2N1bWVudDpcbiAgICAgICAgICAgICAgICB1cmwgPSBgL2RvY3VtZW50LyR7ZGF0YS5pZH1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhVHlwZS5wcm9jZXNzOlxuICAgICAgICAgICAgICAgIHVybCA9IGAvcHJvY2Vzcy1kZXRhaWwvJHtkYXRhLmRpc3BsYXlJZH1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhVHlwZS5hcmVhOlxuICAgICAgICAgICAgICAgIHVybCA9IGAvYXJlYS9kZXRhaWwvJHtkYXRhLmlkfWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFUeXBlLmZvbGRlcjpcbiAgICAgICAgICAgICAgICB1cmwgPSBgL2ZvbGRlci8ke2RhdGEuaWR9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YVR5cGUucHJvY2Vzc0ludGVyY29ubmVjdGVkOlxuICAgICAgICAgICAgICAgIHVybCA9IGAvcHJvY2Vzcy1pbnRlcmNvbm5lY3RlZC8ke2RhdGEuZGlzcGxheUlkfWBcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxufVxuIl19
701
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAvcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFVLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRSxPQUFP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VUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQsIFJlbmRlcmVyMiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRTVNDS0VkaXRvckltYWdlTWFwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rVHlwZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9saW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQcm90b2NvbFR5cGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL3Byb3RvY29sLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUYXJnZXRUeXBlTmFtZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy90YXJnZXQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEltYWdlTW9kZU5hbWUgfSBmcm9tICcuLi8uLi9jb21tb24vZW51bXMvaW1hZ2UtbW9kZS5lbnVtJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBJY29uU3ZnIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnN0YW50cy9pY29uU3ZnLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBRTVNDS0VkaXRvckltYWdlTWFwTGliIH0gZnJvbSAnLi9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAubGliJztcbmltcG9ydCBRTVNDS0VkaXRvclBhcmFtdGVyIGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXBhcmFtZXRlci5tb2RlbCc7XG5pbXBvcnQgeyBRTVNDS0VkaXRvckxpbmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWxpbmsuc2VydmljZSc7XG5pbXBvcnQgeyBMaW5rQXR0YWNobWVudENvbXBvbmVudCB9IGZyb20gJy4uL3Ftcy1ja2VkaXRvci1saW5rL2F0dGFjaG1lbnRzL2xpbmstYXR0YWNobWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUU1TQ0tFZGl0b3JMaW5rQW5jaG9yRG9jdW1lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1saW5rLWFuY2hvci1kb2N1bWVudC5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rQW5jaG9yIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL2xpbmstYW5jaG9yLmVudW0nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGludmFsaWRVUkxWYWxpZGF0b3IgfSBmcm9tICcuL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC52YWxpZGF0b3InO1xuaW1wb3J0IHsgUU1TQ0tFZGl0b3JDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWNvbW1vbi5zZXJ2aWNlcyc7XG5pbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL2RhdGEtdHlwZS5lbnVtJztcbmltcG9ydCB7IFRyZWVDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3RyZWUnO1xuaW1wb3J0IHsgUU1TU2VsZWN0UHJvY2Vzc0RvY3VtZW50R2xvYmFsU2VydmljZSwgU2VsZWN0UHJvY2Vzc0RvY3VtZW50UG9wdXBDb21wb25lbnQsIFNlbGVjdFByb2Nlc3NEb2N1bWVudFBvcHVwRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvc2VsZWN0LXByb2Nlc3MtZG9jdW1lbnQnO1xuaW1wb3J0IHsgTW9kdWxlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL21vZHVsZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUcmVlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci10cmVlLnNlcnZpY2UnO1xuaW1wb3J0IGd1aWRIZWxwZXIgZnJvbSAnLi4vLi4vY29tbW9uL2hlbHBlci9ndWlkSGVscGVyJztcbmltcG9ydCB7IERvY3VtZW50Tm9kZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9kb2N1bWVudC1ub2RlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQcm9jZXNzQ2xhc3NpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9wcm9jZXNzLWNsYXNzaWZpY2F0aW9uLmVudW0nO1xuaW1wb3J0IHsgR2V0U2VhcmNoUHJvY2Vzc0RvY3VtZW50T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dldC1zZWFyY2gtcHJvY2Vzcy1kb2N1bWVudC1vcHRpb24nO1xuXG5pbnRlcmZhY2UgSUxpbmtUeXBlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIElUYXJnZXQge1xuICAgIGlkOiBUYXJnZXRUeXBlTmFtZTtcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJUHJvdG9jb2wge1xuICAgIGlkOiBQcm90b2NvbFR5cGVOYW1lO1xuICAgIG5hbWU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIElNb2RlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBpY29uOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJWm9vbVR5cGUge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSUFuY2hvciB7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICB2aWV3VmFsdWU6IHN0cmluZztcbiAgICBhbmNob3JWYWx1ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1xbXNjay1pbWFnZW1hcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudCBleHRlbmRzIFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgQElucHV0KCkgY2tFZGl0b3I6IGFueTtcbiAgICBMQU5HOiBhbnk7XG4gICAgaW1hZ2VNYXBGb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBpbWFnZU1hcERhdGE6IFFNU0NLRWRpdG9ySW1hZ2VNYXA7XG4gICAgbGlua1R5cGVzOiBJTGlua1R5cGVbXSA9IFtdO1xuICAgIHRhcmdldHM6IElUYXJnZXRbXSA9IFtdO1xuICAgIHByb3RvY29sczogSVByb3RvY29sW10gPSBbXTtcbiAgICBtb2RlczogSU1vZGVbXSA9IFtdO1xuICAgIHpvb21UeXBlczogSVpvb21UeXBlW10gPSBbXTtcbiAgICB1cmwgPSAnJztcbiAgICBwcm9jZXNzZWRVcmwgPSAnJztcbiAgICBzZWxlY3RlZE1vZGU6IEltYWdlTW9kZU5hbWUgPSBJbWFnZU1vZGVOYW1lLlJlY3RhbmdsZTtcbiAgICBzZWxlY3RlZExpbmtUeXBlOiBMaW5rVHlwZSA9IExpbmtUeXBlLnVybDtcbiAgICBzZWxlY3RlZFRhcmdldDogVGFyZ2V0VHlwZU5hbWUgPSBUYXJnZXRUeXBlTmFtZS5uZXc7XG4gICAgc2VsZWN0ZWRQcm90b2NvbDogUHJvdG9jb2xUeXBlTmFtZSB8IHN0cmluZyA9IFByb3RvY29sVHlwZU5hbWUuaHR0cDtcbiAgICBzZWxlY3RlZFpvb20gPSAxLjA7XG5cbiAgICBwcm90b2NvbFJlZ2V4OiBSZWdFeHAgPSAvXihodHRwfGh0dHBzfGZ0cHxuZXdzKTpcXC9cXC8oPz0uKS9pO1xuICAgIGphdmFzY3JpcHRMaW5rUmVnZXg6IFJlZ0V4cCA9IC9qYXZhc2NyaXB0XFw6L2k7XG5cbiAgICBkb2N1bWVudElkID0gMDtcbiAgICAvL2FuY2hvclRpdGxlID0gJyc7XG4gICAgYW5jaG9yVGV4dCA9ICcnO1xuICAgIC8vYW5jaG9yQnlOYW1lID0gJyc7XG4gICAgYWR2aXNvcnlUaXRsZSA9ICcnO1xuXG4gICAgaXNJbWFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgICBpc1VybFByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICBuYXR1cmFsSW1hZ2VXaWR0aCA9IDA7XG4gICAgbmF0dXJhbEltYWdlSGVpZ2h0ID0gMDtcbiAgICBjdXJyZW50QXJlYUlkID0gLTE7XG4gICAgbXlJbWFnZU1hcDogUU1TQ0tFZGl0b3JJbWFnZU1hcExpYjtcbiAgICBzaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xuXG4gICAgYW5jaG9yRG9jdW1lbnRzOiBRTVNDS0VkaXRvckxpbmtBbmNob3JEb2N1bWVudFtdID0gW107XG4gICAgYW5jaG9yczogSUFuY2hvcltdO1xuICAgIGVkaXRvckFuY2hvcnM6IElBbmNob3JbXTtcbiAgICAvL2RvY3VtZW50QW5jaG9yczogSUFuY2hvcltdO1xuXG4gICAgaW1hZ2VMaXN0ZW5lcnM6IGFueVtdID0gW107XG5cbiAgICBAVmlld0NoaWxkKCdteUltYWdlJylcbiAgICBteUltYWdlUmVmOiBFbGVtZW50UmVmPEhUTUxJbWFnZUVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbXlTdGF0dXMnKVxuICAgIG15U3RhdHVzUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByb2Nlc3NDb25maWc6IFRyZWVDb25maWc7XG4gICAgZG9jdW1lbnRDb25maWc6IFRyZWVDb25maWc7XG4gICAgZG9jdW1lbnRUeXBlcyA9IFtcbiAgICAgICAgRG9jdW1lbnROb2RlVHlwZS5Eb2N1bWVudCxcbiAgICAgICAgRG9jdW1lbnROb2RlVHlwZS5GaWxlRG9jdW1lbnQsXG4gICAgICAgIERvY3VtZW50Tm9kZVR5cGUuTGlua0RvY3VtZW50LFxuICAgICAgICBEb2N1bWVudE5vZGVUeXBlLlNob3J0Y3V0RG9jdW1lbnRcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbGlua1NlcnZpY2U6IFFNU0NLRWRpdG9yTGlua1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxRTVNDS0VkaXRvckltYWdlTWFwQ29tcG9uZW50PixcbiAgICAgICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBRTVNDS0VkaXRvckNvbW1vblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogUU1TQ0tFZGl0b3JJbWFnZU1hcCxcbiAgICAgICAgaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXG4gICAgICAgIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIHRyZWVTZXJ2aWNlOiBRTVNDS0VkaXRvclRyZWVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlbGVjdFByb2Nlc3NEb2N1bWVudEdsb2JhbFNlcnZpY2U6IFFNU1NlbGVjdFByb2Nlc3NEb2N1bWVudEdsb2JhbFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5pbWFnZU1hcERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmltYWdlSGVpZ2h0O1xuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoID0gdGhpcy5pbWFnZU1hcERhdGEuaW1hZ2VXaWR0aDtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUNvbnRyb2woKTtcbiAgICAgICAgdGhpcy5pbml0U3ZnSWNvbnMoaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFyZ2V0ID0gZGF0YS5kZWZhdWx0VGFyZ2V0TmV3V2luZG93ID8gVGFyZ2V0VHlwZU5hbWUubmV3IDogVGFyZ2V0VHlwZU5hbWUuc2FtZTtcbiAgICB9XG5cblxuICAgIGluaXREZWZhdWx0VmFsdWVzKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlua1R5cGUgPSBMaW5rVHlwZS51cmw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXJnZXQgPSB0aGlzLmRhdGEuZGVmYXVsdFRhcmdldE5ld1dpbmRvdyA/IFRhcmdldFR5cGVOYW1lLm5ldyA6IFRhcmdldFR5cGVOYW1lLnNhbWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCA9IFByb3RvY29sVHlwZU5hbWUuaHR0cDtcbiAgICAgICAgdGhpcy51cmwgPSAnJztcbiAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSAnJztcbiAgICAgICAgdGhpcy5hZHZpc29yeVRpdGxlID0gJyc7XG4gICAgICAgIHRoaXMuYW5jaG9yVGV4dCA9ICcnO1xuICAgIH1cblxuICAgIGluaXRTdmdJY29ucyhpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSwgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgICAgICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd2ZWN0b3ItcG9pbnRlcicsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChJY29uU3ZnLlZFQ1RPUl9QT0lOVEVSKSk7XG4gICAgICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgndmVjdG9yLWNpcmNsZScsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChJY29uU3ZnLlZFQ1RPUl9DSVJDTEUpKTtcbiAgICAgICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd2ZWN0b3ItcmVjdGFuZ2xlJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1JFQ1RBTkdMRSkpO1xuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1wb2x5Z29uJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1BPTFlHT04pKTtcbiAgICAgICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd2ZWN0b3ItcmVtb3ZlJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1JFTU9WRSkpO1xuICAgIH1cblxuICAgIGluaXRGb3JtQ29udHJvbCgpIHtcbiAgICAgICAgY29uc3QgdmFsaWF0aW9uQ29udHJvbHMgPSB7XG4gICAgICAgICAgICB0YXJnZXRMaXN0OiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgICAgICAgIHByb3RvY29sTGlzdDogbmV3IEZvcm1Db250cm9sKCksXG4gICAgICAgICAgICBhbmNob3JUZXh0TGlzdDogbmV3IEZvcm1Db250cm9sKCksXG4gICAgICAgICAgICBtb2RlTGlzdDogbmV3IEZvcm1Db250cm9sKCksXG4gICAgICAgICAgICB6b29tTGlzdDogbmV3IEZvcm1Db250cm9sKCksXG4gICAgICAgICAgICBsaW5rVHlwZUxpc3Q6IG5ldyBGb3JtQ29udHJvbCgpXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLmltYWdlTWFwRGF0YS5saW5rSmF2YVNjcmlwdExpbmtzQWxsb3dlZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICB2YWxpYXRpb25Db250cm9sc1sndXJsJ10gPSBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWxpYXRpb25Db250cm9sc1sndXJsJ10gPSBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBpbnZhbGlkVVJMVmFsaWRhdG9yKHRoaXMuamF2YXNjcmlwdExpbmtSZWdleCldKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmltYWdlTWFwRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh2YWxpYXRpb25Db250cm9scyk7XG4gICAgfVxuXG4gICAgaW5pdExpbmtUeXBlKCkge1xuICAgICAgICBpZiAodGhpcy5saW5rVHlwZXMpIHtcbiAgICAgICAgICAgIHRoaXMubGlua1R5cGVzLnB1c2goeyBpZDogTGlua1R5cGUudXJsLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuTElOS19VUkwgfSk7XG4gICAgICAgICAgICB0aGlzLmxpbmtUeXBlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogTGlua1R5cGUuYW5jaG9yVGV4dCxcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuTElOS19BTkNIT1JfSU5fVEVYVFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0VGFyZ2V0KCkge1xuICAgICAgICBpZiAodGhpcy50YXJnZXRzKSB7XG4gICAgICAgICAgICB0aGlzLnRhcmdldHMucHVzaCh7IGlkOiBUYXJnZXRUeXBlTmFtZS5uZXcsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5UQVJUR0VUX05FVyB9KTtcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0cy5wdXNoKHsgaWQ6IFRhcmdldFR5cGVOYW1lLnNhbWUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5UQVJHRVRfU0FNRSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRQcm90b2NvbCgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvdG9jb2xzKSB7XG4gICAgICAgICAgICB0aGlzLnByb3RvY29scy5wdXNoKHsgaWQ6IFByb3RvY29sVHlwZU5hbWUuaHR0cCwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX0hUVFAgfSk7XG4gICAgICAgICAgICB0aGlzLnByb3RvY29scy5wdXNoKHsgaWQ6IFByb3RvY29sVHlwZU5hbWUuaHR0cHMsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9IVFRQUyB9KTtcbiAgICAgICAgICAgIHRoaXMucHJvdG9jb2xzLnB1c2goeyBpZDogUHJvdG9jb2xUeXBlTmFtZS5mdHAsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9GVFAgfSk7XG4gICAgICAgICAgICB0aGlzLnByb3RvY29scy5wdXNoKHsgaWQ6IFByb3RvY29sVHlwZU5hbWUubmV3cywgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX05FVyB9KTtcbiAgICAgICAgICAgIHRoaXMucHJvdG9jb2xzLnB1c2goeyBpZDogUHJvdG9jb2xUeXBlTmFtZS5vdGhlciwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX09USEVSIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdE1vZGVzKCkge1xuICAgICAgICBpZiAodGhpcy5tb2Rlcykge1xuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUG9pbnRlciwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfUE9JTlRFUiwgaWNvbjogXCJ2ZWN0b3ItcG9pbnRlclwiIH0pO1xuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUmVjdGFuZ2xlLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuSU1BR0VfTU9ERV9SRUNUQU5HTEUsIGljb246IFwidmVjdG9yLXJlY3RhbmdsZVwiIH0pO1xuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuQ2lyY2xlLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuSU1BR0VfTU9ERV9DSVJDTEUsIGljb246IFwidmVjdG9yLWNpcmNsZVwiIH0pO1xuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUG9seWdvbiwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfUE9MWUdPTiwgaWNvbjogXCJ2ZWN0b3ItcG9seWdvblwiIH0pO1xuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUmVtb3ZlLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuSU1BR0VfTU9ERV9SRU1PVkUsIGljb246IFwidmVjdG9yLXJlbW92ZVwiIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdFpvb21UeXBlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuem9vbVR5cGVzKSB7XG4gICAgICAgICAgICB0aGlzLnpvb21UeXBlcy5wdXNoKHsgaWQ6IDAuMjUsIG5hbWU6IFwiMjUlXCIgfSk7XG4gICAgICAgICAgICB0aGlzLnpvb21UeXBlcy5wdXNoKHsgaWQ6IDAuNSwgbmFtZTogXCI1MCVcIiB9KTtcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMS4wLCBuYW1lOiBcIjEwMCVcIiB9KTtcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMi4wLCBuYW1lOiBcIjIwMCVcIiB9KTtcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMy4wLCBuYW1lOiBcIjMwMCVcIiB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRBbmNob3IoKSB7XG4gICAgICAgIHRoaXMuYW5jaG9ycyA9IFtdO1xuICAgICAgICB0aGlzLmFuY2hvcnMgPSBbeyB2YWx1ZTogMCwgdmlld1ZhbHVlOiAnJywgYW5jaG9yVmFsdWU6IExpbmtBbmNob3IuQmxhbmsgfV07XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnNsYXRlLmdldE9iamVjdExhbmcocmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaW5pdExpbmtUeXBlKCk7XG4gICAgICAgIHRoaXMuaW5pdFRhcmdldCgpO1xuICAgICAgICB0aGlzLmluaXRQcm90b2NvbCgpO1xuICAgICAgICB0aGlzLmluaXRNb2RlcygpO1xuICAgICAgICB0aGlzLmluaXRab29tVHlwZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VMaXN0ZW5lcnMgJiYgdGhpcy5pbWFnZUxpc3RlbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlTGlzdGVuZXJzLmZvckVhY2gobGlzdGVuZXIgPT4ge1xuICAgICAgICAgICAgICAgIGxpc3RlbmVyKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW1hZ2VMb2FkKCkge1xuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCA9IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0ICE9IDAgPyB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCA6IHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50Lm5hdHVyYWxIZWlnaHQ7XG4gICAgICAgIHRoaXMubmF0dXJhbEltYWdlV2lkdGggPSB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoICE9IDAgPyB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoIDogdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQubmF0dXJhbFdpZHRoO1xuXG4gICAgICAgIHRoaXMuc2V0SW1hZ2VTaXplKCk7XG5cbiAgICAgICAgdGhpcy5teUltYWdlTWFwLnNldE1hcEpzb24oe1xuICAgICAgICAgICAgbmFtZTogdGhpcy5pbWFnZU1hcERhdGEubmFtZSxcbiAgICAgICAgICAgIGFyZWFzOiB0aGlzLmltYWdlTWFwRGF0YS5hcmVhc1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5pbWFnZU1hcERhdGEuYXJlYXMgJiYgdGhpcy5pbWFnZU1hcERhdGEuYXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmJsdXJBcmVhKHRoaXMubXlJbWFnZU1hcC5jdXJyZW50aWQpO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmN1cnJlbnRpZCA9IDA7XG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuc2VsZWN0ZWRJZCA9IDA7XG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0QXJlYSh0aGlzLm15SW1hZ2VNYXAuYXJlYXNbMF0pO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmhpZ2hsaWdodEFyZWEoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLm15SW1hZ2VSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaXNJbWFnZUxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pbWFnZUxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LCAnbG9hZCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSW1hZ2VMb2FkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ltYWdlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXZvaWQgZHJhZyZkcm9wIG9mIHRoZSBpbWFnZVxuICAgICAgICB0aGlzLm15SW1hZ2VNYXAgPSBuZXcgUU1TQ0tFZGl0b3JJbWFnZU1hcExpYih7XG4gICAgICAgICAgICBjdXN0b21fY2FsbGJhY2tzOiB7XG4gICAgICAgICAgICAgICAgXCJvbkFkZEFyZWFcIjogdGhpcy5vbkFkZEFyZWEuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAnb25TZWxlY3RBcmVhJzogdGhpcy5vblNlbGVjdEFyZWEuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAnb25SZW1vdmVBcmVhJzogdGhpcy5vblJlbW92ZUFyZWEuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAnb25TdGF0dXNNZXNzYWdlJzogdGhpcy5vblN0YXR1c01lc3NhZ2UuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGltYWdlRWxlbWVudDogdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBib3VuZGluZ19ib3g6IGZhbHNlLFxuICAgICAgICAgICAgQ0xfRFJBV19TSEFQRTogJyNGMDAnLFxuICAgICAgICAgICAgQ0xfTk9STV9TSEFQRTogJyNBQUEnLFxuICAgICAgICAgICAgQ0xfSElHSExJR0hUX1NIQVBFOiAnI0YwMCcsXG4gICAgICAgICAgICBzdHJpbmdzOiB7XG4gICAgICAgICAgICAgICAgXCJQT0xZR09OX0RSQVdcIjogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBPTFlHT05fRFJBVyxcbiAgICAgICAgICAgICAgICBcIlJFQ1RBTkdMRV9EUkFXXCI6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5SRUNUQU5HTEVfRFJBVyxcbiAgICAgICAgICAgICAgICBcIlNRVUFSRV9EUkFXXCI6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5TUVVBUkVfRFJBVyxcbiAgICAgICAgICAgICAgICAnUkVBRFknOiAnJyxcbiAgICAgICAgICAgICAgICAnUkVDVEFOR0xFX01PVkUnOiAnJyxcbiAgICAgICAgICAgICAgICAnUkVDVEFOR0xFX1JFU0laRV9UT1AnOiAnJyxcbiAgICAgICAgICAgICAgICAnUkVDVEFOR0xFX1JFU0laRV9SSUdIVCc6ICcnLFxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX0JPVFRPTSc6ICcnLFxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX0xFRlQnOiAnJyxcbiAgICAgICAgICAgICAgICAnU1FVQVJFX01PVkUnOiAnJyxcbiAgICAgICAgICAgICAgICAnU1FVQVJFX1JFU0laRV9UT1AnOiAnJyxcbiAgICAgICAgICAgICAgICAnU1FVQVJFX1JFU0laRV9SSUdIVCc6ICcnLFxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX0JPVFRPTSc6ICcnLFxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX0xFRlQnOiAnJyxcbiAgICAgICAgICAgICAgICAnUE9MWUdPTl9NT1ZFJzogJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGFyc2VMaW5rVXJsKHVybDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5wcm90b2NvbFJlZ2V4LmV4ZWModXJsKTtcbiAgICAgICAgaWYgKCEhcHJvdG9jb2wpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc2VkVXJsID0gdXJsLnN1YnN0cihwcm90b2NvbFswXS5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy51cmwgPSB0aGlzLnByb2Nlc3NlZFVybDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCA9IHByb3RvY29sWzBdLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5qYXZhc2NyaXB0TGlua1JlZ2V4LnRlc3QodXJsKSAmJiAhdGhpcy5pbWFnZU1hcERhdGEubGlua0phdmFTY3JpcHRMaW5rc0FsbG93ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCA9IFByb3RvY29sVHlwZU5hbWUuaHR0cDtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc2VkVXJsID0gJyc7XG4gICAgICAgICAgICB0aGlzLnVybCA9IHRoaXMucHJvY2Vzc2VkVXJsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSB1cmw7XG4gICAgICAgICAgICB0aGlzLnVybCA9IHRoaXMucHJvY2Vzc2VkVXJsO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gUHJvdG9jb2xUeXBlTmFtZS5vdGhlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0QXJlYShhcmVhKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEFyZWFJZCA9IGFyZWEuYWlkO1xuICAgICAgICB0aGlzLnNob3dJbWFnZU1hcEluZm9ybWF0aW9uID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGUgPT0gSW1hZ2VNb2RlTmFtZS5SZW1vdmUpIHtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5yZW1vdmVBcmVhKHRoaXMuY3VycmVudEFyZWFJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoYXJlYS5haHJlZi5tYXRjaCgvXiMoLiopJC8pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmNob3JUZXh0ID0gYXJlYS5haHJlZi5zbGljZSgxKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlua1R5cGUgPSBMaW5rVHlwZS5hbmNob3JUZXh0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlua1R5cGUgPSBMaW5rVHlwZS51cmw7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJzZUxpbmtVcmwoYXJlYS5haHJlZik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFyZ2V0ID0gYXJlYS5hdGFyZ2V0O1xuICAgICAgICAgICAgdGhpcy5hZHZpc29yeVRpdGxlID0gYXJlYS5hYWx0O1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZW1vdmVBcmVhKCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRBcmVhSWQgPSAtMTtcbiAgICAgICAgdGhpcy5zaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbW92ZU1hcCgpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50QXJlYUlkID0gLTE7XG4gICAgICAgIHRoaXMuc2hvd0ltYWdlTWFwSW5mb3JtYXRpb24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5teUltYWdlTWFwLnJlbW92ZUFsbEFyZWFzKCk7XG4gICAgfVxuXG4gICAgb25TdGF0dXNNZXNzYWdlKHRleHQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5teVN0YXR1c1JlZikge1xuICAgICAgICAgICAgdGhpcy5teVN0YXR1c1JlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRleHQgfHwgJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblVybEtleXVwKCkge1xuICAgICAgICB0aGlzLmlzVXJsUHJvY2Vzc2luZyA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnVybCAhPSB0aGlzLnByb2Nlc3NlZFVybCkge1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxpbmtVcmwodGhpcy51cmwpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzVXJsUHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uVXJsQ2hhbmdlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNVcmxQcm9jZXNzaW5nKSB7XG4gICAgICAgICAgICB0aGlzLm9uVXJsS2V5dXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQW5jaG9yVGV4dENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgb25Qcm90b2NvbENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgb25UYXJnZXRDaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xuICAgIH1cblxuICAgIG9uQWRkQXJlYShpZDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEFyZWFJZCA9IGlkO1xuICAgICAgICB0aGlzLnNob3dJbWFnZU1hcEluZm9ybWF0aW9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbml0RGVmYXVsdFZhbHVlcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBcmVhVmFsdWVzKCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50QXJlYUlkID4gLTEpIHtcbiAgICAgICAgICAgIHZhciBhaHJlZiA9IHRoaXMuYnVpbGRVcmxXaXRoUHJvdG9jb2woKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlua1R5cGUgPT0gTGlua1R5cGUuYW5jaG9yVGV4dCkge1xuICAgICAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5hcmVhc1t0aGlzLmN1cnJlbnRBcmVhSWRdLmF0YXJnZXQgPSBUYXJnZXRUeXBlTmFtZS5zYW1lO1xuICAgICAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5hcmVhc1t0aGlzLmN1cnJlbnRBcmVhSWRdLmFhbHQgPSB0aGlzLmFuY2hvclRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hdGFyZ2V0ID0gdGhpcy5zZWxlY3RlZFRhcmdldCB8fCAodGhpcy5kYXRhLmRlZmF1bHRUYXJnZXROZXdXaW5kb3cgPyBUYXJnZXRUeXBlTmFtZS5uZXcgOiBUYXJnZXRUeXBlTmFtZS5zYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hYWx0ID0gdGhpcy5hZHZpc29yeVRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmFyZWFzW3RoaXMuY3VycmVudEFyZWFJZF0uYWhyZWYgPSBhaHJlZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1aWxkVXJsV2l0aFByb3RvY29sKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZExpbmtUeXBlID09IExpbmtUeXBlLmFuY2hvclRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiAnIycgKyAodGhpcy5hbmNob3JUZXh0IHx8ICcnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISF0aGlzLnByb2Nlc3NlZFVybCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCArIHRoaXMucHJvY2Vzc2VkVXJsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkNsb3NlRGlhbG9nKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0U2Nyb2xsVG9wQ2tlZGl0b3IodGhpcy5ja0VkaXRvcik7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5zZXRTY3JvbGxUb3BFZGl0b3JDb250YWluZXIodGhpcy5ja0VkaXRvciwgc2Nyb2xsVG9wKTtcbiAgICB9XG5cbiAgICBvbk1vZGVDaGFuZ2UoZTogYW55KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gZS52YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSkge1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmlzX2RyYXdpbmcgPSAwO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLm5leHRTaGFwZSA9ICcnO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLm5leHRTaGFwZSA9IHRoaXMuc2VsZWN0ZWRNb2RlO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2Nyb3NzaGFpcic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblpvb21DaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VTaXplKCk7XG4gICAgICAgIGlmICh0aGlzLm15SW1hZ2VNYXApIHtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5zY2FsZUFsbEFyZWFzKHRoaXMuc2VsZWN0ZWRab29tKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTGlua1R5cGVDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlua1R5cGUgPT09IExpbmtUeXBlLmFuY2hvclRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0RWRpdG9yQW5jaG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XG4gICAgfVxuXG4gICAgZ2V0RWRpdG9yQW5jaG9yKCkge1xuICAgICAgICB0aGlzLmFuY2hvckRvY3VtZW50cyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICAgICAgZW50aXR5SWQ6IDAsXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRJZDogMCxcbiAgICAgICAgICAgICAgICBkb2N1bWVudFR5cGVJZDogMCxcbiAgICAgICAgICAgICAgICByaWNoVGV4dDogdGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRBbmNob3JEb2N1bWVudCh0aGlzLmFuY2hvckRvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZWRpdG9yQW5jaG9ycyA9IHRoaXMuYW5jaG9ycztcbiAgICB9XG5cbiAgICBzZXRJbWFnZVNpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLm15SW1hZ2VSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCAqIHRoaXMuc2VsZWN0ZWRab29tO1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5uYXR1cmFsSW1hZ2VIZWlnaHQgKiB0aGlzLnNlbGVjdGVkWm9vbTtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcIndpZHRoXCIsIGAke3dpZHRofXB4O2ApO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaGVpZ2h0XCIsIGAke2hlaWdodH1weDtgKTtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9IHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSA/ICdkZWZhdWx0JyA6ICdjcm9zc2hhaXInO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZUhhbmRib29rKGlzT25seURvY3VtZW50OiBib29sZWFuLCBpc0FuY2hvckRvY3VtZW50OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0NvbmZpZyA9IHtcbiAgICAgICAgICAgIGFsbG93U2VsZWN0Rm9sZGVyOiB0cnVlLFxuICAgICAgICAgICAgYXJlYU9mQ3VycmVudFByb2Nlc3M6ICcnLFxuICAgICAgICAgICAgc2hvd0NoZWNrQm94OiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93TXVsdGlwbGVDaGVjazogZmFsc2UsXG4gICAgICAgICAgICBvbmx5Q2hlY2tCb3hGb3JDaGlsZDogZmFsc2UsXG4gICAgICAgICAgICBtb2R1bGVJZDogRGF0YVR5cGUucHJvY2VzcyxcbiAgICAgICAgICAgIG9wZW5JY29uQ29sb3I6ICcjMTk1NEE5JyxcbiAgICAgICAgICAgIGNsb3NlSWNvbkNvbG9yOiAnI2E0YjBkZScsXG4gICAgICAgICAgICBzaW5nbGVTZWxlY3RlZE5vZGU6IHRydWUsXG4gICAgICAgICAgICBvbmx5Rm9sZGVyOiBmYWxzZSxcbiAgICAgICAgICAgIHNlbGVjdE9uZTogdHJ1ZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZG9jdW1lbnRDb25maWcgPSB7XG4gICAgICAgICAgICBhbGxvd1NlbGVjdEZvbGRlcjogIWlzT25seURvY3VtZW50LFxuICAgICAgICAgICAgYXJlYU9mQ3VycmVudFByb2Nlc3M6ICcnLFxuICAgICAgICAgICAgc2hvd0NoZWNrQm94OiBmYWxzZSxcbiAgICAgICAgICAgIG1vZHVsZUlkOiBEYXRhVHlwZS5kb2N1bWVudCxcbiAgICAgICAgICAgIGFsbG93TXVsdGlwbGVDaGVjazogZmFsc2UsXG4gICAgICAgICAgICBvbmx5Q2hlY2tCb3hGb3JDaGlsZDogZmFsc2UsXG4gICAgICAgICAgICBvcGVuSWNvbkNvbG9yOiAnIzE5NTRBOScsXG4gICAgICAgICAgICBjbG9zZUljb25Db2xvcjogJyM0YWNhZmYnLFxuICAgICAgICAgICAgc2luZ2xlU2VsZWN0ZWROb2RlOiB0cnVlLFxuICAgICAgICAgICAgb25seUZvbGRlcjogZmFsc2UsXG4gICAgICAgICAgICBzZWxlY3RPbmU6IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkYXRhOiBTZWxlY3RQcm9jZXNzRG9jdW1lbnRQb3B1cERhdGEgPSBuZXcgU2VsZWN0UHJvY2Vzc0RvY3VtZW50UG9wdXBEYXRhKCk7XG4gICAgICAgIGRhdGEubW9kdWxlSWQgPSBNb2R1bGVUeXBlLmRvY3VtZW50UHJvY2VzcztcbiAgICAgICAgZGF0YS5tb2R1bGVOYW1lID0gdGhpcy5MQU5HLlFNU0NLRURJVE9SLkRPQ1VNRU5UX1BST0NFU1M7XG4gICAgICAgIGlmICghaXNPbmx5RG9jdW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyZWVQcm9jZXNzRGF0YSA9IGF3YWl0IHRoaXMudHJlZVNlcnZpY2UuZ2V0UHJvY2Vzc0FyZWFDb250ZW50cygnJywgdHJ1ZSwgdGhpcy5kYXRhLmVuYWJsZWRJbnRlcmNvbm5lY3RlZCkudG9Qcm9taXNlKCk7XG4gICAgICAgICAgICBkYXRhLnRyZWVEYXRhMSA9IHRyZWVQcm9jZXNzRGF0YT8uYXJlYXMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHguaWQsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHgubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHgucGFyZW50SWQgPT09IGd1aWRIZWxwZXIuZW1wdHkgPyAnJyA6IHgucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1c0lkOiAwLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXNOYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUlkOiAwLFxuICAgICAgICAgICAgICAgICAgICBleHBhbmRhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pIHx8IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHJlZURvY3VtZW50RGF0YSA9IGF3YWl0IHRoaXMudHJlZVNlcnZpY2UuZ2V0Rm9sZGVyQ2hpbGRyZW5zKCkudG9Qcm9taXNlKCk7XG5cbiAgICAgICAgZGF0YS50cmVlRGF0YTIgPSB0cmVlRG9jdW1lbnREYXRhPy5tYXAoKHgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IHguaWQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBuYW1lOiB4Lm5hbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBwYXJlbnRJZDogIXgucGFyZW50SGFuZGJvb2tJZCA/ICcnIDogeC5wYXJlbnRIYW5kYm9va0lkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgc3RhdHVzSWQ6IDAsXG4gICAgICAgICAgICAgICAgc3RhdHVzTmFtZTogJycsXG4gICAgICAgICAgICAgICAgZGlzcGxheUlkOiAwLFxuICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHgudHlwZSA+IERvY3VtZW50Tm9kZVR5cGUuU2hvcnRjdXREb2N1bWVudCxcbiAgICAgICAgICAgICAgICBsZXZlbFR5cGU6IHgudHlwZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGRhdGEudHJlZUNvbmZpZzEgPSB0aGlzLnByb2Nlc3NDb25maWc7XG4gICAgICAgIGRhdGEudHJlZUNvbmZpZzIgPSB0aGlzLmRvY3VtZW50Q29uZmlnO1xuICAgICAgICBkYXRhLnNwbGl0VmlldyA9IGZhbHNlO1xuICAgICAgICBkYXRhLmlzU2VsZWN0T25lID0gdHJ1ZTtcbiAgICAgICAgZGF0YS50b29sdGlwTG9jYXRpb25TZWFyY2hSZXN1bHQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU2VsZWN0UHJvY2Vzc0RvY3VtZW50UG9wdXBDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnNzY4cHgnLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiAnNjkwcHgnLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFsncmVsYXRlZC1wcm9jZXNzX19wb3B1cCcsICdjdXN0b20tbWF0LWRpYWxvZy1jb250YWluZXInXSxcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm9uU2VhcmNoLnN1YnNjcmliZShhc3luYyAoa2V5d29yZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWtleXdvcmQgfHwga2V5d29yZC50cmltKCkgPT09ICcnKVxuICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgbGV0IGdldFNlYXJjaE9wdGlvbiA9IG5ldyBHZXRTZWFyY2hQcm9jZXNzRG9jdW1lbnRPcHRpb24odHJ1ZSwgdHJ1ZSwgdGhpcy5kYXRhLmVuYWJsZWRJbnRlcmNvbm5lY3RlZCwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICBpZiAoaXNPbmx5RG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBnZXRTZWFyY2hPcHRpb24uaXNHZXRQcm9jZXNzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZ2V0U2VhcmNoT3B0aW9uLmlzR2V0SW50ZXJjb25uZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBnZXRTZWFyY2hPcHRpb24uaXNHZXRBcmVhID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFJlc3VsdCA9IGF3YWl0IHRoaXMudHJlZVNlcnZpY2UuZ2V0U2VhcmNoUHJvY2Vzc0RvY3VtZW50KGtleXdvcmQudHJpbSgpLCBnZXRTZWFyY2hPcHRpb24pO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RQcm9jZXNzRG9jdW1lbnRHbG9iYWxTZXJ2aWNlLnNldFNlYXJjaFJlbGF0ZWQoc2VhcmNoUmVzdWx0KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm9uRXhwYW5kUHJvY2Vzc0FyZWEuc3Vic2NyaWJlKChhcmVhKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRyZWVTZXJ2aWNlLmdldFByb2Nlc3NBcmVhQ29udGVudHMoYXJlYS5pZCwgdHJ1ZSwgdGhpcy5kYXRhLmVuYWJsZWRJbnRlcmNvbm5lY3RlZCkudG9Qcm9taXNlKCkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJlYXMgPSByZXMuYXJlYXMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB4LmlkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogeC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiB4LnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzSWQ6IHguc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c05hbWU6IHguc3RhdHVzTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5SWQ6IDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pIHx8IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlcyA9IHJlcy5wcm9jZXNzZXMubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB4LmVudGl0eUlkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogeC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiB4LnByb2Nlc3NBcmVhSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzSWQ6IHguc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c05hbWU6IHguYXBwcm92YWxTdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUlkOiB4LnByb2Nlc3NOdW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVR5cGU6IHgucHJvY2Vzc0NsYXNzaWZpY2F0aW9uID09PSBQcm9jZXNzQ2xhc3NpZmljYXRpb24uSW50ZXJjb25uZWN0ZWRQcm9jZXNzID8gRGF0YVR5cGUucHJvY2Vzc0ludGVyY29ubmVjdGVkIDogRGF0YVR5cGUucHJvY2Vzc1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSkgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0UHJvY2Vzc0RvY3VtZW50R2xvYmFsU2VydmljZS5zZXRQcm9jZXNzQXJlYUNoaWxkcmVuKFsuLi5hcmVhcywgLi4ucHJvY2Vzc2VzXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5vbkV4cGFuZEZvbGRlci5zdWJzY3JpYmUoKGZvbGRlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmVlU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXRGb2xkZXJDaGlsZHJlbnMoZm9sZGVyLmlkKVxuICAgICAgICAgICAgICAgIC50b1Byb21pc2UoKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRzID0gcmVzLm1hcCgoeCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB4LmlkLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHgubmFtZS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogdGhpcy5nZXRQYXJlbnRJZCh4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzSWQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c05hbWU6IHguYXBwcm92YWxTdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlJZDogeC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kYWJsZTogIXRoaXMuZG9jdW1lbnRUeXBlcy5pbmNsdWRlcyh4LnR5cGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbFR5cGU6ICF0aGlzLmRvY3VtZW50VHlwZXMuaW5jbHVkZXMoeC50eXBlKSA/IHgudHlwZSA6IGZvbGRlci5sZXZlbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFByb2Nlc3NEb2N1bWVudEdsb2JhbFNlcnZpY2Uuc2V0Rm9sZGVyQ2hpbGRyZW4oY2hpbGRzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0RGF0YSA9IHJlc3VsdFswXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNBbmNob3JEb2N1bWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50SWQgPSByZXN1bHREYXRhLmlkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFuY2hvckRvY3VtZW50KHJlc3VsdERhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VMaW5rVXJsKHRoaXMuZ2V0TGlua1VSTChyZXN1bHREYXRhKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCA9IFByb3RvY29sVHlwZU5hbWUub3RoZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5hZHZpc29yeVRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkdmlzb3J5VGl0bGUgPSByZXN1bHREYXRhLml0ZW1OYW1lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRBbmNob3JEb2N1bWVudChkb2N1bWVudElkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5saW5rU2VydmljZVxuICAgICAgICAgICAgLmdldEFuY2hvckRvY3VtZW50TGlzdChkb2N1bWVudElkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSByZXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QW5jaG9yRG9jdW1lbnQodGhpcy5hbmNob3JEb2N1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZG9jdW1lbnRBbmNob3JzID0gdGhpcy5hbmNob3JzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5jaG9yRG9jdW1lbnRzID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QW5jaG9yRG9jdW1lbnQodGhpcy5hbmNob3JEb2N1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZG9jdW1lbnRBbmNob3JzID0gdGhpcy5hbmNob3JzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldEFuY2hvckRvY3VtZW50KGFuY2hvckRvY3VtZW50OiBRTVNDS0VkaXRvckxpbmtBbmNob3JEb2N1bWVudFtdKSB7XG4gICAgICAgIHRoaXMuaW5pdEFuY2hvcigpO1xuICAgICAgICBsZXQgaWQgPSAzO1xuICAgICAgICBpZiAoYW5jaG9yRG9jdW1lbnQpIHtcbiAgICAgICAgICAgIGFuY2hvckRvY3VtZW50LmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICBkaXYuaW5uZXJIVE1MID0gZS5yaWNoVGV4dDtcbiAgICAgICAgICAgICAgICBjb25zdCBkb21Db250ZW50ID0gZGl2O1xuICAgICAgICAgICAgICAgIGNvbnN0IGFUYWdzID0gZG9tQ29udGVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYScpO1xuICAgICAgICAgICAgICAgIGlmIChhVGFncykge1xuICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFUYWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWcgPSBhVGFnc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWcubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hbmNob3JzLmZpbmRJbmRleCgoeCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geC5hbmNob3JWYWx1ZSA9PT0gdGFnLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFuY2hvcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3VmFsdWU6IHRhZy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9yVmFsdWU6IHRhZy5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRoaXMuYW5jaG9ycy5wdXNoKHtcbiAgICAgICAgLy8gICAgIHZhbHVlOiAxLFxuICAgICAgICAvLyAgICAgdmlld1ZhbHVlOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuQU5DSE9SX0FUVEFDSE1FTlQsXG4gICAgICAgIC8vICAgICBhbmNob3JWYWx1ZTogTGlua0FuY2hvci5BdHRhY2htZW50XG4gICAgICAgIC8vIH0pO1xuICAgICAgICAvLyB0aGlzLmFuY2hvcnMucHVzaCh7XG4gICAgICAgIC8vICAgICB2YWx1ZTogMixcbiAgICAgICAgLy8gICAgIHZpZXdWYWx1ZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLkFOQ0hPUl9SRUxBVEVEX0RPQ1VNRU5ULFxuICAgICAgICAvLyAgICAgYW5jaG9yVmFsdWU6IExpbmtBbmNob3IuUmVsYXRlZFxuICAgICAgICAvLyB9KTtcbiAgICB9XG5cblxuICAgIGF0dGFjaG1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgUU1TQ0tFZGl0b3JQYXJhbXRlcigpO1xuICAgICAgICBkYXRhLm1vZHVsZSA9IHRoaXMuaW1hZ2VNYXBEYXRhLm1vZHVsZTtcbiAgICAgICAgZGF0YS5lbnRpdHlJZCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmVudGl0eUlkO1xuICAgICAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oTGlua0F0dGFjaG1lbnRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHdpZHRoOiAnNjUwcHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnNjUwcHgnLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9nVGVtcGxhdGVcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybChyZXN1bHQudXJsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gUHJvdG9jb2xUeXBlTmFtZS5vdGhlcjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmFkdmlzb3J5VGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWR2aXNvcnlUaXRsZSA9IHJlc3VsdC50aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzYXZlKCkge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5teUltYWdlTWFwLmdldE1hcEpzb24oKTtcbiAgICAgICAgZGF0YS5pbWFnZUhlaWdodCA9IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0O1xuICAgICAgICBkYXRhLmltYWdlV2lkdGggPSB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoO1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0U2Nyb2xsVG9wQ2tlZGl0b3IodGhpcy5ja0VkaXRvcik7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2Uuc2V0U2Nyb2xsVG9wRWRpdG9yQ29udGFpbmVyKHRoaXMuY2tFZGl0b3IsIHNjcm9sbFRvcCk7XG4gICAgfVxuXG4gICAgY2FuY2VsKCkge1xuICAgICAgICAvL3RoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIHRoaXMub25DbG9zZURpYWxvZygpO1xuICAgIH1cblxuICAgIGdldFBhcmVudElkKGl0ZW0pIHtcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50VHlwZXMuaW5jbHVkZXMoaXRlbS50eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuICFpdGVtLnBhcmVudEhhbmRib29rSWQgPyAnJyA6IGl0ZW0ucGFyZW50SGFuZGJvb2tJZC50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhaXRlbS5wYXJlbnRGb2xkZXJJZCA/ICcnIDogaXRlbS5wYXJlbnRGb2xkZXJJZC50b1N0cmluZygpO1xuICAgIH1cblxuICAgIGdldExpbmtVUkwoZGF0YTogYW55KSB7XG4gICAgICAgIGxldCB1cmwgPSAnJztcbiAgICAgICAgc3dpdGNoIChkYXRhPy5pdGVtVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEYXRhVHlwZS5kb2N1bWVudDpcbiAgICAgICAgICAgICAgICB1cmwgPSBgL2RvY3VtZW50LyR7ZGF0YS5pZH1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhVHlwZS5wcm9jZXNzOlxuICAgICAgICAgICAgICAgIHVybCA9IGAvcHJvY2Vzcy1kZXRhaWwvJHtkYXRhLmRpc3BsYXlJZH1gO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEYXRhVHlwZS5hcmVhOlxuICAgICAgICAgICAgICAgIHVybCA9IGAvYXJlYS9kZXRhaWwvJHtkYXRhLmlkfWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGFUeXBlLmZvbGRlcjpcbiAgICAgICAgICAgICAgICB1cmwgPSBgL2ZvbGRlci8ke2RhdGEuaWR9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0YVR5cGUucHJvY2Vzc0ludGVyY29ubmVjdGVkOlxuICAgICAgICAgICAgICAgIHVybCA9IGAvcHJvY2Vzcy1pbnRlcmNvbm5lY3RlZC8ke2RhdGEuZGlzcGxheUlkfWBcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxufVxuIl19