@snabcentr/client-core 3.21.0-profstroy → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/cart/classes/sc-cart.d.ts +0 -4
  2. package/cart/constants/sc-empty-cart.d.ts +0 -1
  3. package/cart/internal/sc-i-cart.d.ts +0 -4
  4. package/cart/services/sc-cart.service.d.ts +0 -7
  5. package/catalog/dto/sc-product.d.ts +0 -7
  6. package/config/sc-i-update-interval.d.ts +0 -12
  7. package/esm2022/cart/classes/sc-cart.mjs +2 -3
  8. package/esm2022/cart/constants/sc-empty-cart.mjs +2 -2
  9. package/esm2022/cart/internal/sc-i-cart.mjs +1 -1
  10. package/esm2022/cart/services/sc-cart.service.mjs +2 -16
  11. package/esm2022/catalog/classes/sc-catalog-item.mjs +2 -2
  12. package/esm2022/catalog/dto/sc-product.mjs +1 -13
  13. package/esm2022/config/sc-i-update-interval.mjs +1 -1
  14. package/esm2022/helpers/index.mjs +1 -2
  15. package/esm2022/helpers/sc-units-helper.mjs +2 -3
  16. package/esm2022/order/classes/index.mjs +1 -3
  17. package/esm2022/order/classes/sc-order-draft-short.mjs +2 -7
  18. package/esm2022/order/classes/sc-order-draft.mjs +3 -15
  19. package/esm2022/order/classes/sc-order-item.mjs +1 -24
  20. package/esm2022/order/classes/sc-order-short.mjs +1 -3
  21. package/esm2022/order/enums/index.mjs +1 -2
  22. package/esm2022/order/internal/index.mjs +1 -6
  23. package/esm2022/order/internal/sc-i-order-draft-short.mjs +1 -1
  24. package/esm2022/order/internal/sc-i-order-draft.mjs +1 -1
  25. package/esm2022/order/internal/sc-i-order-item.mjs +1 -1
  26. package/esm2022/order/internal/sc-i-order-short.mjs +1 -1
  27. package/esm2022/order/services/sc-order-drafts.service.mjs +11 -122
  28. package/esm2022/order/services/sc-orders.service.mjs +5 -6
  29. package/esm2022/ui/services/sc-ui.service.mjs +13 -39
  30. package/esm2022/user/dto/sc-user-metadata.mjs +5 -6
  31. package/esm2022/user-metrika/enums/sc-user-metrika-goals-enum.mjs +1 -19
  32. package/fesm2022/snabcentr-client-core.mjs +74 -470
  33. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  34. package/helpers/index.d.ts +0 -1
  35. package/helpers/sc-units-helper.d.ts +1 -1
  36. package/order/classes/index.d.ts +0 -2
  37. package/order/classes/sc-order-draft-short.d.ts +2 -16
  38. package/order/classes/sc-order-draft.d.ts +2 -16
  39. package/order/classes/sc-order-item.d.ts +0 -16
  40. package/order/classes/sc-order-short.d.ts +0 -4
  41. package/order/enums/index.d.ts +0 -1
  42. package/order/internal/index.d.ts +0 -5
  43. package/order/internal/sc-i-order-draft-short.d.ts +0 -15
  44. package/order/internal/sc-i-order-draft.d.ts +1 -2
  45. package/order/internal/sc-i-order-item.d.ts +0 -4
  46. package/order/internal/sc-i-order-short.d.ts +0 -4
  47. package/order/services/sc-order-drafts.service.d.ts +1 -63
  48. package/order/services/sc-orders.service.d.ts +2 -3
  49. package/package.json +1 -1
  50. package/release_notes.tmp +4 -2
  51. package/ui/services/sc-ui.service.d.ts +6 -15
  52. package/user/dto/sc-user-metadata.d.ts +2 -2
  53. package/user-metrika/enums/sc-user-metrika-goals-enum.d.ts +0 -18
  54. package/esm2022/helpers/sc-date-helper.mjs +0 -23
  55. package/esm2022/order/classes/sc-order-draft-actualization.mjs +0 -46
  56. package/esm2022/order/classes/sc-profstroy-order-item.mjs +0 -88
  57. package/esm2022/order/enums/sc-order-draft-actualization-status.mjs +0 -24
  58. package/esm2022/order/internal/sc-i-new-profstroy-order-draft-request.mjs +0 -2
  59. package/esm2022/order/internal/sc-i-order-draft-actualization.mjs +0 -2
  60. package/esm2022/order/internal/sc-i-order-draft-file.mjs +0 -2
  61. package/esm2022/order/internal/sc-i-profstroy-order-item.mjs +0 -2
  62. package/esm2022/order/internal/sc-i-profstroy-product-stub.mjs +0 -2
  63. package/helpers/sc-date-helper.d.ts +0 -12
  64. package/order/classes/sc-order-draft-actualization.d.ts +0 -47
  65. package/order/classes/sc-profstroy-order-item.d.ts +0 -73
  66. package/order/enums/sc-order-draft-actualization-status.d.ts +0 -21
  67. package/order/internal/sc-i-new-profstroy-order-draft-request.d.ts +0 -14
  68. package/order/internal/sc-i-order-draft-actualization.d.ts +0 -22
  69. package/order/internal/sc-i-order-draft-file.d.ts +0 -13
  70. package/order/internal/sc-i-profstroy-order-item.d.ts +0 -28
  71. package/order/internal/sc-i-profstroy-product-stub.d.ts +0 -13
@@ -63,13 +63,12 @@ export class ScOrdersService {
63
63
  });
64
64
  }
65
65
  /**
66
- * Создаёт запрос нового заказа по указанному направлению продаж.
66
+ * Создаёт заказы из выбранных позиций корзины.
67
67
  *
68
- * @param directionId Идентификатор направления продаж.
69
68
  * @param newOrder Данные нового заказа.
70
69
  */
71
- createOrder$(directionId, newOrder) {
72
- return this.http.post(`${this.urls.apiUrl}/orders/${directionId}`, newOrder).pipe(map((orders) => orders.map((item) => new ScOrderShort(item))), tap((orders) => {
70
+ createOrder$(newOrder) {
71
+ return this.http.post(`${this.urls.apiUrl}/orders/from-cart`, newOrder).pipe(map((orders) => orders.map((item) => new ScOrderShort(item))), tap((orders) => {
73
72
  orders.forEach((order) => {
74
73
  this.userMetrikaService.emitUserMetrikaEvent({
75
74
  target: ScUserMetrikaGoalsEnum.orderCreated,
@@ -77,7 +76,7 @@ export class ScOrdersService {
77
76
  });
78
77
  });
79
78
  }), tap(() => {
80
- this.uiService.removeNewOrderMetadata(directionId);
79
+ this.uiService.removeNewOrderMetadata();
81
80
  }));
82
81
  }
83
82
  /**
@@ -216,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
216
215
  providedIn: 'root',
217
216
  }]
218
217
  }], ctorParameters: () => [] });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL3NlcnZpY2VzL3NjLW9yZGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBSXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQThDeEI7O09BRUc7SUFDSDtRQWhEQTs7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SyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7K0dBMU9RLGVBQWU7bUhBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0LCBwYXJzZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NhcnQnO1xuaW1wb3J0IHsgU2NDYWNoZWRJdGVtIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9jbGFzc2VzL3NjLWNhY2hlZC1pdGVtJztcbmltcG9ydCB7IFNjSURhdGVGb3JtYXQsIFNjSVVwZGF0ZUludGVydmFsLCBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IFNjSVBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTY09yZGVyU3RhdGVTdGF0dXMgfSBmcm9tICcuLi8uLi9yZWZlcmVuY2VzL2VudW1zL3NjLW9yZGVyLXN0YXRlLXN0YXR1cyc7XG5pbXBvcnQgeyBTQ19EQVRFX0ZPUk1BVCwgU0NfVVBEQVRFX0lOVEVSVkFMLCBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IFNjVUlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWknO1xuaW1wb3J0IHsgU2NVc2VyIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlcic7XG5pbXBvcnQgeyBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi91c2VyL3Rva2Vucy9zYy11c2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYSc7XG5pbXBvcnQgeyBTY0RlbGl2ZXJ5Q29zdCB9IGZyb20gJy4uL2NsYXNzZXMvc2MtZGVsaXZlcnktY29zdCc7XG5pbXBvcnQgeyBTY0lPcmRlckhpc3RvcnkgfSBmcm9tICcuLi9jbGFzc2VzL3NjLWktb3JkZXItaGlzdG9yeSc7XG5pbXBvcnQgeyBTY09yZGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlcic7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItaXRlbSc7XG5pbXBvcnQgeyBTY09yZGVyU2hvcnQgfSBmcm9tICcuLi9jbGFzc2VzL3NjLW9yZGVyLXNob3J0JztcbmltcG9ydCB7IFNjSURlbGl2ZXJ5Q29zdERUTywgU2NJTmV3T3JkZXIsIFNjSU9yZGVyLCBTY0lPcmRlclNob3J0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NJT3JkZXJMb2FkZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWxvYWRlcic7XG5pbXBvcnQgeyBsb2FkaW5nUGxhY2Vob2xkZXIsIFNjT3JkZXJMb2FkaW5nIH0gZnJvbSAnLi4vdG9rZW5zL3NjLW9yZGVyLWxvYWRlci50b2tlbic7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0LXRgNCy0LjRgdC1INC30LDQutCw0LfQvtCyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY09yZGVyc1NlcnZpY2UgaW1wbGVtZW50cyBTY0lPcmRlckxvYWRlcjxTY09yZGVySXRlbSwgU2NPcmRlcj4ge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gaW5qZWN0KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBkYXRlSW50ZXJ2YWw6IFNjSVVwZGF0ZUludGVydmFsID0gaW5qZWN0KFNDX1VQREFURV9JTlRFUlZBTCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0YDQt9C40L3QvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IFNjQ2FydFNlcnZpY2UgPSBpbmplY3QoU2NDYXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVpU2VydmljZTogU2NVSVNlcnZpY2UgPSBpbmplY3QoU2NVSVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlID0gaW5qZWN0KFNjVXNlck1ldHJpa2FTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LfQsNC60LDQt9C+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+ID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCw0YIg0LTQsNGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0ZUZvcm1hdHM6IFNjSURhdGVGb3JtYXQgPSBpbmplY3QoU0NfREFURV9GT1JNQVQpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY09yZGVyc1NlcnZpY2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy51c2VyJC5waXBlKGZpbHRlcigodXNlcikgPT4gdXNlci5pc0d1ZXN0KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuY2xlYXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINC90L7QstC+0LPQviDQt9Cw0LrQsNC30LAg0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQvdCw0L/RgNCw0LLQu9C10L3QuNGOINC/0YDQvtC00LDQti5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCw0L/RgNCw0LLQu9C10L3QuNGPINC/0YDQvtC00LDQti5cbiAgICAgKiBAcGFyYW0gbmV3T3JkZXIg0JTQsNC90L3Ri9C1INC90L7QstC+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZU9yZGVyJChkaXJlY3Rpb25JZDogbnVtYmVyLCBuZXdPcmRlcjogU2NJTmV3T3JkZXIpOiBPYnNlcnZhYmxlPFNjT3JkZXJTaG9ydFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0lPcmRlclNob3J0W10+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy8ke2RpcmVjdGlvbklkfWAsIG5ld09yZGVyKS5waXBlKFxuICAgICAgICAgICAgbWFwKChvcmRlcnMpID0+IG9yZGVycy5tYXAoKGl0ZW0pID0+IG5ldyBTY09yZGVyU2hvcnQoaXRlbSkpKSxcbiAgICAgICAgICAgIHRhcCgob3JkZXJzOiBTY09yZGVyU2hvcnRbXSkgPT4ge1xuICAgICAgICAgICAgICAgIG9yZGVycy5mb3JFYWNoKChvcmRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0ub3JkZXJDcmVhdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IG9yZGVyX2lkOiBvcmRlci5pZCB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVpU2VydmljZS5yZW1vdmVOZXdPcmRlck1ldGFkYXRhKGRpcmVjdGlvbklkKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INC00L7RgdGC0YPQv9C90YvRhSDQtNCw0YIg0LTQvtGB0YLQsNCy0LrQuCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0LDQtNGA0LXRgdCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZWxpdmVyaWVzRGF0YSQoYWRkcmVzc0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvZGVsaXZlcnkvJHthZGRyZXNzSWR9L25lYXJlc3QtZGF0ZXNgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC00LDRgiDRgdCw0LzQvtCy0YvQstC+0LfQsCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdhcmVob3VzZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VsZkRlbGl2ZXJpZXNEYXRhJCh3YXJlaG91c2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL3NlbGYtZGVsaXZlcnkvJHt3YXJlaG91c2VJZH0vbmVhcmVzdC1kYXRlc2ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQt9Cw0LrQsNC30L7QsiDRgSDQv9Cw0LPQuNC90LDRhtC40LXQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3JkZXJzJChwYXJhbXM6IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJUGFnaW5hdGU8U2NJT3JkZXJTaG9ydD4+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVyc2AsIHsgcGFyYW1zOiBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgob3JkZXJzUGFnaW5hdGVEVE8pID0+IHtcbiAgICAgICAgICAgICAgICBvcmRlcnNQYWdpbmF0ZURUTy5kYXRhID0gb3JkZXJzUGFnaW5hdGVEVE8uZGF0YS5tYXAoKGl0ZW0pID0+IG5ldyBTY09yZGVyU2hvcnQoaXRlbSkpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yZGVyc1BhZ2luYXRlRFRPIGFzIFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD47XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0L7Qu9C90YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQt9Cw0LrQsNC30LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICogQHBhcmFtIGNhY2hlYWJsZSDQn9GA0LjQt9C90LDQuiDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30LAg0LjQtyDQutGN0YjQuNGA0L7QstCw0L3QvdGL0YUg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQkKG9yZGVySWQ6IG51bWJlciwgY2FjaGVhYmxlOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8U2NPcmRlciB8IFNjT3JkZXJMb2FkaW5nPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtKSB7XG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbShcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUludGVydmFsLm9yZGVyRGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfWApLnBpcGUobWFwKChkYXRhKSA9PiBuZXcgU2NPcmRlcihkYXRhKSkpLFxuICAgICAgICAgICAgICAgIGxvYWRpbmdQbGFjZWhvbGRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGNhY2hlYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuc2V0KG9yZGVySWQsIGNhY2hlZEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhY2hlYWJsZSAmJiAhY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gY2FjaGVhYmxlINCf0YDQuNC30L3QsNC6INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwINC40Lcg0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9GFINC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SXRlbXMkKGlkOiBudW1iZXIsIGNhY2hlYWJsZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPFNjT3JkZXJJdGVtW10gfCBTY09yZGVyTG9hZGluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQkKGlkLCBjYWNoZWFibGUpLnBpcGUobWFwKChvcmRlcikgPT4gKG9yZGVyID09PSBsb2FkaW5nUGxhY2Vob2xkZXIgPyBsb2FkaW5nUGxhY2Vob2xkZXIgOiAob3JkZXIgYXMgU2NPcmRlcikucHJvZHVjdHMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JrQvtC/0LjRgNGD0LXRgiDRgtC+0LLQsNGA0Ysg0LfQsNC60LDQt9CwINCyINC60L7RgNC30LjQvdGDINGC0LXQutGD0YnQtdCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9uZSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy8ke29yZGVySWR9L2Nsb25lYCwge30pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLm9yZGVyQ2xvbmVkLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb3JkZXJfaWQ6IG9yZGVySWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnVwZGF0ZUNhcnQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JjQt9C80LXQvdGP0LXRgiDRgdGC0LDRgtGD0YEg0LfQsNC60LDQt9CwINC4INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0LHQvdC+0LLQu9GR0L3QvdGL0LUg0LTQsNC90L3Ri9C1INC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcmRlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzIFNsdWcg0L3QvtCy0L7Qs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzRGV0YWlsIFNsdWcg0LTQtdGC0LDQu9C40LfQuNGA0YPRjtGJ0LXQs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hhbmdlT3JkZXJTdGF0dXMkKG9yZGVySWQ6IG51bWJlciwgc3RhdHVzOiBTY09yZGVyU3RhdGVTdGF0dXMsIHN0YXR1c0RldGFpbD86IHN0cmluZyB8IG51bGwpOiBPYnNlcnZhYmxlPFNjT3JkZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBhdGNoPFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfS9zdGF0dXNgLCB7XG4gICAgICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgICAgIHN0YXR1c0RldGFpbCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGR0bykgPT4gbmV3IFNjT3JkZXIoZHRvKSksXG4gICAgICAgICAgICAgICAgdGFwKChvcmRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN5bmNPcmRlckNhY2hlKG9yZGVySWQsIG9yZGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNGB0YLQvtGA0LjRjiDQuNC30LzQtdC90LXQvdC40Y8g0YHRgtCw0YLRg9GB0L7QsiDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldE9yZGVyU3RhdHVzSGlzdG9yeSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lPcmRlckhpc3RvcnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lPcmRlckhpc3RvcnlbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzLyR7b3JkZXJJZH0vaGlzdG9yeWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0YLQvtC40LzQvtGB0YLQuCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqIEBwYXJhbSB3YXJlaG91c2VJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC60LvQsNC00LAuXG4gICAgICogQHBhcmFtIGRhdGUg0JTQsNGC0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVsaXZlcnlDb3N0JChhZGRyZXNzSWQ6IG51bWJlciwgd2FyZWhvdXNlSWQ6IG51bWJlciwgZGF0ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTY0RlbGl2ZXJ5Q29zdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFNjSURlbGl2ZXJ5Q29zdERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL2RlbGl2ZXJ5LyR7YWRkcmVzc0lkfS9jb3N0YCwge1xuICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICB3YXJlaG91c2VfaWQ6IHdhcmVob3VzZUlkLFxuICAgICAgICAgICAgICAgICAgICBkYXRlOiBkYXRlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChvcmRlcnNQYWdpbmF0ZURUTykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZm9ybWF0KHBhcnNlKGRhdGUsIHRoaXMuZGF0ZUZvcm1hdHMuYXBpLCBuZXcgRGF0ZSgpKSwgdGhpcy5kYXRlRm9ybWF0cy51aURhdGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2NEZWxpdmVyeUNvc3Qob3JkZXJzUGFnaW5hdGVEVE8sIGZvcm1hdHRlZERhdGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7QtNGB0YLQsNCy0LvRj9C10YIg0LIg0LrRjdGIINC/0L7Qu9C90L7Qs9C+INC30LDQutCw0LfQsCDQsNC60YLRg9Cw0LvRjNC90YvQtSDQtNCw0L3QvdGL0LUg0L/QvtGB0LvQtSDQvNGD0YLQsNGG0LjQuCDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqIEBwYXJhbSBvcmRlciDQlNCw0L3QvdGL0LUg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3luY09yZGVyQ2FjaGUob3JkZXJJZDogbnVtYmVyLCBvcmRlcjogU2NPcmRlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKGNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0uc2V0VmFsdWUob3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL3NlcnZpY2VzL3NjLW9yZGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBSXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQThDeEI7O09BRUc7SUFDSDtRQWhEQTs7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QUM7K0dBek9RLGVBQWU7bUhBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0LCBwYXJzZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NhcnQnO1xuaW1wb3J0IHsgU2NDYWNoZWRJdGVtIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9jbGFzc2VzL3NjLWNhY2hlZC1pdGVtJztcbmltcG9ydCB7IFNjSURhdGVGb3JtYXQsIFNjSVVwZGF0ZUludGVydmFsLCBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IFNjSVBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTY09yZGVyU3RhdGVTdGF0dXMgfSBmcm9tICcuLi8uLi9yZWZlcmVuY2VzL2VudW1zL3NjLW9yZGVyLXN0YXRlLXN0YXR1cyc7XG5pbXBvcnQgeyBTQ19EQVRFX0ZPUk1BVCwgU0NfVVBEQVRFX0lOVEVSVkFMLCBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IFNjVUlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWknO1xuaW1wb3J0IHsgU2NVc2VyIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlcic7XG5pbXBvcnQgeyBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi91c2VyL3Rva2Vucy9zYy11c2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYSc7XG5pbXBvcnQgeyBTY0RlbGl2ZXJ5Q29zdCB9IGZyb20gJy4uL2NsYXNzZXMvc2MtZGVsaXZlcnktY29zdCc7XG5pbXBvcnQgeyBTY0lPcmRlckhpc3RvcnkgfSBmcm9tICcuLi9jbGFzc2VzL3NjLWktb3JkZXItaGlzdG9yeSc7XG5pbXBvcnQgeyBTY09yZGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlcic7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItaXRlbSc7XG5pbXBvcnQgeyBTY09yZGVyU2hvcnQgfSBmcm9tICcuLi9jbGFzc2VzL3NjLW9yZGVyLXNob3J0JztcbmltcG9ydCB7IFNjSURlbGl2ZXJ5Q29zdERUTywgU2NJTmV3T3JkZXIsIFNjSU9yZGVyLCBTY0lPcmRlclNob3J0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NJT3JkZXJMb2FkZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWxvYWRlcic7XG5pbXBvcnQgeyBsb2FkaW5nUGxhY2Vob2xkZXIsIFNjT3JkZXJMb2FkaW5nIH0gZnJvbSAnLi4vdG9rZW5zL3NjLW9yZGVyLWxvYWRlci50b2tlbic7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0LXRgNCy0LjRgdC1INC30LDQutCw0LfQvtCyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY09yZGVyc1NlcnZpY2UgaW1wbGVtZW50cyBTY0lPcmRlckxvYWRlcjxTY09yZGVySXRlbSwgU2NPcmRlcj4ge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gaW5qZWN0KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBkYXRlSW50ZXJ2YWw6IFNjSVVwZGF0ZUludGVydmFsID0gaW5qZWN0KFNDX1VQREFURV9JTlRFUlZBTCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0YDQt9C40L3QvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IFNjQ2FydFNlcnZpY2UgPSBpbmplY3QoU2NDYXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVpU2VydmljZTogU2NVSVNlcnZpY2UgPSBpbmplY3QoU2NVSVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlID0gaW5qZWN0KFNjVXNlck1ldHJpa2FTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LfQsNC60LDQt9C+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+ID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCw0YIg0LTQsNGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0ZUZvcm1hdHM6IFNjSURhdGVGb3JtYXQgPSBpbmplY3QoU0NfREFURV9GT1JNQVQpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY09yZGVyc1NlcnZpY2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy51c2VyJC5waXBlKGZpbHRlcigodXNlcikgPT4gdXNlci5pc0d1ZXN0KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuY2xlYXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC60LDQt9GLINC40Lcg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5INC60L7RgNC30LjQvdGLLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld09yZGVyINCU0LDQvdC90YvQtSDQvdC+0LLQvtCz0L4g0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVPcmRlciQobmV3T3JkZXI6IFNjSU5ld09yZGVyKTogT2JzZXJ2YWJsZTxTY09yZGVyU2hvcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NJT3JkZXJTaG9ydFtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvZnJvbS1jYXJ0YCwgbmV3T3JkZXIpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9yZGVycykgPT4gb3JkZXJzLm1hcCgoaXRlbSkgPT4gbmV3IFNjT3JkZXJTaG9ydChpdGVtKSkpLFxuICAgICAgICAgICAgdGFwKChvcmRlcnM6IFNjT3JkZXJTaG9ydFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgb3JkZXJzLmZvckVhY2goKG9yZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckNyZWF0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb3JkZXJfaWQ6IG9yZGVyLmlkIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudWlTZXJ2aWNlLnJlbW92ZU5ld09yZGVyTWV0YWRhdGEoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INC00L7RgdGC0YPQv9C90YvRhSDQtNCw0YIg0LTQvtGB0YLQsNCy0LrQuCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0LDQtNGA0LXRgdCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZWxpdmVyaWVzRGF0YSQoYWRkcmVzc0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvZGVsaXZlcnkvJHthZGRyZXNzSWR9L25lYXJlc3QtZGF0ZXNgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC00LDRgiDRgdCw0LzQvtCy0YvQstC+0LfQsCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdhcmVob3VzZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VsZkRlbGl2ZXJpZXNEYXRhJCh3YXJlaG91c2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL3NlbGYtZGVsaXZlcnkvJHt3YXJlaG91c2VJZH0vbmVhcmVzdC1kYXRlc2ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQt9Cw0LrQsNC30L7QsiDRgSDQv9Cw0LPQuNC90LDRhtC40LXQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3JkZXJzJChwYXJhbXM6IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJUGFnaW5hdGU8U2NJT3JkZXJTaG9ydD4+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVyc2AsIHsgcGFyYW1zOiBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgob3JkZXJzUGFnaW5hdGVEVE8pID0+IHtcbiAgICAgICAgICAgICAgICBvcmRlcnNQYWdpbmF0ZURUTy5kYXRhID0gb3JkZXJzUGFnaW5hdGVEVE8uZGF0YS5tYXAoKGl0ZW0pID0+IG5ldyBTY09yZGVyU2hvcnQoaXRlbSkpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yZGVyc1BhZ2luYXRlRFRPIGFzIFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD47XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0L7Qu9C90YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQt9Cw0LrQsNC30LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICogQHBhcmFtIGNhY2hlYWJsZSDQn9GA0LjQt9C90LDQuiDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30LAg0LjQtyDQutGN0YjQuNGA0L7QstCw0L3QvdGL0YUg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQkKG9yZGVySWQ6IG51bWJlciwgY2FjaGVhYmxlOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8U2NPcmRlciB8IFNjT3JkZXJMb2FkaW5nPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtKSB7XG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbShcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUludGVydmFsLm9yZGVyRGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfWApLnBpcGUobWFwKChkYXRhKSA9PiBuZXcgU2NPcmRlcihkYXRhKSkpLFxuICAgICAgICAgICAgICAgIGxvYWRpbmdQbGFjZWhvbGRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGNhY2hlYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuc2V0KG9yZGVySWQsIGNhY2hlZEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhY2hlYWJsZSAmJiAhY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gY2FjaGVhYmxlINCf0YDQuNC30L3QsNC6INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwINC40Lcg0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9GFINC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SXRlbXMkKGlkOiBudW1iZXIsIGNhY2hlYWJsZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPFNjT3JkZXJJdGVtW10gfCBTY09yZGVyTG9hZGluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQkKGlkLCBjYWNoZWFibGUpLnBpcGUobWFwKChvcmRlcikgPT4gKG9yZGVyID09PSBsb2FkaW5nUGxhY2Vob2xkZXIgPyBsb2FkaW5nUGxhY2Vob2xkZXIgOiAob3JkZXIgYXMgU2NPcmRlcikucHJvZHVjdHMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JrQvtC/0LjRgNGD0LXRgiDRgtC+0LLQsNGA0Ysg0LfQsNC60LDQt9CwINCyINC60L7RgNC30LjQvdGDINGC0LXQutGD0YnQtdCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9uZSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy8ke29yZGVySWR9L2Nsb25lYCwge30pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLm9yZGVyQ2xvbmVkLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb3JkZXJfaWQ6IG9yZGVySWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnVwZGF0ZUNhcnQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JjQt9C80LXQvdGP0LXRgiDRgdGC0LDRgtGD0YEg0LfQsNC60LDQt9CwINC4INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0LHQvdC+0LLQu9GR0L3QvdGL0LUg0LTQsNC90L3Ri9C1INC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcmRlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzIFNsdWcg0L3QvtCy0L7Qs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzRGV0YWlsIFNsdWcg0LTQtdGC0LDQu9C40LfQuNGA0YPRjtGJ0LXQs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hhbmdlT3JkZXJTdGF0dXMkKG9yZGVySWQ6IG51bWJlciwgc3RhdHVzOiBTY09yZGVyU3RhdGVTdGF0dXMsIHN0YXR1c0RldGFpbD86IHN0cmluZyB8IG51bGwpOiBPYnNlcnZhYmxlPFNjT3JkZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBhdGNoPFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfS9zdGF0dXNgLCB7XG4gICAgICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgICAgIHN0YXR1c0RldGFpbCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGR0bykgPT4gbmV3IFNjT3JkZXIoZHRvKSksXG4gICAgICAgICAgICAgICAgdGFwKChvcmRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN5bmNPcmRlckNhY2hlKG9yZGVySWQsIG9yZGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNGB0YLQvtGA0LjRjiDQuNC30LzQtdC90LXQvdC40Y8g0YHRgtCw0YLRg9GB0L7QsiDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldE9yZGVyU3RhdHVzSGlzdG9yeSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lPcmRlckhpc3RvcnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lPcmRlckhpc3RvcnlbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzLyR7b3JkZXJJZH0vaGlzdG9yeWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0YLQvtC40LzQvtGB0YLQuCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqIEBwYXJhbSB3YXJlaG91c2VJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC60LvQsNC00LAuXG4gICAgICogQHBhcmFtIGRhdGUg0JTQsNGC0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVsaXZlcnlDb3N0JChhZGRyZXNzSWQ6IG51bWJlciwgd2FyZWhvdXNlSWQ6IG51bWJlciwgZGF0ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTY0RlbGl2ZXJ5Q29zdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFNjSURlbGl2ZXJ5Q29zdERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL2RlbGl2ZXJ5LyR7YWRkcmVzc0lkfS9jb3N0YCwge1xuICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICB3YXJlaG91c2VfaWQ6IHdhcmVob3VzZUlkLFxuICAgICAgICAgICAgICAgICAgICBkYXRlOiBkYXRlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChvcmRlcnNQYWdpbmF0ZURUTykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZm9ybWF0KHBhcnNlKGRhdGUsIHRoaXMuZGF0ZUZvcm1hdHMuYXBpLCBuZXcgRGF0ZSgpKSwgdGhpcy5kYXRlRm9ybWF0cy51aURhdGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2NEZWxpdmVyeUNvc3Qob3JkZXJzUGFnaW5hdGVEVE8sIGZvcm1hdHRlZERhdGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7QtNGB0YLQsNCy0LvRj9C10YIg0LIg0LrRjdGIINC/0L7Qu9C90L7Qs9C+INC30LDQutCw0LfQsCDQsNC60YLRg9Cw0LvRjNC90YvQtSDQtNCw0L3QvdGL0LUg0L/QvtGB0LvQtSDQvNGD0YLQsNGG0LjQuCDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqIEBwYXJhbSBvcmRlciDQlNCw0L3QvdGL0LUg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3luY09yZGVyQ2FjaGUob3JkZXJJZDogbnVtYmVyLCBvcmRlcjogU2NPcmRlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKGNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0uc2V0VmFsdWUob3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable security/detect-object-injection */
2
2
  import { Injectable } from '@angular/core';
3
- import { distinctUntilChanged, first, map, ReplaySubject, skip, switchMap } from 'rxjs';
3
+ import { first, map, ReplaySubject, skip, switchMap } from 'rxjs';
4
4
  import { ScUserMetadata } from '../../user/dto/sc-user-metadata';
5
5
  import { ScUserType } from '../../user/enums/sc-user-type';
6
6
  import { filterChangedByKey } from '../utils/filter-changed-by-key';
@@ -98,54 +98,28 @@ export class ScUIService {
98
98
  this.setMetadataByKey('paginatePageSize', paginatePageSize);
99
99
  }
100
100
  /**
101
- * Возвращает {@link Observable} метаданных неоформленного заказа по направлению продаж.
102
- *
103
- * @param directionsId Идентификатор направления продаж.
101
+ * Возвращает {@link Observable} метаданных неоформленного заказа.
104
102
  */
105
- getNewOrderMetadata$(directionsId) {
106
- // Данные представлены массивом объектов, поэтому не используется getMetadataChangeByKey$().
107
- return this.userMetadataSubject.pipe(map((metadata) => metadata.newOrdersMetadata), distinctUntilChanged(), map((ordersMetadata) => ordersMetadata[directionsId]), distinctUntilChanged());
103
+ getNewOrderMetadata$() {
104
+ return this.getMetadataChangeByKey$('newOrderMetadata');
108
105
  }
109
106
  /**
110
- * Устанавливает метаданные неоформленного заказа по направлению продаж.
107
+ * Устанавливает метаданные неоформленного заказа.
111
108
  *
112
- * @param directionsId Идентификатор направления продаж.
113
109
  * @param newOrderMetadata Данные нового неоформленного заказа.
114
110
  */
115
- setNewOrderMetadata(directionsId, newOrderMetadata) {
111
+ setNewOrderMetadata(newOrderMetadata) {
116
112
  // При сохранении изображения выдаёт ошибку 500 'Произошла ошибка при работе с базой данных'.
117
113
  // TODO: TASK[#6370]: Доработать после решения задачи.
118
- if (newOrderMetadata.image) {
119
- // eslint-disable-next-line no-param-reassign
120
- delete newOrderMetadata.image;
121
- }
122
- this.getMetadataChangeByKey$('newOrdersMetadata')
123
- .pipe(first())
124
- .subscribe((ordersMetadata) => {
125
- // eslint-disable-next-line no-param-reassign
126
- ordersMetadata[directionsId] = newOrderMetadata;
127
- this.setMetadataByKey('newOrdersMetadata', structuredClone(ordersMetadata));
128
- });
129
- }
130
- /**
131
- * Удаляет метаданные неоформленного заказа по направлению продаж.
132
- *
133
- * @param directionsId Идентификатор направления продаж.
134
- */
135
- removeNewOrderMetadata(directionsId) {
136
- this.getMetadataChangeByKey$('newOrdersMetadata')
137
- .pipe(first())
138
- .subscribe((ordersMetadata) => {
139
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete,no-param-reassign
140
- delete ordersMetadata[directionsId];
141
- this.setMetadataByKey('newOrdersMetadata', structuredClone(ordersMetadata));
142
- });
114
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
115
+ const { image, ...newOrderMetadataWithoutImage } = newOrderMetadata;
116
+ this.setMetadataByKey('newOrderMetadata', newOrderMetadataWithoutImage);
143
117
  }
144
118
  /**
145
- * Удаляет метаданные не оформленных заказов по всем направлениям продаж.
119
+ * Удаляет метаданные неоформленного заказа.
146
120
  */
147
- removeAllNewOrdersMetadata() {
148
- this.setMetadataByKey('newOrdersMetadata', []);
121
+ removeNewOrderMetadata() {
122
+ this.setMetadataByKey('newOrderMetadata', undefined);
149
123
  }
150
124
  /**
151
125
  * Возвращает дату последнего открытия опросников.
@@ -206,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
206
180
  providedIn: 'root',
207
181
  }]
208
182
  }], ctorParameters: () => [{ type: i1.ScUserService }] });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdWkvc2VydmljZXMvc2MtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLbEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRXBFOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFXcEI7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBZjlEOztXQUVHO1FBQ2Msd0JBQW1CLEdBQWtDLElBQUksYUFBYSxDQUFpQixDQUFDLENBQUMsQ0FBQztRQWF2RyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25ELENBQUM7WUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRWpFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CO2lCQUN0RCxJQUFJLENBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxF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QUF1QixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsYUFBOEI7UUFDbEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSwyQkFBMkI7UUFDOUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLDBCQUEwQixDQUFDLHlCQUFrQztRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHNCQUFzQixDQUFDLG1CQUEyQjtRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN0RSxDQUFDOytHQW5PUSxXQUFXO21IQUFYLFdBQVcsY0FGUixNQUFNOzs0RkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBza2lwLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0NhdGFsb2dGb3JtYXQgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2VudW1zL3NjLWNhdGFsb2ctZm9ybWF0JztcbmltcG9ydCB7IFNjUHJvZHVjdFRpbGVUeXBlIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9lbnVtcy9zYy1wcm9kdWN0LXRpbGUtdHlwZSc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktbmV3LW9yZGVyJztcbmltcG9ydCB7IFNjVXNlck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlci1tZXRhZGF0YSc7XG5pbXBvcnQgeyBTY1VzZXJUeXBlIH0gZnJvbSAnLi4vLi4vdXNlci9lbnVtcy9zYy11c2VyLXR5cGUnO1xuaW1wb3J0IHsgU2NVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvc2MtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IGZpbHRlckNoYW5nZWRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2ZpbHRlci1jaGFuZ2VkLWJ5LWtleSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEgVUkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjVUlTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldGFkYXRhU3ViamVjdDogUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4oMSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LTQv9C40YHQutCwINC90LAg0LjQt9C80LXQvdC10L3QuNC1INC80LXRgtCw0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIG1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVSVNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UpIHtcbiAgICAgICAgdXNlclNlcnZpY2UuZ2V0VXNlckNoYW5nZSQoKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5uZXh0KG5ldyBTY1VzZXJNZXRhZGF0YSh1c2VyLm1ldGFkYXRhKSk7XG5cbiAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uID0gdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0XG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHNraXAoMSksIC8vINCd0LUg0L3Rg9C20L3QviDQvtCx0L3QvtCy0LvRj9GC0Ywg0LTQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9GA0Lgg0LXQs9C+INGB0LzQtdC90LUuXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgobWV0YWRhdGEpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyLnVzZXJUeXBlID09PSBTY1VzZXJUeXBlLmd1ZXN0ID8gdGhpcy51c2VyU2VydmljZS51cGRhdGVHdWVzdEluZm8kKHsgbWV0YWRhdGE6IG1ldGFkYXRhIH0pIDogdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBtZXRhZGF0YTogbWV0YWRhdGEgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQvNC10YLQsNC00LDQvdC90YvRhSwg0LrQvtCz0LTQsCDQuNC30LzQtdC90Y/QtdGC0YHRjyDQt9C90LDRh9C10L3QuNC1INC/0LXRgNC10LTQsNC90L3QvtCz0L4g0YHQstC+0LnRgdGC0LLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQg0KHQstC+0LnRgdGC0LLQviDQtNC70Y8g0LrQvtGC0L7RgNC+0LPQviDQvtGC0YHQu9C10LbQuNCy0LDQtdGC0YHRjyDQuNC30LzQtdC90LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIGdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkPFQgZXh0ZW5kcyBrZXlvZiBTY1VzZXJNZXRhZGF0YSwgUiA9IFNjVXNlck1ldGFkYXRhW1RdPih0YXJnZXQ6IFQpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyQ2hhbmdlZEJ5S2V5KHRhcmdldCksXG4gICAgICAgICAgICBtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YVt0YXJnZXRdIGFzIFIpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC80LXRgtCw0LTQsNC90L3Ri9GFLCDQutC+0LPQtNCwINC40LfQvNC10L3Rj9C10YLRgdGPINC30L3QsNGH0LXQvdC40LUg0L/QtdGA0LXQtNCw0L3QvdC+0LPQviDRgdCy0L7QudGB0YLQstCwLlxuICAgICAqIFRPRE86INCU0L7RgNCw0LHQvtGC0LDRgtGMINGE0YPQvdC60YbQuNGOLCDRh9GC0L7QsdGLINC+0L3QsCDQstC+0LfQstGA0LDRidCw0LvQsCBPYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCDQodCy0L7QudGB0YLQstC+LCDQt9C90LDRh9C10L3QuNC1INC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LjQt9C80LXQvdC40YLRjC5cbiAgICAgKiBAcGFyYW0gdmFsdWUg0J3QvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gICAgcHVibGljIHNldE1ldGFkYXRhQnlLZXk8VCBleHRlbmRzIGtleW9mIFNjVXNlck1ldGFkYXRhLCBWID0gU2NVc2VyTWV0YWRhdGFbVF0+KHRhcmdldDogVCwgdmFsdWU6IFYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3TWV0YWRhdGEgPSBuZXcgU2NVc2VyTWV0YWRhdGEobWV0YWRhdGEpO1xuXG4gICAgICAgICAgICBuZXdNZXRhZGF0YVt0YXJnZXRdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVzZXJNZXRhZGF0YVN1YmplY3QubmV4dChuZXdNZXRhZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICovXG4gICAgcHVibGljIGdldEhpZGRlbkNhdGVnb3JpZXNMaXN0JCgpOiBPYnNlcnZhYmxlPEFycmF5PG51bWJlciB8IHN0cmluZz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2hpZGRlbkNhdGVnb3JpZXMnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgdC/0LjRgdC+0Log0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZHMg0KHQv9C40YHQvtC6INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LksINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LrRgNGL0YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SGlkZGVuQ2F0ZWdvcmllc0xpc3QoY2F0ZWdvcnlJZHM6IEFycmF5PG51bWJlciB8IHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdoaWRkZW5DYXRlZ29yaWVzJywgY2F0ZWdvcnlJZHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQstC40LTQsCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0VGlsZVR5cGUkKCk6IE9ic2VydmFibGU8U2NQcm9kdWN0VGlsZVR5cGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3Byb2R1Y3RUaWxlVHlwZScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINCy0LjQtCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RUaWxlVHlwZSDQktC40LQg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8g0YLQvtCy0LDRgNCwINCyINGB0L/QuNGB0LrQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0UHJvZHVjdFRpbGVUeXBlKHByb2R1Y3RUaWxlVHlwZTogU2NQcm9kdWN0VGlsZVR5cGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdwcm9kdWN0VGlsZVR5cGUnLCBwcm9kdWN0VGlsZVR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGFnaW5hdGVQYWdlU2l6ZSQoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3BhZ2luYXRlUGFnZVNpemUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC+0LvQuNGH0LXRgdGC0LLQviDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdpbmF0ZVBhZ2VTaXplINCa0L7Qu9C40YfQtdGB0YLQstC+INGN0LvQtdC80LXQvdGC0L7QsiDQvdCwINGB0YLRgNCw0L3QuNGG0LUg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRQYWdpbmF0ZVBhZ2VTaXplKHBhZ2luYXRlUGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ3BhZ2luYXRlUGFnZVNpemUnLCBwYWdpbmF0ZVBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGOINC/0YDQvtC00LDQti5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb25zSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsNC/0YDQsNCy0LvQtdC90LjRjyDQv9GA0L7QtNCw0LYuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld09yZGVyTWV0YWRhdGEkKGRpcmVjdGlvbnNJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lOZXdPcmRlciB8IHVuZGVmaW5lZD4ge1xuICAgICAgICAvLyDQlNCw0L3QvdGL0LUg0L/RgNC10LTRgdGC0LDQstC70LXQvdGLINC80LDRgdGB0LjQstC+0Lwg0L7QsdGK0LXQutGC0L7Qsiwg0L/QvtGN0YLQvtC80YMg0L3QtSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8gZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoKS5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEubmV3T3JkZXJzTWV0YWRhdGEpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIG1hcCgob3JkZXJzTWV0YWRhdGE6IFJlY29yZDxudW1iZXIsIFNjSU5ld09yZGVyIHwgdW5kZWZpbmVkPikgPT4gb3JkZXJzTWV0YWRhdGFbZGlyZWN0aW9uc0lkXSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LzQtdGC0LDQtNCw0L3QvdGL0LUg0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGOINC/0YDQvtC00LDQti5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb25zSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsNC/0YDQsNCy0LvQtdC90LjRjyDQv9GA0L7QtNCw0LYuXG4gICAgICogQHBhcmFtIG5ld09yZGVyTWV0YWRhdGEg0JTQsNC90L3Ri9C1INC90L7QstC+0LPQviDQvdC10L7RhNC+0YDQvNC70LXQvdC90L7Qs9C+INC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0TmV3T3JkZXJNZXRhZGF0YShkaXJlY3Rpb25zSWQ6IG51bWJlciwgbmV3T3JkZXJNZXRhZGF0YTogU2NJTmV3T3JkZXIpOiB2b2lkIHtcbiAgICAgICAgLy8g0J/RgNC4INGB0L7RhdGA0LDQvdC10L3QuNC4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LLRi9C00LDRkdGCINC+0YjQuNCx0LrRgyA1MDAgJ9Cf0YDQvtC40LfQvtGI0LvQsCDQvtGI0LjQsdC60LAg0L/RgNC4INGA0LDQsdC+0YLQtSDRgSDQsdCw0LfQvtC5INC00LDQvdC90YvRhScuXG4gICAgICAgIC8vIFRPRE86IFRBU0tbIzYzNzBdOiDQlNC+0YDQsNCx0L7RgtCw0YLRjCDQv9C+0YHQu9C1INGA0LXRiNC10L3QuNGPINC30LDQtNCw0YfQuC5cbiAgICAgICAgaWYgKG5ld09yZGVyTWV0YWRhdGEuaW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgZGVsZXRlIG5ld09yZGVyTWV0YWRhdGEuaW1hZ2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCduZXdPcmRlcnNNZXRhZGF0YScpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3JkZXJzTWV0YWRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgICAgICBvcmRlcnNNZXRhZGF0YVtkaXJlY3Rpb25zSWRdID0gbmV3T3JkZXJNZXRhZGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ25ld09yZGVyc01ldGFkYXRhJywgc3RydWN0dXJlZENsb25lKG9yZGVyc01ldGFkYXRhKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQvNC10YLQsNC00LDQvdC90YvQtSDQvdC10L7RhNC+0YDQvNC70LXQvdC90L7Qs9C+INC30LDQutCw0LfQsCDQv9C+INC90LDQv9GA0LDQstC70LXQvdC40Y4g0L/RgNC+0LTQsNC2LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRpcmVjdGlvbnNJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCw0L/RgNCw0LLQu9C10L3QuNGPINC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlTmV3T3JkZXJNZXRhZGF0YShkaXJlY3Rpb25zSWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCduZXdPcmRlcnNNZXRhZGF0YScpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3JkZXJzTWV0YWRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlLG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICAgICAgZGVsZXRlIG9yZGVyc01ldGFkYXRhW2RpcmVjdGlvbnNJZF07XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCduZXdPcmRlcnNNZXRhZGF0YScsIHN0cnVjdHVyZWRDbG9uZShvcmRlcnNNZXRhZGF0YSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LzQtdGC0LDQtNCw0L3QvdGL0LUg0L3QtSDQvtGE0L7RgNC80LvQtdC90L3Ri9GFINC30LDQutCw0LfQvtCyINC/0L4g0LLRgdC10Lwg0L3QsNC/0YDQsNCy0LvQtdC90LjRj9C8INC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlQWxsTmV3T3JkZXJzTWV0YWRhdGEoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnbmV3T3JkZXJzTWV0YWRhdGEnLCBbXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNGC0YMg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L7RgtC60YDRi9GC0LjRjyDQvtC/0YDQvtGB0L3QuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZSQoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2xhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQtNCw0YLRgyDQv9C+0YHQu9C10LTQvdC10LPQviDQvtGC0LrRgNGL0YLQuNGPINC+0L/RgNC+0YHQvdC40LrQvtCyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUg0JTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L7RgtC60YDRi9GC0LjRjyDQvtC/0YDQvtGB0L3QuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0TGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZShsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lOiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lJywgbGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2F0YWxvZ0Zvcm1hdCQoKTogT2JzZXJ2YWJsZTxTY0NhdGFsb2dGb3JtYXQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2NhdGFsb2dGb3JtYXQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRhNC+0YDQvNCw0YIg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGFsb2dGb3JtYXQg0KTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Q2F0YWxvZ0Zvcm1hdChjYXRhbG9nRm9ybWF0OiBTY0NhdGFsb2dGb3JtYXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdjYXRhbG9nRm9ybWF0JywgY2F0YWxvZ0Zvcm1hdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0YDQuNC30L3QsNC60LAg0YHQstGR0YDQvdGD0YLQvtC5INC00L4g0LfQvdCw0YfQutC+0LIg0LHQvtC60L7QstC+0Lkg0L/QsNC90LXQu9C4INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGFsb2dTaWRlYmFyQ29sbGFwc2VkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2lzQ2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQv9GA0LjQt9C90LDQuiDRgdCy0ZHRgNC90YPRgtC+0Lkg0LTQviDQt9C90LDRh9C60L7QsiDQsdC+0LrQvtCy0L7QuSDQv9Cw0L3QtdC70Lgg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkINCf0YDQuNC30L3QsNC6INGB0LLRkdGA0L3Rg9GC0L7QuSDQtNC+INC30L3QsNGH0LrQvtCyINCx0L7QutC+0LLQvtC5INC/0LDQvdC10LvQuCDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDYXRhbG9nU2lkZWJhckNvbGxhcHNlZChpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnaXNDYXRhbG9nU2lkZWJhckNvbGxhcHNlZCcsIGlzQ2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0YvQsdGA0LDQvdC90L7Qs9C+INGB0LrQu9Cw0LTQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWxlY3RlZFdhcmVob3VzZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0YvQsdGA0LDQvdC90L7Qs9C+INGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U2VsZWN0ZWRXYXJlaG91c2VJZChzZWxlY3RlZFdhcmVob3VzZUlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdzZWxlY3RlZFdhcmVob3VzZUlkJywgc2VsZWN0ZWRXYXJlaG91c2VJZCk7XG4gICAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdWkvc2VydmljZXMvc2MtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRXBFOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFXcEI7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBZjlEOztXQUVHO1FBQ2Msd0JBQW1CLEdBQWtDLElBQUksYUFBYSxDQUFpQixDQUFDLENBQUMsQ0FBQztRQWF2RyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25ELENBQUM7WUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRWpFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CO2lCQUN0RCxJQUFJLENBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHdEQUF3RDtZ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QkFBMkIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksNEJBQTRCLENBQUMseUJBQTZDO1FBQzdFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNJLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLGFBQThCO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksMkJBQTJCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSwwQkFBMEIsQ0FBQyx5QkFBa0M7UUFDaEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQkFBc0IsQ0FBQyxtQkFBMkI7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQzsrR0FuTVEsV0FBVzttSEFBWCxXQUFXLGNBRlIsTUFBTTs7NEZBRVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBza2lwLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0NhdGFsb2dGb3JtYXQgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2VudW1zL3NjLWNhdGFsb2ctZm9ybWF0JztcbmltcG9ydCB7IFNjUHJvZHVjdFRpbGVUeXBlIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9lbnVtcy9zYy1wcm9kdWN0LXRpbGUtdHlwZSc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktbmV3LW9yZGVyJztcbmltcG9ydCB7IFNjVXNlck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlci1tZXRhZGF0YSc7XG5pbXBvcnQgeyBTY1VzZXJUeXBlIH0gZnJvbSAnLi4vLi4vdXNlci9lbnVtcy9zYy11c2VyLXR5cGUnO1xuaW1wb3J0IHsgU2NVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvc2MtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IGZpbHRlckNoYW5nZWRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2ZpbHRlci1jaGFuZ2VkLWJ5LWtleSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEgVUkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjVUlTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldGFkYXRhU3ViamVjdDogUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4oMSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LTQv9C40YHQutCwINC90LAg0LjQt9C80LXQvdC10L3QuNC1INC80LXRgtCw0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIG1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVSVNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UpIHtcbiAgICAgICAgdXNlclNlcnZpY2UuZ2V0VXNlckNoYW5nZSQoKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5uZXh0KG5ldyBTY1VzZXJNZXRhZGF0YSh1c2VyLm1ldGFkYXRhKSk7XG5cbiAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uID0gdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0XG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHNraXAoMSksIC8vINCd0LUg0L3Rg9C20L3QviDQvtCx0L3QvtCy0LvRj9GC0Ywg0LTQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9GA0Lgg0LXQs9C+INGB0LzQtdC90LUuXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgobWV0YWRhdGEpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyLnVzZXJUeXBlID09PSBTY1VzZXJUeXBlLmd1ZXN0ID8gdGhpcy51c2VyU2VydmljZS51cGRhdGVHdWVzdEluZm8kKHsgbWV0YWRhdGE6IG1ldGFkYXRhIH0pIDogdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBtZXRhZGF0YTogbWV0YWRhdGEgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQvNC10YLQsNC00LDQvdC90YvRhSwg0LrQvtCz0LTQsCDQuNC30LzQtdC90Y/QtdGC0YHRjyDQt9C90LDRh9C10L3QuNC1INC/0LXRgNC10LTQsNC90L3QvtCz0L4g0YHQstC+0LnRgdGC0LLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQg0KHQstC+0LnRgdGC0LLQviDQtNC70Y8g0LrQvtGC0L7RgNC+0LPQviDQvtGC0YHQu9C10LbQuNCy0LDQtdGC0YHRjyDQuNC30LzQtdC90LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIGdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkPFQgZXh0ZW5kcyBrZXlvZiBTY1VzZXJNZXRhZGF0YSwgUiA9IFNjVXNlck1ldGFkYXRhW1RdPih0YXJnZXQ6IFQpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyQ2hhbmdlZEJ5S2V5KHRhcmdldCksXG4gICAgICAgICAgICBtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YVt0YXJnZXRdIGFzIFIpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC80LXRgtCw0LTQsNC90L3Ri9GFLCDQutC+0LPQtNCwINC40LfQvNC10L3Rj9C10YLRgdGPINC30L3QsNGH0LXQvdC40LUg0L/QtdGA0LXQtNCw0L3QvdC+0LPQviDRgdCy0L7QudGB0YLQstCwLlxuICAgICAqIFRPRE86INCU0L7RgNCw0LHQvtGC0LDRgtGMINGE0YPQvdC60YbQuNGOLCDRh9GC0L7QsdGLINC+0L3QsCDQstC+0LfQstGA0LDRidCw0LvQsCBPYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCDQodCy0L7QudGB0YLQstC+LCDQt9C90LDRh9C10L3QuNC1INC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LjQt9C80LXQvdC40YLRjC5cbiAgICAgKiBAcGFyYW0gdmFsdWUg0J3QvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gICAgcHVibGljIHNldE1ldGFkYXRhQnlLZXk8VCBleHRlbmRzIGtleW9mIFNjVXNlck1ldGFkYXRhLCBWID0gU2NVc2VyTWV0YWRhdGFbVF0+KHRhcmdldDogVCwgdmFsdWU6IFYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3TWV0YWRhdGEgPSBuZXcgU2NVc2VyTWV0YWRhdGEobWV0YWRhdGEpO1xuXG4gICAgICAgICAgICBuZXdNZXRhZGF0YVt0YXJnZXRdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVzZXJNZXRhZGF0YVN1YmplY3QubmV4dChuZXdNZXRhZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICovXG4gICAgcHVibGljIGdldEhpZGRlbkNhdGVnb3JpZXNMaXN0JCgpOiBPYnNlcnZhYmxlPEFycmF5PG51bWJlciB8IHN0cmluZz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2hpZGRlbkNhdGVnb3JpZXMnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgdC/0LjRgdC+0Log0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZHMg0KHQv9C40YHQvtC6INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LksINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LrRgNGL0YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SGlkZGVuQ2F0ZWdvcmllc0xpc3QoY2F0ZWdvcnlJZHM6IEFycmF5PG51bWJlciB8IHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdoaWRkZW5DYXRlZ29yaWVzJywgY2F0ZWdvcnlJZHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQstC40LTQsCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0VGlsZVR5cGUkKCk6IE9ic2VydmFibGU8U2NQcm9kdWN0VGlsZVR5cGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3Byb2R1Y3RUaWxlVHlwZScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINCy0LjQtCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RUaWxlVHlwZSDQktC40LQg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8g0YLQvtCy0LDRgNCwINCyINGB0L/QuNGB0LrQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0UHJvZHVjdFRpbGVUeXBlKHByb2R1Y3RUaWxlVHlwZTogU2NQcm9kdWN0VGlsZVR5cGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdwcm9kdWN0VGlsZVR5cGUnLCBwcm9kdWN0VGlsZVR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGFnaW5hdGVQYWdlU2l6ZSQoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3BhZ2luYXRlUGFnZVNpemUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC+0LvQuNGH0LXRgdGC0LLQviDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdpbmF0ZVBhZ2VTaXplINCa0L7Qu9C40YfQtdGB0YLQstC+INGN0LvQtdC80LXQvdGC0L7QsiDQvdCwINGB0YLRgNCw0L3QuNGG0LUg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRQYWdpbmF0ZVBhZ2VTaXplKHBhZ2luYXRlUGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ3BhZ2luYXRlUGFnZVNpemUnLCBwYWdpbmF0ZVBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld09yZGVyTWV0YWRhdGEkKCk6IE9ic2VydmFibGU8U2NJTmV3T3JkZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ25ld09yZGVyTWV0YWRhdGEnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQvNC10YLQsNC00LDQvdC90YvQtSDQvdC10L7RhNC+0YDQvNC70LXQvdC90L7Qs9C+INC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdPcmRlck1ldGFkYXRhINCU0LDQvdC90YvQtSDQvdC+0LLQvtCz0L4g0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIHNldE5ld09yZGVyTWV0YWRhdGEobmV3T3JkZXJNZXRhZGF0YTogU2NJTmV3T3JkZXIpOiB2b2lkIHtcbiAgICAgICAgLy8g0J/RgNC4INGB0L7RhdGA0LDQvdC10L3QuNC4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LLRi9C00LDRkdGCINC+0YjQuNCx0LrRgyA1MDAgJ9Cf0YDQvtC40LfQvtGI0LvQsCDQvtGI0LjQsdC60LAg0L/RgNC4INGA0LDQsdC+0YLQtSDRgSDQsdCw0LfQvtC5INC00LDQvdC90YvRhScuXG4gICAgICAgIC8vIFRPRE86IFRBU0tbIzYzNzBdOiDQlNC+0YDQsNCx0L7RgtCw0YLRjCDQv9C+0YHQu9C1INGA0LXRiNC10L3QuNGPINC30LDQtNCw0YfQuC5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICBjb25zdCB7IGltYWdlLCAuLi5uZXdPcmRlck1ldGFkYXRhV2l0aG91dEltYWdlIH0gPSBuZXdPcmRlck1ldGFkYXRhO1xuXG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnbmV3T3JkZXJNZXRhZGF0YScsIG5ld09yZGVyTWV0YWRhdGFXaXRob3V0SW1hZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINC80LXRgtCw0LTQsNC90L3Ri9C1INC90LXQvtGE0L7RgNC80LvQtdC90L3QvtCz0L4g0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVOZXdPcmRlck1ldGFkYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ25ld09yZGVyTWV0YWRhdGEnLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC00LDRgtGDINC/0L7RgdC70LXQtNC90LXQs9C+INC+0YLQutGA0YvRgtC40Y8g0L7Qv9GA0L7RgdC90LjQutC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGdldExhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUkKCk6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCdsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LTQsNGC0YMg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L7RgtC60YDRi9GC0LjRjyDQvtC/0YDQvtGB0L3QuNC60L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQs9C+INC+0YLQutGA0YvRgtC40Y8g0L7Qv9GA0L7RgdC90LjQutC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHNldExhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUobGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnbGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZScsIGxhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGE0L7RgNC80LDRgiDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGFsb2dGb3JtYXQkKCk6IE9ic2VydmFibGU8U2NDYXRhbG9nRm9ybWF0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCdjYXRhbG9nRm9ybWF0Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0YTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRhbG9nRm9ybWF0INCk0L7RgNC80LDRgiDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHVibGljIHNldENhdGFsb2dGb3JtYXQoY2F0YWxvZ0Zvcm1hdDogU2NDYXRhbG9nRm9ybWF0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnY2F0YWxvZ0Zvcm1hdCcsIGNhdGFsb2dGb3JtYXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQv9GA0LjQt9C90LDQutCwINGB0LLRkdGA0L3Rg9GC0L7QuSDQtNC+INC30L3QsNGH0LrQvtCyINCx0L7QutC+0LLQvtC5INC/0LDQvdC10LvQuCDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXRhbG9nU2lkZWJhckNvbGxhcHNlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCdpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0L/RgNC40LfQvdCw0Log0YHQstGR0YDQvdGD0YLQvtC5INC00L4g0LfQvdCw0YfQutC+0LIg0LHQvtC60L7QstC+0Lkg0L/QsNC90LXQu9C4INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXNDYXRhbG9nU2lkZWJhckNvbGxhcHNlZCDQn9GA0LjQt9C90LDQuiDRgdCy0ZHRgNC90YPRgtC+0Lkg0LTQviDQt9C90LDRh9C60L7QsiDQsdC+0LrQvtCy0L7QuSDQv9Cw0L3QtdC70Lgg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Q2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQoaXNDYXRhbG9nU2lkZWJhckNvbGxhcHNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ2lzQ2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQnLCBpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstGL0LHRgNCw0L3QvdC+0LPQviDRgdC60LvQsNC00LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRXYXJlaG91c2VJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstGL0LHRgNCw0L3QvdC+0LPQviDRgdC60LvQsNC00LAuXG4gICAgICovXG4gICAgcHVibGljIHNldFNlbGVjdGVkV2FyZWhvdXNlSWQoc2VsZWN0ZWRXYXJlaG91c2VJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnc2VsZWN0ZWRXYXJlaG91c2VJZCcsIHNlbGVjdGVkV2FyZWhvdXNlSWQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -18,15 +18,14 @@ export class ScUserMetadata {
18
18
  * Вид отображения плиток товаров.
19
19
  */
20
20
  this.productTileType = ScProductTileType.grid;
21
- /**
22
- * Метаданные не оформленных заказов.
23
- */
24
- this.newOrdersMetadata = [];
25
21
  /**
26
22
  * Формат отображения каталога.
27
23
  */
28
24
  this.catalogFormat = ScCatalogFormat.normal;
29
- Object.assign(this, data);
25
+ const metadata = { ...data };
26
+ // Устаревший ключ черновика заказа по направлениям, не переносится в актуальные метаданные.
27
+ delete metadata['newOrdersMetadata'];
28
+ Object.assign(this, metadata);
30
29
  }
31
30
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXNlci9kdG8vc2MtdXNlci1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHN0U7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQWtEdkI7Ozs7T0FJRztJQUNILFlBQW1CLE9BQWdDLEVBQUU7UUFoRHJEOztXQUVHO1FBQ0kscUJBQWdCLEdBQTJCLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNJLG9CQUFlLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQU9uRTs7V0FFRztRQUNJLHNCQUFpQixHQUE0QyxFQUFFLENBQUM7UUFPdkU7O1dBRUc7UUFDSSxrQkFBYSxHQUFvQixlQUFlLENBQUMsTUFBTSxDQUFDO1FBcUIzRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0NhdGFsb2dGb3JtYXQgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2VudW1zL3NjLWNhdGFsb2ctZm9ybWF0JztcbmltcG9ydCB7IFNjUHJvZHVjdFRpbGVUeXBlIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9lbnVtcy9zYy1wcm9kdWN0LXRpbGUtdHlwZSc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktbmV3LW9yZGVyJztcblxuLyoqXG4gKiDQnNC10YLQsNC00LDQvdC90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbmV4cG9ydCBjbGFzcyBTY1VzZXJNZXRhZGF0YSB7XG4gICAgLyoqXG4gICAgICog0J3QsNC30LLQsNC90LjQtSDRgdCy0L7QudGB0YLQstCwINC4INC10LPQviDQt9C90LDRh9C10L3QuNC1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LksINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LrRgNGL0YLRjCDQsiDQutCw0YLQsNC70L7Qs9C1LlxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRkZW5DYXRlZ29yaWVzOiBBcnJheTxudW1iZXIgfCBzdHJpbmc+ID0gW107XG5cbiAgICAvKipcbiAgICAgKiDQktC40LQg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQv9C70LjRgtC+0Log0YLQvtCy0LDRgNC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHByb2R1Y3RUaWxlVHlwZTogU2NQcm9kdWN0VGlsZVR5cGUgPSBTY1Byb2R1Y3RUaWxlVHlwZS5ncmlkO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC70LjRh9C10YHRgtCy0L4g0Y3Qu9C10LzQtdC90YLQvtCyINC90LAg0YHRgtGA0LDQvdC40YbQtSDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHBhZ2luYXRlUGFnZVNpemU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQnNC10YLQsNC00LDQvdC90YvQtSDQvdC1INC+0YTQvtGA0LzQu9C10L3QvdGL0YUg0LfQsNC60LDQt9C+0LIuXG4gICAgICovXG4gICAgcHVibGljIG5ld09yZGVyc01ldGFkYXRhOiBSZWNvcmQ8bnVtYmVyLCBTY0lOZXdPcmRlciB8IHVuZGVmaW5lZD4gPSBbXTtcblxuICAgIC8qKlxuICAgICAqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQs9C+INC+0YLQutGA0YvRgtC40Y8g0L7Qv9GA0L7RgdC90LjQutC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGxhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCw0YIg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjYXRhbG9nRm9ybWF0OiBTY0NhdGFsb2dGb3JtYXQgPSBTY0NhdGFsb2dGb3JtYXQubm9ybWFsO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0YHQstGR0YDQvdGD0YLQvtC5INC00L4g0LfQvdCw0YfQutC+0LIg0LHQvtC60L7QstC+0Lkg0L/QsNC90LXQu9C4INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICpcbiAgICAgKiDQl9C90LDRh9C10L3QuNC1INC90LUg0LfQsNC00LDRkdGC0YHRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjjog0L/QvtC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC90LUg0YHQstC+0YDQsNGH0LjQstCw0Lsg0L/QsNC90LXQu9GMINGB0LDQvCwg0L/RgNC40LvQvtC20LXQvdC40LUg0L/QvtC60LDQt9GL0LLQsNC10YIg0LXRkVxuICAgICAqINCyINGC0L7QvCDQstC40LTQtSwg0LrQvtGC0L7RgNGL0Lkg0LfQsNC00LDQvSDQvdCw0YHRgtGA0L7QudC60LDQvNC4INC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0YvQsdGA0LDQvdC90L7Qs9C+INGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0ZWRXYXJlaG91c2VJZD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVc2VyTWV0YWRhdGF9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGEg0JTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQstC+0L3QsNGH0LDQu9GM0L3QvtC5INC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4INC+0LHRitC10LrRgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPFNjVXNlck1ldGFkYXRhPiA9IHt9KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG4gICAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdXNlci9kdG8vc2MtdXNlci1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHN0U7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQWtEdkI7Ozs7T0FJRztJQUNILFlBQW1CLE9BQWdDLEVBQUU7UUFoRHJEOztXQUVHO1FBQ0kscUJBQWdCLEdBQTJCLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNJLG9CQUFlLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQWlCbkU7O1dBRUc7UUFDSSxrQkFBYSxHQUFvQixlQUFlLENBQUMsTUFBTSxDQUFDO1FBcUIzRCxNQUFNLFFBQVEsR0FBNEIsRUFBRSxHQUFJLElBQWdDLEVBQUUsQ0FBQztRQUVuRiw0RkFBNEY7UUFDNUYsT0FBTyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVyQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY0NhdGFsb2dGb3JtYXQgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2VudW1zL3NjLWNhdGFsb2ctZm9ybWF0JztcbmltcG9ydCB7IFNjUHJvZHVjdFRpbGVUeXBlIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9lbnVtcy9zYy1wcm9kdWN0LXRpbGUtdHlwZSc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktbmV3LW9yZGVyJztcblxuLyoqXG4gKiDQnNC10YLQsNC00LDQvdC90YvQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbmV4cG9ydCBjbGFzcyBTY1VzZXJNZXRhZGF0YSB7XG4gICAgLyoqXG4gICAgICog0J3QsNC30LLQsNC90LjQtSDRgdCy0L7QudGB0YLQstCwINC4INC10LPQviDQt9C90LDRh9C10L3QuNC1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LksINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LrRgNGL0YLRjCDQsiDQutCw0YLQsNC70L7Qs9C1LlxuICAgICAqL1xuICAgIHB1YmxpYyBoaWRkZW5DYXRlZ29yaWVzOiBBcnJheTxudW1iZXIgfCBzdHJpbmc+ID0gW107XG5cbiAgICAvKipcbiAgICAgKiDQktC40LQg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQv9C70LjRgtC+0Log0YLQvtCy0LDRgNC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHByb2R1Y3RUaWxlVHlwZTogU2NQcm9kdWN0VGlsZVR5cGUgPSBTY1Byb2R1Y3RUaWxlVHlwZS5ncmlkO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC70LjRh9C10YHRgtCy0L4g0Y3Qu9C10LzQtdC90YLQvtCyINC90LAg0YHRgtGA0LDQvdC40YbQtSDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHBhZ2luYXRlUGFnZVNpemU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQnNC10YLQsNC00LDQvdC90YvQtSDQvdC10L7RhNC+0YDQvNC70LXQvdC90L7Qs9C+INC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmV3T3JkZXJNZXRhZGF0YT86IFNjSU5ld09yZGVyO1xuXG4gICAgLyoqXG4gICAgICog0JTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L7RgtC60YDRi9GC0LjRjyDQvtC/0YDQvtGB0L3QuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgbGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZT86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCk0L7RgNC80LDRgiDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHVibGljIGNhdGFsb2dGb3JtYXQ6IFNjQ2F0YWxvZ0Zvcm1hdCA9IFNjQ2F0YWxvZ0Zvcm1hdC5ub3JtYWw7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgdCy0ZHRgNC90YPRgtC+0Lkg0LTQviDQt9C90LDRh9C60L7QsiDQsdC+0LrQvtCy0L7QuSDQv9Cw0L3QtdC70Lgg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKlxuICAgICAqINCX0L3QsNGH0LXQvdC40LUg0L3QtSDQt9Cw0LTQsNGR0YLRgdGPINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOOiDQv9C+0LrQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDRgdCy0L7RgNCw0YfQuNCy0LDQuyDQv9Cw0L3QtdC70Ywg0YHQsNC8LCDQv9GA0LjQu9C+0LbQtdC90LjQtSDQv9C+0LrQsNC30YvQstCw0LXRgiDQtdGRXG4gICAgICog0LIg0YLQvtC8INCy0LjQtNC1LCDQutC+0YLQvtGA0YvQuSDQt9Cw0LTQsNC9INC90LDRgdGC0YDQvtC50LrQsNC80Lgg0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIGlzQ2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLRi9Cx0YDQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3RlZFdhcmVob3VzZUlkPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1VzZXJNZXRhZGF0YX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Lgg0L7QsdGK0LXQutGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8U2NVc2VyTWV0YWRhdGE+ID0ge30pIHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0geyAuLi4oZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgfTtcblxuICAgICAgICAvLyDQo9GB0YLQsNGA0LXQstGI0LjQuSDQutC70Y7RhyDRh9C10YDQvdC+0LLQuNC60LAg0LfQsNC60LDQt9CwINC/0L4g0L3QsNC/0YDQsNCy0LvQtdC90LjRj9C8LCDQvdC1INC/0LXRgNC10L3QvtGB0LjRgtGB0Y8g0LIg0LDQutGC0YPQsNC70YzQvdGL0LUg0LzQtdGC0LDQtNCw0L3QvdGL0LUuXG4gICAgICAgIGRlbGV0ZSBtZXRhZGF0YVsnbmV3T3JkZXJzTWV0YWRhdGEnXTtcblxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIG1ldGFkYXRhKTtcbiAgICB9XG59XG4iXX0=
@@ -153,24 +153,6 @@ export var ScUserMetrikaGoalsEnum;
153
153
  * В качестве параметра должен быть указан идентификатор КП/черновика (параметр "offer_id").
154
154
  */
155
155
  ScUserMetrikaGoalsEnum["orderDraftDeleted"] = "ORDER_DRAFT_DELETED";
156
- /**
157
- * Черновик заказа создан из файла программы «Профстрой».
158
- *
159
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
160
- */
161
- ScUserMetrikaGoalsEnum["orderDraftProfstroyCreated"] = "ORDER_DRAFT_PROFSTROY_CREATED";
162
- /**
163
- * Запущена актуализация черновика Профстрой.
164
- *
165
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
166
- */
167
- ScUserMetrikaGoalsEnum["orderDraftProfstroyActualized"] = "ORDER_DRAFT_PROFSTROY_ACTUALIZED";
168
- /**
169
- * Запущена пересборка черновика Профстрой из файла.
170
- *
171
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
172
- */
173
- ScUserMetrikaGoalsEnum["orderDraftProfstroyReloaded"] = "ORDER_DRAFT_PROFSTROY_RELOADED";
174
156
  /**
175
157
  * Открыто диалоговое окно/страница конфигуратора товара.
176
158
  *
@@ -352,4 +334,4 @@ export var ScUserMetrikaGoalsEnum;
352
334
  */
353
335
  ScUserMetrikaGoalsEnum["cartCsvUpload"] = "CART_CSV_UPLOAD";
354
336
  })(ScUserMetrikaGoalsEnum || (ScUserMetrikaGoalsEnum = {}));
355
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tZXRyaWthLWdvYWxzLWVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3VzZXItbWV0cmlrYS9lbnVtcy9zYy11c2VyLW1ldHJpa2EtZ29hbHMtZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILHFDQUFxQztBQUNyQyxNQUFNLENBQU4sSUFBWSxzQkE0Wlg7QUE1WkQsV0FBWSxzQkFBc0I7SUFDOUI7Ozs7T0FJRztJQUNILHNEQUE0QixDQUFBO0lBRTVCOztPQUVHO0lBQ0gsc0RBQTRCLENBQUE7SUFFNUI7Ozs7T0FJRztJQUNILDJEQUFpQyxDQUFBO0lBRWpDOzs7O09BSUc7SUFDSCwrREFBcUMsQ0FBQTtJQUVyQzs7OztPQUlHO0lBQ0gsZ0VBQXNDLENBQUE7SUFFdEM7Ozs7T0FJRztJQUNILGtHQUF3RSxDQUFBO0lBRXhFOztPQUVHO0lBQ0gsZ0RBQXNCLENBQUE7SUFFdEI7Ozs7OztPQU1HO0lBQ0gseUVBQStDLENBQUE7SUFFL0M7Ozs7OztPQU1HO0lBQ0gsMERBQWdDLENBQUE7SUFFaEM7Ozs7T0FJRztJQUNILHVFQUE2QyxDQUFBO0lBRTdDOztPQUVHO0lBQ0gsd0RBQThCLENBQUE7SUFFOUI7O09BRUc7SUFDSCx3REFBOEIsQ0FBQTtJQUU5Qjs7OztPQUlHO0lBQ0gsMkRBQWlDLENBQUE7SUFFakM7O09BRUc7SUFDSCw4Q0FBb0IsQ0FBQTtJQUVwQjs7T0FFRztJQUNILGtFQUF3QyxDQUFBO0lBRXhDOztPQUVHO0lBQ0gsa0RBQXdCLENBQUE7SUFFeEI7Ozs7OztPQU1HO0lBQ0gsNERBQWtDLENBQUE7SUFFbEM7Ozs7OztPQU1HO0lBQ0gsc0RBQTRCLENBQUE7SUFFNUI7Ozs7OztPQU1HO0lBQ0gsd0RBQThCLENBQUE7SUFFOUI7Ozs7OztPQU1HO0lBQ0gsNEVBQWtELENBQUE7SUFFbEQ7Ozs7Ozs7T0FPRztJQUNILHdEQUE4QixDQUFBO0lBRTlCOztPQUVHO0lBQ0gsNkRBQW1DLENBQUE7SUFFbkM7Ozs7T0FJRztJQUNILG1FQUF5QyxDQUFBO0lBRXpDOzs7O09BSUc7SUFDSCxtRUFBeUMsQ0FBQTtJQUV6Qzs7OztPQUlHO0lBQ0gsbUVBQXlDLENBQUE7SUFFekM7Ozs7T0FJRztJQUNILHNGQUE0RCxDQUFBO0lBRTVEOzs7O09BSUc7SUFDSCw0RkFBa0UsQ0FBQTtJQUVsRTs7OztPQUlHO0lBQ0gsd0ZBQThELENBQUE7SUFFOUQ7Ozs7T0FJRztJQUNILCtFQUFxRCxDQUFBO0lBRXJEOzs7O09BSUc7SUFDSCwrREFBcUMsQ0FBQTtJQUVyQzs7OztPQUlHO0lBQ0gsK0RBQXFDLENBQUE7SUFFckM7Ozs7T0FJRztJQUNILGtGQUF3RCxDQUFBO0lBRXhEOzs7O09BSUc7SUFDSCxnRkFBc0QsQ0FBQTtJQUV0RDs7OztPQUlHO0lBQ0gsNENBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCwwRUFBZ0QsQ0FBQTtJQUVoRDs7OztPQUlHO0lBQ0gsa0VBQXdDLENBQUE7SUFFeEM7Ozs7T0FJRztJQUNILHFFQUEyQyxDQUFBO0lBRTNDOztPQUVHO0lBQ0gsZ0ZBQXNELENBQUE7SUFFdEQ7O09BRUc7SUFDSCx5RkFBK0QsQ0FBQTtJQUUvRDs7T0FFRztJQUNILHVFQUE2QyxDQUFBO0lBRTdDOzs7O09BSUc7SUFDSCxvREFBMEIsQ0FBQTtJQUUxQjs7T0FFRztJQUNILGtEQUF3QixDQUFBO0lBRXhCOzs7O09BSUc7SUFDSCxnREFBc0IsQ0FBQTtJQUV0Qjs7T0FFRztJQUNILHFEQUEyQixDQUFBO0lBRTNCOztPQUVHO0lBQ0gsa0RBQXdCLENBQUE7SUFFeEI7O09BRUc7SUFDSCxnREFBc0IsQ0FBQTtJQUV0Qjs7OztPQUlHO0lBQ0gsMkRBQWlDLENBQUE7SUFFakM7O09BRUc7SUFDSCxxREFBMkIsQ0FBQTtJQUUzQjs7T0FFRztJQUNILG1FQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gseUZBQStELENBQUE7SUFFL0Q7O09BRUc7SUFDSCx3RUFBOEMsQ0FBQTtJQUU5Qzs7T0FFRztJQUNILG1FQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsZ0ZBQXNELENBQUE7SUFFdEQ7O09BRUc7SUFDSCxxRkFBMkQsQ0FBQTtJQUUzRDs7T0FFRztJQUNILHNGQUE0RCxDQUFBO0lBRTVEOztPQUVHO0lBQ0gsMkZBQWlFLENBQUE7SUFFakU7Ozs7T0FJRztJQUNILDBGQUFnRSxDQUFBO0lBRWhFOztPQUVHO0lBQ0gsaUdBQXVFLENBQUE7SUFFdkU7O09BRUc7SUFDSCxzR0FBNEUsQ0FBQTtJQUU1RTs7OztPQUlHO0lBQ0gscUdBQTJFLENBQUE7SUFFM0U7Ozs7T0FJRztJQUNILHdEQUE4QixDQUFBO0lBRTlCOztPQUVHO0lBQ0gsc0RBQTRCLENBQUE7SUFFNUI7Ozs7T0FJRztJQUNILG9EQUEwQixDQUFBO0lBRTFCOzs7O09BSUc7SUFDSCxvREFBMEIsQ0FBQTtJQUUxQjs7T0FFRztJQUNILDJEQUFpQyxDQUFBO0FBQ3JDLENBQUMsRUE1Wlcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQTRaakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDQvdCw0LfQstCw0L3QuNC5INGG0LXQu9C10Lkg0LzQtdGC0YDQuNC60Lgg0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9GFINC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0LTQtdC50YHRgtCy0LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuZXhwb3J0IGVudW0gU2NVc2VyTWV0cmlrYUdvYWxzRW51bSB7XG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INCx0LDQvdC90LXRgNGDLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsdCw0L3QvdC10YDQsCAo0L/QsNGA0LDQvNC10YLRgCBcImJhbm5lcl9pZFwiKS5cbiAgICAgKi9cbiAgICBiYW5uZXJDbGljayA9ICdCQU5ORVJfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0JrQvtGA0LfQuNC90LAg0L7Rh9C40YnQtdC90LAuXG4gICAgICovXG4gICAgY2FydENsZWFyZWQgPSAnQ0FSVF9DTEVBUkVEJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQtNC+0LHQsNCy0LjQuyDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdGDLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIGNhcnRJdGVtQWRkZWQgPSAnQ0FSVF9JVEVNX0FEREVEJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRg9C00LDQu9C40Lsg0YLQvtCy0LDRgCDQuNC3INC60L7RgNC30LjQvdGLLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIGNhcnRJdGVtRGVsZXRlZCA9ICdDQVJUX0lURU1fREVMRVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC00L7QsdCw0LLQu9C10L3QuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3Rgy5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwICjQv9Cw0YDQsNC80LXRgtGAIFwicHJvZHVjdF9pZFwiKS5cbiAgICAgKi9cbiAgICBjYXJ0SXRlbUFkZFNob3cgPSAnQ0FSVF9JVEVNX0FERF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQtNC+0LHQsNCy0LjQuyDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdGDINC40Lcg0YDQtdC60L7QvNC10L3QtNCw0YbQuNC5LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIGNhcnRJdGVtQWRkZWRGcm9tUmVjb21tZW5kYXRpb25zID0gJ0NBUlRfSVRFTV9BRERFRF9GUk9NX1JFQ09NTUVOREFUSU9OJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YHQviDRgdC/0LjRgdC60L7QvCDRgtC+0LLQsNGA0L7QsiDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKi9cbiAgICBjYXJ0U2hvdyA9ICdDQVJUX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvdC+INGB0LrQsNGH0LjQstCw0L3QuNC1INC/0YDQsNC50YEt0LvQuNGB0YLQsC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdGLINCx0YvRgtGMINGD0LrQsNC30LDQvdGLOlxuICAgICAqIC0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQsNGC0LXQs9C+0YDQuNC4INC00LvRjyDQutC+0YLQvtGA0L7QuSDRgdC60LDRh9C40LLQsNC10YLRgdGPINC/0YDQsNC50YEt0LvQuNGB0YIgKNC/0LDRgNCw0LzQtdGC0YAgXCJjYXRlZ29yeV9pZFwiKTtcbiAgICAgKiAtINGC0LjQvyDRgdC60LDRh9C40LLQsNC10LzQvtCz0L4g0L/RgNCw0LnRgS3Qu9C40YHRgtCwICjQv9Cw0YDQsNC80LXRgtGAIFwicHJpY2VfdHlwZVwiKS5cbiAgICAgKi9cbiAgICBjYXRhbG9nUHJpY2VEb3dubG9hZCA9ICdDQVRBTE9HX1BSSUNFX0RPV05MT0FEJyxcblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdC10L0g0L/QvtC40YHQuiDQv9C+INC60LDRgtCw0LvQvtCz0YMuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINGC0LjQvyDQv9C+0LjRgdC60LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJzZWFyY2hfdHlwZVwiKTtcbiAgICAgKiAtINGC0LXRgNC8INC/0L7QuNGB0LrQsCAo0L/QsNGA0LDQvNC10YLRgCBcInNlYXJjaF90ZXJtXCIpLlxuICAgICAqL1xuICAgIGNhdGFsb2dTZWFyY2ggPSAnQ0FUQUxPR19TRUFSQ0gnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQvdCw0YHRgtGA0L7QtdC6INC60LDRgtCw0LvQvtCz0LAg0YLQvtCy0LDRgNC+0LIuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60LvQuNC10L3RgtCwICjQv9Cw0YDQsNC80LXRgtGAIFwidWlkXCIpLlxuICAgICAqL1xuICAgIGNhdGFsb2dTZXR0aW5nc1Nob3cgPSAnQ0FUQUxPR19TRVRUSU5HU19TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQv9GA0LDQstC70LXQvdC+INGB0L7QvtCx0YnQtdC90LjQtSDQv9C+INC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuC5cbiAgICAgKi9cbiAgICBmZWVkYmFja1NlbnQgPSAnRkVFREJBQ0tfU0VOVCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuC5cbiAgICAgKi9cbiAgICBmZWVkYmFja1Nob3cgPSAnRkVFREJBQ0tfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3QtdC9INC60LvQuNC6INC/0L4g0LzQsNGA0LrQtdGA0YMg0LrQsNGA0YLRiy5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdC+INCx0YvRgtGMINGD0LrQsNC30LDQvdC+INC90LDQt9Cy0LDQvdC40LUg0LzQsNGA0LrQtdGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJtYXBfcG9pbnRfbmFtZVwiKS5cbiAgICAgKi9cbiAgICBtYXBQb2ludENsaWNrID0gJ01BUF9QT0lOVF9DTElDSycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINGBINC60LDRgNGC0L7QuS5cbiAgICAgKi9cbiAgICBtYXBTaG93ID0gJ01BUF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YEg0YPQstC10LTQvtC80LvQtdC90LjRj9C80LguXG4gICAgICovXG4gICAgbm90aWZpY2F0aW9uc1Nob3cgPSAnTk9USUZJQ0FUSU9OU19TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIG9yZGVyU2hvdyA9ICdPUkRFUl9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCX0LDQutCw0Lcg0L7RgtC80LXQvdGR0L0uXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9yZGVyX2lkXCIpO1xuICAgICAqIC0g0YHRgtC+0LjQvNC+0YHRgtGMINC30LDQutCw0LfQsCAo0L/QsNGA0LDQvNC10YLRgCBcImNvc3RcIikuXG4gICAgICovXG4gICAgb3JkZXJDYW5jZWxsZWQgPSAnT1JERVJfQ0FOQ0VMTEVEJyxcblxuICAgIC8qKlxuICAgICAqINCX0LDQutCw0Lcg0LrQu9C+0L3QuNGA0L7QstCw0L0g0LjQtyDQtNGA0YPQs9C+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40YHRhdC+0LTQvdC+0LPQviDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJvcmRlcl9pZFwiKTtcbiAgICAgKiAtINGB0YLQvtC40LzQvtGB0YLRjCDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJjb3N0XCIpLlxuICAgICAqL1xuICAgIG9yZGVyQ2xvbmVkID0gJ09SREVSX0NMT05FRCcsXG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0L0g0LfQsNC60LDQty5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdGLINCx0YvRgtGMINGD0LrQsNC30LDQvdGLOlxuICAgICAqIC0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwICjQv9Cw0YDQsNC80LXRgtGAIFwib3JkZXJfaWRcIiwg0L3QtSDQv9C10YDQtdC00LDRkdGC0YHRjyDQtNC70Y8g0L3QvtCy0L7QuS/QvdC10L7Qv9GA0LXQtNC10LvRkdC90L3QvtC5INC30LDQv9C40YHQuCk7XG4gICAgICogLSDRgdGC0L7QuNC80L7RgdGC0Ywg0LfQsNC60LDQt9CwICjQv9Cw0YDQsNC80LXRgtGAIFwiY29zdFwiKS5cbiAgICAgKi9cbiAgICBvcmRlckNyZWF0ZWQgPSAnT1JERVJfQ1JFQVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0LrQsNC3INGB0L7Qt9C00LDQvSDQuNC3INGH0LXRgNC90L7QstC40LrQsCDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40YHRhdC+0LTQvdC+0LPQviDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJvcmRlcl9pZFwiKTtcbiAgICAgKiAtINGB0YLQvtC40LzQvtGB0YLRjCDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJjb3N0XCIpLlxuICAgICAqL1xuICAgIG9yZGVyQ3JlYXRlZEZyb21EcmFmdCA9ICdPUkRFUl9DUkVBVEVEX0ZST01fRFJBRlQnLFxuXG4gICAgLyoqXG4gICAgICog0JfQsNC60LDQtyDRg9C00LDQu9GR0L0uXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9yZGVyX2lkXCIpO1xuICAgICAqIC0g0L/RgNC40LfQvdCw0LosINGH0YLQviDQt9Cw0LrQsNC3INGP0LLQu9GP0LXRgtGB0Y8g0YfQtdGA0L3QvtCy0LjQutC+0LwgKNC/0LDRgNCw0LzQtdGC0YAgXCJpc19kcmFmdFwiKTtcbiAgICAgKiAtINGB0YLQvtC40LzQvtGB0YLRjCDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJjb3N0XCIpLlxuICAgICAqL1xuICAgIG9yZGVyRGVsZXRlZCA9ICdPUkRFUl9ERUxFVEVEJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YfQtdGA0L3QvtCy0LjQutCwINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBvcmRlckRyYWZ0U2hvdyA9ICdPUkRFUl9EUkFGVF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCa0L7QvNC80LXRgNGH0LXRgdC60L7QtSDQv9GA0LXQtNC70L7QttC10L3QuNC1L9GH0LXRgNC90L7QstC40Log0LfQsNC60LDQt9CwINGB0L7Qt9C00LDQvdC+LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQmtCfL9GH0LXRgNC90L7QstC40LrQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9mZmVyX2lkXCIpLlxuICAgICAqL1xuICAgIG9yZGVyRHJhZnRDcmVhdGVkID0gJ09SREVSX0RSQUZUX0NSRUFURUQnLFxuXG4gICAgLyoqXG4gICAgICog0JrQvtC80LzQtdGA0YfQtdGB0LrQvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUv0YfQtdGA0L3QvtCy0LjQuiDQt9Cw0LrQsNC30LAg0L7QsdC90L7QstC70LXQvdC+LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQmtCfL9GH0LXRgNC90L7QstC40LrQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9mZmVyX2lkXCIpLlxuICAgICAqL1xuICAgIG9yZGVyRHJhZnRVcGRhdGVkID0gJ09SREVSX0RSQUZUX1VQREFURUQnLFxuXG4gICAgLyoqXG4gICAgICog0JrQvtC80LzQtdGA0YfQtdGB0LrQvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUv0YfQtdGA0L3QvtCy0LjQuiDQt9Cw0LrQsNC30LAg0YPQtNCw0LvQtdC90L4uXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCa0J8v0YfQtdGA0L3QvtCy0LjQutCwICjQv9Cw0YDQsNC80LXRgtGAIFwib2ZmZXJfaWRcIikuXG4gICAgICovXG4gICAgb3JkZXJEcmFmdERlbGV0ZWQgPSAnT1JERVJfRFJBRlRfREVMRVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQp9C10YDQvdC+0LLQuNC6INC30LDQutCw0LfQsCDRgdC+0LfQtNCw0L0g0LjQtyDRhNCw0LnQu9CwINC/0YDQvtCz0YDQsNC80LzRiyDCq9Cf0YDQvtGE0YHRgtGA0L7QucK7LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRh9C10YDQvdC+0LLQuNC60LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJvZmZlcl9pZFwiKS5cbiAgICAgKi9cbiAgICBvcmRlckRyYWZ0UHJvZnN0cm95Q3JlYXRlZCA9ICdPUkRFUl9EUkFGVF9QUk9GU1RST1lfQ1JFQVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0L/Rg9GJ0LXQvdCwINCw0LrRgtGD0LDQu9C40LfQsNGG0LjRjyDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRh9C10YDQvdC+0LLQuNC60LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJvZmZlcl9pZFwiKS5cbiAgICAgKi9cbiAgICBvcmRlckRyYWZ0UHJvZnN0cm95QWN0dWFsaXplZCA9ICdPUkRFUl9EUkFGVF9QUk9GU1RST1lfQUNUVUFMSVpFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0L/Rg9GJ0LXQvdCwINC/0LXRgNC10YHQsdC+0YDQutCwINGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0Lkg0LjQtyDRhNCw0LnQu9CwLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRh9C10YDQvdC+0LLQuNC60LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJvZmZlcl9pZFwiKS5cbiAgICAgKi9cbiAgICBvcmRlckRyYWZ0UHJvZnN0cm95UmVsb2FkZWQgPSAnT1JERVJfRFJBRlRfUFJPRlNUUk9ZX1JFTE9BREVEJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LrQvtC90YTQuNCz0YPRgNCw0YLQvtGA0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIHByb2R1Y3RDb25maWd1cmF0b3JTaG93ID0gJ1BST0RVQ1RfQ09ORklHVVJBVE9SX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDRgSDQv9C+0LTRgNC+0LHQvdGL0Lwg0L7Qv9C40YHQsNC90LjQtdC8INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwICjQv9Cw0YDQsNC80LXRgtGAIFwicHJvZHVjdF9pZFwiKS5cbiAgICAgKi9cbiAgICBwcm9kdWN0SW5mb1Nob3cgPSAnUFJPRFVDVF9JTkZPX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INC60LDRgNGC0LUv0LPRgNCw0YTQuNGH0LXRgdC60L7QvNGDINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGOINGC0L7QstCw0YDQvtCyLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQu9C+0LPQuNGH0LXRgdC60L7QuSDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIg0L3QsCDQutCw0YDRgtC1ICjQv9Cw0YDQsNC80LXRgtGAIFwidmlydHVhbF9ncm91cF9pZFwiINC40LvQuCBcInZpcnR1YWxfZ3JvdXBfbmFtZVwiKS5cbiAgICAgKi9cbiAgICBwcm9kdWN0TWFwQ2xpY2sgPSAnUFJPRFVDVF9NQVBfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INC70L7Qs9C40YfQtdGB0LrQvtC5INCz0YDRg9C/0L/QtSDRgtC+0LLQsNGA0L7Qsi5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdC+INCx0YvRgtGMINGD0LrQsNC30LDQvdC+INC+0YLQutGD0LTQsCDQsdGL0Lsg0L/RgNC+0LjQt9Cy0LXQtNC10L0g0L/QtdGA0LXRhdC+0LQgKGZyb21fbG9jYXRpb24pINC4INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC70L7Qs9C40YfQtdGB0LrQvtC5INCz0YDRg9C/0L/RiyDRgtC+0LLQsNGA0L7QsiAo0L/QsNGA0LDQvNC10YLRgCBcInZpcnR1YWxfZ3JvdXBfaWRcIikuXG4gICAgICovXG4gICAgcHJvZHVjdFZpcnR1YWxHcm91cENsaWNrID0gJ1BST0RVQ1RfVklSVFVBTF9HUk9VUF9DTElDSycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC40YHRgtC+0YDQuNC4INC40LfQvNC10L3QtdC90LjRjyDRhtC10L0g0L3QsCDRgtC+0LLQsNGALlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIHByb2R1Y3RQcmljZUhpc3RvcnlTaG93ID0gJ1BST0RVQ1RfUFJJQ0VfSElTVE9SWV9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YEgUVIt0LrQvtC00L7QvC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdC+INCx0YvRgtGMINGD0LrQsNC30LDQvdC+INC90LDQt9Cy0LDQvdC40LUg0L7RgtC60YDRi9GC0L7Qs9C+IFFSLdC60L7QtNCwICjQv9Cw0YDQsNC80LXRgtGAIFwicXJfbmFtZVwiKS5cbiAgICAgKi9cbiAgICBxclNob3cgPSAnUVJfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L7RgtCy0LXRgtC40Lsg0L3QsCDQvtC/0YDQvtGB0L3QuNC6LlxuICAgICAqL1xuICAgIHF1ZXN0aW9ubmFpcmVBbnN3ZXJlZCA9ICdRVUVTVElPTk5BSVJFX0FOU1dFUkVEJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0L7Qv9GA0L7RgdC90LjQutCwLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvtC/0YDQvtGB0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJxdWVzdGlvbm5haXJlX2lkXCIpLlxuICAgICAqL1xuICAgIHF1ZXN0aW9ubmFpcmVTaG93ID0gJ1FVRVNUSU9OTkFJUkVfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC00L7QsdCw0LLQu9C10L3QuNGPINGA0LXQutC70LDQvNCw0YbQuNC4LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgNC10LrQu9Cw0LzQsNGG0LjQuCAo0L/QsNGA0LDQvNC10YLRgCBcInJlY2xhbWF0aW9uX2lkXCIsINC90LUg0L/QtdGA0LXQtNCw0ZHRgtGB0Y8g0LTQu9GPINC90L7QstC+0Lkg0LfQsNC/0LjRgdC4KS5cbiAgICAgKi9cbiAgICByZWNsYW1hdGlvbkFkZFNob3cgPSAnUkVDTEFNQVRJT05fQUREX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0JrQvtC0INCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8g0L/QsNGA0L7Qu9GPINC+0YLQv9GA0LDQstC70LXQvS5cbiAgICAgKi9cbiAgICByZWNvdmVyUGFzc3dvcmRDb2RlU2VudCA9ICdSRUNPVkVSX1BBU1NXT1JEX0NPREVfU0VOVCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC60L7QtNCwINCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8g0L/QsNGA0L7Qu9GPLlxuICAgICAqL1xuICAgIHJlY292ZXJQYXNzd29yZFNlbmRDb2RlU2hvdyA9ICdSRUNPVkVSX1BBU1NXT1JEX1NFTkRfQ09ERV9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LLQvtGB0YHRgtCw0L3QvtCy0LvQtdC90LjRjyDQv9Cw0YDQvtC70Y8uXG4gICAgICovXG4gICAgcmVjb3ZlclBhc3N3b3JkU2hvdyA9ICdSRUNPVkVSX1BBU1NXT1JEX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INC+0LTQvdC+0Lkg0LjQtyDRgdGB0YvQu9C+0LogXCLQn9C+0LTQtdC70LjRgtGM0YHRj1wiLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQtNC+0LvQttC90L4g0LHRi9GC0Ywg0YPQutCw0LfQsNC90L4g0L/QviDQutCw0LrQvtC5INC40LzQtdC90L3QviDRgdGB0YvQu9C60LUg0L/RgNC+0LjQt9Cy0LXQtNGR0L0g0LrQu9C40LogKNC/0LDRgNCw0LzQtdGC0YAgXCJzaGFyZV9saW5rX25hbWVcIikuXG4gICAgICovXG4gICAgc2hhcmVDbGljayA9ICdTSEFSRV9DTElDSycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwIFwi0J/QvtC00LXQu9C40YLRjNGB0Y9cIi5cbiAgICAgKi9cbiAgICBzaGFyZVNob3cgPSAnU0hBUkVfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LLQvtGI0ZHQuyDQsiDRgdC40YHRgtC10LzRgy5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0YLQuNC/INC40YHQv9C+0LvRjNC30YPQtdC80L7Qs9C+INCy0YXQvtC00LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJzaWduX2luX3R5cGVcIikuXG4gICAgICovXG4gICAgc2lnbmVkSW4gPSAnU0lHTkVEX0lOJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LLRhdC+0LTQsCDQsiDRgdC40YHRgtC10LzRgy5cbiAgICAgKi9cbiAgICBzaWduSW5TaG93ID0gJ1NJR05fSU5fU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LLRi9GI0LXQuyDQuNC3INGB0LjRgdGC0LXQvNGLLlxuICAgICAqL1xuICAgIHNpZ25lZE91dCA9ICdTSUdORURfT1VUJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQt9Cw0LLQtdGA0YjQuNC7INGA0LXQs9C40YHRgtGA0LDRhtC40Y4uXG4gICAgICovXG4gICAgc2lnbmVkVXAgPSAnU0lHTkVEX1VQJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvdCw0LbQsNC7IFwi0J/QvtC60LDQt9Cw0YLRjCDQtdGJ0LUg0KXQpSDRgtC+0LLQsNGA0L7QslwiLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutCw0YLQtdCz0L7RgNC40LggKNC/0LDRgNCw0LzQtdGC0YAgXCJjYXRlZ29yeV9pZFwiKS5cbiAgICAgKi9cbiAgICBzaG93TW9yZUNsaWNrID0gJ1NIT1dfTU9SRV9DTElDSycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINGA0LXQs9C40YHRgtGA0LDRhtC40LguXG4gICAgICovXG4gICAgc2lnblVwU2hvdyA9ICdTSUdOX1VQX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDRg9C/0YDQvtGJ0LXQvdC90L7QuSDRgNC10LPQuNGB0YLRgNCw0YbQuNC4LlxuICAgICAqL1xuICAgIHNpbXBsZVNzaWduVXBTaG93ID0gJ1NJTVBMRV9TSUdOX1VQX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVBcHByb3ZlUGhvbmVTaG93ID0gJ1VTRVJfUFJPRklMRV9BUFBST1ZFX1BIT05FX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPINC/0YDQvtGE0LjQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICB1c2VyUHJvZmlsZUVkaXRTaG93ID0gJ1VTRVJfUFJPRklMRV9FRElUX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC+0YLRgNC10LTQsNC60YLQuNGA0L7QstCw0Lsg0L/RgNC+0YTQuNC70YwuXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVFZGl0ZWQgPSAnVVNFUl9QUk9GSUxFX0VESVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LTQvtCx0LDQstC40Lsg0LTQsNC90L3Ri9C1INC+INC60L7QvdGC0LDQutGC0LDRhS5cbiAgICAgKi9cbiAgICB1c2VyUHJvZmlsZUNvbnRhY3RBZGRlZCA9ICdVU0VSX1BST0ZJTEVfQ09OVEFDVF9BRERFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC00L7QsdCw0LLQu9C10L3QuNGPINC00LDQvdC90YvRhSDQviDQutC+0L3RgtCw0LrRgtCw0YUuXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVDb250YWN0QWRkU2hvdyA9ICdVU0VSX1BST0ZJTEVfQ09OVEFDVF9BRERfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LTQvtCx0LDQstC40Lsg0LTQsNC90L3Ri9C1INC+INC60L7QvdGC0YDQsNCz0LXQvdGC0LUuXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVDb250cmFnZW50QWRkZWQgPSAnVVNFUl9QUk9GSUxFX0NPTlRSQUdFTlRfQURERUQnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQtNC+0LHQsNCy0LvQtdC90LjRjyDQtNCw0L3QvdGL0YUg0L4g0LrQvtC90YLRgNCw0LPQtdC90YLQtS5cbiAgICAgKi9cbiAgICB1c2VyUHJvZmlsZUNvbnRyYWdlbnRBZGRTaG93ID0gJ1VTRVJfUFJPRklMRV9DT05UUkFHRU5UX0FERF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRg9C00LDQu9C40Lsg0LTQsNC90L3Ri9C1INC+INC60L7QvdGC0YDQsNCz0LXQvdGC0LUuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60L7QvdGC0YDQsNCz0LXQvdGC0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJjb250cmFnZW50X2lkXCIsINC90LUg0L/QtdGA0LXQtNCw0ZHRgtGB0Y8g0LTQu9GPINC90L7QstC+0Lkg0LfQsNC/0LjRgdC4KS5cbiAgICAgKi9cbiAgICB1c2VyUHJvZmlsZUNvbnRyYWdlbnREZWxldGVkID0gJ1VTRVJfUFJPRklMRV9DT05UUkFHRU5UX0RFTEVURUQnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC00L7QsdCw0LLQuNC7INC00LDQvdC90YvQtSDQvtCxINCw0LTRgNC10YHQtSDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIHVzZXJQcm9maWxlRGVsaXZlcnlBZGRyZXNzQWRkZWQgPSAnVVNFUl9QUk9GSUxFX0RFTElWRVJZX0FERFJFU1NfQURERUQnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQtNC+0LHQsNCy0LvQtdC90LjRjyDQuNC70Lgg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDQtNCw0L3QvdGL0YUg0L7QsSDQsNC00YDQtdGB0LUg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICB1c2VyUHJvZmlsZURlbGl2ZXJ5QWRkcmVzc0FkZFNob3cgPSAnVVNFUl9QUk9GSUxFX0RFTElWRVJZX0FERFJFU1NfQUREX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGD0LTQsNC70LjQuyDQtNCw0L3QvdGL0LUg0L7QsSDQsNC00YDQtdGB0LUg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LggKNC/0LDRgNCw0LzQtdGC0YAgXCJkZWxpdmVyeV9hZGRyZXNzX2lkXCIsINC90LUg0L/QtdGA0LXQtNCw0ZHRgtGB0Y8g0LTQu9GPINC90L7QstC+0Lkg0LfQsNC/0LjRgdC4KS5cbiAgICAgKi9cbiAgICB1c2VyUHJvZmlsZURlbGl2ZXJ5QWRkcmVzc0RlbGV0ZWQgPSAnVVNFUl9QUk9GSUxFX0RFTElWRVJZX0FERFJFU1NfREVMRVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3QtdC9INC60LvQuNC6INC/0L4g0LLQsNC60LDQvdGB0LjQuC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQsNC60LDQvdGB0LjQuCAo0L/QsNGA0LDQvNC10YLRgCBcInZhY2FuY3lfaWRcIiDQuNC70LggXCJ2YWNhbmN5X25hbWVcIikuXG4gICAgICovXG4gICAgdmFjYW5jeUNsaWNrID0gJ1ZBQ0FOQ1lfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQstCw0LrQsNC90YHQuNC5LlxuICAgICAqL1xuICAgIHZhY2FuY3lTaG93ID0gJ1ZBQ0FOQ1lfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3QtdC9INC60LvQuNC6INC/0L4g0L3QvtC80LXRgNGDINGC0LXQu9C10YTQvtC90LAuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCAo0L/QsNGA0LDQvNC10YLRgCBcInBob25lXCIpINC4INGD0YHQu9C+0LLQvdC+0LUg0L3QsNC30LLQsNC90LjQtSDQsdC70L7QutCwINCz0LTQtSDQvtC9INGA0LDRgdC/0L7Qu9C+0LbQtdC9ICjQv9Cw0YDQsNC80LXRgtGAIFwicGhvbmVfbG9jYXRpb25cIikuXG4gICAgICovXG4gICAgcGhvbmVDbGljayA9ICdQSE9ORV9DTElDSycsXG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3QtdC9INC60LvQuNC6INC/0L4g0LDQtNGA0LXRgdGDINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiy5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LDQtNGA0LXRgSDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsgKNC/0LDRgNCw0LzQtdGC0YAgXCJlbWFpbFwiKSDQuCDRg9GB0LvQvtCy0L3QvtC1INC90LDQt9Cy0LDQvdC40LUg0LHQu9C+0LrQsCDQs9C00LUg0L7QvSDRgNCw0YHQv9C+0LvQvtC20LXQvSAo0L/QsNGA0LDQvNC10YLRgCBcImVtYWlsX2xvY2F0aW9uXCIpLlxuICAgICAqL1xuICAgIGVtYWlsQ2xpY2sgPSAnRU1BSUxfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0JTQvtCx0LDQstC70LXQvdGLINGC0L7QstCw0YDRiyDQsiDQutC+0YDQt9C40L3RgyDQuNC3INGE0LDQudC70LAgQ1NWLlxuICAgICAqL1xuICAgIGNhcnRDc3ZVcGxvYWQgPSAnQ0FSVF9DU1ZfVVBMT0FEJyxcbn1cbiJdfQ==
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdXNlci1tZXRyaWthLWdvYWxzLWVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3VzZXItbWV0cmlrYS9lbnVtcy9zYy11c2VyLW1ldHJpa2EtZ29hbHMtZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILHFDQUFxQztBQUNyQyxNQUFNLENBQU4sSUFBWSxzQkF1WVg7QUF2WUQsV0FBWSxzQkFBc0I7SUFDOUI7Ozs7T0FJRztJQUNILHNEQUE0QixDQUFBO0lBRTVCOztPQUVHO0lBQ0gsc0RBQTRCLENBQUE7SUFFNUI7Ozs7T0FJRztJQUNILDJEQUFpQyxDQUFBO0lBRWpDOzs7O09BSUc7SUFDSCwrREFBcUMsQ0FBQTtJQUVyQzs7OztPQUlHO0lBQ0gsZ0VBQXNDLENBQUE7SUFFdEM7Ozs7T0FJRztJQUNILGtHQUF3RSxDQUFBO0lBRXhFOztPQUVHO0lBQ0gsZ0RBQXNCLENBQUE7SUFFdEI7Ozs7OztPQU1HO0lBQ0gseUVBQStDLENBQUE7SUFFL0M7Ozs7OztPQU1HO0lBQ0gsMERBQWdDLENBQUE7SUFFaEM7Ozs7T0FJRztJQUNILHVFQUE2QyxDQUFBO0lBRTdDOztPQUVHO0lBQ0gsd0RBQThCLENBQUE7SUFFOUI7O09BRUc7SUFDSCx3REFBOEIsQ0FBQTtJQUU5Qjs7OztPQUlHO0lBQ0gsMkRBQWlDLENBQUE7SUFFakM7O09BRUc7SUFDSCw4Q0FBb0IsQ0FBQTtJQUVwQjs7T0FFRztJQUNILGtFQUF3QyxDQUFBO0lBRXhDOztPQUVHO0lBQ0gsa0RBQXdCLENBQUE7SUFFeEI7Ozs7OztPQU1HO0lBQ0gsNERBQWtDLENBQUE7SUFFbEM7Ozs7OztPQU1HO0lBQ0gsc0RBQTRCLENBQUE7SUFFNUI7Ozs7OztPQU1HO0lBQ0gsd0RBQThCLENBQUE7SUFFOUI7Ozs7OztPQU1HO0lBQ0gsNEVBQWtELENBQUE7SUFFbEQ7Ozs7Ozs7T0FPRztJQUNILHdEQUE4QixDQUFBO0lBRTlCOztPQUVHO0lBQ0gsNkRBQW1DLENBQUE7SUFFbkM7Ozs7T0FJRztJQUNILG1FQUF5QyxDQUFBO0lBRXpDOzs7O09BSUc7SUFDSCxtRUFBeUMsQ0FBQTtJQUV6Qzs7OztPQUlHO0lBQ0gsbUVBQXlDLENBQUE7SUFFekM7Ozs7T0FJRztJQUNILCtFQUFxRCxDQUFBO0lBRXJEOzs7O09BSUc7SUFDSCwrREFBcUMsQ0FBQTtJQUVyQzs7OztPQUlHO0lBQ0gsK0RBQXFDLENBQUE7SUFFckM7Ozs7T0FJRztJQUNILGtGQUF3RCxDQUFBO0lBRXhEOzs7O09BSUc7SUFDSCxnRkFBc0QsQ0FBQTtJQUV0RDs7OztPQUlHO0lBQ0gsNENBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCwwRUFBZ0QsQ0FBQTtJQUVoRDs7OztPQUlHO0lBQ0gsa0VBQXdDLENBQUE7SUFFeEM7Ozs7T0FJRztJQUNILHFFQUEyQyxDQUFBO0lBRTNDOztPQUVHO0lBQ0gsZ0ZBQXNELENBQUE7SUFFdEQ7O09BRUc7SUFDSCx5RkFBK0QsQ0FBQTtJQUUvRDs7T0FFRztJQUNILHVFQUE2QyxDQUFBO0lBRTdDOzs7O09BSUc7SUFDSCxvREFBMEIsQ0FBQTtJQUUxQjs7T0FFRztJQUNILGtEQUF3QixDQUFBO0lBRXhCOzs7O09BSUc7SUFDSCxnREFBc0IsQ0FBQTtJQUV0Qjs7T0FFRztJQUNILHFEQUEyQixDQUFBO0lBRTNCOztPQUVHO0lBQ0gsa0RBQXdCLENBQUE7SUFFeEI7O09BRUc7SUFDSCxnREFBc0IsQ0FBQTtJQUV0Qjs7OztPQUlHO0lBQ0gsMkRBQWlDLENBQUE7SUFFakM7O09BRUc7SUFDSCxxREFBMkIsQ0FBQTtJQUUzQjs7T0FFRztJQUNILG1FQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gseUZBQStELENBQUE7SUFFL0Q7O09BRUc7SUFDSCx3RUFBOEMsQ0FBQTtJQUU5Qzs7T0FFRztJQUNILG1FQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsZ0ZBQXNELENBQUE7SUFFdEQ7O09BRUc7SUFDSCxxRkFBMkQsQ0FBQTtJQUUzRDs7T0FFRztJQUNILHNGQUE0RCxDQUFBO0lBRTVEOztPQUVHO0lBQ0gsMkZBQWlFLENBQUE7SUFFakU7Ozs7T0FJRztJQUNILDBGQUFnRSxDQUFBO0lBRWhFOztPQUVHO0lBQ0gsaUdBQXVFLENBQUE7SUFFdkU7O09BRUc7SUFDSCxzR0FBNEUsQ0FBQTtJQUU1RTs7OztPQUlHO0lBQ0gscUdBQTJFLENBQUE7SUFFM0U7Ozs7T0FJRztJQUNILHdEQUE4QixDQUFBO0lBRTlCOztPQUVHO0lBQ0gsc0RBQTRCLENBQUE7SUFFNUI7Ozs7T0FJRztJQUNILG9EQUEwQixDQUFBO0lBRTFCOzs7O09BSUc7SUFDSCxvREFBMEIsQ0FBQTtJQUUxQjs7T0FFRztJQUNILDJEQUFpQyxDQUFBO0FBQ3JDLENBQUMsRUF2WVcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQXVZakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDQvdCw0LfQstCw0L3QuNC5INGG0LXQu9C10Lkg0LzQtdGC0YDQuNC60Lgg0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9GFINC00LvRjyDQvtGC0YHQu9C10LbQuNCy0LDQvdC40Y8g0LTQtdC50YHRgtCy0LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuZXhwb3J0IGVudW0gU2NVc2VyTWV0cmlrYUdvYWxzRW51bSB7XG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INCx0LDQvdC90LXRgNGDLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsdCw0L3QvdC10YDQsCAo0L/QsNGA0LDQvNC10YLRgCBcImJhbm5lcl9pZFwiKS5cbiAgICAgKi9cbiAgICBiYW5uZXJDbGljayA9ICdCQU5ORVJfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0JrQvtGA0LfQuNC90LAg0L7Rh9C40YnQtdC90LAuXG4gICAgICovXG4gICAgY2FydENsZWFyZWQgPSAnQ0FSVF9DTEVBUkVEJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQtNC+0LHQsNCy0LjQuyDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdGDLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIGNhcnRJdGVtQWRkZWQgPSAnQ0FSVF9JVEVNX0FEREVEJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRg9C00LDQu9C40Lsg0YLQvtCy0LDRgCDQuNC3INC60L7RgNC30LjQvdGLLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIGNhcnRJdGVtRGVsZXRlZCA9ICdDQVJUX0lURU1fREVMRVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC00L7QsdCw0LLQu9C10L3QuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3Rgy5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwICjQv9Cw0YDQsNC80LXRgtGAIFwicHJvZHVjdF9pZFwiKS5cbiAgICAgKi9cbiAgICBjYXJ0SXRlbUFkZFNob3cgPSAnQ0FSVF9JVEVNX0FERF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQtNC+0LHQsNCy0LjQuyDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdGDINC40Lcg0YDQtdC60L7QvNC10L3QtNCw0YbQuNC5LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgtC+0LLQsNGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwcm9kdWN0X2lkXCIpLlxuICAgICAqL1xuICAgIGNhcnRJdGVtQWRkZWRGcm9tUmVjb21tZW5kYXRpb25zID0gJ0NBUlRfSVRFTV9BRERFRF9GUk9NX1JFQ09NTUVOREFUSU9OJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YHQviDRgdC/0LjRgdC60L7QvCDRgtC+0LLQsNGA0L7QsiDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKi9cbiAgICBjYXJ0U2hvdyA9ICdDQVJUX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvdC+INGB0LrQsNGH0LjQstCw0L3QuNC1INC/0YDQsNC50YEt0LvQuNGB0YLQsC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdGLINCx0YvRgtGMINGD0LrQsNC30LDQvdGLOlxuICAgICAqIC0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQsNGC0LXQs9C+0YDQuNC4INC00LvRjyDQutC+0YLQvtGA0L7QuSDRgdC60LDRh9C40LLQsNC10YLRgdGPINC/0YDQsNC50YEt0LvQuNGB0YIgKNC/0LDRgNCw0LzQtdGC0YAgXCJjYXRlZ29yeV9pZFwiKTtcbiAgICAgKiAtINGC0LjQvyDRgdC60LDRh9C40LLQsNC10LzQvtCz0L4g0L/RgNCw0LnRgS3Qu9C40YHRgtCwICjQv9Cw0YDQsNC80LXRgtGAIFwicHJpY2VfdHlwZVwiKS5cbiAgICAgKi9cbiAgICBjYXRhbG9nUHJpY2VEb3dubG9hZCA9ICdDQVRBTE9HX1BSSUNFX0RPV05MT0FEJyxcblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdC10L0g0L/QvtC40YHQuiDQv9C+INC60LDRgtCw0LvQvtCz0YMuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINGC0LjQvyDQv9C+0LjRgdC60LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJzZWFyY2hfdHlwZVwiKTtcbiAgICAgKiAtINGC0LXRgNC8INC/0L7QuNGB0LrQsCAo0L/QsNGA0LDQvNC10YLRgCBcInNlYXJjaF90ZXJtXCIpLlxuICAgICAqL1xuICAgIGNhdGFsb2dTZWFyY2ggPSAnQ0FUQUxPR19TRUFSQ0gnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQvdCw0YHRgtGA0L7QtdC6INC60LDRgtCw0LvQvtCz0LAg0YLQvtCy0LDRgNC+0LIuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC60LvQuNC10L3RgtCwICjQv9Cw0YDQsNC80LXRgtGAIFwidWlkXCIpLlxuICAgICAqL1xuICAgIGNhdGFsb2dTZXR0aW5nc1Nob3cgPSAnQ0FUQUxPR19TRVRUSU5HU19TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQv9GA0LDQstC70LXQvdC+INGB0L7QvtCx0YnQtdC90LjQtSDQv9C+INC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuC5cbiAgICAgKi9cbiAgICBmZWVkYmFja1NlbnQgPSAnRkVFREJBQ0tfU0VOVCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuC5cbiAgICAgKi9cbiAgICBmZWVkYmFja1Nob3cgPSAnRkVFREJBQ0tfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3QtdC9INC60LvQuNC6INC/0L4g0LzQsNGA0LrQtdGA0YMg0LrQsNGA0YLRiy5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdC+INCx0YvRgtGMINGD0LrQsNC30LDQvdC+INC90LDQt9Cy0LDQvdC40LUg0LzQsNGA0LrQtdGA0LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJtYXBfcG9pbnRfbmFtZVwiKS5cbiAgICAgKi9cbiAgICBtYXBQb2ludENsaWNrID0gJ01BUF9QT0lOVF9DTElDSycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINGBINC60LDRgNGC0L7QuS5cbiAgICAgKi9cbiAgICBtYXBTaG93ID0gJ01BUF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YEg0YPQstC10LTQvtC80LvQtdC90LjRj9C80LguXG4gICAgICovXG4gICAgbm90aWZpY2F0aW9uc1Nob3cgPSAnTk9USUZJQ0FUSU9OU19TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIG9yZGVyU2hvdyA9ICdPUkRFUl9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCX0LDQutCw0Lcg0L7RgtC80LXQvdGR0L0uXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9yZGVyX2lkXCIpO1xuICAgICAqIC0g0YHRgtC+0LjQvNC+0YHRgtGMINC30LDQutCw0LfQsCAo0L/QsNGA0LDQvNC10YLRgCBcImNvc3RcIikuXG4gICAgICovXG4gICAgb3JkZXJDYW5jZWxsZWQgPSAnT1JERVJfQ0FOQ0VMTEVEJyxcblxuICAgIC8qKlxuICAgICAqINCX0LDQutCw0Lcg0LrQu9C+0L3QuNGA0L7QstCw0L0g0LjQtyDQtNGA0YPQs9C+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40YHRhdC+0LTQvdC+0LPQviDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJvcmRlcl9pZFwiKTtcbiAgICAgKiAtINGB0YLQvtC40LzQvtGB0YLRjCDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJjb3N0XCIpLlxuICAgICAqL1xuICAgIG9yZGVyQ2xvbmVkID0gJ09SREVSX0NMT05FRCcsXG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0L0g0LfQsNC60LDQty5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdGLINCx0YvRgtGMINGD0LrQsNC30LDQvdGLOlxuICAgICAqIC0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwICjQv9Cw0YDQsNC80LXRgtGAIFwib3JkZXJfaWRcIiwg0L3QtSDQv9C10YDQtdC00LDRkdGC0YHRjyDQtNC70Y8g0L3QvtCy0L7QuS/QvdC10L7Qv9GA0LXQtNC10LvRkdC90L3QvtC5INC30LDQv9C40YHQuCk7XG4gICAgICogLSDRgdGC0L7QuNC80L7RgdGC0Ywg0LfQsNC60LDQt9CwICjQv9Cw0YDQsNC80LXRgtGAIFwiY29zdFwiKS5cbiAgICAgKi9cbiAgICBvcmRlckNyZWF0ZWQgPSAnT1JERVJfQ1JFQVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQl9Cw0LrQsNC3INGB0L7Qt9C00LDQvSDQuNC3INGH0LXRgNC90L7QstC40LrQsCDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40YHRhdC+0LTQvdC+0LPQviDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJvcmRlcl9pZFwiKTtcbiAgICAgKiAtINGB0YLQvtC40LzQvtGB0YLRjCDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJjb3N0XCIpLlxuICAgICAqL1xuICAgIG9yZGVyQ3JlYXRlZEZyb21EcmFmdCA9ICdPUkRFUl9DUkVBVEVEX0ZST01fRFJBRlQnLFxuXG4gICAgLyoqXG4gICAgICog0JfQsNC60LDQtyDRg9C00LDQu9GR0L0uXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RizpcbiAgICAgKiAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9yZGVyX2lkXCIpO1xuICAgICAqIC0g0L/RgNC40LfQvdCw0LosINGH0YLQviDQt9Cw0LrQsNC3INGP0LLQu9GP0LXRgtGB0Y8g0YfQtdGA0L3QvtCy0LjQutC+0LwgKNC/0LDRgNCw0LzQtdGC0YAgXCJpc19kcmFmdFwiKTtcbiAgICAgKiAtINGB0YLQvtC40LzQvtGB0YLRjCDQt9Cw0LrQsNC30LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJjb3N0XCIpLlxuICAgICAqL1xuICAgIG9yZGVyRGVsZXRlZCA9ICdPUkRFUl9ERUxFVEVEJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YfQtdGA0L3QvtCy0LjQutCwINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBvcmRlckRyYWZ0U2hvdyA9ICdPUkRFUl9EUkFGVF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCa0L7QvNC80LXRgNGH0LXRgdC60L7QtSDQv9GA0LXQtNC70L7QttC10L3QuNC1L9GH0LXRgNC90L7QstC40Log0LfQsNC60LDQt9CwINGB0L7Qt9C00LDQvdC+LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQmtCfL9GH0LXRgNC90L7QstC40LrQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9mZmVyX2lkXCIpLlxuICAgICAqL1xuICAgIG9yZGVyRHJhZnRDcmVhdGVkID0gJ09SREVSX0RSQUZUX0NSRUFURUQnLFxuXG4gICAgLyoqXG4gICAgICog0JrQvtC80LzQtdGA0YfQtdGB0LrQvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUv0YfQtdGA0L3QvtCy0LjQuiDQt9Cw0LrQsNC30LAg0L7QsdC90L7QstC70LXQvdC+LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQmtCfL9GH0LXRgNC90L7QstC40LrQsCAo0L/QsNGA0LDQvNC10YLRgCBcIm9mZmVyX2lkXCIpLlxuICAgICAqL1xuICAgIG9yZGVyRHJhZnRVcGRhdGVkID0gJ09SREVSX0RSQUZUX1VQREFURUQnLFxuXG4gICAgLyoqXG4gICAgICog0JrQvtC80LzQtdGA0YfQtdGB0LrQvtC1INC/0YDQtdC00LvQvtC20LXQvdC40LUv0YfQtdGA0L3QvtCy0LjQuiDQt9Cw0LrQsNC30LAg0YPQtNCw0LvQtdC90L4uXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCa0J8v0YfQtdGA0L3QvtCy0LjQutCwICjQv9Cw0YDQsNC80LXRgtGAIFwib2ZmZXJfaWRcIikuXG4gICAgICovXG4gICAgb3JkZXJEcmFmdERlbGV0ZWQgPSAnT1JERVJfRFJBRlRfREVMRVRFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC60L7QvdGE0LjQs9GD0YDQsNGC0L7RgNCwINGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwICjQv9Cw0YDQsNC80LXRgtGAIFwicHJvZHVjdF9pZFwiKS5cbiAgICAgKi9cbiAgICBwcm9kdWN0Q29uZmlndXJhdG9yU2hvdyA9ICdQUk9EVUNUX0NPTkZJR1VSQVRPUl9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YEg0L/QvtC00YDQvtCx0L3Ri9C8INC+0L/QuNGB0LDQvdC40LXQvCDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGC0L7QstCw0YDQsCAo0L/QsNGA0LDQvNC10YLRgCBcInByb2R1Y3RfaWRcIikuXG4gICAgICovXG4gICAgcHJvZHVjdEluZm9TaG93ID0gJ1BST0RVQ1RfSU5GT19TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdC10L0g0LrQu9C40Log0L/QviDQutCw0YDRgtC1L9Cz0YDQsNGE0LjRh9C10YHQutC+0LzRgyDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjiDRgtC+0LLQsNGA0L7Qsi5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LvQvtCz0LjRh9C10YHQutC+0Lkg0LPRgNGD0L/Qv9GLINGC0L7QstCw0YDQvtCyINC90LAg0LrQsNGA0YLQtSAo0L/QsNGA0LDQvNC10YLRgCBcInZpcnR1YWxfZ3JvdXBfaWRcIiDQuNC70LggXCJ2aXJ0dWFsX2dyb3VwX25hbWVcIikuXG4gICAgICovXG4gICAgcHJvZHVjdE1hcENsaWNrID0gJ1BST0RVQ1RfTUFQX0NMSUNLJyxcblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdC10L0g0LrQu9C40Log0L/QviDQu9C+0LPQuNGH0LXRgdC60L7QuSDQs9GA0YPQv9C/0LUg0YLQvtCy0LDRgNC+0LIuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3QviDQsdGL0YLRjCDRg9C60LDQt9Cw0L3QviDQvtGC0LrRg9C00LAg0LHRi9C7INC/0YDQvtC40LfQstC10LTQtdC9INC/0LXRgNC10YXQvtC0IChmcm9tX2xvY2F0aW9uKSDQuCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQu9C+0LPQuNGH0LXRgdC60L7QuSDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIgKNC/0LDRgNCw0LzQtdGC0YAgXCJ2aXJ0dWFsX2dyb3VwX2lkXCIpLlxuICAgICAqL1xuICAgIHByb2R1Y3RWaXJ0dWFsR3JvdXBDbGljayA9ICdQUk9EVUNUX1ZJUlRVQUxfR1JPVVBfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQuNGB0YLQvtGA0LjQuCDQuNC30LzQtdC90LXQvdC40Y8g0YbQtdC9INC90LAg0YLQvtCy0LDRgC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQvtCy0LDRgNCwICjQv9Cw0YDQsNC80LXRgtGAIFwicHJvZHVjdF9pZFwiKS5cbiAgICAgKi9cbiAgICBwcm9kdWN0UHJpY2VIaXN0b3J5U2hvdyA9ICdQUk9EVUNUX1BSSUNFX0hJU1RPUllfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINGBIFFSLdC60L7QtNC+0LwuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC00L7Qu9C20L3QviDQsdGL0YLRjCDRg9C60LDQt9Cw0L3QviDQvdCw0LfQstCw0L3QuNC1INC+0YLQutGA0YvRgtC+0LPQviBRUi3QutC+0LTQsCAo0L/QsNGA0LDQvNC10YLRgCBcInFyX25hbWVcIikuXG4gICAgICovXG4gICAgcXJTaG93ID0gJ1FSX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC+0YLQstC10YLQuNC7INC90LAg0L7Qv9GA0L7RgdC90LjQui5cbiAgICAgKi9cbiAgICBxdWVzdGlvbm5haXJlQW5zd2VyZWQgPSAnUVVFU1RJT05OQUlSRV9BTlNXRVJFRCcsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINC+0L/RgNC+0YHQvdC40LrQsC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L7Qv9GA0L7RgdCwICjQv9Cw0YDQsNC80LXRgtGAIFwicXVlc3Rpb25uYWlyZV9pZFwiKS5cbiAgICAgKi9cbiAgICBxdWVzdGlvbm5haXJlU2hvdyA9ICdRVUVTVElPTk5BSVJFX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQtNC+0LHQsNCy0LvQtdC90LjRjyDRgNC10LrQu9Cw0LzQsNGG0LjQuC5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YDQtdC60LvQsNC80LDRhtC40LggKNC/0LDRgNCw0LzQtdGC0YAgXCJyZWNsYW1hdGlvbl9pZFwiLCDQvdC1INC/0LXRgNC10LTQsNGR0YLRgdGPINC00LvRjyDQvdC+0LLQvtC5INC30LDQv9C40YHQuCkuXG4gICAgICovXG4gICAgcmVjbGFtYXRpb25BZGRTaG93ID0gJ1JFQ0xBTUFUSU9OX0FERF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCa0L7QtCDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNGPINC/0LDRgNC+0LvRjyDQvtGC0L/RgNCw0LLQu9C10L0uXG4gICAgICovXG4gICAgcmVjb3ZlclBhc3N3b3JkQ29kZVNlbnQgPSAnUkVDT1ZFUl9QQVNTV09SRF9DT0RFX1NFTlQnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQutC+0LTQsCDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNGPINC/0LDRgNC+0LvRjy5cbiAgICAgKi9cbiAgICByZWNvdmVyUGFzc3dvcmRTZW5kQ29kZVNob3cgPSAnUkVDT1ZFUl9QQVNTV09SRF9TRU5EX0NPREVfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8g0L/QsNGA0L7Qu9GPLlxuICAgICAqL1xuICAgIHJlY292ZXJQYXNzd29yZFNob3cgPSAnUkVDT1ZFUl9QQVNTV09SRF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdC10L0g0LrQu9C40Log0L/QviDQvtC00L3QvtC5INC40Lcg0YHRgdGL0LvQvtC6IFwi0J/QvtC00LXQu9C40YLRjNGB0Y9cIi5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LTQvtC70LbQvdC+INCx0YvRgtGMINGD0LrQsNC30LDQvdC+INC/0L4g0LrQsNC60L7QuSDQuNC80LXQvdC90L4g0YHRgdGL0LvQutC1INC/0YDQvtC40LfQstC10LTRkdC9INC60LvQuNC6ICjQv9Cw0YDQsNC80LXRgtGAIFwic2hhcmVfbGlua19uYW1lXCIpLlxuICAgICAqL1xuICAgIHNoYXJlQ2xpY2sgPSAnU0hBUkVfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCBcItCf0L7QtNC10LvQuNGC0YzRgdGPXCIuXG4gICAgICovXG4gICAgc2hhcmVTaG93ID0gJ1NIQVJFX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCy0L7RiNGR0Lsg0LIg0YHQuNGB0YLQtdC80YMuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INGC0LjQvyDQuNGB0L/QvtC70YzQt9GD0LXQvNC+0LPQviDQstGF0L7QtNCwICjQv9Cw0YDQsNC80LXRgtGAIFwic2lnbl9pbl90eXBlXCIpLlxuICAgICAqL1xuICAgIHNpZ25lZEluID0gJ1NJR05FRF9JTicsXG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0YLQviDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3Qvi/RgdGC0YDQsNC90LjRhtCwINCy0YXQvtC00LAg0LIg0YHQuNGB0YLQtdC80YMuXG4gICAgICovXG4gICAgc2lnbkluU2hvdyA9ICdTSUdOX0lOX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCy0YvRiNC10Lsg0LjQtyDRgdC40YHRgtC10LzRiy5cbiAgICAgKi9cbiAgICBzaWduZWRPdXQgPSAnU0lHTkVEX09VVCcsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LfQsNCy0LXRgNGI0LjQuyDRgNC10LPQuNGB0YLRgNCw0YbQuNGOLlxuICAgICAqL1xuICAgIHNpZ25lZFVwID0gJ1NJR05FRF9VUCcsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QsNC20LDQuyBcItCf0L7QutCw0LfQsNGC0Ywg0LXRidC1INCl0KUg0YLQvtCy0LDRgNC+0LJcIi5cbiAgICAgKlxuICAgICAqINCSINC60LDRh9C10YHRgtCy0LUg0L/QsNGA0LDQvNC10YLRgNCwINC00L7Qu9C20LXQvSDQsdGL0YLRjCDRg9C60LDQt9Cw0L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LrQsNGC0LXQs9C+0YDQuNC4ICjQv9Cw0YDQsNC80LXRgtGAIFwiY2F0ZWdvcnlfaWRcIikuXG4gICAgICovXG4gICAgc2hvd01vcmVDbGljayA9ICdTSE9XX01PUkVfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDRgNC10LPQuNGB0YLRgNCw0YbQuNC4LlxuICAgICAqL1xuICAgIHNpZ25VcFNob3cgPSAnU0lHTl9VUF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YPQv9GA0L7RidC10L3QvdC+0Lkg0YDQtdCz0LjRgdGC0YDQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBzaW1wbGVTc2lnblVwU2hvdyA9ICdTSU1QTEVfU0lHTl9VUF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHVzZXJQcm9maWxlQXBwcm92ZVBob25lU2hvdyA9ICdVU0VSX1BST0ZJTEVfQVBQUk9WRV9QSE9ORV9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjyDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVFZGl0U2hvdyA9ICdVU0VSX1BST0ZJTEVfRURJVF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNC7INC/0YDQvtGE0LjQu9GMLlxuICAgICAqL1xuICAgIHVzZXJQcm9maWxlRWRpdGVkID0gJ1VTRVJfUFJPRklMRV9FRElURUQnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC00L7QsdCw0LLQuNC7INC00LDQvdC90YvQtSDQviDQutC+0L3RgtCw0LrRgtCw0YUuXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVDb250YWN0QWRkZWQgPSAnVVNFUl9QUk9GSUxFX0NPTlRBQ1RfQURERUQnLFxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9GC0L4g0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4v0YHRgtGA0LDQvdC40YbQsCDQtNC+0LHQsNCy0LvQtdC90LjRjyDQtNCw0L3QvdGL0YUg0L4g0LrQvtC90YLQsNC60YLQsNGFLlxuICAgICAqL1xuICAgIHVzZXJQcm9maWxlQ29udGFjdEFkZFNob3cgPSAnVVNFUl9QUk9GSUxFX0NPTlRBQ1RfQUREX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC00L7QsdCw0LLQuNC7INC00LDQvdC90YvQtSDQviDQutC+0L3RgtGA0LDQs9C10L3RgtC1LlxuICAgICAqL1xuICAgIHVzZXJQcm9maWxlQ29udHJhZ2VudEFkZGVkID0gJ1VTRVJfUFJPRklMRV9DT05UUkFHRU5UX0FEREVEJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LTQvtCx0LDQstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFINC+INC60L7QvdGC0YDQsNCz0LXQvdGC0LUuXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVDb250cmFnZW50QWRkU2hvdyA9ICdVU0VSX1BST0ZJTEVfQ09OVFJBR0VOVF9BRERfU0hPVycsXG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0YPQtNCw0LvQuNC7INC00LDQvdC90YvQtSDQviDQutC+0L3RgtGA0LDQs9C10L3RgtC1LlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQutC+0L3RgtGA0LDQs9C10L3RgtCwICjQv9Cw0YDQsNC80LXRgtGAIFwiY29udHJhZ2VudF9pZFwiLCDQvdC1INC/0LXRgNC10LTQsNGR0YLRgdGPINC00LvRjyDQvdC+0LLQvtC5INC30LDQv9C40YHQuCkuXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVDb250cmFnZW50RGVsZXRlZCA9ICdVU0VSX1BST0ZJTEVfQ09OVFJBR0VOVF9ERUxFVEVEJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQtNC+0LHQsNCy0LjQuyDQtNCw0L3QvdGL0LUg0L7QsSDQsNC00YDQtdGB0LUg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICB1c2VyUHJvZmlsZURlbGl2ZXJ5QWRkcmVzc0FkZGVkID0gJ1VTRVJfUFJPRklMRV9ERUxJVkVSWV9BRERSRVNTX0FEREVEJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LTQvtCx0LDQstC70LXQvdC40Y8g0LjQu9C4INGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0LTQsNC90L3Ri9GFINC+0LEg0LDQtNGA0LXRgdC1INC00L7RgdGC0LDQstC60LguXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVEZWxpdmVyeUFkZHJlc3NBZGRTaG93ID0gJ1VTRVJfUFJPRklMRV9ERUxJVkVSWV9BRERSRVNTX0FERF9TSE9XJyxcblxuICAgIC8qKlxuICAgICAqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDRg9C00LDQu9C40Lsg0LTQsNC90L3Ri9C1INC+0LEg0LDQtNGA0LXRgdC1INC00L7RgdGC0LDQstC60LguXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4ICjQv9Cw0YDQsNC80LXRgtGAIFwiZGVsaXZlcnlfYWRkcmVzc19pZFwiLCDQvdC1INC/0LXRgNC10LTQsNGR0YLRgdGPINC00LvRjyDQvdC+0LLQvtC5INC30LDQv9C40YHQuCkuXG4gICAgICovXG4gICAgdXNlclByb2ZpbGVEZWxpdmVyeUFkZHJlc3NEZWxldGVkID0gJ1VTRVJfUFJPRklMRV9ERUxJVkVSWV9BRERSRVNTX0RFTEVURUQnLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INCy0LDQutCw0L3RgdC40LguXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0LDQutCw0L3RgdC40LggKNC/0LDRgNCw0LzQtdGC0YAgXCJ2YWNhbmN5X2lkXCIg0LjQu9C4IFwidmFjYW5jeV9uYW1lXCIpLlxuICAgICAqL1xuICAgIHZhY2FuY3lDbGljayA9ICdWQUNBTkNZX0NMSUNLJyxcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvRgtC+INC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+L9GB0YLRgNCw0L3QuNGG0LAg0LLQsNC60LDQvdGB0LjQuS5cbiAgICAgKi9cbiAgICB2YWNhbmN5U2hvdyA9ICdWQUNBTkNZX1NIT1cnLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INC90L7QvNC10YDRgyDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqXG4gICAgICog0JIg0LrQsNGH0LXRgdGC0LLQtSDQv9Cw0YDQsNC80LXRgtGA0LAg0LTQvtC70LbQtdC9INCx0YvRgtGMINGD0LrQsNC30LDQvSDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAgKNC/0LDRgNCw0LzQtdGC0YAgXCJwaG9uZVwiKSDQuCDRg9GB0LvQvtCy0L3QvtC1INC90LDQt9Cy0LDQvdC40LUg0LHQu9C+0LrQsCDQs9C00LUg0L7QvSDRgNCw0YHQv9C+0LvQvtC20LXQvSAo0L/QsNGA0LDQvNC10YLRgCBcInBob25lX2xvY2F0aW9uXCIpLlxuICAgICAqL1xuICAgIHBob25lQ2xpY2sgPSAnUEhPTkVfQ0xJQ0snLFxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90LXQvSDQutC70LjQuiDQv9C+INCw0LTRgNC10YHRgyDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsuXG4gICAgICpcbiAgICAgKiDQkiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0YPQutCw0LfQsNC9INCw0LTRgNC10YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLICjQv9Cw0YDQsNC80LXRgtGAIFwiZW1haWxcIikg0Lgg0YPRgdC70L7QstC90L7QtSDQvdCw0LfQstCw0L3QuNC1INCx0LvQvtC60LAg0LPQtNC1INC+0L0g0YDQsNGB0L/QvtC70L7QttC10L0gKNC/0LDRgNCw0LzQtdGC0YAgXCJlbWFpbF9sb2NhdGlvblwiKS5cbiAgICAgKi9cbiAgICBlbWFpbENsaWNrID0gJ0VNQUlMX0NMSUNLJyxcblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9C10L3RiyDRgtC+0LLQsNGA0Ysg0LIg0LrQvtGA0LfQuNC90YMg0LjQtyDRhNCw0LnQu9CwIENTVi5cbiAgICAgKi9cbiAgICBjYXJ0Q3N2VXBsb2FkID0gJ0NBUlRfQ1NWX1VQTE9BRCcsXG59XG4iXX0=