@sbb-esta/lyne-elements-dev 4.11.0-dev.1776937132 → 4.11.0-dev.1776939746

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 (66) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/{autocomplete-base-element-DNoAdA1R.js → autocomplete-base-element-BQS5lHRU.js} +1 -1
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/custom-elements.json +417 -417
  7. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  8. package/development/autocomplete/autocomplete-base-element.js +1 -1
  9. package/development/autocomplete/autocomplete.component.js +1 -1
  10. package/development/{autocomplete-base-element-BR5zqYyY.js → autocomplete-base-element-BGAFOzNh.js} +2 -2
  11. package/development/autocomplete.js +1 -1
  12. package/development/autocomplete.pure.js +1 -1
  13. package/development/block-link-common-COY1RI1I.js +1 -1
  14. package/development/breadcrumb-group.component-DZslNBlB.js +1 -1
  15. package/development/button-common-7dmrUx4A.js +1 -1
  16. package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
  17. package/development/calendar.component-Dg3D2A7k.js +1 -1
  18. package/development/card-action-common-1FDHbfeR.js +1 -1
  19. package/development/carousel-list.component-L-nYpHcN.js +1 -1
  20. package/development/carousel.component-Dl48ROSf.js +1 -1
  21. package/development/checkbox-common-Dd5uup8K.js +1 -1
  22. package/development/checkbox-group/checkbox-group.component.js +1 -1
  23. package/development/chip-group.component-BVfHWX2-.js +1 -1
  24. package/development/core/a11y/input-modality-detector.js +1 -1
  25. package/development/core/base-elements/element.js +1 -1
  26. package/development/core/controllers/media-matchers-controller.js +1 -1
  27. package/development/core/datetime/date-adapter.js +1 -1
  28. package/development/core/datetime/native-date-adapter.js +1 -1
  29. package/development/core/datetime/temporal-date-adapter.js +1 -1
  30. package/development/core/mixins/disabled-mixin.js +1 -1
  31. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  32. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  33. package/development/core/mixins/form-associated-mixin.js +1 -1
  34. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  35. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  36. package/development/core/mixins/negative-mixin.js +1 -1
  37. package/development/core/mixins/readonly-mixin.js +1 -1
  38. package/development/core/mixins/required-mixin.js +1 -1
  39. package/development/core/testing/event-spy.js +1 -1
  40. package/development/datepicker-button-CUPeoQgH.js +1 -1
  41. package/development/file-selector-common-C82QR3zb.js +1 -1
  42. package/development/header-action-common-MTYV0dqA.js +1 -1
  43. package/development/icon/icon-name-mixin.js +1 -1
  44. package/development/image.component-BD0jc-u-.js +1 -1
  45. package/development/link-common-DJ2FfG_Q.js +1 -1
  46. package/development/link-list-base-CKMNz30d.js +1 -1
  47. package/development/mini-calendar.component-BufzKw74.js +1 -1
  48. package/development/navigation-action-common-Hjr4dI9J.js +1 -1
  49. package/development/navigation-section.component-CnVrRETN.js +1 -1
  50. package/development/navigation.component-CTNQ1dix.js +1 -1
  51. package/development/option/option/option-base-element.js +1 -1
  52. package/development/paginator/common/paginator-common.js +1 -1
  53. package/development/panel-mixin-Dj_rsgL9.js +1 -1
  54. package/development/popover.component-BCMdJBUR.js +1 -1
  55. package/development/radio-button-common--d3WX-ZM.js +1 -1
  56. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  57. package/development/sidebar-container.component-BDSoDAym.js +1 -1
  58. package/development/sidebar.component-BLqO52nH.js +1 -1
  59. package/development/stepper.component-CxOBayI1.js +1 -1
  60. package/development/sticky-bar.component-Dzrdsnxu.js +1 -1
  61. package/development/styles-D8-q-irv.js +1 -1
  62. package/development/tab-group.component-DldBA45K.js +1 -1
  63. package/development/teaser-product-common-DYX370pm.js +1 -1
  64. package/development/time-input.component-BtdSR8kB.js +1 -1
  65. package/development/toggle.component-BJpD1b9H.js +1 -1
  66. package/package.json +2 -2
@@ -114,4 +114,4 @@ var SbbCardActionCommonElementMixin = (superClass) => {
114
114
  //#endregion
115
115
  export { SbbCardActionCommonElementMixin as t };
116
116
 
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1hY3Rpb24tY29tbW9uLTFGREhiZmVSLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJkL2NvbW1vbi9jYXJkLWFjdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJkL2NvbW1vbi9jYXJkLWFjdGlvbi1jb21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG59XG5cbjppcyguc2JiLWNhcmQtYnV0dG9uLCAuc2JiLWNhcmQtbGluaykge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAvLyBIYW5kbGUgZm9jdXMgb24gdGhlIGhvc3QgKGJ1dHRvbiB2YXJpYW50KVxuICA6aG9zdCg6Zm9jdXMtdmlzaWJsZSkgJixcbiAgLy8gSGFuZGxlIGZvY3VzIG9uIHRoZSBhY3Rpb24gKGxpbmsgdmFyaWFudClcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbiAgfVxufVxuXG4uc2JiLXNjcmVlbi1yZWFkZXItb25seSB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IElTX0ZPQ1VTQUJMRV9RVUVSWSB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IMm1c3RhdGVDb250cm9sbGVyLCB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkNhcmRFbGVtZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NhcmQtYWN0aW9uLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgYWN0aXZlOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgYWN0aW9uUm9sZTogJ2xpbmsnIHwgJ2J1dHRvbic7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJDYXJkQWN0aW9uQ29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJDYXJkQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIHN1cGVyQ2xhc3NcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjYXJkIGlzIGFjdGl2ZS4gKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuX2FjdGl2ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fb25BY3RpdmVDaGFuZ2UoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICAgIH1cbiAgICBwcml2YXRlIF9hY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBhY3Rpb25Sb2xlOiAnbGluaycgfCAnYnV0dG9uJztcblxuICAgIHByaXZhdGUgX2NhcmQ6IFNiYkNhcmRFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBfY2FyZE11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgIHRhcmdldDogbnVsbCxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydocmVmJywgJ3RhYmluZGV4JywgJ2Rpc2FibGVkJywgJ2luZXJ0J10sXG4gICAgICB9LFxuICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX2NoZWNrRm9yU2xvdHRlZEFjdGlvbnMoKSxcbiAgICB9KTtcblxuICAgIHByaXZhdGUgX29uQWN0aXZlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX2NhcmQpIHtcbiAgICAgICAgybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5fY2FyZCkudG9nZ2xlKCdoYXMtYWN0aXZlLWFjdGlvbicsIHRoaXMuYWN0aXZlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGVja0ZvclNsb3R0ZWRBY3Rpb25zKCk6IHZvaWQge1xuICAgICAgLy8gV2UgaW50ZW50aW9uYWxseSB1c2UgdG9nZ2xlIGhlcmUsIGFzIGFkZCBjYXVzZXMgYSBNdXRhdGlvbk9ic2VydmVyIGxvb3AuXG4gICAgICBBcnJheS5mcm9tKHRoaXMuX2NhcmQ/LnF1ZXJ5U2VsZWN0b3JBbGw/LihJU19GT0NVU0FCTEVfUVVFUlkpID8/IFtdKVxuICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgIChlbCkgPT5cbiAgICAgICAgICAgIGVsLmxvY2FsTmFtZSAhPT0gJ3NiYi1jYXJkLWxpbmsnICYmXG4gICAgICAgICAgICBlbC5sb2NhbE5hbWUgIT09ICdzYmItY2FyZC1idXR0b24nICYmXG4gICAgICAgICAgICAhZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItYWN0aW9uJyksXG4gICAgICAgIClcbiAgICAgICAgLmZvckVhY2goKGVsOiBFbGVtZW50KSA9PiBlbC5jbGFzc0xpc3QudG9nZ2xlKCdzYmItYWN0aW9uJywgdHJ1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9jYXJkID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1jYXJkJyk7XG4gICAgICBpZiAodGhpcy5fY2FyZCkge1xuICAgICAgICB0aGlzLnNsb3QgfHw9ICdhY3Rpb24nO1xuICAgICAgICBjb25zdCBjb250cm9sbGVyID0gybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5fY2FyZCk7XG4gICAgICAgIGNvbnRyb2xsZXIuYWRkKCdoYXMtYWN0aW9uJyk7XG4gICAgICAgIGNvbnRyb2xsZXIudG9nZ2xlKCdoYXMtYWN0aXZlLWFjdGlvbicsIHRoaXMuYWN0aXZlKTtcbiAgICAgICAgY29udHJvbGxlci5hZGQoYGFjdGlvbi1yb2xlLSR7dGhpcy5hY3Rpb25Sb2xlfWApO1xuICAgICAgICBjb250cm9sbGVyLmRlbGV0ZShgYWN0aW9uLXJvbGUtJHt0aGlzLmFjdGlvblJvbGUgPT09ICdidXR0b24nID8gJ2xpbmsnIDogJ2J1dHRvbid9YCk7XG5cbiAgICAgICAgdGhpcy5fY2hlY2tGb3JTbG90dGVkQWN0aW9ucygpO1xuICAgICAgICB0aGlzLl9jYXJkTXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuX2NhcmQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICBpZiAodGhpcy5fY2FyZCkge1xuICAgICAgICBjb25zdCBjb250cm9sbGVyID0gybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5fY2FyZCk7XG4gICAgICAgIGNvbnRyb2xsZXIuZGVsZXRlKCdoYXMtYWN0aW9uJyk7XG4gICAgICAgIGNvbnRyb2xsZXIuZGVsZXRlKCdoYXMtYWN0aXZlLWFjdGlvbicpO1xuICAgICAgICBjb250cm9sbGVyLmRlbGV0ZSgnYWN0aW9uLXJvbGUtYnV0dG9uJyk7XG4gICAgICAgIGNvbnRyb2xsZXIuZGVsZXRlKCdhY3Rpb24tcm9sZS1saW5rJyk7XG4gICAgICAgIHRoaXMuX2NhcmRcbiAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbChgLnNiYi1hY3Rpb25gKVxuICAgICAgICAgIC5mb3JFYWNoKChlbCkgPT4gZWwuY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWFjdGlvbicpKTtcbiAgICAgICAgdGhpcy5fY2FyZCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIC8vIER1ZSB0byBwcm9ibGVtcyBkZXRlY3RpbmcgdGhlIGNsaWNrIGV2ZW50IGluIE5WREEgc2NyZWVuIHJlYWRlciwgd2UgY2FuJ3QgdXNlIHRoZSBzYmItc2NyZWVuLXJlYWRlci1vbmx5IGNvbXBvbmVudCBoZXJlXG4gICAgICByZXR1cm4gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj48c2xvdD48L3Nsb3Q+PC9zcGFuPmA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJDYXJkQWN0aW9uQ29tbW9uRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FDbUJBLElBQWEsbUNBR1gsZUFDZ0U7QUFzRmhFLGVBckZ5QztvQkFDL0I7OztlQURLLG1DQUNMLFlBQVU7OztBQWNWLFNBQUEsV0FmSyxrQkFBQSxNQUFBLDJCQUEwQixFQWVaO0FBSW5CLFNBQUEsUUFBK0I7QUFDL0IsU0FBQSx3QkFBd0IsSUFBSSxtQkFBbUIsTUFBTTtLQUMzRCxRQUFRO0tBQ1IsUUFBUTtNQUNOLFdBQVc7TUFDWCxTQUFTO01BQ1QsWUFBWTtNQUNaLGlCQUFpQjtPQUFDO09BQVE7T0FBWTtPQUFZOztNQUNuRDtLQUNELGdCQUFnQixLQUFLLHlCQUFBO0tBQ3RCLENBQUM7Ozs7OEJBdEJELFNBQVM7S0FBRSxTQUFTO0tBQU0sTUFBTTtLQUFTLENBQUMsQ0FBQTtBQUMzQyxpQkFBQSxNQUFBLE1BQUEsd0JBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSxZQUFBO01BQUEsTUFBQSxLQUFBLFVBQUE7QUFBQSxXQUFXLFNBQU07O01BQUE7S0FBQSxVQUFBO0tBQUEsRUFBQSxNQUFBLDJCQUFBOzs7Ozs7Ozs7QUFKSCxTQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsb0JBQU0sQ0FBQzs7O0dBSTFFLElBQVcsT0FBTyxPQUFjO0FBQzlCLFNBQUssVUFBVTtBQUNmLFNBQUssaUJBQWlCOztHQUV4QixJQUFXLFNBQU07QUFDZixXQUFPLEtBQUs7O0dBa0JOLGtCQUFlO0FBQ3JCLFFBQUksS0FBSyxNQUNQLGtCQUFpQixLQUFLLE1BQU0sQ0FBQyxPQUFPLHFCQUFxQixLQUFLLE9BQU87O0dBSWpFLDBCQUF1QjtBQUU3QixVQUFNLEtBQUssS0FBSyxPQUFPLG1CQUFtQixtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FDakUsUUFDRSxPQUNDLEdBQUcsY0FBYyxtQkFDakIsR0FBRyxjQUFjLHFCQUNqQixDQUFDLEdBQUcsVUFBVSxTQUFTLGFBQWEsQ0FDdkMsQ0FDQSxTQUFTLE9BQWdCLEdBQUcsVUFBVSxPQUFPLGNBQWMsS0FBSyxDQUFDOztHQUd0RCxvQkFBaUI7QUFDL0IsVUFBTSxtQkFBbUI7QUFDekIsU0FBSyxRQUFRLEtBQUssVUFBVSxXQUFXO0FBQ3ZDLFFBQUksS0FBSyxPQUFPO0FBQ2QsVUFBSyxTQUFTO0tBQ2QsTUFBTSxhQUFhLGlCQUFpQixLQUFLLE1BQU07QUFDL0MsZ0JBQVcsSUFBSSxhQUFhO0FBQzVCLGdCQUFXLE9BQU8scUJBQXFCLEtBQUssT0FBTztBQUNuRCxnQkFBVyxJQUFJLGVBQWUsS0FBSyxhQUFhO0FBQ2hELGdCQUFXLE9BQU8sZUFBZSxLQUFLLGVBQWUsV0FBVyxTQUFTLFdBQVc7QUFFcEYsVUFBSyx5QkFBeUI7QUFDOUIsVUFBSyxzQkFBc0IsUUFBUSxLQUFLLE1BQU07OztHQUlsQyx1QkFBb0I7QUFDbEMsVUFBTSxzQkFBc0I7QUFDNUIsUUFBSSxLQUFLLE9BQU87S0FDZCxNQUFNLGFBQWEsaUJBQWlCLEtBQUssTUFBTTtBQUMvQyxnQkFBVyxPQUFPLGFBQWE7QUFDL0IsZ0JBQVcsT0FBTyxvQkFBb0I7QUFDdEMsZ0JBQVcsT0FBTyxxQkFBcUI7QUFDdkMsZ0JBQVcsT0FBTyxtQkFBbUI7QUFDckMsVUFBSyxNQUNGLGlCQUFpQixjQUFjLENBQy9CLFNBQVMsT0FBTyxHQUFHLFVBQVUsT0FBTyxhQUFhLENBQUM7QUFDckQsVUFBSyxRQUFROzs7R0FJRSxpQkFBYztBQUUvQixXQUFPLE1BQUkifQ==
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1hY3Rpb24tY29tbW9uLTFGREhiZmVSLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJkL2NvbW1vbi9jYXJkLWFjdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJkL2NvbW1vbi9jYXJkLWFjdGlvbi1jb21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG59XG5cbjppcyguc2JiLWNhcmQtYnV0dG9uLCAuc2JiLWNhcmQtbGluaykge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAvLyBIYW5kbGUgZm9jdXMgb24gdGhlIGhvc3QgKGJ1dHRvbiB2YXJpYW50KVxuICA6aG9zdCg6Zm9jdXMtdmlzaWJsZSkgJixcbiAgLy8gSGFuZGxlIGZvY3VzIG9uIHRoZSBhY3Rpb24gKGxpbmsgdmFyaWFudClcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbiAgfVxufVxuXG4uc2JiLXNjcmVlbi1yZWFkZXItb25seSB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJpbXBvcnQgeyBNdXRhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL211dGF0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IElTX0ZPQ1VTQUJMRV9RVUVSWSB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IMm1c3RhdGVDb250cm9sbGVyLCB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkNhcmRFbGVtZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NhcmQtYWN0aW9uLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGUge1xuICBwdWJsaWMgYWNjZXNzb3IgYWN0aXZlOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgYWN0aW9uUm9sZTogJ2xpbmsnIHwgJ2J1dHRvbic7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJDYXJkQWN0aW9uQ29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJDYXJkQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIHN1cGVyQ2xhc3NcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjYXJkIGlzIGFjdGl2ZS4gKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBhY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuX2FjdGl2ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fb25BY3RpdmVDaGFuZ2UoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICAgIH1cbiAgICBwcml2YXRlIF9hY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBhY3Rpb25Sb2xlOiAnbGluaycgfCAnYnV0dG9uJztcblxuICAgIHByaXZhdGUgX2NhcmQ6IFNiYkNhcmRFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBfY2FyZE11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgIHRhcmdldDogbnVsbCxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydocmVmJywgJ3RhYmluZGV4JywgJ2Rpc2FibGVkJywgJ2luZXJ0J10sXG4gICAgICB9LFxuICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX2NoZWNrRm9yU2xvdHRlZEFjdGlvbnMoKSxcbiAgICB9KTtcblxuICAgIHByaXZhdGUgX29uQWN0aXZlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuX2NhcmQpIHtcbiAgICAgICAgybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5fY2FyZCkudG9nZ2xlKCdoYXMtYWN0aXZlLWFjdGlvbicsIHRoaXMuYWN0aXZlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGVja0ZvclNsb3R0ZWRBY3Rpb25zKCk6IHZvaWQge1xuICAgICAgLy8gV2UgaW50ZW50aW9uYWxseSB1c2UgdG9nZ2xlIGhlcmUsIGFzIGFkZCBjYXVzZXMgYSBNdXRhdGlvbk9ic2VydmVyIGxvb3AuXG4gICAgICBBcnJheS5mcm9tKHRoaXMuX2NhcmQ/LnF1ZXJ5U2VsZWN0b3JBbGw/LihJU19GT0NVU0FCTEVfUVVFUlkpID8/IFtdKVxuICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgIChlbCkgPT5cbiAgICAgICAgICAgIGVsLmxvY2FsTmFtZSAhPT0gJ3NiYi1jYXJkLWxpbmsnICYmXG4gICAgICAgICAgICBlbC5sb2NhbE5hbWUgIT09ICdzYmItY2FyZC1idXR0b24nICYmXG4gICAgICAgICAgICAhZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItYWN0aW9uJyksXG4gICAgICAgIClcbiAgICAgICAgLmZvckVhY2goKGVsOiBFbGVtZW50KSA9PiBlbC5jbGFzc0xpc3QudG9nZ2xlKCdzYmItYWN0aW9uJywgdHJ1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLl9jYXJkID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1jYXJkJyk7XG4gICAgICBpZiAodGhpcy5fY2FyZCkge1xuICAgICAgICB0aGlzLnNsb3QgfHw9ICdhY3Rpb24nO1xuICAgICAgICBjb25zdCBjb250cm9sbGVyID0gybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5fY2FyZCk7XG4gICAgICAgIGNvbnRyb2xsZXIuYWRkKCdoYXMtYWN0aW9uJyk7XG4gICAgICAgIGNvbnRyb2xsZXIudG9nZ2xlKCdoYXMtYWN0aXZlLWFjdGlvbicsIHRoaXMuYWN0aXZlKTtcbiAgICAgICAgY29udHJvbGxlci5hZGQoYGFjdGlvbi1yb2xlLSR7dGhpcy5hY3Rpb25Sb2xlfWApO1xuICAgICAgICBjb250cm9sbGVyLmRlbGV0ZShgYWN0aW9uLXJvbGUtJHt0aGlzLmFjdGlvblJvbGUgPT09ICdidXR0b24nID8gJ2xpbmsnIDogJ2J1dHRvbid9YCk7XG5cbiAgICAgICAgdGhpcy5fY2hlY2tGb3JTbG90dGVkQWN0aW9ucygpO1xuICAgICAgICB0aGlzLl9jYXJkTXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuX2NhcmQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICBpZiAodGhpcy5fY2FyZCkge1xuICAgICAgICBjb25zdCBjb250cm9sbGVyID0gybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5fY2FyZCk7XG4gICAgICAgIGNvbnRyb2xsZXIuZGVsZXRlKCdoYXMtYWN0aW9uJyk7XG4gICAgICAgIGNvbnRyb2xsZXIuZGVsZXRlKCdoYXMtYWN0aXZlLWFjdGlvbicpO1xuICAgICAgICBjb250cm9sbGVyLmRlbGV0ZSgnYWN0aW9uLXJvbGUtYnV0dG9uJyk7XG4gICAgICAgIGNvbnRyb2xsZXIuZGVsZXRlKCdhY3Rpb24tcm9sZS1saW5rJyk7XG4gICAgICAgIHRoaXMuX2NhcmRcbiAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbChgLnNiYi1hY3Rpb25gKVxuICAgICAgICAgIC5mb3JFYWNoKChlbCkgPT4gZWwuY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWFjdGlvbicpKTtcbiAgICAgICAgdGhpcy5fY2FyZCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIC8vIER1ZSB0byBwcm9ibGVtcyBkZXRlY3RpbmcgdGhlIGNsaWNrIGV2ZW50IGluIE5WREEgc2NyZWVuIHJlYWRlciwgd2UgY2FuJ3QgdXNlIHRoZSBzYmItc2NyZWVuLXJlYWRlci1vbmx5IGNvbXBvbmVudCBoZXJlXG4gICAgICByZXR1cm4gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj48c2xvdD48L3Nsb3Q+PC9zcGFuPmA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJDYXJkQWN0aW9uQ29tbW9uRWxlbWVudCBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQ2FyZEFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FDbUJBLElBQWEsbUNBR1gsZUFDZ0U7QUFzRmhFLGVBckZ5QztvQkFDL0I7OztlQURLLG1DQUNMLFlBQVU7OztBQWNWLFNBQUEsV0FmSyxrQkFBQSxNQUFBLDJCQUEwQixFQWVaO0FBSW5CLFNBQUEsUUFBK0I7QUFDL0IsU0FBQSx3QkFBd0IsSUFBSSxtQkFBbUIsTUFBTTtLQUMzRCxRQUFRO0tBQ1IsUUFBUTtNQUNOLFdBQVc7TUFDWCxTQUFTO01BQ1QsWUFBWTtNQUNaLGlCQUFpQjtPQUFDO09BQVE7T0FBWTtPQUFZOztNQUNuRDtLQUNELGdCQUFnQixLQUFLLHlCQUFBO0tBQ3RCLENBQUM7Ozs7OEJBdEJELFNBQVM7S0FBRSxTQUFTO0tBQU0sTUFBTTtLQUFTLENBQUMsQ0FBQTtBQUMzQyxpQkFBQSxNQUFBLE1BQUEsd0JBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSxZQUFBO01BQUEsTUFBQSxLQUFBLFVBQUE7QUFBQSxXQUFXLFNBQU07O01BQUE7S0FBQSxVQUFBO0tBQUEsRUFBQSxNQUFBLDJCQUFBOzs7Ozs7Ozs7QUFKSCxTQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsb0JBQU0sQ0FBQzs7O0dBSTFFLElBQVcsT0FBTyxPQUFjO0FBQzlCLFNBQUssVUFBVTtBQUNmLFNBQUssaUJBQWlCOztHQUV4QixJQUFXLFNBQU07QUFDZixXQUFPLEtBQUs7O0dBa0JOLGtCQUFlO0FBQ3JCLFFBQUksS0FBSyxNQUNQLGtCQUFpQixLQUFLLE1BQU0sQ0FBQyxPQUFPLHFCQUFxQixLQUFLLE9BQU87O0dBSWpFLDBCQUF1QjtBQUU3QixVQUFNLEtBQUssS0FBSyxPQUFPLG1CQUFtQixtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FDakUsUUFDRSxPQUNDLEdBQUcsY0FBYyxtQkFDakIsR0FBRyxjQUFjLHFCQUNqQixDQUFDLEdBQUcsVUFBVSxTQUFTLGFBQWEsQ0FDdkMsQ0FDQSxTQUFTLE9BQWdCLEdBQUcsVUFBVSxPQUFPLGNBQWMsS0FBSyxDQUFDOztHQUd0RCxvQkFBaUI7QUFDL0IsVUFBTSxtQkFBbUI7QUFDekIsU0FBSyxRQUFRLEtBQUssVUFBVSxXQUFXO0FBQ3ZDLFFBQUksS0FBSyxPQUFPO0FBQ2QsVUFBSyxTQUFTO0tBQ2QsTUFBTSxhQUFhLGlCQUFpQixLQUFLLE1BQU07QUFDL0MsZ0JBQVcsSUFBSSxhQUFhO0FBQzVCLGdCQUFXLE9BQU8scUJBQXFCLEtBQUssT0FBTztBQUNuRCxnQkFBVyxJQUFJLGVBQWUsS0FBSyxhQUFhO0FBQ2hELGdCQUFXLE9BQU8sZUFBZSxLQUFLLGVBQWUsV0FBVyxTQUFTLFdBQVc7QUFFcEYsVUFBSyx5QkFBeUI7QUFDOUIsVUFBSyxzQkFBc0IsUUFBUSxLQUFLLE1BQU07OztHQUlsQyx1QkFBb0I7QUFDbEMsVUFBTSxzQkFBc0I7QUFDNUIsUUFBSSxLQUFLLE9BQU87S0FDZCxNQUFNLGFBQWEsaUJBQWlCLEtBQUssTUFBTTtBQUMvQyxnQkFBVyxPQUFPLGFBQWE7QUFDL0IsZ0JBQVcsT0FBTyxvQkFBb0I7QUFDdEMsZ0JBQVcsT0FBTyxxQkFBcUI7QUFDdkMsZ0JBQVcsT0FBTyxtQkFBbUI7QUFDckMsVUFBSyxNQUNGLGlCQUFpQixjQUFjLENBQy9CLFNBQVMsT0FBTyxHQUFHLFVBQVUsT0FBTyxhQUFhLENBQUM7QUFDckQsVUFBSyxRQUFROzs7R0FJRSxpQkFBYztBQUUvQixXQUFPLE1BQUk7OztLQUdSIn0=
@@ -133,4 +133,4 @@ var SbbCarouselListElement = class extends SbbElement {
133
133
  //#endregion
134
134
  export { SbbCarouselListElement as t };
135
135
 
136
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQtTC1uWXBIY04uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLWxpc3QvY2Fyb3VzZWwtbGlzdC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItY2Fyb3VzZWwtbGlzdC1ib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItY2Fyb3VzZWwtbGlzdC1oZWlnaHQpO1xuXG4gIC8vIFNldHRpbmcgMHB4IGFzIGZhbGxiYWNrIHRvIGF2b2lkIGluc3RhbnQgc2Nyb2xsaW5nIG9uIFNhZmFyaSB3aGVuIGxvYWRpbmcgdGhlIHBhZ2VcbiAgd2lkdGg6IHZhcigtLXNiYi1jYXJvdXNlbC1saXN0LXdpZHRoLCAwKTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXMpO1xufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtbGlzdC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWNhcm91c2VsLWxpc3QtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWNhcm91c2VsLWluaGVyaXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBpMThuQ2Fyb3VzZWxJdGVtQXJpYUxhYmVsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCxcbiAgU2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWwsXG59IGZyb20gJy4uL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jYXJvdXNlbC1saXN0LnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1jYXJvdXNlbC1pdGVtYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2Fyb3VzZWwtaXRlbWAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY2Fyb3VzZWwtbGlzdCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHVuc2FmZUNTUyhzdHlsZSk7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEluZGV4ID0gMDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vYnNlcnZlZENhcm91c2VsSXRlbXM6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2JlZm9yZVNob3dPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IGVudHJ5LmZpbHRlcigoZSkgPT4gZS5pc0ludGVyc2VjdGluZyAmJiBlLnRhcmdldCAhPT0gdGhpcyk7XG4gICAgICBpdGVtLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignYmVmb3Jlc2hvdycsIHtcbiAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gdGFyZ2V0KSB9LFxuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjAxLCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9zaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnlBcnIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cnlBcnIpIHtcbiAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcykge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVudHJ5LnRhcmdldCBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fY3VycmVudEluZGV4ID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZWwpID0+IGVsID09PSB0YXJnZXQpO1xuICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignc2hvdycsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiB7IGluZGV4OiB0aGlzLl9jdXJyZW50SW5kZXggfSxcbiAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldC5hcmlhSGlkZGVuID0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjk5LCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlckNvbnRyb2xsZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3JlYWREaW1lbnNpb25zKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5fb25LZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzbG90dGVkIGl0ZW1zLiAqL1xuICBwcml2YXRlIF9jYXJvdXNlbEl0ZW1zKCk6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1jYXJvdXNlbC1pdGVtJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBJbiBjYXNlIG9mIHJlbW92ZWQgY2Fyb3VzZWwgaXRlbXMsIHdlIG5lZWQgdG8gdW5vYnNlcnZlIHRoZSBjdXJyZW50IG9ic2VydmVycy5cbiAgICB0aGlzLl9vYnNlcnZlZENhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5fYmVmb3JlU2hvd09ic2VydmVyLnVub2JzZXJ2ZShpdGVtKTtcbiAgICAgIHRoaXMuX3Nob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuXG4gICAgLy8gU2V0IHRoZSBhcmlhLWxhYmVsIGlmIG5vdCBwcm92aWRlZFxuICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0uYXJpYUxhYmVsIHx8PSBpMThuQ2Fyb3VzZWxJdGVtQXJpYUxhYmVsKGluZGV4ICsgMSwgY2Fyb3VzZWxJdGVtcy5sZW5ndGgpW1xuICAgICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50XG4gICAgICBdO1xuICAgICAgaXRlbS5hcmlhSGlkZGVuID0gaW5kZXggPT09IHRoaXMuX2N1cnJlbnRJbmRleCA/IG51bGwgOiAndHJ1ZSc7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9yZWFkRGltZW5zaW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBmaXJzdCBjYXJvdXNlbCBpdGVtIGFuZCBzZXRzIHRoZSBDU1MgcHJvcGVydGllcyBhY2NvcmRpbmdseS5cbiAgICogU2hvdWxkIHNldCB0aGUgZGltZW5zaW9ucyBvbmx5IG9uY2UsIHdoZW4gdGhlIGZpcnN0IGl0ZW0gYmVjb21lcyB2aXNpYmxlIGFuZCBpZiB0aGUgdmFsdWUgaXMgbm9uLXplcm8uXG4gICAqL1xuICBwcml2YXRlIF9yZWFkRGltZW5zaW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuICAgIGlmIChjYXJvdXNlbEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IGNhcm91c2VsSXRlbXNbMF07XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudEhlaWdodCA+IDApIHtcbiAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLWNhcm91c2VsLWxpc3QtaGVpZ2h0JywgYCR7Zmlyc3RJdGVtLmNsaWVudEhlaWdodH1weGApO1xuICAgIH1cblxuICAgIGlmIChmaXJzdEl0ZW0uY2xpZW50V2lkdGggPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LXdpZHRoJywgYCR7Zmlyc3RJdGVtLmNsaWVudFdpZHRofXB4YCk7XG5cbiAgICAgIC8vIFdlIHNob3VsZCBvbmx5IG9ic2VydmUgdGhlIGl0ZW1zIGlmIHRoZXkgaGF2ZSBhIG5vbi16ZXJvIHdpZHRoLiBPdGhlcndpc2UsIGFuIHVud2FudGVkIHNjcm9sbGluZyBjYW4gaGFwcGVuLlxuICAgICAgY2Fyb3VzZWxJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci5vYnNlcnZlKGl0ZW0pO1xuICAgICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zID0gY2Fyb3VzZWxJdGVtcztcbiAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyQ29udHJvbGxlci51bm9ic2VydmUodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGxldCBuZXdJbmRleCA9IHRoaXMuX2N1cnJlbnRJbmRleDtcbiAgICBjb25zdCBpc1ByZXYgPSBldnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZ0LmtleSA9PT0gJ0Fycm93TGVmdCc7XG4gICAgY29uc3QgaXNOZXh0ID0gZXZ0LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZ0LmtleSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGlzUHJldikge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLl9jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9IGVsc2UgaWYgKGlzTmV4dCkge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1pbih0aGlzLl9jYXJvdXNlbEl0ZW1zKCkubGVuZ3RoIC0gMSwgdGhpcy5fY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgaWYgKG5ld0luZGV4ICE9PSB0aGlzLl9jdXJyZW50SW5kZXgpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgdGhpcy5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKVt0aGlzLl9jdXJyZW50SW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gJ3BvbGl0ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUF0b21pYyA9ICd0cnVlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FDb0JBLElBQWEseUJBQWIsY0FBNEMsV0FBVTs7QUFDcEIsT0FBQSxjQUFzQjs7O0FBQy9CLE9BQUEsU0FBeUIsVUFBVSxzQkFBTTs7Q0F1RGhFLGNBQUE7QUFDRSxTQUFPO0FBdERELE9BQUEsZ0JBQWdCO0FBQ2hCLE9BQUEsWUFBWSxJQUFJLHNCQUFzQixLQUFLO0FBQzNDLE9BQUEseUJBQW1ELEVBQUU7QUFFckQsT0FBQSxzQkFBc0IsSUFBSSx1QkFBdUIsTUFBTTtHQUM3RCxRQUFRO0dBQ1IsV0FBVyxVQUFTO0FBQ0wsVUFBTSxRQUFRLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEtBQUssQ0FDbEUsU0FBUyxNQUFLO0tBQ2pCLE1BQU0sU0FBUyxFQUFFO0FBQ2pCLFlBQU8sY0FDTCxJQUFJLFlBQXdDLGNBQWM7TUFDeEQsUUFBUSxFQUFFLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLE1BQU0sTUFBTSxPQUFPLEVBQUU7TUFDdkUsU0FBUztNQUNULFVBQVU7TUFDWCxDQUFDLENBQ0g7TUFDRDs7R0FFSixRQUFRO0lBQUUsV0FBVztJQUFNLE1BQU07SUFBTSxZQUFZOztHQUNwRCxDQUFDO0FBRU0sT0FBQSxnQkFBZ0IsSUFBSSx1QkFBdUIsTUFBTTtHQUN2RCxRQUFRO0dBQ1IsV0FBVyxhQUFZO0FBQ3JCLFNBQUssTUFBTSxTQUFTLFVBQVU7QUFDNUIsU0FBSSxNQUFNLFdBQVcsS0FDbkI7S0FFRixNQUFNLFNBQVMsTUFBTTtBQUNyQixTQUFJLE1BQU0sZ0JBQWdCO0FBQ3hCLGFBQU8sYUFBYTtBQUNwQixXQUFLLGdCQUFnQixLQUFLLGdCQUFnQixDQUFDLFdBQVcsT0FBTyxPQUFPLE9BQU87QUFDM0UsYUFBTyxjQUNMLElBQUksWUFBd0Ms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
136
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQtTC1uWXBIY04uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLWxpc3QvY2Fyb3VzZWwtbGlzdC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItY2Fyb3VzZWwtbGlzdC1ib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItY2Fyb3VzZWwtbGlzdC1oZWlnaHQpO1xuXG4gIC8vIFNldHRpbmcgMHB4IGFzIGZhbGxiYWNrIHRvIGF2b2lkIGluc3RhbnQgc2Nyb2xsaW5nIG9uIFNhZmFyaSB3aGVuIGxvYWRpbmcgdGhlIHBhZ2VcbiAgd2lkdGg6IHZhcigtLXNiYi1jYXJvdXNlbC1saXN0LXdpZHRoLCAwKTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXMpO1xufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItY2Fyb3VzZWwtbGlzdC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWNhcm91c2VsLWxpc3QtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWNhcm91c2VsLWluaGVyaXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cbiIsImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBpMThuQ2Fyb3VzZWxJdGVtQXJpYUxhYmVsIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCxcbiAgU2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWwsXG59IGZyb20gJy4uL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jYXJvdXNlbC1saXN0LnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1jYXJvdXNlbC1pdGVtYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2Fyb3VzZWwtaXRlbWAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY2Fyb3VzZWwtbGlzdCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHVuc2FmZUNTUyhzdHlsZSk7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEluZGV4ID0gMDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9vYnNlcnZlZENhcm91c2VsSXRlbXM6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2JlZm9yZVNob3dPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IChlbnRyeSkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IGVudHJ5LmZpbHRlcigoZSkgPT4gZS5pc0ludGVyc2VjdGluZyAmJiBlLnRhcmdldCAhPT0gdGhpcyk7XG4gICAgICBpdGVtLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignYmVmb3Jlc2hvdycsIHtcbiAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZSkgPT4gZSA9PT0gdGFyZ2V0KSB9LFxuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjAxLCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9zaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnlBcnIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cnlBcnIpIHtcbiAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcykge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVudHJ5LnRhcmdldCBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fY3VycmVudEluZGV4ID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZWwpID0+IGVsID09PSB0YXJnZXQpO1xuICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignc2hvdycsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiB7IGluZGV4OiB0aGlzLl9jdXJyZW50SW5kZXggfSxcbiAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldC5hcmlhSGlkZGVuID0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjk5LCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlckNvbnRyb2xsZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3JlYWREaW1lbnNpb25zKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5fb25LZXlEb3duKGUpKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzbG90dGVkIGl0ZW1zLiAqL1xuICBwcml2YXRlIF9jYXJvdXNlbEl0ZW1zKCk6IFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1jYXJvdXNlbC1pdGVtJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBJbiBjYXNlIG9mIHJlbW92ZWQgY2Fyb3VzZWwgaXRlbXMsIHdlIG5lZWQgdG8gdW5vYnNlcnZlIHRoZSBjdXJyZW50IG9ic2VydmVycy5cbiAgICB0aGlzLl9vYnNlcnZlZENhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5fYmVmb3JlU2hvd09ic2VydmVyLnVub2JzZXJ2ZShpdGVtKTtcbiAgICAgIHRoaXMuX3Nob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuXG4gICAgLy8gU2V0IHRoZSBhcmlhLWxhYmVsIGlmIG5vdCBwcm92aWRlZFxuICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0uYXJpYUxhYmVsIHx8PSBpMThuQ2Fyb3VzZWxJdGVtQXJpYUxhYmVsKGluZGV4ICsgMSwgY2Fyb3VzZWxJdGVtcy5sZW5ndGgpW1xuICAgICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50XG4gICAgICBdO1xuICAgICAgaXRlbS5hcmlhSGlkZGVuID0gaW5kZXggPT09IHRoaXMuX2N1cnJlbnRJbmRleCA/IG51bGwgOiAndHJ1ZSc7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9yZWFkRGltZW5zaW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBmaXJzdCBjYXJvdXNlbCBpdGVtIGFuZCBzZXRzIHRoZSBDU1MgcHJvcGVydGllcyBhY2NvcmRpbmdseS5cbiAgICogU2hvdWxkIHNldCB0aGUgZGltZW5zaW9ucyBvbmx5IG9uY2UsIHdoZW4gdGhlIGZpcnN0IGl0ZW0gYmVjb21lcyB2aXNpYmxlIGFuZCBpZiB0aGUgdmFsdWUgaXMgbm9uLXplcm8uXG4gICAqL1xuICBwcml2YXRlIF9yZWFkRGltZW5zaW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjYXJvdXNlbEl0ZW1zID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpO1xuICAgIGlmIChjYXJvdXNlbEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IGNhcm91c2VsSXRlbXNbMF07XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudEhlaWdodCA+IDApIHtcbiAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLWNhcm91c2VsLWxpc3QtaGVpZ2h0JywgYCR7Zmlyc3RJdGVtLmNsaWVudEhlaWdodH1weGApO1xuICAgIH1cblxuICAgIGlmIChmaXJzdEl0ZW0uY2xpZW50V2lkdGggPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LXdpZHRoJywgYCR7Zmlyc3RJdGVtLmNsaWVudFdpZHRofXB4YCk7XG5cbiAgICAgIC8vIFdlIHNob3VsZCBvbmx5IG9ic2VydmUgdGhlIGl0ZW1zIGlmIHRoZXkgaGF2ZSBhIG5vbi16ZXJvIHdpZHRoLiBPdGhlcndpc2UsIGFuIHVud2FudGVkIHNjcm9sbGluZyBjYW4gaGFwcGVuLlxuICAgICAgY2Fyb3VzZWxJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci5vYnNlcnZlKGl0ZW0pO1xuICAgICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zID0gY2Fyb3VzZWxJdGVtcztcbiAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyQ29udHJvbGxlci51bm9ic2VydmUodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGxldCBuZXdJbmRleCA9IHRoaXMuX2N1cnJlbnRJbmRleDtcbiAgICBjb25zdCBpc1ByZXYgPSBldnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZ0LmtleSA9PT0gJ0Fycm93TGVmdCc7XG4gICAgY29uc3QgaXNOZXh0ID0gZXZ0LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZ0LmtleSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGlzUHJldikge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLl9jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9IGVsc2UgaWYgKGlzTmV4dCkge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1pbih0aGlzLl9jYXJvdXNlbEl0ZW1zKCkubGVuZ3RoIC0gMSwgdGhpcy5fY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgaWYgKG5ld0luZGV4ICE9PSB0aGlzLl9jdXJyZW50SW5kZXgpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgdGhpcy5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKVt0aGlzLl9jdXJyZW50SW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gJ3BvbGl0ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUF0b21pYyA9ICd0cnVlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FDb0JBLElBQWEseUJBQWIsY0FBNEMsV0FBVTs7QUFDcEIsT0FBQSxjQUFzQjs7O0FBQy9CLE9BQUEsU0FBeUIsVUFBVSxzQkFBTTs7Q0F1RGhFLGNBQUE7QUFDRSxTQUFPO0FBdERELE9BQUEsZ0JBQWdCO0FBQ2hCLE9BQUEsWUFBWSxJQUFJLHNCQUFzQixLQUFLO0FBQzNDLE9BQUEseUJBQW1ELEVBQUU7QUFFckQsT0FBQSxzQkFBc0IsSUFBSSx1QkFBdUIsTUFBTTtHQUM3RCxRQUFRO0dBQ1IsV0FBVyxVQUFTO0FBQ0wsVUFBTSxRQUFRLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEtBQ2xFLENBQUssU0FBUyxNQUFLO0tBQ2pCLE1BQU0sU0FBUyxFQUFFO0FBQ2pCLFlBQU8sY0FDTCxJQUFJLFlBQXdDLGNBQWM7TUFDeEQsUUFBUSxFQUFFLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLE1BQU0sTUFBTSxPQUFPLEVBQUU7TUFDdkUsU0FBUztNQUNULFVBQVU7TUFDWCxDQUFDLENBQ0g7TUFDRDs7R0FFSixRQUFRO0lBQUUsV0FBVztJQUFNLE1BQU07SUFBTSxZQUFZOztHQUNwRCxDQUFDO0FBRU0sT0FBQSxnQkFBZ0IsSUFBSSx1QkFBdUIsTUFBTTtHQUN2RCxRQUFRO0dBQ1IsV0FBVyxhQUFZO0FBQ3JCLFNBQUssTUFBTSxTQUFTLFVBQVU7QUFDNUIsU0FBSSxNQUFNLFdBQVcsS0FDbkI7S0FFRixNQUFNLFNBQVMsTUFBTTtBQUNyQixTQUFJLE1BQU0sZ0JBQWdCO0FBQ3hCLGFBQU8sYUFBYTtBQUNwQixXQUFLLGdCQUFnQixLQUFLLGdCQUFnQixDQUFDLFdBQVcsT0FBTyxPQUFPLE9BQU87QUFDM0UsYUFBTyxjQUNMLElBQUksWUFBd0Ms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
@@ -141,4 +141,4 @@ var SbbCarouselElement = (() => {
141
141
  //#endregion
142
142
  export { SbbCarouselElement as t };
143
143
 
144
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LURsNDhST1NmLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC9jYXJvdXNlbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKSB2YXIoLS1zYmItY2Fyb3VzZWwtYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG46aG9zdChbc2hhZG93XSkge1xuICBib3gtc2hhZG93OiB2YXIoLS1zYmItY2Fyb3VzZWwtYm94LXNoYWRvdyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuOmhvc3QoOm5vdChbc2hhZG93XSkpIDo6c2xvdHRlZChzYmItY2Fyb3VzZWwtbGlzdCkge1xuICAtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnNiYi1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY2Fyb3VzZWwtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbjo6c2xvdHRlZChzYmItY29tcGFjdC1wYWdpbmF0b3IpIHtcbiAgcGFkZGluZzogdmFyKC0tc2JiLWNhcm91c2VsLXBhZ2luYXRvci1wYWRkaW5nKTtcbn1cbiIsImltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdAbGl0L3JlYWN0aXZlLWVsZW1lbnQnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMvbGFuZ3VhZ2UtY29udHJvbGxlci50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHtcbiAgaTE4bkNhcm91c2VsQXJyb3dzTmF2aWdhdGlvbkhpbnQsXG4gIGkxOG5OZXh0U2xpZGUsXG4gIGkxOG5QcmV2aW91c1NsaWRlLFxuICBpMThuU2xpZGUsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9pMThuLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgfSBmcm9tICcuLi8uLi9wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCxcbiAgU2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWwsXG59IGZyb20gJy4uL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IH0gZnJvbSAnLi4vY2Fyb3VzZWwtbGlzdC9jYXJvdXNlbC1saXN0LmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2Fyb3VzZWwuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY2Fyb3VzZWwgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSBgc2JiLWNhcm91c2VsLWxpc3RgIGZvciBjb250ZW50IGFuZCBhIGBzYmItcGFnaW5hdG9yYCBmb3IgY29udHJvbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDYXJvdXNlbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jYXJvdXNlbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRpc3BsYXkgYSBib3gtc2hhZG93IGFyb3VuZCB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHNoYWRvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3BhZ2luYXRvcjogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciA9IC0xO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gSWYgdGhlIGxpc3QgaXMgc2Nyb2xsZWQgdXNpbmcgbW91c2Uva2V5Ym9hcmQsIGl0IGtlZXBzIHRoZSBwYWdpbmF0b3IgdXBkYXRlZC5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignc2hvdycsIChlOiBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4pID0+IHtcbiAgICAgIC8vIFdlIGhhdmUgdG8gZ2l2ZSBwcmlvcml0eSB0byB0aGUgcGFnaW5hdG9yIGZvciB0aGUgY2FzZSxcbiAgICAgIC8vIGlmIGR1cmluZyBhbiBhbmltYXRpb24gdGhlIG5leHQgcGFnZSBpcyBjYWxsZWQgZnJvbSB0aGUgcGFnaW5hdG9yLCB0aGUgcGFnaW5hdG9yIGlzIHJlc2V0LlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciAhPT0gLTEgJiZcbiAgICAgICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgIT09IGUuZGV0YWlsLmluZGV4XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgICBpZiAoZS5kZXRhaWwuaW5kZXggIT09IHRoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4ID0gZS5kZXRhaWwuaW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yID0gLTE7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSAncmVnaW9uJztcbiAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSAnY2Fyb3VzZWwnO1xuXG4gICAgdGhpcy5fc2V0dXBQYWdpbmF0b3IoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSBbXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJyNzYmItY2Fyb3VzZWwtYXJyb3dzLW5hdmlnYXRpb24taGludCcpISxcbiAgICBdO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBwYWdpbmF0b3I6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50ID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKFxuICAgICAgKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItY29tcGFjdC1wYWdpbmF0b3InLFxuICAgICkgYXMgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQ7XG4gICAgY29uc3QgbGlzdDogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudCA9IEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmluZChcbiAgICAgIChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLWNhcm91c2VsLWxpc3QnLFxuICAgICkgYXMgU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgICBpZiAoIXBhZ2luYXRvciB8fCAhbGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpdGVtcyA9IGxpc3QucXVlcnlTZWxlY3RvckFsbDxTYmJDYXJvdXNlbEl0ZW1FbGVtZW50Pignc2JiLWNhcm91c2VsLWl0ZW0nKTtcbiAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFnaW5hdG9yLmxlbmd0aCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgIHBhZ2luYXRvci5wYWdlU2l6ZSA9IDE7XG4gICAgfVxuICAgIHBhZ2luYXRvci5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbCB8fD0gaTE4bk5leHRTbGlkZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICBwYWdpbmF0b3IuYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsIHx8PSBpMThuUHJldmlvdXNTbGlkZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICBwYWdpbmF0b3IuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCB8fD0gaTE4blNsaWRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuXG4gICAgaWYgKHBhZ2luYXRvciAhPT0gdGhpcy5fcGFnaW5hdG9yKSB7XG4gICAgICB0aGlzLl9wYWdpbmF0b3IgPSBwYWdpbmF0b3I7XG4gICAgICB0aGlzLl9zZXR1cFBhZ2luYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwUGFnaW5hdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICghdGhpcy5fcGFnaW5hdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIEJ5IGxpc3RlbmluZyB0byB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIHBhZ2luYXRvciwgd2UgY2FuIGVuc3VyZSB0aGF0IHRoZSBjaGFuZ2Ugd2FzIHVzZXIgdHJpZ2dlcmVkLlxuICAgIC8vIElmIHdlIGluc3RlYWQgdXNlIHRoZSBwYWdlIGV2ZW50LCB3ZSB3b3VsZCBhbHNvIGNhdGNoIHByb2dyYW1tYXRpYyBjaGFuZ2VzIHRvIHRoZSBwYWdpbmF0b3JcbiAgICAvLyB3aGljaCBjYW4gY2F1c2UgYSBsb29wIGFuZCB3cm9uZyB0aW1pbmcgYXMgd2UgYWxzbyBsaXN0ZW4gdG8gdGhlIHNob3cgZXZlbnQuXG4gICAgdGhpcy5fcGFnaW5hdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5fc2Nyb2xsQXRQYWdpbmF0b3JDaGFuZ2UoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2Nyb2xsQXRQYWdpbmF0b3JDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wYWdpbmF0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgPSB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4O1xuXG4gICAgY29uc3QgbGlzdCA9IHRoaXMucXVlcnlTZWxlY3RvcjxTYmJDYXJvdXNlbExpc3RFbGVtZW50Pignc2JiLWNhcm91c2VsLWxpc3QnKTtcblxuICAgIGlmIChsaXN0KSB7XG4gICAgICBjb25zdCBpdGVtcyA9IGxpc3QucXVlcnlTZWxlY3RvckFsbDxTYmJDYXJvdXNlbEl0ZW1FbGVtZW50Pignc2JiLWNhcm91c2VsLWl0ZW0nKTtcblxuICAgICAgLy8gQXMgdGhlIG9mZnNldExlZnQgaXMgYWx3YXlzIHJlbmRlcmVkIGZyb20gdGhlIHZpZXdwb3J0IGJvdW5kYXJpZXMsIHdlIG5lZWQgdG8gc3VidHJhY3QgdGhlIG9mZnNldExlZnRcbiAgICAgIC8vIGZyb20gdGhlIGNhcm91c2VsIHRvIGdldCB0aGUgb2Zmc2V0IGluc2lkZSB0aGUgc2Nyb2xsIGFyZWEuXG4gICAgICBjb25zdCBvZmZzZXRMZWZ0ID0gaXRlbXNbdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleF0ub2Zmc2V0TGVmdCAtIHRoaXMub2Zmc2V0TGVmdDtcblxuICAgICAgLy8gUHJldmVudHMgcmVkdW5kYW50IHNjcm9sbGluZyB3aGVuIHRoZSBwYWdpbmF0b3IgdXBkYXRlcyBhZnRlciBhIHNjcm9sbCBldmVudFxuICAgICAgLy8gYnkgY2hlY2tpbmcgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIGN1cnJlbnQgYW5kIHRhcmdldCBzY3JvbGwgcG9zaXRpb25zLlxuICAgICAgLy8gKHNob3cgZXZlbnQgaXMgdHJpZ2dlcmVkIHNsaWdodGx5IGJlZm9yZSBmdWxseSBzY3JvbGxlZCkuXG4gICAgICBpZiAobGlzdC5jbGllbnRXaWR0aCA8PSAxMDAgfHwgTWF0aC5hYnMobGlzdC5zY3JvbGxMZWZ0IC0gb2Zmc2V0TGVmdCkgPiA1MCkge1xuICAgICAgICBsaXN0LnNjcm9sbFRvKHsgbGVmdDogb2Zmc2V0TGVmdCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2Fyb3VzZWxcIj5cbiAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgaWQ9XCJzYmItY2Fyb3VzZWwtYXJyb3dzLW5hdmlnYXRpb24taGludFwiXG4gICAgICAgICAgPiR7aTE4bkNhcm91c2VsQXJyb3dzTmF2aWdhdGlvbkhpbnRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5XG4gICAgICAgID5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2Fyb3VzZWwnOiBTYmJDYXJvdXNlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDOEJhLDRCQUFrQjttQkFBUzs7OztjQUEzQiwyQkFBMkIsWUFBVTs7O3lCQU8vQyxXQUFXLEVBQ1gsU0FBUztJQUFFLFNBQVM7SUFBTSxNQUFNO0lBQVMsQ0FBQyxDQUFBO0FBQzNDLGdCQUFBLE1BQUEsTUFBQSxvQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFlBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQU4sU0FBTTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHNCQUFBLDBCQUFBOzs7Ozs7Ozs7QUFSVSxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGlCQUFNLENBQUM7O0VBT25GOzs7O0VBQUEsSUFBZ0IsU0FBTTtBQUFBLFVBQUEsTUFBQTs7RUFBdEIsSUFBZ0IsT0FBTSxPQUFBO0FBQUEsU0FBQSwwQkFBQTs7RUFPdEIsY0FBQTtBQUNFLFVBQU87QUFSTyxTQUFBLDBCQUFBLGtCQUFBLE1BQUEsc0JBQWtCLE1BQUs7QUFFL0IsUUFBQSxjQUFVLGtCQUFBLE1BQUEsMEJBQUEsRUFBc0M7QUFDaEQsUUFBQSxtQkFBMkM7QUFDM0MsUUFBQSxZQUFZLElBQUksc0JBQXNCLEtBQUs7QUFDM0MsUUFBQSxpQ0FBaUM7QUFNdkMsUUFBSyxtQkFBbUIsU0FBUyxNQUE4QztBQUc3RSxRQUNFLEtBQUssbUNBQW1DLE1BQ3hDLEtBQUssbUNBQW1DLEVBQUUsT0FBTyxNQUVqRDtBQUVGLFFBQUksS0FBSztTQUNILEVBQUUsT0FBTyxVQUFVLEtBQUssV0FBVyxVQUNyQyxNQUFLLFdBQVcsWUFBWSxFQUFFLE9BQU87O0FBR3pDLFNBQUssaUNBQWlDO0tBQ3RDOztFQUdZLG9CQUFpQjtBQUMvQixTQUFNLG1CQUFtQjtBQUV6QixRQUFLLFVBQVUsT0FBTztBQUN0QixRQUFLLFVBQVUsWUFBWTtBQUUzQixRQUFLLGlCQUFpQjs7RUFHUixhQUFhLG9CQUFrQztBQUM3RCxTQUFNLGFBQWEsbUJBQW1CO0FBRXRDLFFBQUssVUFBVSwwQkFBMEIsQ0FDdkMsS0FBSyxXQUFZLGNBQWMsdUNBQXdDLENBQ3hFOztFQUdhLHVCQUFvQjtBQUNsQyxTQUFNLHNCQUFzQjtBQUM1QixRQUFLLGtCQUFrQixPQUFPOztFQUd4QixvQkFBaUI7R0FDdkIsTUFBTSxZQUF3QyxNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFDckUsT0FBTyxHQUFHLGNBQWMsd0JBQ0k7R0FDL0IsTUFBTSxPQUErQixNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFDNUQsT0FBTyxHQUFHLGNBQWMsb0JBQ0E7QUFDM0IsT0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUNqQjtHQUVGLE1BQU0sUUFBUSxLQUFLLGlCQUF5QyxvQkFBb0I7QUFDaEYsT0FBSSxTQUFTLE1BQU0sU0FBUyxHQUFHO0FBQzdCLGNBQVUsU0FBUyxNQUFNO0FBQ3pCLGNBQVUsV0FBVzs7QUFFdkIsYUFBVSwrQkFBK0IsY0FBYyxLQUFLLFVBQVU7QUFDdEUsYUFBVSxtQ0FBbUMsa0JBQWtCLEtBQUssVUFBVTtBQUM5RSxhQUFVLDJCQUEyQixVQUFVLEtBQUssVUFBVTtBQUU5RCxPQUFJLGNBQWMsS0FBSyxZQUFZO0FBQ2pDLFNBQUssYUFBYTtBQUNsQixTQUFLLGlCQUFpQjs7O0VBSWxCLGtCQUFlO0FBQ3JCLFFBQUssa0JBQWtCLE9BQU87QUFFOUIsT0FBSSxDQUFDLEtBQUssV0FDUjtBQUVGLFFBQUssbUJBQW1CLElBQUksaUJBQWlCO0FBSzdDLFFBQUssV0FBVyxpQkFBaUIsZUFBZSxLQUFLLDBCQUEwQixFQUFFLEVBQy9FLFFBQVEsS0FBSyxpQkFBaUIsUUFDL0IsQ0FBQzs7RUFHSSwyQkFBd0I7QUFDOUIsT0FBSSxDQUFDLEtBQUssV0FDUjtBQUVGLFFBQUssaUNBQWlDLEtBQUssV0FBVztHQUV0RCxNQUFNLE9BQU8sS0FBSyxjQUFzQyxvQkFBb0I7QUFFNUUsT0FBSSxNQUFNO0lBS1IsTUFBTSxhQUpRLEtBQUssaUJBQXlDLG9CQUFvQixDQUl2RCxLQUFLLFdBQVcsV0FBVyxhQUFhLEtBQUs7QUFLdEUsUUFBSSxLQUFLLGVBQWUsT0FBTyxLQUFLLElBQUksS0FBSyxhQUFhLFdBQVcsR0FBRyxHQUN0RSxNQUFLLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0VBS3RCLFNBQU07QUFDdkIsVUFBTyxJQUFJOzs7YUFHRixpQ0FBaUMsS0FBSyxVQUFVLFNBQVE7OzRCQUV6QyxLQUFLLGtCQUFpQiJ9
144
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LURsNDhST1NmLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC9jYXJvdXNlbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKSB2YXIoLS1zYmItY2Fyb3VzZWwtYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuXG46aG9zdChbc2hhZG93XSkge1xuICBib3gtc2hhZG93OiB2YXIoLS1zYmItY2Fyb3VzZWwtYm94LXNoYWRvdyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuOmhvc3QoOm5vdChbc2hhZG93XSkpIDo6c2xvdHRlZChzYmItY2Fyb3VzZWwtbGlzdCkge1xuICAtLXNiYi1jYXJvdXNlbC1pbmhlcml0LWJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1jYXJvdXNlbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnNiYi1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItY2Fyb3VzZWwtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbjo6c2xvdHRlZChzYmItY29tcGFjdC1wYWdpbmF0b3IpIHtcbiAgcGFkZGluZzogdmFyKC0tc2JiLWNhcm91c2VsLXBhZ2luYXRvci1wYWRkaW5nKTtcbn1cbiIsImltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdAbGl0L3JlYWN0aXZlLWVsZW1lbnQnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMvbGFuZ3VhZ2UtY29udHJvbGxlci50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHtcbiAgaTE4bkNhcm91c2VsQXJyb3dzTmF2aWdhdGlvbkhpbnQsXG4gIGkxOG5OZXh0U2xpZGUsXG4gIGkxOG5QcmV2aW91c1NsaWRlLFxuICBpMThuU2xpZGUsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi9pMThuLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgfSBmcm9tICcuLi8uLi9wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHtcbiAgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudCxcbiAgU2JiQ2Fyb3VzZWxJdGVtRXZlbnREZXRhaWwsXG59IGZyb20gJy4uL2Nhcm91c2VsLWl0ZW0vY2Fyb3VzZWwtaXRlbS5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYXJvdXNlbExpc3RFbGVtZW50IH0gZnJvbSAnLi4vY2Fyb3VzZWwtbGlzdC9jYXJvdXNlbC1saXN0LmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCAnLi4vLi4vc2NyZWVuLXJlYWRlci1vbmx5LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2Fyb3VzZWwuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY2Fyb3VzZWwgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSBgc2JiLWNhcm91c2VsLWxpc3RgIGZvciBjb250ZW50IGFuZCBhIGBzYmItcGFnaW5hdG9yYCBmb3IgY29udHJvbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDYXJvdXNlbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jYXJvdXNlbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGRpc3BsYXkgYSBib3gtc2hhZG93IGFyb3VuZCB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHNoYWRvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3BhZ2luYXRvcjogU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciA9IC0xO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gSWYgdGhlIGxpc3QgaXMgc2Nyb2xsZWQgdXNpbmcgbW91c2Uva2V5Ym9hcmQsIGl0IGtlZXBzIHRoZSBwYWdpbmF0b3IgdXBkYXRlZC5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Lignc2hvdycsIChlOiBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4pID0+IHtcbiAgICAgIC8vIFdlIGhhdmUgdG8gZ2l2ZSBwcmlvcml0eSB0byB0aGUgcGFnaW5hdG9yIGZvciB0aGUgY2FzZSxcbiAgICAgIC8vIGlmIGR1cmluZyBhbiBhbmltYXRpb24gdGhlIG5leHQgcGFnZSBpcyBjYWxsZWQgZnJvbSB0aGUgcGFnaW5hdG9yLCB0aGUgcGFnaW5hdG9yIGlzIHJlc2V0LlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9yZXF1ZXN0ZWRQYWdlSW5kZXhCeVBhZ2luYXRvciAhPT0gLTEgJiZcbiAgICAgICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgIT09IGUuZGV0YWlsLmluZGV4XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX3BhZ2luYXRvcikge1xuICAgICAgICBpZiAoZS5kZXRhaWwuaW5kZXggIT09IHRoaXMuX3BhZ2luYXRvci5wYWdlSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4ID0gZS5kZXRhaWwuaW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlcXVlc3RlZFBhZ2VJbmRleEJ5UGFnaW5hdG9yID0gLTE7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSAncmVnaW9uJztcbiAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSAnY2Fyb3VzZWwnO1xuXG4gICAgdGhpcy5fc2V0dXBQYWdpbmF0b3IoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSBbXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJyNzYmItY2Fyb3VzZWwtYXJyb3dzLW5hdmlnYXRpb24taGludCcpISxcbiAgICBdO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlU2xvdGNoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBwYWdpbmF0b3I6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50ID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKFxuICAgICAgKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItY29tcGFjdC1wYWdpbmF0b3InLFxuICAgICkgYXMgU2JiQ29tcGFjdFBhZ2luYXRvckVsZW1lbnQ7XG4gICAgY29uc3QgbGlzdDogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudCA9IEFycmF5LmZyb20odGhpcy5jaGlsZHJlbikuZmluZChcbiAgICAgIChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLWNhcm91c2VsLWxpc3QnLFxuICAgICkgYXMgU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgICBpZiAoIXBhZ2luYXRvciB8fCAhbGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpdGVtcyA9IGxpc3QucXVlcnlTZWxlY3RvckFsbDxTYmJDYXJvdXNlbEl0ZW1FbGVtZW50Pignc2JiLWNhcm91c2VsLWl0ZW0nKTtcbiAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgcGFnaW5hdG9yLmxlbmd0aCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgIHBhZ2luYXRvci5wYWdlU2l6ZSA9IDE7XG4gICAgfVxuICAgIHBhZ2luYXRvci5hY2Nlc3NpYmlsaXR5TmV4dFBhZ2VMYWJlbCB8fD0gaTE4bk5leHRTbGlkZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICBwYWdpbmF0b3IuYWNjZXNzaWJpbGl0eVByZXZpb3VzUGFnZUxhYmVsIHx8PSBpMThuUHJldmlvdXNTbGlkZVt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgICBwYWdpbmF0b3IuYWNjZXNzaWJpbGl0eVBhZ2VMYWJlbCB8fD0gaTE4blNsaWRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdO1xuXG4gICAgaWYgKHBhZ2luYXRvciAhPT0gdGhpcy5fcGFnaW5hdG9yKSB7XG4gICAgICB0aGlzLl9wYWdpbmF0b3IgPSBwYWdpbmF0b3I7XG4gICAgICB0aGlzLl9zZXR1cFBhZ2luYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwUGFnaW5hdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICghdGhpcy5fcGFnaW5hdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIEJ5IGxpc3RlbmluZyB0byB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIHBhZ2luYXRvciwgd2UgY2FuIGVuc3VyZSB0aGF0IHRoZSBjaGFuZ2Ugd2FzIHVzZXIgdHJpZ2dlcmVkLlxuICAgIC8vIElmIHdlIGluc3RlYWQgdXNlIHRoZSBwYWdlIGV2ZW50LCB3ZSB3b3VsZCBhbHNvIGNhdGNoIHByb2dyYW1tYXRpYyBjaGFuZ2VzIHRvIHRoZSBwYWdpbmF0b3JcbiAgICAvLyB3aGljaCBjYW4gY2F1c2UgYSBsb29wIGFuZCB3cm9uZyB0aW1pbmcgYXMgd2UgYWxzbyBsaXN0ZW4gdG8gdGhlIHNob3cgZXZlbnQuXG4gICAgdGhpcy5fcGFnaW5hdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5fc2Nyb2xsQXRQYWdpbmF0b3JDaGFuZ2UoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2Nyb2xsQXRQYWdpbmF0b3JDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wYWdpbmF0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcmVxdWVzdGVkUGFnZUluZGV4QnlQYWdpbmF0b3IgPSB0aGlzLl9wYWdpbmF0b3IucGFnZUluZGV4O1xuXG4gICAgY29uc3QgbGlzdCA9IHRoaXMucXVlcnlTZWxlY3RvcjxTYmJDYXJvdXNlbExpc3RFbGVtZW50Pignc2JiLWNhcm91c2VsLWxpc3QnKTtcblxuICAgIGlmIChsaXN0KSB7XG4gICAgICBjb25zdCBpdGVtcyA9IGxpc3QucXVlcnlTZWxlY3RvckFsbDxTYmJDYXJvdXNlbEl0ZW1FbGVtZW50Pignc2JiLWNhcm91c2VsLWl0ZW0nKTtcblxuICAgICAgLy8gQXMgdGhlIG9mZnNldExlZnQgaXMgYWx3YXlzIHJlbmRlcmVkIGZyb20gdGhlIHZpZXdwb3J0IGJvdW5kYXJpZXMsIHdlIG5lZWQgdG8gc3VidHJhY3QgdGhlIG9mZnNldExlZnRcbiAgICAgIC8vIGZyb20gdGhlIGNhcm91c2VsIHRvIGdldCB0aGUgb2Zmc2V0IGluc2lkZSB0aGUgc2Nyb2xsIGFyZWEuXG4gICAgICBjb25zdCBvZmZzZXRMZWZ0ID0gaXRlbXNbdGhpcy5fcGFnaW5hdG9yLnBhZ2VJbmRleF0ub2Zmc2V0TGVmdCAtIHRoaXMub2Zmc2V0TGVmdDtcblxuICAgICAgLy8gUHJldmVudHMgcmVkdW5kYW50IHNjcm9sbGluZyB3aGVuIHRoZSBwYWdpbmF0b3IgdXBkYXRlcyBhZnRlciBhIHNjcm9sbCBldmVudFxuICAgICAgLy8gYnkgY2hlY2tpbmcgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIGN1cnJlbnQgYW5kIHRhcmdldCBzY3JvbGwgcG9zaXRpb25zLlxuICAgICAgLy8gKHNob3cgZXZlbnQgaXMgdHJpZ2dlcmVkIHNsaWdodGx5IGJlZm9yZSBmdWxseSBzY3JvbGxlZCkuXG4gICAgICBpZiAobGlzdC5jbGllbnRXaWR0aCA8PSAxMDAgfHwgTWF0aC5hYnMobGlzdC5zY3JvbGxMZWZ0IC0gb2Zmc2V0TGVmdCkgPiA1MCkge1xuICAgICAgICBsaXN0LnNjcm9sbFRvKHsgbGVmdDogb2Zmc2V0TGVmdCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2Fyb3VzZWxcIj5cbiAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgaWQ9XCJzYmItY2Fyb3VzZWwtYXJyb3dzLW5hdmlnYXRpb24taGludFwiXG4gICAgICAgICAgPiR7aTE4bkNhcm91c2VsQXJyb3dzTmF2aWdhdGlvbkhpbnRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5XG4gICAgICAgID5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2Fyb3VzZWwnOiBTYmJDYXJvdXNlbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDOEJhLDRCQUFrQjttQkFBUzs7OztjQUEzQiwyQkFBMkIsWUFBVTs7O3lCQU8vQyxXQUFXLEVBQ1gsU0FBUztJQUFFLFNBQVM7SUFBTSxNQUFNO0lBQVMsQ0FBQyxDQUFBO0FBQzNDLGdCQUFBLE1BQUEsTUFBQSxvQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFlBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQU4sU0FBTTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHNCQUFBLDBCQUFBOzs7Ozs7Ozs7QUFSVSxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGlCQUFNLENBQUM7O0VBT25GOzs7O0VBQUEsSUFBZ0IsU0FBTTtBQUFBLFVBQUEsTUFBQTs7RUFBdEIsSUFBZ0IsT0FBTSxPQUFBO0FBQUEsU0FBQSwwQkFBQTs7RUFPdEIsY0FBQTtBQUNFLFVBQU87QUFSTyxTQUFBLDBCQUFBLGtCQUFBLE1BQUEsc0JBQWtCLE1BQUs7QUFFL0IsUUFBQSxjQUFVLGtCQUFBLE1BQUEsMEJBQUEsRUFBc0M7QUFDaEQsUUFBQSxtQkFBMkM7QUFDM0MsUUFBQSxZQUFZLElBQUksc0JBQXNCLEtBQUs7QUFDM0MsUUFBQSxpQ0FBaUM7QUFNdkMsUUFBSyxtQkFBbUIsU0FBUyxNQUE4QztBQUc3RSxRQUNFLEtBQUssbUNBQW1DLE1BQ3hDLEtBQUssbUNBQW1DLEVBQUUsT0FBTyxNQUVqRDtBQUVGLFFBQUksS0FBSztTQUNILEVBQUUsT0FBTyxVQUFVLEtBQUssV0FBVyxVQUNyQyxNQUFLLFdBQVcsWUFBWSxFQUFFLE9BQU87O0FBR3pDLFNBQUssaUNBQWlDO0tBQ3RDOztFQUdZLG9CQUFpQjtBQUMvQixTQUFNLG1CQUFtQjtBQUV6QixRQUFLLFVBQVUsT0FBTztBQUN0QixRQUFLLFVBQVUsWUFBWTtBQUUzQixRQUFLLGlCQUFpQjs7RUFHUixhQUFhLG9CQUFrQztBQUM3RCxTQUFNLGFBQWEsbUJBQW1CO0FBRXRDLFFBQUssVUFBVSwwQkFBMEIsQ0FDdkMsS0FBSyxXQUFZLGNBQWMsdUNBQXdDLENBQ3hFOztFQUdhLHVCQUFvQjtBQUNsQyxTQUFNLHNCQUFzQjtBQUM1QixRQUFLLGtCQUFrQixPQUFPOztFQUd4QixvQkFBaUI7R0FDdkIsTUFBTSxZQUF3QyxNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFDckUsT0FBTyxHQUFHLGNBQWMsd0JBQ0k7R0FDL0IsTUFBTSxPQUErQixNQUFNLEtBQUssS0FBSyxTQUFTLENBQUMsTUFDNUQsT0FBTyxHQUFHLGNBQWMsb0JBQ0E7QUFDM0IsT0FBSSxDQUFDLGFBQWEsQ0FBQyxLQUNqQjtHQUVGLE1BQU0sUUFBUSxLQUFLLGlCQUF5QyxvQkFBb0I7QUFDaEYsT0FBSSxTQUFTLE1BQU0sU0FBUyxHQUFHO0FBQzdCLGNBQVUsU0FBUyxNQUFNO0FBQ3pCLGNBQVUsV0FBVzs7QUFFdkIsYUFBVSwrQkFBK0IsY0FBYyxLQUFLLFVBQVU7QUFDdEUsYUFBVSxtQ0FBbUMsa0JBQWtCLEtBQUssVUFBVTtBQUM5RSxhQUFVLDJCQUEyQixVQUFVLEtBQUssVUFBVTtBQUU5RCxPQUFJLGNBQWMsS0FBSyxZQUFZO0FBQ2pDLFNBQUssYUFBYTtBQUNsQixTQUFLLGlCQUFpQjs7O0VBSWxCLGtCQUFlO0FBQ3JCLFFBQUssa0JBQWtCLE9BQU87QUFFOUIsT0FBSSxDQUFDLEtBQUssV0FDUjtBQUVGLFFBQUssbUJBQW1CLElBQUksaUJBQWlCO0FBSzdDLFFBQUssV0FBVyxpQkFBaUIsZUFBZSxLQUFLLDBCQUEwQixFQUFFLEVBQy9FLFFBQVEsS0FBSyxpQkFBaUIsUUFDL0IsQ0FBQzs7RUFHSSwyQkFBd0I7QUFDOUIsT0FBSSxDQUFDLEtBQUssV0FDUjtBQUVGLFFBQUssaUNBQWlDLEtBQUssV0FBVztHQUV0RCxNQUFNLE9BQU8sS0FBSyxjQUFzQyxvQkFBb0I7QUFFNUUsT0FBSSxNQUFNO0lBS1IsTUFBTSxhQUpRLEtBQUssaUJBQXlDLG9CQUl6QyxDQUFNLEtBQUssV0FBVyxXQUFXLGFBQWEsS0FBSztBQUt0RSxRQUFJLEtBQUssZUFBZSxPQUFPLEtBQUssSUFBSSxLQUFLLGFBQWEsV0FBVyxHQUFHLEdBQ3RFLE1BQUssU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7RUFLdEIsU0FBTTtBQUN2QixVQUFPLElBQUk7OzthQUdGLGlDQUFpQyxLQUFLLFVBQVUsU0FBUTs7NEJBRXpDLEtBQUssa0JBQWlCIn0=
@@ -83,4 +83,4 @@ var SbbCheckboxCommonElementMixin = (superClass) => {
83
83
  //#endregion
84
84
  export { checkboxCommonStyle as n, SbbCheckboxCommonElementMixin as t };
85
85
 
86
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY29tbW9uLURkNXV1cDhLLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC9jb21tb24vY2hlY2tib3gtY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoZWNrYm94L2NvbW1vbi9jaGVja2JveC1jb21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3QoW3NpemU9J3hzJ10pIHtcbiAgLS1zYmItY2hlY2tib3gtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHMpO1xuICAtLXNiYi1jaGVja2JveC1kaW1lbnNpb246IHZhcigtLXNiYi1jaGVja2JveC1kaW1lbnNpb24teHMpO1xufVxuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIC0tc2JiLWNoZWNrYm94LWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXMpO1xuICAtLXNiYi1jaGVja2JveC1kaW1lbnNpb246IHZhcigtLXNiYi1jaGVja2JveC1kaW1lbnNpb24tcyk7XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItY2hlY2tib3gtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIC0tc2JiLWNoZWNrYm94LWRpbWVuc2lvbjogdmFyKC0tc2JiLWNoZWNrYm94LWRpbWVuc2lvbi1tKTtcbn1cblxuOmhvc3QoOmRpc2FibGVkKSB7XG4gIC0tc2JiLWNoZWNrYm94LWN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcbiAgLS1zYmItY2hlY2tib3gtbGFiZWwtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3ItYWx1bWluaXVtKSk7XG59XG5cbi5zYmItY2hlY2tib3gtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQGluY2x1ZGUgc2JiLnplcm8td2lkdGgtc3BhY2U7XG59XG5cbi5zYmItY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY2hlY2tib3gtY3Vyc29yKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLWNoZWNrYm94LWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4uc2JiLWNoZWNrYm94X19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG59XG5cbi5zYmItY2hlY2tib3hfX2xhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBjb2xvcjogdmFyKC0tc2JiLWNoZWNrYm94LWxhYmVsLWNvbG9yKTtcblxuICAvLyBGaXggZm9yIENocm9tZSBhbmQgU2FmYXJpLCB0aGV5IGFwcHJveGltYXRlIDIzLjhweCB0byAyM3B4IGZvciBsaW5lLWhlaWdodFxuICBsaW5lLWhlaWdodDogbWF4KCgxZW0gKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSksIHZhcigtLXNiYi1jaGVja2JveC1kaW1lbnNpb24pKTtcbn1cblxuLnNiYi1jaGVja2JveF9fYWxpZ25lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogY2FsYygxZW0gKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSk7XG59XG4iLCJpbXBvcnQgeyB1bnNhZmVDU1MsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hHcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgdHlwZSBDb25zdHJ1Y3RvciwgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuXG5pbXBvcnQgY2hlY2tib3hDb21tb25TdHlsZVN0cmluZyBmcm9tICcuL2NoZWNrYm94LWNvbW1vbi5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveENvbW1vblN0eWxlID0gdW5zYWZlQ1NTKGNoZWNrYm94Q29tbW9uU3R5bGVTdHJpbmcpO1xuXG5leHBvcnQgdHlwZSBTYmJDaGVja2JveFNpemUgPSAneHMnIHwgJ3MnIHwgJ20nO1xuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpblR5cGUgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4oXG4gIFNiYkVsZW1lbnQsXG4pIHtcbiAgcHVibGljIGFjY2Vzc29yIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47XG5cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGw7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8U2JiRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQ29uc3RydWN0b3I8U2JiQ2hlY2tib3hDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICAvKiogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW5kZXRlcm1pbmF0ZS4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNvbm5lY3RlZCBjaGVja2JveCBncm91cC4gKi9cbiAgICBwdWJsaWMgZ2V0IGdyb3VwKCk6IFNiYkNoZWNrYm94R3JvdXBFbGVtZW50IHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5fZ3JvdXA7XG4gICAgfVxuICAgIHByaXZhdGUgX2dyb3VwOiBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuX2dyb3VwID0gdGhpcy5jbG9zZXN0KCdzYmItY2hlY2tib3gtZ3JvdXAnKSBhcyBTYmJDaGVja2JveEdyb3VwRWxlbWVudDtcblxuICAgICAgLy8gV2UgbmVlZCB0byBjYWxsIHJlcXVlc3RVcGRhdGUgdG8gdXBkYXRlIHRoZSByZWZsZWN0ZWQgYXR0cmlidXRlc1xuICAgICAgWydkaXNhYmxlZCcsICdyZXF1aXJlZCcsICdzaXplJ10uZm9yRWFjaCgocCkgPT4gdGhpcy5yZXF1ZXN0VXBkYXRlKHApKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdpbmRldGVybWluYXRlJykpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSB0aGlzLmluZGV0ZXJtaW5hdGUgPyAnbWl4ZWQnIDogYCR7dGhpcy5jaGVja2VkfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ3JvdXA/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpc1JlcXVpcmVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwPy5yZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2l0aFVzZXJJbnRlcmFjdGlvbigpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJDaGVja2JveENvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FDVUEsSUFBYSxzQkFBc0Isc2xEQUFvQztBQWF2RSxJQUFhLGlDQUNYLGVBQ3NEO0FBOEN0RCxlQTdDdUM7b0JBQzdCLCtCQUErQixXQUFXOzs7O2VBRHJDLGlDQUNMLFlBQTBDOzs7QUFNbEMsVUFBQSxpQ0FBQSxrQkFBQSxNQUFBLDZCQUF5QixNQUFLO0FBTXRDLFNBQUEsVUFBTSxrQkFBQSxNQUFBLGlDQUFBLEVBQW1DOzs7O2lDQVJoRCxXQUFXLEVBQ1gsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUE7QUFDNUIsaUJBQUEsTUFBQSxNQUFBLDJCQUFBO0tBQUEsTUFBQTtLQUFBLE1BQUE7S0FBQSxRQUFBO0tBQUEsU0FBQTtLQUFBLFFBQUE7TUFBQSxNQUFBLFFBQUEsbUJBQUE7TUFBQSxNQUFBLFFBQUEsSUFBZ0I7TUFBYSxNQUFBLEtBQUEsVUFBQTtBQUFBLFdBQWIsZ0JBQWE7O01BQUE7S0FBQSxVQUFBO0tBQUEsRUFBQSw2QkFBQSxpQ0FBQTs7Ozs7Ozs7R0FBN0I7O0dBQUEsSUFBZ0IsZ0JBQWE7QUFBQSxXQUFBLE1BQUE7O0dBQTdCLElBQWdCLGNBQWEsT0FBQTtBQUFBLFVBQUEsaUNBQUE7OztHQUc3QixJQUFXLFFBQUs7QUFDZCxXQUFPLEtBQUs7O0dBSUUsb0JBQWlCO0FBQy9CLFVBQU0sbUJBQW1CO0FBQ3pCLFNBQUssU0FBUyxLQUFLLFFBQVEscUJBQWdEO0FBRzNFO0tBQUM7S0FBWTtLQUFZO0tBQU8sQ0FBQyxTQUFTLE1BQU0sS0FBSyxjQUFjLEVBQUUsQ0FBQzs7R0FHckQsV0FBVyxtQkFBdUM7QUFDbkUsVUFBTSxXQUFXLGtCQUFrQjtBQUVuQyxRQUFJLGtCQUFrQixJQUFJLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxnQkFBZ0IsQ0FDNUUsTUFBSyxVQUFVLGNBQWMsS0FBSyxnQkFBZ0IsVUFBVSxHQUFHLEtBQUs7O0dBSXJELHVCQUFvQjtBQUNyQyxXQUFPLEtBQUssT0FBTyxZQUFZOztHQUdkLHVCQUFvQjtBQUNyQyxXQUFPLEtBQUssT0FBTyxZQUFZOztHQUdkLHNCQUFtQjtBQUNwQyxRQUFJLEtBQUssY0FDUCxNQUFLLGdCQUFnQiJ9
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY29tbW9uLURkNXV1cDhLLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC9jb21tb24vY2hlY2tib3gtY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoZWNrYm94L2NvbW1vbi9jaGVja2JveC1jb21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3QoW3NpemU9J3hzJ10pIHtcbiAgLS1zYmItY2hlY2tib3gtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUteHMpO1xuICAtLXNiYi1jaGVja2JveC1kaW1lbnNpb246IHZhcigtLXNiYi1jaGVja2JveC1kaW1lbnNpb24teHMpO1xufVxuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIC0tc2JiLWNoZWNrYm94LWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXMpO1xuICAtLXNiYi1jaGVja2JveC1kaW1lbnNpb246IHZhcigtLXNiYi1jaGVja2JveC1kaW1lbnNpb24tcyk7XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItY2hlY2tib3gtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIC0tc2JiLWNoZWNrYm94LWRpbWVuc2lvbjogdmFyKC0tc2JiLWNoZWNrYm94LWRpbWVuc2lvbi1tKTtcbn1cblxuOmhvc3QoOmRpc2FibGVkKSB7XG4gIC0tc2JiLWNoZWNrYm94LWN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcbiAgLS1zYmItY2hlY2tib3gtbGFiZWwtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3ItYWx1bWluaXVtKSk7XG59XG5cbi5zYmItY2hlY2tib3gtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQGluY2x1ZGUgc2JiLnplcm8td2lkdGgtc3BhY2U7XG59XG5cbi5zYmItY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY2hlY2tib3gtY3Vyc29yKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLWNoZWNrYm94LWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4uc2JiLWNoZWNrYm94X19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG59XG5cbi5zYmItY2hlY2tib3hfX2xhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBjb2xvcjogdmFyKC0tc2JiLWNoZWNrYm94LWxhYmVsLWNvbG9yKTtcblxuICAvLyBGaXggZm9yIENocm9tZSBhbmQgU2FmYXJpLCB0aGV5IGFwcHJveGltYXRlIDIzLjhweCB0byAyM3B4IGZvciBsaW5lLWhlaWdodFxuICBsaW5lLWhlaWdodDogbWF4KCgxZW0gKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSksIHZhcigtLXNiYi1jaGVja2JveC1kaW1lbnNpb24pKTtcbn1cblxuLnNiYi1jaGVja2JveF9fYWxpZ25lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogY2FsYygxZW0gKiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSk7XG59XG4iLCJpbXBvcnQgeyB1bnNhZmVDU1MsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hHcm91cEVsZW1lbnQgfSBmcm9tICcuLi8uLi9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgdHlwZSBDb25zdHJ1Y3RvciwgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuXG5pbXBvcnQgY2hlY2tib3hDb21tb25TdHlsZVN0cmluZyBmcm9tICcuL2NoZWNrYm94LWNvbW1vbi5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveENvbW1vblN0eWxlID0gdW5zYWZlQ1NTKGNoZWNrYm94Q29tbW9uU3R5bGVTdHJpbmcpO1xuXG5leHBvcnQgdHlwZSBTYmJDaGVja2JveFNpemUgPSAneHMnIHwgJ3MnIHwgJ20nO1xuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpblR5cGUgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4oXG4gIFNiYkVsZW1lbnQsXG4pIHtcbiAgcHVibGljIGFjY2Vzc29yIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47XG5cbiAgcHVibGljIGdldCBncm91cCgpOiBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGw7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8U2JiRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQ29uc3RydWN0b3I8U2JiQ2hlY2tib3hDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJDaGVja2JveENvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpbihzdXBlckNsYXNzKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICAvKiogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW5kZXRlcm1pbmF0ZS4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNvbm5lY3RlZCBjaGVja2JveCBncm91cC4gKi9cbiAgICBwdWJsaWMgZ2V0IGdyb3VwKCk6IFNiYkNoZWNrYm94R3JvdXBFbGVtZW50IHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5fZ3JvdXA7XG4gICAgfVxuICAgIHByaXZhdGUgX2dyb3VwOiBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuX2dyb3VwID0gdGhpcy5jbG9zZXN0KCdzYmItY2hlY2tib3gtZ3JvdXAnKSBhcyBTYmJDaGVja2JveEdyb3VwRWxlbWVudDtcblxuICAgICAgLy8gV2UgbmVlZCB0byBjYWxsIHJlcXVlc3RVcGRhdGUgdG8gdXBkYXRlIHRoZSByZWZsZWN0ZWQgYXR0cmlidXRlc1xuICAgICAgWydkaXNhYmxlZCcsICdyZXF1aXJlZCcsICdzaXplJ10uZm9yRWFjaCgocCkgPT4gdGhpcy5yZXF1ZXN0VXBkYXRlKHApKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdpbmRldGVybWluYXRlJykpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSB0aGlzLmluZGV0ZXJtaW5hdGUgPyAnbWl4ZWQnIDogYCR7dGhpcy5jaGVja2VkfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ3JvdXA/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpc1JlcXVpcmVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmdyb3VwPy5yZXF1aXJlZCA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2l0aFVzZXJJbnRlcmFjdGlvbigpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJDaGVja2JveENvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxTYmJDaGVja2JveENvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FDVUEsSUFBYSxzQkFBc0IsVUFBVSw0a0RBQTBCO0FBYXZFLElBQWEsaUNBQ1gsZUFDc0Q7QUE4Q3RELGVBN0N1QztvQkFDN0IsK0JBQStCLFdBQVc7Ozs7ZUFEckMsaUNBQ0wsWUFBMEM7OztBQU1sQyxVQUFBLGlDQUFBLGtCQUFBLE1BQUEsNkJBQXlCLE1BQUs7QUFNdEMsU0FBQSxVQUFNLGtCQUFBLE1BQUEsaUNBQUEsRUFBbUM7Ozs7aUNBUmhELFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQTtBQUM1QixpQkFBQSxNQUFBLE1BQUEsMkJBQUE7S0FBQSxNQUFBO0tBQUEsTUFBQTtLQUFBLFFBQUE7S0FBQSxTQUFBO0tBQUEsUUFBQTtNQUFBLE1BQUEsUUFBQSxtQkFBQTtNQUFBLE1BQUEsUUFBQSxJQUFnQjtNQUFhLE1BQUEsS0FBQSxVQUFBO0FBQUEsV0FBYixnQkFBYTs7TUFBQTtLQUFBLFVBQUE7S0FBQSxFQUFBLDZCQUFBLGlDQUFBOzs7Ozs7OztHQUE3Qjs7R0FBQSxJQUFnQixnQkFBYTtBQUFBLFdBQUEsTUFBQTs7R0FBN0IsSUFBZ0IsY0FBYSxPQUFBO0FBQUEsVUFBQSxpQ0FBQTs7O0dBRzdCLElBQVcsUUFBSztBQUNkLFdBQU8sS0FBSzs7R0FJRSxvQkFBaUI7QUFDL0IsVUFBTSxtQkFBbUI7QUFDekIsU0FBSyxTQUFTLEtBQUssUUFBUSxxQkFBZ0Q7QUFHM0U7S0FBQztLQUFZO0tBQVk7S0FBTyxDQUFDLFNBQVMsTUFBTSxLQUFLLGNBQWMsRUFBRSxDQUFDOztHQUdyRCxXQUFXLG1CQUF1QztBQUNuRSxVQUFNLFdBQVcsa0JBQWtCO0FBRW5DLFFBQUksa0JBQWtCLElBQUksVUFBVSxJQUFJLGtCQUFrQixJQUFJLGdCQUFnQixDQUM1RSxNQUFLLFVBQVUsY0FBYyxLQUFLLGdCQUFnQixVQUFVLEdBQUcsS0FBSzs7R0FJckQsdUJBQW9CO0FBQ3JDLFdBQU8sS0FBSyxPQUFPLFlBQVk7O0dBR2QsdUJBQW9CO0FBQ3JDLFdBQU8sS0FBSyxPQUFPLFlBQVk7O0dBR2Qsc0JBQW1CO0FBQ3BDLFFBQUksS0FBSyxjQUNQLE1BQUssZ0JBQWdCOzs7S0FJcEIifQ==
@@ -31,4 +31,4 @@ var SbbCheckboxGroupElement = class extends SbbSelectionGroupBaseElement {
31
31
  //#endregion
32
32
  export { SbbCheckboxGroupElement };
33
33
 
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYmJDaGVja2JveFBhbmVsRWxlbWVudCB9IGZyb20gJy4uL2NoZWNrYm94LXBhbmVsLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hFbGVtZW50IH0gZnJvbSAnLi4vY2hlY2tib3gudHMnO1xuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYlNlbGVjdGlvbkdyb3VwQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBjaGVja2JveCBlbGVtZW50cy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWNoZWNrYm94YCwgYHNiYi1jaGVja2JveC1wYW5lbGAsIGBzYmItc2VsZWN0aW9uLWFjdGlvbi1wYW5lbGBcbiAqIGFuZCBgc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWxgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWNoZWNrYm94LWdyb3VwYC5cbiAqIEBzbG90IGVycm9yIC0gU2xvdCB1c2VkIHRvIHJlbmRlciBhIGBzYmItZXJyb3JgIGluc2lkZSB0aGUgYHNiYi1jaGVja2JveC1ncm91cGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDaGVja2JveEdyb3VwRWxlbWVudCBleHRlbmRzIFNiYlNlbGVjdGlvbkdyb3VwQmFzZUVsZW1lbnQ8XG4gIFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50XG4+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jaGVja2JveC1ncm91cCc7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZWxlY3Rpb25FbGVtZW50U2VsZWN0b3JzID0gJ3NiYi1jaGVja2JveCwgc2JiLWNoZWNrYm94LXBhbmVsJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHBhbmVsRWxlbWVudFNlbGVjdG9yID0gJ3NiYi1jaGVja2JveC1wYW5lbCc7XG5cbiAgLyoqIExpc3Qgb2YgY29udGFpbmVkIGNoZWNrYm94IGVsZW1lbnRzLiAqL1xuICBwdWJsaWMgZ2V0IGNoZWNrYm94ZXMoKTogKFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KVtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25FbGVtZW50cztcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkQ2hlY2tib3hlczogKFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KVtdID1cbiAgICAgIHRoaXMuY2hlY2tib3hlcy5maWx0ZXIoXG4gICAgICAgIChjaGVja2JveDogU2JiQ2hlY2tib3hFbGVtZW50IHwgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQpID0+XG4gICAgICAgICAgIWNoZWNrYm94LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZShjaGVja2JveCBhcyBIVE1MRWxlbWVudCksXG4gICAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRDaGVja2JveGVzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJlxuICAgICAgICAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcyAmJlxuICAgICAgICAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCEubG9jYWxOYW1lICE9PSAnc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwnICYmXG4gICAgICAgIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50IS5sb2NhbE5hbWUgIT09ICdzYmItc2VsZWN0aW9uLWFjdGlvbi1wYW5lbCcpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRDaGVja2JveGVzLmZpbmRJbmRleChcbiAgICAgICAgKGU6IFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KSA9PiBlID09PSBldnQudGFyZ2V0LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRDaGVja2JveGVzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkQ2hlY2tib3hlc1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoZWNrYm94LWdyb3VwJzogU2JiQ2hlY2tib3hHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVlBLElBQWEsMEJBQWIsY0FBNkMsNkJBRTVDOztBQUNpQyxPQUFBLGNBQXNCOzs7Q0FLdEQsSUFBVyxhQUFVO0FBQ25CLFNBQU8sS0FBSzs7Q0FHZCxjQUFBO0FBQ0UsU0FBTztBQVRVLE9BQUEsNEJBQTRCO0FBQzVCLE9BQUEsdUJBQXVCO0FBU3hDLE9BQUssbUJBQW1CLFlBQVksTUFBTSxLQUFLLGVBQWUsRUFBRSxDQUFDOztDQUczRCxlQUFlLEtBQWtCO0VBQ3ZDLE1BQU0sb0JBQ0osS0FBSyxXQUFXLFFBQ2IsYUFDQyxDQUFDLFNBQVMsWUFBWSxxQkFBcUIsVUFBVSxTQUF3QixDQUNoRjtBQUVILE1BQ0UsQ0FBQyxxQkFFQyxJQUFJLFdBQTJCLFFBQzlCLElBQUksT0FBdUIsa0JBQWtCLFFBQzdDLElBQUksT0FBdUIsY0FBZSxjQUFjLG1DQUN4RCxJQUFJLE9BQXVCLGNBQWUsY0FBYyw2QkFFM0Q7QUFHRixNQUFJLGtCQUFrQixJQUFJLENBS3hCLG1CQUQwQixvQkFBb0IsS0FIdEIsa0JBQWtCLFdBQ3ZDLE1BQW9ELE1BQU0sSUFBSSxPQUNoRSxFQUMyRCxrQkFBa0IsT0FBTyxHQUN2RCxPQUFPIn0=
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGVja2JveC1ncm91cC9jaGVja2JveC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYmJDaGVja2JveFBhbmVsRWxlbWVudCB9IGZyb20gJy4uL2NoZWNrYm94LXBhbmVsLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hFbGVtZW50IH0gZnJvbSAnLi4vY2hlY2tib3gudHMnO1xuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaW50ZXJhY3Rpdml0eUNoZWNrZXIsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYlNlbGVjdGlvbkdyb3VwQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBjaGVja2JveCBlbGVtZW50cy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWNoZWNrYm94YCwgYHNiYi1jaGVja2JveC1wYW5lbGAsIGBzYmItc2VsZWN0aW9uLWFjdGlvbi1wYW5lbGBcbiAqIGFuZCBgc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWxgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWNoZWNrYm94LWdyb3VwYC5cbiAqIEBzbG90IGVycm9yIC0gU2xvdCB1c2VkIHRvIHJlbmRlciBhIGBzYmItZXJyb3JgIGluc2lkZSB0aGUgYHNiYi1jaGVja2JveC1ncm91cGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDaGVja2JveEdyb3VwRWxlbWVudCBleHRlbmRzIFNiYlNlbGVjdGlvbkdyb3VwQmFzZUVsZW1lbnQ8XG4gIFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50XG4+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jaGVja2JveC1ncm91cCc7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBzZWxlY3Rpb25FbGVtZW50U2VsZWN0b3JzID0gJ3NiYi1jaGVja2JveCwgc2JiLWNoZWNrYm94LXBhbmVsJztcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHBhbmVsRWxlbWVudFNlbGVjdG9yID0gJ3NiYi1jaGVja2JveC1wYW5lbCc7XG5cbiAgLyoqIExpc3Qgb2YgY29udGFpbmVkIGNoZWNrYm94IGVsZW1lbnRzLiAqL1xuICBwdWJsaWMgZ2V0IGNoZWNrYm94ZXMoKTogKFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KVtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25FbGVtZW50cztcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUtleURvd24oZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkQ2hlY2tib3hlczogKFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KVtdID1cbiAgICAgIHRoaXMuY2hlY2tib3hlcy5maWx0ZXIoXG4gICAgICAgIChjaGVja2JveDogU2JiQ2hlY2tib3hFbGVtZW50IHwgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQpID0+XG4gICAgICAgICAgIWNoZWNrYm94LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZShjaGVja2JveCBhcyBIVE1MRWxlbWVudCksXG4gICAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRDaGVja2JveGVzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJlxuICAgICAgICAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcyAmJlxuICAgICAgICAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCEubG9jYWxOYW1lICE9PSAnc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwnICYmXG4gICAgICAgIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50IS5sb2NhbE5hbWUgIT09ICdzYmItc2VsZWN0aW9uLWFjdGlvbi1wYW5lbCcpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRDaGVja2JveGVzLmZpbmRJbmRleChcbiAgICAgICAgKGU6IFNiYkNoZWNrYm94RWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50KSA9PiBlID09PSBldnQudGFyZ2V0LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRDaGVja2JveGVzLmxlbmd0aCk7XG4gICAgICBlbmFibGVkQ2hlY2tib3hlc1tuZXh0SW5kZXhdPy5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoZWNrYm94LWdyb3VwJzogU2JiQ2hlY2tib3hHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVlBLElBQWEsMEJBQWIsY0FBNkMsNkJBRTVDOztBQUNpQyxPQUFBLGNBQXNCOzs7Q0FLdEQsSUFBVyxhQUFVO0FBQ25CLFNBQU8sS0FBSzs7Q0FHZCxjQUFBO0FBQ0UsU0FBTztBQVRVLE9BQUEsNEJBQTRCO0FBQzVCLE9BQUEsdUJBQXVCO0FBU3hDLE9BQUssbUJBQW1CLFlBQVksTUFBTSxLQUFLLGVBQWUsRUFBRSxDQUFDOztDQUczRCxlQUFlLEtBQWtCO0VBQ3ZDLE1BQU0sb0JBQ0osS0FBSyxXQUFXLFFBQ2IsYUFDQyxDQUFDLFNBQVMsWUFBWSxxQkFBcUIsVUFBVSxTQUF3QixDQUNoRjtBQUVILE1BQ0UsQ0FBQyxxQkFFQyxJQUFJLFdBQTJCLFFBQzlCLElBQUksT0FBdUIsa0JBQWtCLFFBQzdDLElBQUksT0FBdUIsY0FBZSxjQUFjLG1DQUN4RCxJQUFJLE9BQXVCLGNBQWUsY0FBYyw2QkFFM0Q7QUFHRixNQUFJLGtCQUFrQixJQUFJLENBS3hCLG1CQUQwQixvQkFBb0IsS0FIdEIsa0JBQWtCLFdBQ3ZDLE1BQW9ELE1BQU0sSUFBSSxPQUVkLEVBQVMsa0JBQWtCLE9BQzVELEdBQVksT0FBTyJ9
@@ -406,4 +406,4 @@ var SbbChipGroupElement = (() => {
406
406
  //#endregion
407
407
  export { SbbChipInputTokenEndEvent as n, SbbChipGroupElement as t };
408
408
 
409
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQtQlZmSFdYMi0uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoaXAvY2hpcC1ncm91cC9jaGlwLWdyb3VwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoaXAvY2hpcC1ncm91cC9jaGlwLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc2JiLWNoaXAtZ3JvdXAtZ2FwKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2spO1xuXG4gIC8vIFNldCB0aGUgbGluZS1oZWlnaHQgZm9yIGFkamFjZW50IGVsZW1lbnRzIGluIG9yZGVyIHRvIHByZXZlbnQgZnJvbSBpbmZsdWVuY2Ugb2YgYSBjb25zdW1lci1zZXQgbGluZS1oZWlnaHQuXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzaXplLXMpLCA6c3RhdGUoZW1wdHkpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogMDtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcyk6bm90KDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAje3NiYi5weC10by1yZW0tYnVpbGQoNil9ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg1KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAje3NiYi5weC10by1yZW0tYnVpbGQoNSl9ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgzKX07XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHdpdGhvdXQtbGFiZWwpOnN0YXRlKHNpemUtcyk6bm90KDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAwICN7c2JiLnB4LXRvLXJlbS1idWlsZCg3KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAwICN7c2JiLnB4LXRvLXJlbS1idWlsZCg1KX07XG4gIH1cbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzaXplLWwpLCA6c3RhdGUoc2l6ZS1tKSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdCkgMDtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdC1sYXJnZSkgMDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUod2l0aG91dC1sYWJlbCk6c3RhdGUoc2l6ZS1tKTpub3QoOnN0YXRlKGVtcHR5KSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgzKX0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDExKX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAje3NiYi5weC10by1yZW0tYnVpbGQoMyl9ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNCl9O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZSh3aXRob3V0LWxhYmVsKTpub3QoOnN0YXRlKGVtcHR5KSwgOnN0YXRlKHNpemUtcyksIDpzdGF0ZShzaXplLW0pLCA6c3RhdGUoc2l6ZS1sKSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1uby1sYWJlbC1ub3QtZW1wdHkpO1xufVxuXG46aG9zdCg6bm90KDpzdGF0ZSh3aXRob3V0LWxhYmVsKSk6c3RhdGUoc2l6ZS1tKTpub3QoOnN0YXRlKGVtcHR5KSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdClcbiAgICB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQtbGFyZ2UpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKVxuICAgICAgdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKTtcbiAgfVxufVxuXG46aG9zdCg6bm90KDpzdGF0ZSh3aXRob3V0LWxhYmVsKSwgOnN0YXRlKGVtcHR5KSwgOnN0YXRlKHNpemUtcyksIDpzdGF0ZShzaXplLW0pLCA6c3RhdGUoc2l6ZS1sKSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay13aXRoLWxhYmVsLW5vdC1lbXB0eSk7XG59XG5cbjpob3N0KDpzdGF0ZSh3aXRob3V0LWxhYmVsKTpzdGF0ZShzaXplLWwpOm5vdCg6c3RhdGUoZW1wdHkpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0KVxuICAgICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNil9O1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKVxuICAgICAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDIwKX07XG4gIH1cbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUod2l0aG91dC1sYWJlbCkpOnN0YXRlKHNpemUtbCk6bm90KDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQpXG4gICAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDcuNSl9O1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKVxuICAgICAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDcuNSl9O1xuICB9XG59XG5cbjo6c2xvdHRlZChpbnB1dCkge1xuICBmbGV4OiAxIDEgdmFyKC0tc2JiLWNoaXAtZ3JvdXAtaW5wdXQtbWluLXdpZHRoKTtcbiAgbWF4LWhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDI0KX07XG59XG5cbjo6c2xvdHRlZChzYmItY2hpcCkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGdldE5leHRFbGVtZW50SW5kZXgsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLCBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20vbGVhbi1jb250ZXh0LnRzJztcbmltcG9ydCB7IGkxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uLCBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxuICBTYmJOZWdhdGl2ZU1peGluLFxuICBTYmJSZXF1aXJlZE1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkZvcm1GaWVsZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL29wdGlvbi9vcHRpb24vb3B0aW9uLWJhc2UtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBTYmJDaGlwRWxlbWVudCB9IGZyb20gJy4uL2NoaXAvY2hpcC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jaGlwLWdyb3VwLnNjc3M/aW5saW5lJztcblxubGV0IGRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCA9IGZhbHNlO1xuXG4vLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlcGxhY2UgYmFzZSBjbGFzcyB3aXRoIEV2ZW50XG5leHBvcnQgY2xhc3MgU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudDxUID0gc3RyaW5nPiBleHRlbmRzIEN1c3RvbUV2ZW50PFxuICBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPlxuPiB7XG4gIC8qKiBUaGUgZWxlbWVudCB0aGF0IHRyaWdnZXJlZCB0aGUgY2hpcCBjcmVhdGlvbiAqL1xuICBwdWJsaWMgb3JpZ2luOiAnaW5wdXQnIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIG5ldyBjaGlwLiBFaXRoZXIgdGhlIGlucHV0IG9yIHRoZSBvcHRpb24gdmFsdWUgZGVwZW5kaW5nIG9uIHRoZSBvcmlnaW4uXG4gICAqIEVpdGhlciB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgd2hpY2ggaXMgYWx3YXlzIGBzdHJpbmdgIG9yIHRoZSB2YWx1ZSBmcm9tIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgICogZnJvbSBhbiBhdXRvY29tcGxldGUsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW55IG90aGVyIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgdmFsdWU6IFQgfCBzdHJpbmc7XG4gIHB1YmxpYyBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGV2ZW50IHByb3BlcnRpZXMgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRldGFpbCgpOiBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPiB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogUGljazxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50LCAnb3JpZ2luJyB8ICd2YWx1ZScgfCAnbGFiZWwnPikge1xuICAgIHN1cGVyKCdjaGlwaW5wdXR0b2tlbmVuZCcsIHtcbiAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5vcmlnaW4gPSBvcHRpb25zLm9yaWdpbjtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZTtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucy5sYWJlbDtcbiAgfVxuXG4gIC8qKiBTZXQgYSBuZXcgdmFsdWUgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuICAvKiogU2V0IGEgbGFiZWwgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHB1YmxpYyBzZXRMYWJlbChsYWJlbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50YCBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPFQgPSBzdHJpbmc+IHtcbiAgLyoqIFRoZSBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBjaGlwIGNyZWF0aW9uICovXG4gIG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnO1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBuZXcgY2hpcC4gRWl0aGVyIHRoZSBpbnB1dCBvciB0aGUgb3B0aW9uIHZhbHVlIGRlcGVuZGluZyBvbiB0aGUgb3JpZ2luLlxuICAgKiBFaXRoZXIgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IHdoaWNoIGlzIGFsd2F5cyBgc3RyaW5nYCBvciB0aGUgdmFsdWUgZnJvbSB0aGUgc2VsZWN0ZWQgb3B0aW9uXG4gICAqIGZyb20gYW4gYXV0b2NvbXBsZXRlLCB3aGljaCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFueSBvdGhlciB0eXBlLlxuICAgKi9cbiAgdmFsdWU6IFQgfCBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogU2V0IGEgbmV3IHZhbHVlIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQ7XG4gIC8qKiBTZXQgYSBsYWJlbCBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgc2V0TGFiZWwodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8qKlxuICogVGhlIGBzYmItY2hpcC1ncm91cGAgY29tcG9uZW50IGlzIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtdWx0aXBsZSBgc2JiLWNoaXBgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hpcGAgZWxlbWVudHMuXG4gKiBAZXZlbnQge1NiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnQ8VD59IGNoaXBpbnB1dHRva2VuZW5kIC0gTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHByZXZlbnRlZC5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZ1tdKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkNoaXBHcm91cEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFNiYk5lZ2F0aXZlTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50KSkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY2hpcC1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdsaXN0Ym94JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gICAgY2hpcGlucHV0dG9rZW5lbmQ6ICdjaGlwaW5wdXR0b2tlbmVuZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IChUIHwgbnVsbClbXSB8IG51bGwpIHtcbiAgICB2YWx1ZSA9IHZhbHVlID8/IFtdO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgIC8vIFN1YnRyYWN0IGZyb20gJ29sZFZhbHVlJyB0aGUgbmV3ICd2YWx1ZSdcbiAgICAvLyBUaGUgcmVzdWx0IGFyZSB0aGUgY2hpcHMgdG8gcmVtb3ZlIChoYW5kbGUgZHVwbGljYXRlcylcbiAgICBjb25zdCB0b1JlbW92ZSA9IFsuLi5vbGRWYWx1ZV07XG4gICAgZm9yIChjb25zdCBjIG9mIHZhbHVlKSB7XG4gICAgICBpZiAodG9SZW1vdmUuaW5jbHVkZXMoYykpIHtcbiAgICAgICAgdG9SZW1vdmUuc3BsaWNlKHRvUmVtb3ZlLmluZGV4T2YoYyksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0b1JlbW92ZS5mb3JFYWNoKCh2YWx1ZSkgPT5cbiAgICAgIHRoaXMuX2NoaXBFbGVtZW50cygpXG4gICAgICAgIC5maW5kKChjKSA9PiBjLnZhbHVlID09PSB2YWx1ZSlcbiAgICAgICAgPy5yZW1vdmUoKSxcbiAgICApO1xuXG4gICAgLy8gU3VidHJhY3QgZnJvbSB0aGUgbmV3ICd2YWx1ZScgd2hhdCB3YXMgYWxyZWFkeSBwcmVzZW50XG4gICAgLy8gVGhlIHJlc3VsdCBhcmUgdGhlIG5ldyBjaGlwcyB0byBhZGQgKGhhbmRsZSBkdXBsaWNhdGVzKVxuICAgIGNvbnN0IHRvQWRkID0gWy4uLnZhbHVlXTtcbiAgICBmb3IgKGNvbnN0IGMgb2Ygb2xkVmFsdWUpIHtcbiAgICAgIGlmICh0b0FkZC5pbmNsdWRlcyhjKSkge1xuICAgICAgICB0b0FkZC5zcGxpY2UodG9BZGQuaW5kZXhPZihjKSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRvQWRkLmZvckVhY2goKGMpID0+IHRoaXMuX2NyZWF0ZUNoaXBFbGVtZW50KGMpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IChUIHwgbnVsbClbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaXBFbGVtZW50cygpLm1hcCgoYykgPT4gYy52YWx1ZSk7XG4gIH1cblxuICAvKiogRnVuY3Rpb24gdGhhdCBtYXBzIGEgY2hpcCdzIHZhbHVlIHRvIGl0cyBkaXNwbGF5IHZhbHVlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNwbGF5V2l0aDogKCh2YWx1ZTogVCkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgYXJyYXkgb2Yga2V5cyB0aGF0IHdpbGwgdHJpZ2dlciBhIGBjaGlwaW5wdXR0b2tlbmVuZGAgZXZlbnQuIERlZmF1bHQgYFsnRW50ZXInXWAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VwYXJhdG9yLWtleXMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2VwYXJhdG9yS2V5czogc3RyaW5nW10gPSBbJ0VudGVyJ107XG5cbiAgLyoqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBhZGQgYSBjaGlwIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzIGlmIHRoZXJlJ3MgYSB2YWx1ZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FkZC1vbi1ibHVyJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWRkT25CbHVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgdG8gdGhlIGNoYW5nZXMgb24gYHJlYWRvbmx5YCBhbmQgYGRpc2FibGVkYCBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YC5cbiAgICovXG4gIHByaXZhdGUgX2lucHV0QXR0cmlidXRlT2JzZXJ2ZXIgPSAhaXNTZXJ2ZXJcbiAgICA/IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZT86IFNiYkZvcm1GaWVsZEVsZW1lbnRbJ3NpemUnXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFNiYkNoaXBFbGVtZW50LmV2ZW50cy5yZXF1ZXN0ZGVsZXRlLCAoZXYpID0+XG4gICAgICB0aGlzLl9kZWxldGVDaGlwKGV2LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPiksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGV2KSA9PiB0aGlzLl9vbkNoaXBLZXlEb3duKGV2KSk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJyksIHtcbiAgICAgICAgc2l6ZTogKGZvcm1GaWVsZCkgPT4gdGhpcy5fdXBkYXRlU2l6ZShmb3JtRmllbGQuc2l6ZSksXG4gICAgICAgIGxhYmVsOiAoZm9ybUZpZWxkKSA9PiB0aGlzLl91cGRhdGVMYWJlbFN0YXRlKGZvcm1GaWVsZCksXG4gICAgICAgIGhpZGRlbkxhYmVsOiAoZm9ybUZpZWxkKSA9PiB0aGlzLl91cGRhdGVMYWJlbFN0YXRlKGZvcm1GaWVsZCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxTdGF0ZShmb3JtRmllbGQ6IFNiYkZvcm1GaWVsZEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCd3aXRob3V0LWxhYmVsJywgIWZvcm1GaWVsZC5sYWJlbCB8fCBmb3JtRmllbGQuaGlkZGVuTGFiZWwpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Zvcm1EaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUgYXMgRm9ybURhdGEpLnRoZW4oKGFycmF5KSA9PiAodGhpcy52YWx1ZSA9IGFycmF5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBmb3JtRGF0YVxuICAgICAgICAuZ2V0QWxsKHRoaXMubmFtZSlcbiAgICAgICAgLm1hcChhc3luYyAoZW50cnkpID0+XG4gICAgICAgICAgZW50cnkgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBlbnRyeS50ZXh0KCkpIDogKGVudHJ5IGFzIFQpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJyB8fCBuYW1lID09PSAndmFsdWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9jaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQ2hpcEVsZW1lbnQ8VD4+KCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLl9vbklucHV0Qmx1cigpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2lucHV0QXV0b2NvbXBsZXRlJyxcbiAgICAgICAgKGV2ZW50OiBDdXN0b21FdmVudDx7IG9wdGlvbjogU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4gfT4pID0+IHtcbiAgICAgICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdhdXRvY29tcGxldGUnLCBldmVudC5kZXRhaWw/Lm9wdGlvbi52YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX2lucHV0QXR0cmlidXRlT2JzZXJ2ZXI/Lm9ic2VydmUodGhpcy5faW5wdXRFbGVtZW50LCB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydyZWFkb25seScsICdkaXNhYmxlZCddLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSW5oZXJpdCBzaXplIGZyb20gdGhlIGZvcm0tZmllbGQgYW5kIG9ic2VydmUgZm9yIGNoYW5nZXNcbiAgICBpZiAoIXRoaXMuX3ByZXZpb3VzU2l6ZSB8fCAhdGhpcy5jbG9zZXN0KCdzYmItZm9ybS1maWVsZCcpKSB7XG4gICAgICB0aGlzLl91cGRhdGVTaXplKGlzTGVhbigpID8gJ3MnIDogJ20nKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdlbXB0eScsIHRoaXMudmFsdWUubGVuZ3RoID09PSAwKTtcbiAgICB0aGlzLl9yZWFjdFRvSW5wdXRDaGFuZ2VzKCk7XG4gICAgdGhpcy5fdXBkYXRlSW5wdXREZXNjcmlwdGlvbigpO1xuICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGNoaXAgZWxlbWVudHNcbiAgICoqL1xuICBwcml2YXRlIF9vbkNoaXBLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgU2JiQ2hpcEVsZW1lbnQ8VD47XG4gICAgaWYgKGV2ZW50VGFyZ2V0LmxvY2FsTmFtZSAhPT0gJ3NiYi1jaGlwJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEFycm93IGtleXMgYWxsb3cgbmF2aWdhdGlvbiBiZXR3ZWVuIGNoaXBzIGZvY3VzIHN0ZXBzXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2ZW50KSkge1xuICAgICAgY29uc3QgZm9jdXNTdGVwcyA9IHRoaXMuX2VuYWJsZWRDaGlwRWxlbWVudHMoKTtcbiAgICAgIGNvbnN0IG5leHQgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2ZW50LCBmb2N1c1N0ZXBzLmluZGV4T2YoZXZlbnRUYXJnZXQpLCBmb2N1c1N0ZXBzLmxlbmd0aCk7XG4gICAgICBmb2N1c1N0ZXBzW25leHRdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0JhY2tzcGFjZSc6XG4gICAgICBjYXNlICdEZWxldGUnOlxuICAgICAgICBpZiAoIWV2ZW50VGFyZ2V0LnJlYWRPbmx5ICYmICFldmVudFRhcmdldC5kaXNhYmxlZCkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5fZGVsZXRlQ2hpcChldmVudFRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBmb3Iga2V5Ym9hcmQgZXZlbnRzIG9uIHRoZSBpbnB1dFxuICAgKiovXG4gIHByaXZhdGUgX29uSW5wdXRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0JhY2tzcGFjZSc6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl9mb2N1c0NoaXAoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudHMgdGhlIGZvcm0gc3VibWl0XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIGlmIHRoZSB1c2VyIHR5cGVkIG9uZSBvZiB0aGUgc2VwYXJhdG9yIGtleXMsIHRyaWdnZXIgYSAnY2hpcGlucHV0dG9rZW5lbmQnIGV2ZW50XG4gICAgaWYgKHRoaXMuc2VwYXJhdG9yS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50IHR5cGluZyB0aGUgc2VwYXJhdG9yIGtleSBpbnRvIHRoZSBpbnB1dFxuICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnaW5wdXQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGJsdXIgZXZlbnQgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEJsdXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkT25CbHVyKSB7XG4gICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdpbnB1dCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgaW5wdXQgaXMgbm90IGVtcHR5LCBjcmVhdGUgYSBjaGlwIHdpdGggaXRzIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIF9jcmVhdGVDaGlwRnJvbUlucHV0KG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnID0gJ2lucHV0JywgdmFsdWU/OiBUKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHZhbHVlID8/IHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUudHJpbSgpO1xuICAgIGlmICghaW5wdXRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50ID0gbmV3IFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnQ8VD4oe1xuICAgICAgb3JpZ2luLFxuICAgICAgdmFsdWU6IGlucHV0VmFsdWUgYXMgc3RyaW5nLFxuICAgICAgbGFiZWw6ICh2YWx1ZSA/IHRoaXMuZGlzcGxheVdpdGg/Lih2YWx1ZSkgOiBudWxsKSA/PyB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgaWYgKCF0aGlzLmRpc3BhdGNoRXZlbnQoZXZlbnQpKSB7XG4gICAgICByZXR1cm47IC8vIGV2ZW50IHByZXZlbnRlZDsgZG8gbm90aGluZyAodGhlIGNvbnN1bWVyIGhhcyB0byBjcmVhdGUgdGhlIGNoaXApXG4gICAgfVxuXG4gICAgdGhpcy5fY3JlYXRlQ2hpcEVsZW1lbnQoZXZlbnQudmFsdWUgYXMgVCwgZXZlbnQubGFiZWwpO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUgPSAnJzsgLy8gRW1wdHkgdGhlIGlucHV0XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kZWxldGVDaGlwKGNoaXA6IFNiYkNoaXBFbGVtZW50PFQ+KTogdm9pZCB7XG4gICAgY29uc3QgY2hpcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG4gICAgY2hpcC5yZW1vdmUoKTtcbiAgICB0aGlzLl9lbWl0SW5wdXRFdmVudHMoKTtcbiAgICB0aGlzLl9mb2N1c0NoaXAoY2hpcHMuaW5kZXhPZihjaGlwKSk7IC8vIEZvY3VzIHRoZSBuZXh0IGNoaXBcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1cyBhbiBlbmFibGVkIGNoaXAuIElmIG5vbmUgYXJlIHByZXNlbnQsIGZvY3VzIHRoZSBpbnB1dFxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBlbmFibGVkIGNoaXAuIElmIG51bGwsIGZvY3VzIHRoZSBsYXN0IG9uZS5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzQ2hpcChpbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRDaGlwcyA9IHRoaXMuX2VuYWJsZWRDaGlwRWxlbWVudHMoKTtcblxuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkICYmIGVuYWJsZWRDaGlwc1tpbmRleF0pIHtcbiAgICAgIGVuYWJsZWRDaGlwc1tpbmRleF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlZENoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIGVuYWJsZWRDaGlwc1tlbmFibGVkQ2hpcHMubGVuZ3RoIC0gMV0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0SW5wdXRFdmVudHMoKTogdm9pZCB7XG4gICAgLyoqIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLlxuICAgICAqIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkXG4gICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNoaXBFbGVtZW50KHZhbHVlOiBUIHwgbnVsbCwgbGFiZWw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3Q2hpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NiYi1jaGlwJykgYXMgU2JiQ2hpcEVsZW1lbnQ8VD47XG4gICAgbmV3Q2hpcC52YWx1ZSA9IHZhbHVlO1xuICAgIG5ld0NoaXAuaW5uZXJUZXh0ID0gbGFiZWwgPz8gKHZhbHVlID8gdGhpcy5kaXNwbGF5V2l0aD8uKHZhbHVlKSA6IG51bGwpID8/ICcnO1xuICAgIGlmIChcbiAgICAgIGltcG9ydC5tZXRhLmVudi5ERVYgJiZcbiAgICAgICFkaXNwbGF5V2l0aFdhcm5pbmdMb2dnZWQgJiZcbiAgICAgICFsYWJlbCAmJlxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgIXRoaXMuZGlzcGxheVdpdGhcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYGRpc3BsYXlXaXRoIGhhcyBub3QgYmVlbiBzZXQgeWV0IGZvciBzYmItY2hpcC1ncm91cCBhbmQgdmFsdWUgaXMgYW4gb2JqZWN0LlxuICAgICAgICAgSWYgeW91IGFyZSB1c2luZyBvYmplY3QgdmFsdWVzLCB5b3UgbmVlZCB0byBwcm92aWRlIGRpc3BsYXlXaWR0aCBiZWZvcmVcbiAgICAgICAgIHNldHRpbmcgb3Igc2VsZWN0aW5nIGFueSB2YWx1ZS5gLFxuICAgICAgKTtcbiAgICAgIGRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuaW5zZXJ0QmVmb3JlKG5ld0NoaXAsIHRoaXMuX2lucHV0RWxlbWVudCA/PyB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVhY3RUb0lucHV0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5faW5wdXRFbGVtZW50Py5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgICB0aGlzLl9wcm94eVN0YXRlVG9DaGlwcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJveHlTdGF0ZVRvQ2hpcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hpcEVsZW1lbnRzKCkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgYy5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQ7XG4gICAgICBjLnJlYWRPbmx5ID0gdGhpcy5faW5wdXRFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gICAgICBjLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNpemUoc2l6ZTogU2JiRm9ybUZpZWxkRWxlbWVudFsnc2l6ZSddKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICB9XG4gICAgdGhpcy5fcHJldmlvdXNTaXplID0gc2l6ZTtcbiAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUlucHV0RGVzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWRlc2NyaXB0aW9uJyxcbiAgICAgIGAke2kxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMudmFsdWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fc2V0dXBDb21wb25lbnR9Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2hpcC1ncm91cCc6IFNiYkNoaXBHcm91cEVsZW1lbnQ7XG4gIH1cblxuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgY2hpcGlucHV0dG9rZW5lbmQ6IFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnQ8YW55PjtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FDa0NBLElBQWEsNEJBQWIsY0FBMkQsWUFFMUQ7Ozs7Q0FjQyxJQUFvQixTQUFNO0FBQ3hCLFNBQU87O0NBR1QsWUFBbUIsU0FBc0U7QUFDdkYsUUFBTSxxQkFBcUI7R0FDekIsWUFBWTtHQUNaLFNBQVM7R0FDVCxVQUFVO0dBQ1gsQ0FBQztBQUNGLE9BQUssU0FBUyxRQUFRO0FBQ3RCLE9BQUssUUFBUSxRQUFRO0FBQ3JCLE9BQUssUUFBUSxRQUFROzs7Q0FJaEIsU0FBUyxPQUFRO0FBQ3RCLE9BQUssUUFBUTs7O0NBR1IsU0FBUyxPQUFhO0FBQzNCLE9BQUssUUFBUTs7Ozs7Ozs7OztJQThCSiw2QkFBbUI7bUJBQXFCLGlCQUNuRCxpQkFBaUIsaUJBQWlCLHVCQUF1QixXQUFXLENBQUMsQ0FBQyxDQUN2RTs7Ozs7Ozs7Ozs7O2NBRlksNEJBQXdDLFlBRXBEOzs7NEJBV0UsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDLENBQUE7OEJBa0N6QixTQUFTLEVBQUUsV0FBVyxPQUFPLENBQUMsQ0FBQTtnQ0FJOUIsU0FBUztJQUFFLFdBQVc7SUFBa0IsTUFBTTtJQUFPLENBQUMsQ0FBQTs0QkFJdEQsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWUsTUFBTTtJQUFTLENBQUMsQ0FBQTtBQTFDdEQsZ0JBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVyxRQUFLOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsTUFBQSwyQkFBQTtBQWtDaEIsZ0JBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBO0FBSTNCLGdCQUFBLE1BQUEsTUFBQSwyQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG1CQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFiLGdCQUFhOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsNkJBQUEsaUNBQUE7QUFLN0IsZ0JBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFTLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVCxZQUFTOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEseUJBQUEsNkJBQUE7Ozs7Ozs7OztBQXRETyxRQUFBLGNBQXNCOzs7QUFDdEIsUUFBQSxPQUFPOzs7QUFDaEIsUUFBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLG1CQUFNLENBQUM7OztBQUM1RCxRQUFBLFNBQVM7SUFDOUIsT0FBTztJQUNQLFFBQVE7SUFDUixtQkFBbUI7SUFDWDs7O0VBSVYsSUFBVyxNQUFNLE9BQTBCO0FBQ3pDLFdBQVEsU0FBUyxFQUFFO0dBQ25CLE1BQU0sV0FBVyxLQUFLO0dBSXRCLE1BQU0sV0FBVyxDQUFDLEdBQUcsU0FBUztBQUM5QixRQUFLLE1BQU0sS0FBSyxNQUNkLEtBQUksU0FBUyxTQUFTLEVBQUUsQ0FDdEIsVUFBUyxPQUFPLFNBQVMsUUFBUSxFQUFFLEVBQUUsRUFBRTtBQUczQyxZQUFTLFNBQVMsVUFDaEIsS0FBSyxlQUFlLENBQ2pCLE1BQU0sTUFBTSxFQUFFLFVBQVUsTUFBTSxFQUM3QixRQUFRLENBQ2I7R0FJRCxNQUFNLFFBQVEsQ0FBQyxHQUFHLE1BQU07QUFDeEIsUUFBSyxNQUFNLEtBQUssU0FDZCxLQUFJLE1BQU0sU0FBUyxFQUFFLENBQ25CLE9BQU0sT0FBTyxNQUFNLFFBQVEsRUFBRSxFQUFFLEVBQUU7QUFHckMsU0FBTSxTQUFTLE1BQU0sS0FBSyxtQkFBbUIsRUFBRSxDQUFDOztFQUVsRCxJQUFXLFFBQUs7QUFDZCxVQUFPLEtBQUssZUFBZSxDQUFDLEtBQUssTUFBTSxFQUFFLE1BQU07O0VBS2pEOztFQUFBLElBQWdCLGNBQVc7QUFBQSxVQUFBLE1BQUE7O0VBQTNCLElBQWdCLFlBQVcsT0FBQTtBQUFBLFNBQUEsK0JBQUE7O0VBSTNCOztFQUFBLElBQWdCLGdCQUFhO0FBQUEsVUFBQSxNQUFBOztFQUE3QixJQUFnQixjQUFhLE9BQUE7QUFBQSxTQUFBLGlDQUFBOztFQUs3Qjs7RUFBQSxJQUFnQixZQUFTO0FBQUEsVUFBQSxNQUFBOztFQUF6QixJQUFnQixVQUFTLE9BQUE7QUFBQSxTQUFBLDZCQUFBOztFQWN6QixjQUFBO0FBQ0UsVUFBTztBQXhCTyxTQUFBLGdDQWhETCxrQkFBQSxNQUFBLDJCQUFtQixFQUFBLGtCQUFBLE1BQUEsMkJBZ0QrQixLQUFJO0FBSWpELFNBQUEsa0NBQUEsa0JBQUEsTUFBQSwrQkFBQSxFQUFBLGtCQUFBLE1BQUEsNkJBQTBCLENBQUMsUUFBUSxDQUFBO0FBS25DLFNBQUEsOEJBQUEsa0JBQUEsTUFBQSxpQ0FBQSxFQUFBLGtCQUFBLE1BQUEseUJBQXFCLE1BQUs7Ozs7QUFLbEMsUUFBQSwyQkFBdUIsa0JBQUEsTUFBQSw2QkFBQSxFQUFHLENBQUMsV0FDL0IsSUFBSSx1QkFBdUIsS0FBSyxzQkFBc0IsQ0FBQyxHQUN2RDtBQUlJLFFBQUEsWUFBWSxJQUFJLHNCQUFzQixLQUFLO0FBTWpELFFBQUssbUJBQW1CLGVBQWUsT0FBTyxnQkFBZ0IsT0FDNUQsS0FBSyxZQUFZLEdBQUcsT0FBNEIsQ0FDakQ7QUFFRCxRQUFLLG1CQUFtQixZQUFZLE9BQU8sS0FBSyxlQUFlLEdBQUcsQ0FBQztBQUVuRSxRQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEsaUJBQWlCLEVBQUU7SUFDM0UsT0FBTyxjQUFjLEtBQUssWUFBWSxVQUFVLEtBQUs7SUFDckQsUUFBUSxjQUFjLEtBQUssa0JBQWtCLFVBQVU7SUFDdkQsY0FBYyxjQUFjLEtBQUssa0JBQWtCLFVBQUE7SUFDcEQsQ0FBQyxDQUNIOztFQUdLLGtCQUFrQixXQUE4QjtBQUN0RCxRQUFLLFlBQVksaUJBQWlCLENBQUMsVUFBVSxTQUFTLFVBQVUsWUFBWTs7RUFHOUQsb0JBQWlCO0FBQy9CLFNBQU0sbUJBQW1CO0FBQ3pCLFFBQUssaUJBQWlCOztFQUdMLFdBQVcsbUJBQWlDO0FBQzdELFNBQU0sV0FBVyxrQkFBa0I7QUFFbkMsT0FDRSxrQkFBa0IsSUFBSSxXQUFXLElBQ2pDLGtCQUFrQixJQUFJLGVBQWUsSUFDckMsa0JBQWtCLElBQUksV0FBVyxDQUVqQyxNQUFLLG9CQUFvQjs7O0VBS3RCLG9CQUFpQjtBQUN0QixRQUFLLFFBQVE7OztFQUlSLHlCQUNMLE9BQ0EsU0FBMEI7QUFFMUIsT0FBSSxDQUFDLE9BQU87QUFDVixTQUFLLFFBQVE7QUFDYjs7QUFHRixRQUFLLGNBQWMsTUFBa0IsQ0FBQyxNQUFNLFVBQVcsS0FBSyxRQUFRLE1BQU87O0VBR3JFLE1BQU0sY0FBYyxVQUFrQjtBQUM1QyxVQUFPLFFBQVEsSUFDYixTQUNHLE9BQU8sS0FBSyxLQUFLLENBQ2pCLElBQUksT0FBTyxVQUNWLGlCQUFpQixPQUFPLEtBQUssTUFBTSxNQUFNLE1BQU0sTUFBTSxDQUFDLEdBQUksTUFDM0QsQ0FDSjs7RUFHZ0IsZUFBZSxNQUE2QjtBQUM3RCxVQUFPLE1BQU0sZUFBZSxLQUFLLElBQUksU0FBUyxjQUFjLFNBQVM7O0VBR3BELFdBQVE7QUFDekIsU0FBTSxVQUFVO0FBQ2hCLE9BQUksS0FBSyxZQUFZLEtBQUssTUFBTSxXQUFXLEVBQ3pDLE1BQUssZ0JBQWdCLGdCQUFnQixzQkFBc0IsS0FBSyxVQUFVLFNBQVM7T0FFbkYsTUFBSyxtQkFBbUIsZUFBZTs7O0VBS25DLGdCQUFhO0FBQ25CLFVBQU8sTUFBTSxLQUFLLEtBQUssbUJBQXNDLFdBQVcsSUFBSSxFQUFFLENBQUM7OztFQUl6RSx1QkFBb0I7QUFDMUIsVUFBTyxNQUFNLEtBQUssS0FBSyxtQkFBbUIsMkJBQTJCLElBQUksRUFBRSxDQUFDOztFQUd0RSxrQkFBZTtHQUNyQixNQUFNLFFBQVEsS0FBSyxjQUFjLFFBQVE7QUFHekMsT0FBSSxTQUFTLFVBQVUsS0FBSyxlQUFlO0FBQ3pDLFNBQUssdUJBQXVCLE9BQU87QUFDbkMsU0FBSyx5QkFBeUIsWUFBWTtBQUMxQyxTQUFLLGdCQUFnQjtBQUVyQixTQUFLLHdCQUF3QixJQUFJLGlCQUFpQjtBQUNsRCxTQUFLLGNBQWMsaUJBQWlCLFlBQVksT0FBTyxLQUFLLGdCQUFnQixHQUFHLEVBQUUsRUFDL0UsUUFBUSxLQUFLLHNCQUFzQixRQUNwQyxDQUFDO0FBQ0YsU0FBSyxjQUFjLGlCQUFpQixjQUFjLEtBQUssY0FBYyxFQUFFO0tBQ3JFLFFBQVEsS0FBSyxzQkFBc0I7S0FDbkMsU0FBUztLQUNWLENBQUM7QUFDRixTQUFLLGNBQWMsaUJBQ2pCLHNCQUNDLFVBQTJEO0FBQzFELFVBQUsscUJBQXFCLGdCQUFnQixNQUFNLFFBQVEsT0FBTyxNQUFNO09BRXZFLEVBQ0UsUUFBUSxLQUFLLHNCQUFzQixRQUNwQyxDQUNGO0FBRUQsU0FBSyx5QkFBeUIsUUFBUSxLQUFLLGVBQWU7S0FDeEQsWUFBWTtLQUNaLGlCQUFpQixDQUFDLFlBQVksV0FBQTtLQUMvQixDQUFDOztBQUlKLE9BQUksQ0FBQyxLQUFLLGlCQUFpQixDQUFDLEtBQUssUUFBUSxpQkFBaUIsQ0FDeEQsTUFBSyxZQUFZLFFBQVEsR0FBRyxNQUFNLElBQUk7QUFHeEMsUUFBSyxZQUFZLFNBQVMsS0FBSyxNQUFNLFdBQVcsRUFBRTtBQUNsRCxRQUFLLHNCQUFzQjtBQUMzQixRQUFLLHlCQUF5QjtBQUM5QixRQUFLLGlCQUFpQjs7Ozs7RUFNaEIsZUFBZSxPQUFvQjtHQUN6QyxNQUFNLGNBQWMsTUFBTTtBQUMxQixPQUFJLFlBQVksY0FBYyxXQUM1QjtBQUlGLE9BQUksa0JBQWtCLE1BQU0sRUFBRTtJQUM1QixNQUFNLGFBQWEsS0FBSyxzQkFBc0I7QUFFOUMsZUFEYSxvQkFBb0IsT0FBTyxXQUFXLFFBQVEsWUFBWSxFQUFFLFdBQVcsT0FBTyxFQUMxRSxPQUFPO0FBQ3hCOztBQUdGLFdBQVEsTUFBTSxLQUFkO0lBQ0UsS0FBSztJQUNMLEtBQUs7QUFDSCxTQUFJLENBQUMsWUFBWSxZQUFZLENBQUMsWUFBWSxVQUFVO0FBQ2xELFlBQU0sZ0JBQWdCO0FBQ3RCLFdBQUssWUFBWSxZQUFZOztBQUUvQjs7Ozs7O0VBT0UsZ0JBQWdCLE9BQW9CO0FBQzFDLFdBQVEsTUFBTSxLQUFkO0lBQ0UsS0FBSztJQUNMLEtBQUs7QUFDSCxTQUFJLENBQUMsS0FBSyxjQUFlLE1BQ3ZCLE1BQUssWUFBWTtBQUVuQjtJQUNGLEtBQUs7QUFDSCxXQUFNLGdCQUFnQjtBQUN0Qjs7QUFJSixPQUFJLEtBQUssY0FBYyxTQUFTLE1BQU0sSUFBSSxFQUFFO0FBQzFDLFVBQU0sZ0JBQWdCO0FBQ3RCLFNBQUsscUJBQXFCLFFBQVE7Ozs7OztFQU85QixlQUFZO0FBQ2xCLE9BQUksS0FBSyxVQUNQLE1BQUsscUJBQXFCLFFBQVE7Ozs7O0VBTzlCLHFCQUFxQixTQUFtQyxTQUFTLE9BQVM7R0FDaEYsTUFBTSxhQUFhLFNBQVMsS0FBSyxjQUFlLE1BQU0sTUFBTTtBQUM1RCxPQUFJLENBQUMsV0FDSDtHQUdGLE1BQU0sUUFBUSxJQUFJLDBCQUE2QjtJQUM3QztJQUNBLE9BQU87SUFDUCxRQUFRLFFBQVEsS0FBSyxjQUFjLE1BQU0sR0FBRyxTQUFTLEtBQUE7SUFDdEQsQ0FBQztBQUNGLE9BQUksQ0FBQyxLQUFLLGNBQWMsTUFBTSxDQUM1QjtBQUdGLFFBQUssbUJBQW1CLE1BQU0sT0FBWSxNQUFNLE1BQU07QUFDdEQsUUFBSyxjQUFlLFFBQVE7QUFDNUIsUUFBSyxrQkFBa0I7O0VBR2pCLFlBQVksTUFBdUI7R0FDekMsTUFBTSxRQUFRLEtBQUssc0JBQXNCO0FBQ3pDLFFBQUssUUFBUTtBQUNiLFFBQUssa0JBQWtCO0FBQ3ZCLFFBQUssV0FBVyxNQUFNLFFBQVEsS0FBSyxDQUFDOzs7Ozs7RUFPOUIsV0FBVyxPQUFjO0dBQy9CLE1BQU0sZUFBZSxLQUFLLHNCQUFzQjtBQUVoRCxPQUFJLFVBQVUsS0FBQSxLQUFhLGFBQWEsUUFBUTtBQUM5QyxpQkFBYSxPQUFPLE9BQU87QUFDM0I7O0FBR0YsT0FBSSxhQUFhLFNBQVMsR0FBRztBQUMzQixpQkFBYSxhQUFhLFNBQVMsR0FBRyxPQUFPO0FBQzdDOztBQUdGLFFBQUssZUFBZSxPQUFPOztFQUdyQixtQkFBZ0I7O0FBRXRCLFFBQUssY0FBYyxJQUFJLFdBQVcsU0FBUztJQUFFLFNBQVM7SUFBTSxVQUFVO0lBQU0sQ0FBQyxDQUFDOzs7Ozs7QUFPOUUsUUFBSyxjQUFjLElBQUksTUFBTSxVQUFVLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQzs7RUFHcEQsbUJBQW1CLE9BQWlCLE9BQWM7QUFDeEQsT0FBSSxTQUNGO0dBRUYsTUFBTSxVQUFVLFNBQVMsY0FBYyxXQUFnQztBQUN2RSxXQUFRLFFBQVE7QUFDaEIsV0FBUSxZQUFZLFVBQVUsUUFBUSxLQUFLLGNBQWMsTUFBTSxHQUFHLFNBQVM7QUFlM0UsUUFBSyxhQUFhLFNBQVMsS0FBSyxpQkFBaUIsS0FBSyxjQUFjLFFBQVEsQ0FBQzs7RUFHdkUsdUJBQW9CO0FBQzFCLFFBQUssV0FBVyxLQUFLLGVBQWUsWUFBWTtBQUNoRCxRQUFLLG9CQUFvQjs7RUFHbkIscUJBQWtCO0FBQ3hCLFFBQUssZUFBZSxDQUFDLFNBQVMsTUFBSztBQUNqQyxNQUFFLFdBQVcsS0FBSyxZQUFZLEtBQUs7QUFDbkMsTUFBRSxXQUFXLEtBQUssZUFBZSxhQUFhLFdBQVcsSUFBSTtBQUM3RCxNQUFFLFdBQVcsS0FBSztLQUNsQjs7RUFHSSxZQUFZLE1BQWlDO0FBQ25ELE9BQUksS0FBSyxjQUNQLE1BQUssVUFBVSxPQUFPLE9BQU8sUUFBUSxLQUFLLGdCQUFnQjtBQUU1RCxRQUFLLGdCQUFnQjtBQUNyQixPQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0I7O0VBSW5ELDBCQUF1QjtBQUM3QixPQUFJLENBQUMsS0FBSyxjQUNSO0FBRUYsUUFBSyxjQUFjLGFBQ2pCLG9CQUNBLEdBQUcsOEJBQThCLEtBQUssVUFBVSxTQUFRLEdBQUksS0FBSyxNQUFNLFNBQ3hFOztFQUdnQixTQUFNO0FBQ3ZCLFVBQU8sSUFBSSxxQkFBcUIsS0FBSyxnQkFBZSJ9
409
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQtQlZmSFdYMi0uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoaXAvY2hpcC1ncm91cC9jaGlwLWdyb3VwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoaXAvY2hpcC1ncm91cC9jaGlwLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc2JiLWNoaXAtZ3JvdXAtZ2FwKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2spO1xuXG4gIC8vIFNldCB0aGUgbGluZS1oZWlnaHQgZm9yIGFkamFjZW50IGVsZW1lbnRzIGluIG9yZGVyIHRvIHByZXZlbnQgZnJvbSBpbmZsdWVuY2Ugb2YgYSBjb25zdW1lci1zZXQgbGluZS1oZWlnaHQuXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzaXplLXMpLCA6c3RhdGUoZW1wdHkpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogMDtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcyk6bm90KDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAje3NiYi5weC10by1yZW0tYnVpbGQoNil9ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg1KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAje3NiYi5weC10by1yZW0tYnVpbGQoNSl9ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgzKX07XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHdpdGhvdXQtbGFiZWwpOnN0YXRlKHNpemUtcyk6bm90KDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAwICN7c2JiLnB4LXRvLXJlbS1idWlsZCg3KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAwICN7c2JiLnB4LXRvLXJlbS1idWlsZCg1KX07XG4gIH1cbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzaXplLWwpLCA6c3RhdGUoc2l6ZS1tKSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdCkgMDtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdC1sYXJnZSkgMDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUod2l0aG91dC1sYWJlbCk6c3RhdGUoc2l6ZS1tKTpub3QoOnN0YXRlKGVtcHR5KSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgzKX0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDExKX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAje3NiYi5weC10by1yZW0tYnVpbGQoMyl9ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNCl9O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZSh3aXRob3V0LWxhYmVsKTpub3QoOnN0YXRlKGVtcHR5KSwgOnN0YXRlKHNpemUtcyksIDpzdGF0ZShzaXplLW0pLCA6c3RhdGUoc2l6ZS1sKSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1uby1sYWJlbC1ub3QtZW1wdHkpO1xufVxuXG46aG9zdCg6bm90KDpzdGF0ZSh3aXRob3V0LWxhYmVsKSk6c3RhdGUoc2l6ZS1tKTpub3QoOnN0YXRlKGVtcHR5KSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdClcbiAgICB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQtbGFyZ2UpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKVxuICAgICAgdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKTtcbiAgfVxufVxuXG46aG9zdCg6bm90KDpzdGF0ZSh3aXRob3V0LWxhYmVsKSwgOnN0YXRlKGVtcHR5KSwgOnN0YXRlKHNpemUtcyksIDpzdGF0ZShzaXplLW0pLCA6c3RhdGUoc2l6ZS1sKSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay13aXRoLWxhYmVsLW5vdC1lbXB0eSk7XG59XG5cbjpob3N0KDpzdGF0ZSh3aXRob3V0LWxhYmVsKTpzdGF0ZShzaXplLWwpOm5vdCg6c3RhdGUoZW1wdHkpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0KVxuICAgICN7c2JiLnB4LXRvLXJlbS1idWlsZCgxNil9O1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKVxuICAgICAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDIwKX07XG4gIH1cbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUod2l0aG91dC1sYWJlbCkpOnN0YXRlKHNpemUtbCk6bm90KDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQpXG4gICAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDcuNSl9O1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKVxuICAgICAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDcuNSl9O1xuICB9XG59XG5cbjo6c2xvdHRlZChpbnB1dCkge1xuICBmbGV4OiAxIDEgdmFyKC0tc2JiLWNoaXAtZ3JvdXAtaW5wdXQtbWluLXdpZHRoKTtcbiAgbWF4LWhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDI0KX07XG59XG5cbjo6c2xvdHRlZChzYmItY2hpcCkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGdldE5leHRFbGVtZW50SW5kZXgsIGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LnRzJztcbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLCBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20vbGVhbi1jb250ZXh0LnRzJztcbmltcG9ydCB7IGkxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uLCBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxuICBTYmJOZWdhdGl2ZU1peGluLFxuICBTYmJSZXF1aXJlZE1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkZvcm1GaWVsZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL29wdGlvbi9vcHRpb24vb3B0aW9uLWJhc2UtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBTYmJDaGlwRWxlbWVudCB9IGZyb20gJy4uL2NoaXAvY2hpcC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jaGlwLWdyb3VwLnNjc3M/aW5saW5lJztcblxubGV0IGRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCA9IGZhbHNlO1xuXG4vLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlcGxhY2UgYmFzZSBjbGFzcyB3aXRoIEV2ZW50XG5leHBvcnQgY2xhc3MgU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudDxUID0gc3RyaW5nPiBleHRlbmRzIEN1c3RvbUV2ZW50PFxuICBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPlxuPiB7XG4gIC8qKiBUaGUgZWxlbWVudCB0aGF0IHRyaWdnZXJlZCB0aGUgY2hpcCBjcmVhdGlvbiAqL1xuICBwdWJsaWMgb3JpZ2luOiAnaW5wdXQnIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIG5ldyBjaGlwLiBFaXRoZXIgdGhlIGlucHV0IG9yIHRoZSBvcHRpb24gdmFsdWUgZGVwZW5kaW5nIG9uIHRoZSBvcmlnaW4uXG4gICAqIEVpdGhlciB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgd2hpY2ggaXMgYWx3YXlzIGBzdHJpbmdgIG9yIHRoZSB2YWx1ZSBmcm9tIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgICogZnJvbSBhbiBhdXRvY29tcGxldGUsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW55IG90aGVyIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgdmFsdWU6IFQgfCBzdHJpbmc7XG4gIHB1YmxpYyBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGV2ZW50IHByb3BlcnRpZXMgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRldGFpbCgpOiBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPiB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogUGljazxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50LCAnb3JpZ2luJyB8ICd2YWx1ZScgfCAnbGFiZWwnPikge1xuICAgIHN1cGVyKCdjaGlwaW5wdXR0b2tlbmVuZCcsIHtcbiAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5vcmlnaW4gPSBvcHRpb25zLm9yaWdpbjtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZTtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucy5sYWJlbDtcbiAgfVxuXG4gIC8qKiBTZXQgYSBuZXcgdmFsdWUgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuICAvKiogU2V0IGEgbGFiZWwgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHB1YmxpYyBzZXRMYWJlbChsYWJlbDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50YCBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPFQgPSBzdHJpbmc+IHtcbiAgLyoqIFRoZSBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBjaGlwIGNyZWF0aW9uICovXG4gIG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnO1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBuZXcgY2hpcC4gRWl0aGVyIHRoZSBpbnB1dCBvciB0aGUgb3B0aW9uIHZhbHVlIGRlcGVuZGluZyBvbiB0aGUgb3JpZ2luLlxuICAgKiBFaXRoZXIgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IHdoaWNoIGlzIGFsd2F5cyBgc3RyaW5nYCBvciB0aGUgdmFsdWUgZnJvbSB0aGUgc2VsZWN0ZWQgb3B0aW9uXG4gICAqIGZyb20gYW4gYXV0b2NvbXBsZXRlLCB3aGljaCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFueSBvdGhlciB0eXBlLlxuICAgKi9cbiAgdmFsdWU6IFQgfCBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogU2V0IGEgbmV3IHZhbHVlIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQ7XG4gIC8qKiBTZXQgYSBsYWJlbCBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgc2V0TGFiZWwodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8qKlxuICogVGhlIGBzYmItY2hpcC1ncm91cGAgY29tcG9uZW50IGlzIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtdWx0aXBsZSBgc2JiLWNoaXBgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hpcGAgZWxlbWVudHMuXG4gKiBAZXZlbnQge1NiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnQ8VD59IGNoaXBpbnB1dHRva2VuZW5kIC0gTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHByZXZlbnRlZC5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZ1tdKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkNoaXBHcm91cEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFNiYk5lZ2F0aXZlTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50KSkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY2hpcC1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdsaXN0Ym94JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGlucHV0OiAnaW5wdXQnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gICAgY2hpcGlucHV0dG9rZW5lbmQ6ICdjaGlwaW5wdXR0b2tlbmVuZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IChUIHwgbnVsbClbXSB8IG51bGwpIHtcbiAgICB2YWx1ZSA9IHZhbHVlID8/IFtdO1xuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgIC8vIFN1YnRyYWN0IGZyb20gJ29sZFZhbHVlJyB0aGUgbmV3ICd2YWx1ZSdcbiAgICAvLyBUaGUgcmVzdWx0IGFyZSB0aGUgY2hpcHMgdG8gcmVtb3ZlIChoYW5kbGUgZHVwbGljYXRlcylcbiAgICBjb25zdCB0b1JlbW92ZSA9IFsuLi5vbGRWYWx1ZV07XG4gICAgZm9yIChjb25zdCBjIG9mIHZhbHVlKSB7XG4gICAgICBpZiAodG9SZW1vdmUuaW5jbHVkZXMoYykpIHtcbiAgICAgICAgdG9SZW1vdmUuc3BsaWNlKHRvUmVtb3ZlLmluZGV4T2YoYyksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0b1JlbW92ZS5mb3JFYWNoKCh2YWx1ZSkgPT5cbiAgICAgIHRoaXMuX2NoaXBFbGVtZW50cygpXG4gICAgICAgIC5maW5kKChjKSA9PiBjLnZhbHVlID09PSB2YWx1ZSlcbiAgICAgICAgPy5yZW1vdmUoKSxcbiAgICApO1xuXG4gICAgLy8gU3VidHJhY3QgZnJvbSB0aGUgbmV3ICd2YWx1ZScgd2hhdCB3YXMgYWxyZWFkeSBwcmVzZW50XG4gICAgLy8gVGhlIHJlc3VsdCBhcmUgdGhlIG5ldyBjaGlwcyB0byBhZGQgKGhhbmRsZSBkdXBsaWNhdGVzKVxuICAgIGNvbnN0IHRvQWRkID0gWy4uLnZhbHVlXTtcbiAgICBmb3IgKGNvbnN0IGMgb2Ygb2xkVmFsdWUpIHtcbiAgICAgIGlmICh0b0FkZC5pbmNsdWRlcyhjKSkge1xuICAgICAgICB0b0FkZC5zcGxpY2UodG9BZGQuaW5kZXhPZihjKSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRvQWRkLmZvckVhY2goKGMpID0+IHRoaXMuX2NyZWF0ZUNoaXBFbGVtZW50KGMpKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IChUIHwgbnVsbClbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaXBFbGVtZW50cygpLm1hcCgoYykgPT4gYy52YWx1ZSk7XG4gIH1cblxuICAvKiogRnVuY3Rpb24gdGhhdCBtYXBzIGEgY2hpcCdzIHZhbHVlIHRvIGl0cyBkaXNwbGF5IHZhbHVlLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNwbGF5V2l0aDogKCh2YWx1ZTogVCkgPT4gc3RyaW5nKSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgYXJyYXkgb2Yga2V5cyB0aGF0IHdpbGwgdHJpZ2dlciBhIGBjaGlwaW5wdXR0b2tlbmVuZGAgZXZlbnQuIERlZmF1bHQgYFsnRW50ZXInXWAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2VwYXJhdG9yLWtleXMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2VwYXJhdG9yS2V5czogc3RyaW5nW10gPSBbJ0VudGVyJ107XG5cbiAgLyoqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBhZGQgYSBjaGlwIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzIGlmIHRoZXJlJ3MgYSB2YWx1ZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FkZC1vbi1ibHVyJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWRkT25CbHVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgdG8gdGhlIGNoYW5nZXMgb24gYHJlYWRvbmx5YCBhbmQgYGRpc2FibGVkYCBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YC5cbiAgICovXG4gIHByaXZhdGUgX2lucHV0QXR0cmlidXRlT2JzZXJ2ZXIgPSAhaXNTZXJ2ZXJcbiAgICA/IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZT86IFNiYkZvcm1GaWVsZEVsZW1lbnRbJ3NpemUnXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFNiYkNoaXBFbGVtZW50LmV2ZW50cy5yZXF1ZXN0ZGVsZXRlLCAoZXYpID0+XG4gICAgICB0aGlzLl9kZWxldGVDaGlwKGV2LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPiksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGV2KSA9PiB0aGlzLl9vbkNoaXBLZXlEb3duKGV2KSk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJyksIHtcbiAgICAgICAgc2l6ZTogKGZvcm1GaWVsZCkgPT4gdGhpcy5fdXBkYXRlU2l6ZShmb3JtRmllbGQuc2l6ZSksXG4gICAgICAgIGxhYmVsOiAoZm9ybUZpZWxkKSA9PiB0aGlzLl91cGRhdGVMYWJlbFN0YXRlKGZvcm1GaWVsZCksXG4gICAgICAgIGhpZGRlbkxhYmVsOiAoZm9ybUZpZWxkKSA9PiB0aGlzLl91cGRhdGVMYWJlbFN0YXRlKGZvcm1GaWVsZCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxTdGF0ZShmb3JtRmllbGQ6IFNiYkZvcm1GaWVsZEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCd3aXRob3V0LWxhYmVsJywgIWZvcm1GaWVsZC5sYWJlbCB8fCBmb3JtRmllbGQuaGlkZGVuTGFiZWwpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Zvcm1EaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUgYXMgRm9ybURhdGEpLnRoZW4oKGFycmF5KSA9PiAodGhpcy52YWx1ZSA9IGFycmF5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBmb3JtRGF0YVxuICAgICAgICAuZ2V0QWxsKHRoaXMubmFtZSlcbiAgICAgICAgLm1hcChhc3luYyAoZW50cnkpID0+XG4gICAgICAgICAgZW50cnkgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBlbnRyeS50ZXh0KCkpIDogKGVudHJ5IGFzIFQpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJyB8fCBuYW1lID09PSAndmFsdWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9jaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQ2hpcEVsZW1lbnQ8VD4+KCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLl9vbklucHV0Qmx1cigpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2lucHV0QXV0b2NvbXBsZXRlJyxcbiAgICAgICAgKGV2ZW50OiBDdXN0b21FdmVudDx7IG9wdGlvbjogU2JiT3B0aW9uQmFzZUVsZW1lbnQ8VD4gfT4pID0+IHtcbiAgICAgICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdhdXRvY29tcGxldGUnLCBldmVudC5kZXRhaWw/Lm9wdGlvbi52YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX2lucHV0QXR0cmlidXRlT2JzZXJ2ZXI/Lm9ic2VydmUodGhpcy5faW5wdXRFbGVtZW50LCB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydyZWFkb25seScsICdkaXNhYmxlZCddLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSW5oZXJpdCBzaXplIGZyb20gdGhlIGZvcm0tZmllbGQgYW5kIG9ic2VydmUgZm9yIGNoYW5nZXNcbiAgICBpZiAoIXRoaXMuX3ByZXZpb3VzU2l6ZSB8fCAhdGhpcy5jbG9zZXN0KCdzYmItZm9ybS1maWVsZCcpKSB7XG4gICAgICB0aGlzLl91cGRhdGVTaXplKGlzTGVhbigpID8gJ3MnIDogJ20nKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdlbXB0eScsIHRoaXMudmFsdWUubGVuZ3RoID09PSAwKTtcbiAgICB0aGlzLl9yZWFjdFRvSW5wdXRDaGFuZ2VzKCk7XG4gICAgdGhpcy5fdXBkYXRlSW5wdXREZXNjcmlwdGlvbigpO1xuICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGNoaXAgZWxlbWVudHNcbiAgICoqL1xuICBwcml2YXRlIF9vbkNoaXBLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQgYXMgU2JiQ2hpcEVsZW1lbnQ8VD47XG4gICAgaWYgKGV2ZW50VGFyZ2V0LmxvY2FsTmFtZSAhPT0gJ3NiYi1jaGlwJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEFycm93IGtleXMgYWxsb3cgbmF2aWdhdGlvbiBiZXR3ZWVuIGNoaXBzIGZvY3VzIHN0ZXBzXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2ZW50KSkge1xuICAgICAgY29uc3QgZm9jdXNTdGVwcyA9IHRoaXMuX2VuYWJsZWRDaGlwRWxlbWVudHMoKTtcbiAgICAgIGNvbnN0IG5leHQgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2ZW50LCBmb2N1c1N0ZXBzLmluZGV4T2YoZXZlbnRUYXJnZXQpLCBmb2N1c1N0ZXBzLmxlbmd0aCk7XG4gICAgICBmb2N1c1N0ZXBzW25leHRdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0JhY2tzcGFjZSc6XG4gICAgICBjYXNlICdEZWxldGUnOlxuICAgICAgICBpZiAoIWV2ZW50VGFyZ2V0LnJlYWRPbmx5ICYmICFldmVudFRhcmdldC5kaXNhYmxlZCkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5fZGVsZXRlQ2hpcChldmVudFRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBmb3Iga2V5Ym9hcmQgZXZlbnRzIG9uIHRoZSBpbnB1dFxuICAgKiovXG4gIHByaXZhdGUgX29uSW5wdXRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0JhY2tzcGFjZSc6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl9mb2N1c0NoaXAoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudHMgdGhlIGZvcm0gc3VibWl0XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIGlmIHRoZSB1c2VyIHR5cGVkIG9uZSBvZiB0aGUgc2VwYXJhdG9yIGtleXMsIHRyaWdnZXIgYSAnY2hpcGlucHV0dG9rZW5lbmQnIGV2ZW50XG4gICAgaWYgKHRoaXMuc2VwYXJhdG9yS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50IHR5cGluZyB0aGUgc2VwYXJhdG9yIGtleSBpbnRvIHRoZSBpbnB1dFxuICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnaW5wdXQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGJsdXIgZXZlbnQgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEJsdXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWRkT25CbHVyKSB7XG4gICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdpbnB1dCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgaW5wdXQgaXMgbm90IGVtcHR5LCBjcmVhdGUgYSBjaGlwIHdpdGggaXRzIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIF9jcmVhdGVDaGlwRnJvbUlucHV0KG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnID0gJ2lucHV0JywgdmFsdWU/OiBUKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHZhbHVlID8/IHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUudHJpbSgpO1xuICAgIGlmICghaW5wdXRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50ID0gbmV3IFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnQ8VD4oe1xuICAgICAgb3JpZ2luLFxuICAgICAgdmFsdWU6IGlucHV0VmFsdWUgYXMgc3RyaW5nLFxuICAgICAgbGFiZWw6ICh2YWx1ZSA/IHRoaXMuZGlzcGxheVdpdGg/Lih2YWx1ZSkgOiBudWxsKSA/PyB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgaWYgKCF0aGlzLmRpc3BhdGNoRXZlbnQoZXZlbnQpKSB7XG4gICAgICByZXR1cm47IC8vIGV2ZW50IHByZXZlbnRlZDsgZG8gbm90aGluZyAodGhlIGNvbnN1bWVyIGhhcyB0byBjcmVhdGUgdGhlIGNoaXApXG4gICAgfVxuXG4gICAgdGhpcy5fY3JlYXRlQ2hpcEVsZW1lbnQoZXZlbnQudmFsdWUgYXMgVCwgZXZlbnQubGFiZWwpO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUgPSAnJzsgLy8gRW1wdHkgdGhlIGlucHV0XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kZWxldGVDaGlwKGNoaXA6IFNiYkNoaXBFbGVtZW50PFQ+KTogdm9pZCB7XG4gICAgY29uc3QgY2hpcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG4gICAgY2hpcC5yZW1vdmUoKTtcbiAgICB0aGlzLl9lbWl0SW5wdXRFdmVudHMoKTtcbiAgICB0aGlzLl9mb2N1c0NoaXAoY2hpcHMuaW5kZXhPZihjaGlwKSk7IC8vIEZvY3VzIHRoZSBuZXh0IGNoaXBcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1cyBhbiBlbmFibGVkIGNoaXAuIElmIG5vbmUgYXJlIHByZXNlbnQsIGZvY3VzIHRoZSBpbnB1dFxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBlbmFibGVkIGNoaXAuIElmIG51bGwsIGZvY3VzIHRoZSBsYXN0IG9uZS5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzQ2hpcChpbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRDaGlwcyA9IHRoaXMuX2VuYWJsZWRDaGlwRWxlbWVudHMoKTtcblxuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkICYmIGVuYWJsZWRDaGlwc1tpbmRleF0pIHtcbiAgICAgIGVuYWJsZWRDaGlwc1tpbmRleF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlZENoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIGVuYWJsZWRDaGlwc1tlbmFibGVkQ2hpcHMubGVuZ3RoIC0gMV0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0SW5wdXRFdmVudHMoKTogdm9pZCB7XG4gICAgLyoqIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLlxuICAgICAqIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkXG4gICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNoaXBFbGVtZW50KHZhbHVlOiBUIHwgbnVsbCwgbGFiZWw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbmV3Q2hpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NiYi1jaGlwJykgYXMgU2JiQ2hpcEVsZW1lbnQ8VD47XG4gICAgbmV3Q2hpcC52YWx1ZSA9IHZhbHVlO1xuICAgIG5ld0NoaXAuaW5uZXJUZXh0ID0gbGFiZWwgPz8gKHZhbHVlID8gdGhpcy5kaXNwbGF5V2l0aD8uKHZhbHVlKSA6IG51bGwpID8/ICcnO1xuICAgIGlmIChcbiAgICAgIGltcG9ydC5tZXRhLmVudi5ERVYgJiZcbiAgICAgICFkaXNwbGF5V2l0aFdhcm5pbmdMb2dnZWQgJiZcbiAgICAgICFsYWJlbCAmJlxuICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgIXRoaXMuZGlzcGxheVdpdGhcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYGRpc3BsYXlXaXRoIGhhcyBub3QgYmVlbiBzZXQgeWV0IGZvciBzYmItY2hpcC1ncm91cCBhbmQgdmFsdWUgaXMgYW4gb2JqZWN0LlxuICAgICAgICAgSWYgeW91IGFyZSB1c2luZyBvYmplY3QgdmFsdWVzLCB5b3UgbmVlZCB0byBwcm92aWRlIGRpc3BsYXlXaWR0aCBiZWZvcmVcbiAgICAgICAgIHNldHRpbmcgb3Igc2VsZWN0aW5nIGFueSB2YWx1ZS5gLFxuICAgICAgKTtcbiAgICAgIGRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuaW5zZXJ0QmVmb3JlKG5ld0NoaXAsIHRoaXMuX2lucHV0RWxlbWVudCA/PyB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVhY3RUb0lucHV0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5faW5wdXRFbGVtZW50Py5kaXNhYmxlZCA/PyBmYWxzZTtcbiAgICB0aGlzLl9wcm94eVN0YXRlVG9DaGlwcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJveHlTdGF0ZVRvQ2hpcHMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hpcEVsZW1lbnRzKCkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgYy5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQ7XG4gICAgICBjLnJlYWRPbmx5ID0gdGhpcy5faW5wdXRFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gICAgICBjLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNpemUoc2l6ZTogU2JiRm9ybUZpZWxkRWxlbWVudFsnc2l6ZSddKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICB9XG4gICAgdGhpcy5fcHJldmlvdXNTaXplID0gc2l6ZTtcbiAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUlucHV0RGVzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWRlc2NyaXB0aW9uJyxcbiAgICAgIGAke2kxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMudmFsdWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fc2V0dXBDb21wb25lbnR9Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2hpcC1ncm91cCc6IFNiYkNoaXBHcm91cEVsZW1lbnQ7XG4gIH1cblxuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgY2hp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
@@ -129,4 +129,4 @@ var sbbInputModalityDetector = new SbbInputModalityDetector();
129
129
  //#endregion
130
130
  export { sbbInputModalityDetector };
131
131
 
132
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvYTExeS9pbnB1dC1tb2RhbGl0eS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci50c1xuXG5pbXBvcnQgeyBpc1NlcnZlciB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IGdldEV2ZW50VGFyZ2V0IH0gZnJvbSAnLi4vZXZlbnRpbmcudHMnO1xuXG5pbXBvcnQge1xuICBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyLFxuICBpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcixcbn0gZnJvbSAnLi9mYWtlLWV2ZW50LWRldGVjdGlvbi50cyc7XG5cbmV4cG9ydCB0eXBlIFNiYklucHV0TW9kYWxpdHkgPSAndG91Y2gnIHwgJ21vdXNlJyB8ICdrZXlib2FyZCcgfCAncHJvZ3JhbScgfCBudWxsO1xuXG4vKiogT3B0aW9ucyB0byBjb25maWd1cmUgdGhlIGJlaGF2aW9yIG9mIHRoZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IuICovXG5pbnRlcmZhY2UgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyB7XG4gIC8qKiBLZXlzIHRvIGlnbm9yZSB3aGVuIGRldGVjdGluZyBrZXlib2FyZCBpbnB1dCBtb2RhbGl0eS4gKi9cbiAgaWdub3JlS2V5cz86IG51bWJlcltdO1xufVxuXG5jb25zdCBTSElGVCA9IDE2O1xuY29uc3QgQ09OVFJPTCA9IDE3O1xuY29uc3QgQUxUID0gMTg7XG5jb25zdCBNRVRBID0gOTE7IC8vIFdJTl9LRVlfTEVGVFxuY29uc3QgTUFDX01FVEEgPSAyMjQ7XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIGZvciB0aGUgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLlxuICpcbiAqIE1vZGlmaWVyIGtleXMgYXJlIGlnbm9yZWQgYnkgZGVmYXVsdCAoaS5lLiB3aGVuIHByZXNzZWQgd29uJ3QgY2F1c2UgdGhlIHNlcnZpY2UgdG8gZGV0ZWN0XG4gKiBrZXlib2FyZCBpbnB1dCBtb2RhbGl0eSkgZm9yIHR3byByZWFzb25zOlxuICpcbiAqIDEuIE1vZGlmaWVyIGtleXMgYXJlIGNvbW1vbmx5IHVzZWQgd2l0aCBtb3VzZSB0byBwZXJmb3JtIGFjdGlvbnMgc3VjaCBhcyAncmlnaHQgY2xpY2snIG9yICdvcGVuXG4gKiAgICBpbiBuZXcgdGFiJywgYW5kIGFyZSB0aHVzIGxlc3MgcmVwcmVzZW50YXRpdmUgb2YgYWN0dWFsIGtleWJvYXJkIGludGVyYWN0aW9uLlxuICogMi4gVm9pY2VPdmVyIHRyaWdnZXJzIHNvbWUga2V5Ym9hcmQgZXZlbnRzIHdoZW4gbGluZWFybHkgbmF2aWdhdGluZyB3aXRoIENvbnRyb2wgKyBPcHRpb24gKGJ1dFxuICogICAgY29uZnVzaW5nbHkgbm90IHdpdGggQ2FwcyBMb2NrKS4gVGh1cywgdG8gaGF2ZSBwYXJpdHkgd2l0aCBvdGhlciBzY3JlZW4gcmVhZGVycywgd2UgaWdub3JlXG4gKiAgICB0aGVzZSBrZXlzIHNvLCBhcyB0byBub3QgdXBkYXRlIHRoZSBpbnB1dCBtb2RhbGl0eS5cbiAqXG4gKiBOb3RlIHRoYXQgd2UgZG8gbm90IGJ5IGRlZmF1bHQgaWdub3JlIHRoZSByaWdodCBNZXRhIGtleSBvbiBTYWZhcmkgYmVjYXVzZSBpdCBoYXMgdGhlIHNhbWUga2V5XG4gKiBjb2RlIGFzIHRoZSBDb250ZXh0TWVudSBrZXkgb24gb3RoZXIgYnJvd3NlcnMuIFdoZW4gd2Ugc3dpdGNoIHRvIHVzaW5nIGV2ZW50LmtleSwgd2UgY2FuXG4gKiBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSB0d28uXG4gKi9cbmNvbnN0IGlucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnM6IFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMgPSB7XG4gIGlnbm9yZUtleXM6IFtBTFQsIENPTlRST0wsIE1BQ19NRVRBLCBNRVRBLCBTSElGVF0sXG59O1xuXG4vKipcbiAqIFRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gcGFzcyBhZnRlciBhIHRvdWNoc3RhcnQgZXZlbnQgaW4gb3JkZXIgZm9yIGEgc3Vic2VxdWVudCBtb3VzZWRvd25cbiAqIGV2ZW50IHRvIGJlIGF0dHJpYnV0ZWQgYXMgbW91c2UgYW5kIG5vdCB0b3VjaC5cbiAqXG4gKiBUaHJvdWdoIHRyaWFsIGFuZCBlcnJvciBpdCB3YXMgZm91bmQgdGhhdCBhIHZhbHVlIG9mIGFyb3VuZCA2NTBtcyBzZWVtcyBhcHByb3ByaWF0ZS5cbiAqL1xuY29uc3QgdG91Y2hCdWZmZXJNcyA9IDY1MDtcblxuLyoqXG4gKiBFdmVudCBsaXN0ZW5lciBvcHRpb25zIHRoYXQgZW5hYmxlIGNhcHR1cmluZyBhbmQgYWxzbyBtYXJrIHRoZSBsaXN0ZW5lciBhcyBwYXNzaXZlIGlmIHRoZSBicm93c2VyXG4gKiBzdXBwb3J0cyBpdC5cbiAqL1xuY29uc3QgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtcbiAgcGFzc2l2ZTogdHJ1ZSxcbiAgY2FwdHVyZTogdHJ1ZSxcbn07XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGRldGVjdHMgdGhlIHVzZXIncyBpbnB1dCBtb2RhbGl0eS5cbiAqXG4gKiBUaGlzIHNlcnZpY2UgZG9lcyBub3QgdXBkYXRlIHRoZSBpbnB1dCBtb2RhbGl0eSB3aGVuIGEgdXNlciBuYXZpZ2F0ZXMgd2l0aCBhIHNjcmVlbiByZWFkZXJcbiAqIChlLmcuIGxpbmVhciBuYXZpZ2F0aW9uIHdpdGggVm9pY2VPdmVyLCBvYmplY3QgbmF2aWdhdGlvbiAvIGJyb3dzZSBtb2RlIHdpdGggTlZEQSwgdmlydHVhbCBQQ1xuICogY3Vyc29yIG1vZGUgd2l0aCBKQVdTKS4gVGhpcyBpcyBpbiBwYXJ0IGR1ZSB0byB0ZWNobmljYWwgbGltaXRhdGlvbnMgKGkuZS4ga2V5Ym9hcmQgZXZlbnRzIGRvIG5vdFxuICogZmlyZSBhcyBleHBlY3RlZCBpbiB0aGVzZSBtb2RlcykgYnV0IGlzIGFsc28gYXJndWFibHkgdGhlIGNvcnJlY3QgYmVoYXZpb3IuIE5hdmlnYXRpbmcgd2l0aCBhXG4gKiBzY3JlZW4gcmVhZGVyIGlzIGFraW4gdG8gdmlzdWFsbHkgc2Nhbm5pbmcgYSBwYWdlLCBhbmQgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhcyBhY3R1YWwgdXNlclxuICogaW5wdXQgaW50ZXJhY3Rpb24uXG4gKlxuICogV2hlbiBhIHVzZXIgaXMgbm90IG5hdmlnYXRpbmcgYnV0ICppbnRlcmFjdGluZyogd2l0aCBhIHNjcmVlbiByZWFkZXIsIHRoaXMgc2VydmljZSBhdHRlbXB0cyB0b1xuICogdXBkYXRlIHRoZSBpbnB1dCBtb2RhbGl0eSB0byBrZXlib2FyZCwgYnV0IGluIGdlbmVyYWwgdGhpcyBzZXJ2aWNlJ3MgYmVoYXZpb3IgaXMgbGFyZ2VseVxuICogdW5kZWZpbmVkLlxuICovXG5jbGFzcyBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3Ige1xuICAvKiogVGhlIG1vc3QgcmVjZW50bHkgZGV0ZWN0ZWQgaW5wdXQgbW9kYWxpdHkuICovXG4gIHB1YmxpYyBnZXQgbW9zdFJlY2VudE1vZGFsaXR5KCk6IFNiYklucHV0TW9kYWxpdHkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtb3N0IHJlY2VudCBtb2RhbGl0eSBtdXN0IGJlIGluaXRpYWxpc2VkIHdpdGggdGhlIHZhbHVlICdtb3VzZScgdG8gY292ZXIgdGhlIGNhc2Ugd2hlcmUgYW4gYWN0aW9uIGlzXG4gICAqIHBlcmZvcm1lZCBidXQgbm8gbW91c2Ugb3Iga2V5Ym9hcmQgZXZlbnQgaGFzIHlldCBvY2N1cnJlZCBvbiB0aGUgcGFnZSAoZS5nLiBgc2JiLXBvcG92ZXJgIHdpdGggaG92ZXIgdHJpZ2dlcikuXG4gICAqL1xuICBwcml2YXRlIF9tb3N0UmVjZW50TW9kYWxpdHk6IFNiYklucHV0TW9kYWxpdHkgfCBudWxsID0gJ21vdXNlJztcblxuICAvKipcbiAgICogVGhlIG1vc3QgcmVjZW50bHkgZGV0ZWN0ZWQgaW5wdXQgbW9kYWxpdHkgZXZlbnQgdGFyZ2V0LiBJcyBudWxsIGlmIG5vIGlucHV0IG1vZGFsaXR5IGhhcyBiZWVuXG4gICAqIGRldGVjdGVkIG9yIGlmIHRoZSBhc3NvY2lhdGVkIGV2ZW50IHRhcmdldCBpcyBudWxsIGZvciBzb21lIHVua25vd24gcmVhc29uLlxuICAgKi9cbiAgcHVibGljIGdldCBtb3N0UmVjZW50VGFyZ2V0KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQ7XG4gIH1cbiAgcHJpdmF0ZSBfbW9zdFJlY2VudFRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogT3B0aW9ucyBmb3IgdGhpcyBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMgPSB7XG4gICAgLi4uaW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyxcbiAgfTtcblxuICAvKipcbiAgICogVGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCB0b3VjaCBpbnB1dCBtb2RhbGl0eS4gVXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBtb3VzZWRvd24gZXZlbnRzXG4gICAqIHNob3VsZCBiZSBhdHRyaWJ1dGVkIHRvIG1vdXNlIG9yIHRvdWNoLlxuICAgKi9cbiAgcHJpdmF0ZSBfbGFzdFRvdWNoTXMgPSAwO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlkb3duLCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuX29uTW91c2Vkb3duLCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLl9vblRvdWNoc3RhcnQsIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVTdGF0ZSgnbW91c2UnLCBudWxsKTtcbiAgICB0aGlzLl9sYXN0VG91Y2hNcyA9IDA7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBrZXlkb3duIGV2ZW50cy4gTXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBpbiBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgY29udGV4dCB3aGVuIGl0IGdldHNcbiAgICogYm91bmQuXG4gICAqL1xuICBwcml2YXRlIF9vbktleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAvLyBJZiB0aGlzIGlzIG9uZSBvZiB0aGUga2V5cyB3ZSBzaG91bGQgaWdub3JlLCB0aGVuIGlnbm9yZSBpdCBhbmQgZG9uJ3QgdXBkYXRlIHRoZSBpbnB1dFxuICAgIC8vIG1vZGFsaXR5IHRvIGtleWJvYXJkLlxuICAgIGlmICh0aGlzLl9vcHRpb25zPy5pZ25vcmVLZXlzPy5zb21lKChrZXlDb2RlKSA9PiBrZXlDb2RlID09PSBldmVudC5rZXlDb2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3VwZGF0ZVN0YXRlKCdrZXlib2FyZCcsIGV2ZW50KTtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyBtb3VzZWRvd24gZXZlbnRzLiBNdXN0IGJlIGFuIGFycm93IGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZSBjb250ZXh0IHdoZW4gaXRcbiAgICogZ2V0cyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgX29uTW91c2Vkb3duID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gVG91Y2hlcyB0cmlnZ2VyIGJvdGggdG91Y2ggYW5kIG1vdXNlIGV2ZW50cywgc28gd2UgbmVlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIG1vdXNlIGV2ZW50c1xuICAgIC8vIHRoYXQgd2VyZSB0cmlnZ2VyZWQgdmlhIG1vdXNlIHZzIHRvdWNoLiBUbyBkbyBzbywgY2hlY2sgaWYgdGhlIG1vdXNlIGV2ZW50IG9jY3VycyBjbG9zZWx5XG4gICAgLy8gYWZ0ZXIgdGhlIHByZXZpb3VzIHRvdWNoIGV2ZW50LlxuICAgIGlmIChEYXRlLm5vdygpIC0gdGhpcy5fbGFzdFRvdWNoTXMgPCB0b3VjaEJ1ZmZlck1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRmFrZSBtb3VzZWRvd24gZXZlbnRzIGFyZSBmaXJlZCBieSBzb21lIHNjcmVlbiByZWFkZXJzIHdoZW4gY29udHJvbHMgYXJlIGFjdGl2YXRlZCBieSB0aGVcbiAgICAvLyBzY3JlZW4gcmVhZGVyLiBBdHRyaWJ1dGUgdGhlbSB0byBrZXlib2FyZCBpbnB1dCBtb2RhbGl0eS5cbiAgICB0aGlzLl91cGRhdGVTdGF0ZShpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyKGV2ZW50KSA/ICdrZXlib2FyZCcgOiAnbW91c2UnLCBldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdG91Y2hzdGFydCBldmVudHMuIE11c3QgYmUgYW4gYXJyb3cgZnVuY3Rpb24gaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHQgd2hlbiBpdFxuICAgKiBnZXRzIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25Ub3VjaHN0YXJ0ID0gKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gU2FtZSBzY2VuYXJpbyBhcyBtZW50aW9uZWQgaW4gX29uTW91c2Vkb3duLCBidXQgb24gdG91Y2ggc2NyZWVuIGRldmljZXMsIGZha2UgdG91Y2hzdGFydFxuICAgIC8vIGV2ZW50cyBhcmUgZmlyZWQuIEFnYWluLCBhdHRyaWJ1dGUgdG8ga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuXG4gICAgaWYgKGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyKGV2ZW50KSkge1xuICAgICAgdGhpcy5fdXBkYXRlU3RhdGUoJ2tleWJvYXJkJywgZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFN0b3JlIHRoZSB0aW1lc3RhbXAgb2YgdGhpcyB0b3VjaCBldmVudCwgYXMgaXQncyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gbW91c2UgZXZlbnRzXG4gICAgLy8gdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC5cbiAgICB0aGlzLl9sYXN0VG91Y2hNcyA9IERhdGUubm93KCk7XG5cbiAgICB0aGlzLl91cGRhdGVTdGF0ZSgndG91Y2gnLCBldmVudCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU3RhdGUobW9kYWxpdHk6IFNiYklucHV0TW9kYWxpdHksIGV2ZW50OiBFdmVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShgc2JiLWZvY3VzLW1vZGFsaXR5LSR7dGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5fWApO1xuICAgIH1cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSBtb2RhbGl0eTtcbiAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZXZlbnQgPyBnZXRFdmVudFRhcmdldChldmVudCkgOiBudWxsO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGBzYmItZm9jdXMtbW9kYWxpdHktJHt0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHl9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciA9IG5ldyBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5Q0EsSUFBTSwrQkFBZ0UsRUFDcEUsWUFBWTtDQXJCRjtDQURJO0NBR0M7Q0FESjtDQUhDO0NBdUJxQyxFQUNsRDs7Ozs7OztBQVFELElBQU0sZ0JBQWdCOzs7OztBQU10QixJQUFNLCtCQUErQjtDQUNuQyxTQUFTO0NBQ1QsU0FBUztDQUNWOzs7Ozs7Ozs7Ozs7Ozs7QUFnQkQsSUFBTSwyQkFBTixNQUE4Qjs7Q0FFNUIsSUFBVyxxQkFBa0I7QUFDM0IsU0FBTyxLQUFLOzs7Ozs7Q0FhZCxJQUFXLG1CQUFnQjtBQUN6QixTQUFPLEtBQUs7O0NBZWQsY0FBQTs7Ozs7QUF0QlEsT0FBQSxzQkFBK0M7QUFTL0MsT0FBQSxvQkFBd0M7O0FBRy9CLE9BQUEsV0FBNEMsRUFDM0QsR0FBRyw4QkFDSjs7Ozs7QUFNTyxPQUFBLGVBQWU7Ozs7O0FBbUJmLE9BQUEsY0FBYyxVQUE4QjtBQUdsRCxPQUFJLEtBQUssVUFBVSxZQUFZLE1BQU0sWUFBWSxZQUFZLE1BQU0sUUFBUSxDQUN6RTtBQUdGLFFBQUssYUFBYSxZQUFZLE1BQU07Ozs7OztBQU85QixPQUFBLGdCQUFnQixVQUEyQjtBQUlqRCxPQUFJLEtBQUssS0FBSyxHQUFHLEtBQUssZUFBZSxjQUNuQztBQUtGLFFBQUssYUFBYSxnQ0FBZ0MsTUFBTSxHQUFHLGFBQWEsU0FBUyxNQUFNOzs7Ozs7QUFPakYsT0FBQSxpQkFBaUIsVUFBMkI7QUFHbEQsT0FBSSxpQ0FBaUMsTUFBTSxFQUFFO0FBQzNDLFNBQUssYUFBYSxZQUFZLE1BQU07QUFDcEM7O0FBS0YsUUFBSyxlQUFlLEtBQUssS0FBSztBQUU5QixRQUFLLGFBQWEsU0FBUyxNQUFNOztBQTNEakMsTUFBSSxDQUFDLFVBQVU7QUFDYixZQUFTLGlCQUFpQixXQUFXLEtBQUssWUFBWSw2QkFBNkI7QUFDbkYsWUFBUyxpQkFBaUIsYUFBYSxLQUFLLGNBQWMsNkJBQTZCO0FBQ3ZGLFlBQVMsaUJBQWlCLGNBQWMsS0FBSyxlQUFlLDZCQUE2Qjs7O0NBSXRGLFFBQUs7QUFDVixPQUFLLGFBQWEsU0FBUyxLQUFLO0FBQ2hDLE9BQUssZUFBZTs7Q0FxRGQsYUFBYSxVQUE0QixPQUFtQjtBQUNsRSxNQUFJLEtBQUssb0JBQ1AsVUFBUyxnQkFBZ0IsVUFBVSxPQUFPLHNCQUFzQixLQUFLLHNCQUFzQjtBQUU3RixPQUFLLHNCQUFzQjtBQUMzQixPQUFLLG9CQUFvQixRQUFRLGVBQWUsTUFBTSxHQUFHO0FBQ3pELFdBQVMsZ0JBQWdCLFVBQVUsSUFBSSxzQkFBc0IsS0FBSyxzQkFBc0I7OztBQUk1RixJQUFhLDJCQUEyQixJQUFJLDBCQUEwQiJ9
132
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvYTExeS9pbnB1dC1tb2RhbGl0eS9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci50c1xuXG5pbXBvcnQgeyBpc1NlcnZlciB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IGdldEV2ZW50VGFyZ2V0IH0gZnJvbSAnLi4vZXZlbnRpbmcudHMnO1xuXG5pbXBvcnQge1xuICBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyLFxuICBpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcixcbn0gZnJvbSAnLi9mYWtlLWV2ZW50LWRldGVjdGlvbi50cyc7XG5cbmV4cG9ydCB0eXBlIFNiYklucHV0TW9kYWxpdHkgPSAndG91Y2gnIHwgJ21vdXNlJyB8ICdrZXlib2FyZCcgfCAncHJvZ3JhbScgfCBudWxsO1xuXG4vKiogT3B0aW9ucyB0byBjb25maWd1cmUgdGhlIGJlaGF2aW9yIG9mIHRoZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IuICovXG5pbnRlcmZhY2UgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyB7XG4gIC8qKiBLZXlzIHRvIGlnbm9yZSB3aGVuIGRldGVjdGluZyBrZXlib2FyZCBpbnB1dCBtb2RhbGl0eS4gKi9cbiAgaWdub3JlS2V5cz86IG51bWJlcltdO1xufVxuXG5jb25zdCBTSElGVCA9IDE2O1xuY29uc3QgQ09OVFJPTCA9IDE3O1xuY29uc3QgQUxUID0gMTg7XG5jb25zdCBNRVRBID0gOTE7IC8vIFdJTl9LRVlfTEVGVFxuY29uc3QgTUFDX01FVEEgPSAyMjQ7XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIGZvciB0aGUgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLlxuICpcbiAqIE1vZGlmaWVyIGtleXMgYXJlIGlnbm9yZWQgYnkgZGVmYXVsdCAoaS5lLiB3aGVuIHByZXNzZWQgd29uJ3QgY2F1c2UgdGhlIHNlcnZpY2UgdG8gZGV0ZWN0XG4gKiBrZXlib2FyZCBpbnB1dCBtb2RhbGl0eSkgZm9yIHR3byByZWFzb25zOlxuICpcbiAqIDEuIE1vZGlmaWVyIGtleXMgYXJlIGNvbW1vbmx5IHVzZWQgd2l0aCBtb3VzZSB0byBwZXJmb3JtIGFjdGlvbnMgc3VjaCBhcyAncmlnaHQgY2xpY2snIG9yICdvcGVuXG4gKiAgICBpbiBuZXcgdGFiJywgYW5kIGFyZSB0aHVzIGxlc3MgcmVwcmVzZW50YXRpdmUgb2YgYWN0dWFsIGtleWJvYXJkIGludGVyYWN0aW9uLlxuICogMi4gVm9pY2VPdmVyIHRyaWdnZXJzIHNvbWUga2V5Ym9hcmQgZXZlbnRzIHdoZW4gbGluZWFybHkgbmF2aWdhdGluZyB3aXRoIENvbnRyb2wgKyBPcHRpb24gKGJ1dFxuICogICAgY29uZnVzaW5nbHkgbm90IHdpdGggQ2FwcyBMb2NrKS4gVGh1cywgdG8gaGF2ZSBwYXJpdHkgd2l0aCBvdGhlciBzY3JlZW4gcmVhZGVycywgd2UgaWdub3JlXG4gKiAgICB0aGVzZSBrZXlzIHNvLCBhcyB0byBub3QgdXBkYXRlIHRoZSBpbnB1dCBtb2RhbGl0eS5cbiAqXG4gKiBOb3RlIHRoYXQgd2UgZG8gbm90IGJ5IGRlZmF1bHQgaWdub3JlIHRoZSByaWdodCBNZXRhIGtleSBvbiBTYWZhcmkgYmVjYXVzZSBpdCBoYXMgdGhlIHNhbWUga2V5XG4gKiBjb2RlIGFzIHRoZSBDb250ZXh0TWVudSBrZXkgb24gb3RoZXIgYnJvd3NlcnMuIFdoZW4gd2Ugc3dpdGNoIHRvIHVzaW5nIGV2ZW50LmtleSwgd2UgY2FuXG4gKiBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSB0d28uXG4gKi9cbmNvbnN0IGlucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnM6IFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMgPSB7XG4gIGlnbm9yZUtleXM6IFtBTFQsIENPTlRST0wsIE1BQ19NRVRBLCBNRVRBLCBTSElGVF0sXG59O1xuXG4vKipcbiAqIFRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gcGFzcyBhZnRlciBhIHRvdWNoc3RhcnQgZXZlbnQgaW4gb3JkZXIgZm9yIGEgc3Vic2VxdWVudCBtb3VzZWRvd25cbiAqIGV2ZW50IHRvIGJlIGF0dHJpYnV0ZWQgYXMgbW91c2UgYW5kIG5vdCB0b3VjaC5cbiAqXG4gKiBUaHJvdWdoIHRyaWFsIGFuZCBlcnJvciBpdCB3YXMgZm91bmQgdGhhdCBhIHZhbHVlIG9mIGFyb3VuZCA2NTBtcyBzZWVtcyBhcHByb3ByaWF0ZS5cbiAqL1xuY29uc3QgdG91Y2hCdWZmZXJNcyA9IDY1MDtcblxuLyoqXG4gKiBFdmVudCBsaXN0ZW5lciBvcHRpb25zIHRoYXQgZW5hYmxlIGNhcHR1cmluZyBhbmQgYWxzbyBtYXJrIHRoZSBsaXN0ZW5lciBhcyBwYXNzaXZlIGlmIHRoZSBicm93c2VyXG4gKiBzdXBwb3J0cyBpdC5cbiAqL1xuY29uc3QgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtcbiAgcGFzc2l2ZTogdHJ1ZSxcbiAgY2FwdHVyZTogdHJ1ZSxcbn07XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGRldGVjdHMgdGhlIHVzZXIncyBpbnB1dCBtb2RhbGl0eS5cbiAqXG4gKiBUaGlzIHNlcnZpY2UgZG9lcyBub3QgdXBkYXRlIHRoZSBpbnB1dCBtb2RhbGl0eSB3aGVuIGEgdXNlciBuYXZpZ2F0ZXMgd2l0aCBhIHNjcmVlbiByZWFkZXJcbiAqIChlLmcuIGxpbmVhciBuYXZpZ2F0aW9uIHdpdGggVm9pY2VPdmVyLCBvYmplY3QgbmF2aWdhdGlvbiAvIGJyb3dzZSBtb2RlIHdpdGggTlZEQSwgdmlydHVhbCBQQ1xuICogY3Vyc29yIG1vZGUgd2l0aCBKQVdTKS4gVGhpcyBpcyBpbiBwYXJ0IGR1ZSB0byB0ZWNobmljYWwgbGltaXRhdGlvbnMgKGkuZS4ga2V5Ym9hcmQgZXZlbnRzIGRvIG5vdFxuICogZmlyZSBhcyBleHBlY3RlZCBpbiB0aGVzZSBtb2RlcykgYnV0IGlzIGFsc28gYXJndWFibHkgdGhlIGNvcnJlY3QgYmVoYXZpb3IuIE5hdmlnYXRpbmcgd2l0aCBhXG4gKiBzY3JlZW4gcmVhZGVyIGlzIGFraW4gdG8gdmlzdWFsbHkgc2Nhbm5pbmcgYSBwYWdlLCBhbmQgc2hvdWxkIG5vdCBiZSBpbnRlcnByZXRlZCBhcyBhY3R1YWwgdXNlclxuICogaW5wdXQgaW50ZXJhY3Rpb24uXG4gKlxuICogV2hlbiBhIHVzZXIgaXMgbm90IG5hdmlnYXRpbmcgYnV0ICppbnRlcmFjdGluZyogd2l0aCBhIHNjcmVlbiByZWFkZXIsIHRoaXMgc2VydmljZSBhdHRlbXB0cyB0b1xuICogdXBkYXRlIHRoZSBpbnB1dCBtb2RhbGl0eSB0byBrZXlib2FyZCwgYnV0IGluIGdlbmVyYWwgdGhpcyBzZXJ2aWNlJ3MgYmVoYXZpb3IgaXMgbGFyZ2VseVxuICogdW5kZWZpbmVkLlxuICovXG5jbGFzcyBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3Ige1xuICAvKiogVGhlIG1vc3QgcmVjZW50bHkgZGV0ZWN0ZWQgaW5wdXQgbW9kYWxpdHkuICovXG4gIHB1YmxpYyBnZXQgbW9zdFJlY2VudE1vZGFsaXR5KCk6IFNiYklucHV0TW9kYWxpdHkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtb3N0IHJlY2VudCBtb2RhbGl0eSBtdXN0IGJlIGluaXRpYWxpc2VkIHdpdGggdGhlIHZhbHVlICdtb3VzZScgdG8gY292ZXIgdGhlIGNhc2Ugd2hlcmUgYW4gYWN0aW9uIGlzXG4gICAqIHBlcmZvcm1lZCBidXQgbm8gbW91c2Ugb3Iga2V5Ym9hcmQgZXZlbnQgaGFzIHlldCBvY2N1cnJlZCBvbiB0aGUgcGFnZSAoZS5nLiBgc2JiLXBvcG92ZXJgIHdpdGggaG92ZXIgdHJpZ2dlcikuXG4gICAqL1xuICBwcml2YXRlIF9tb3N0UmVjZW50TW9kYWxpdHk6IFNiYklucHV0TW9kYWxpdHkgfCBudWxsID0gJ21vdXNlJztcblxuICAvKipcbiAgICogVGhlIG1vc3QgcmVjZW50bHkgZGV0ZWN0ZWQgaW5wdXQgbW9kYWxpdHkgZXZlbnQgdGFyZ2V0LiBJcyBudWxsIGlmIG5vIGlucHV0IG1vZGFsaXR5IGhhcyBiZWVuXG4gICAqIGRldGVjdGVkIG9yIGlmIHRoZSBhc3NvY2lhdGVkIGV2ZW50IHRhcmdldCBpcyBudWxsIGZvciBzb21lIHVua25vd24gcmVhc29uLlxuICAgKi9cbiAgcHVibGljIGdldCBtb3N0UmVjZW50VGFyZ2V0KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQ7XG4gIH1cbiAgcHJpdmF0ZSBfbW9zdFJlY2VudFRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogT3B0aW9ucyBmb3IgdGhpcyBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX29wdGlvbnM6IFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMgPSB7XG4gICAgLi4uaW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyxcbiAgfTtcblxuICAvKipcbiAgICogVGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCB0b3VjaCBpbnB1dCBtb2RhbGl0eS4gVXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBtb3VzZWRvd24gZXZlbnRzXG4gICAqIHNob3VsZCBiZSBhdHRyaWJ1dGVkIHRvIG1vdXNlIG9yIHRvdWNoLlxuICAgKi9cbiAgcHJpdmF0ZSBfbGFzdFRvdWNoTXMgPSAwO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fb25LZXlkb3duLCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuX29uTW91c2Vkb3duLCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zKTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLl9vblRvdWNoc3RhcnQsIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVTdGF0ZSgnbW91c2UnLCBudWxsKTtcbiAgICB0aGlzLl9sYXN0VG91Y2hNcyA9IDA7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBrZXlkb3duIGV2ZW50cy4gTXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBpbiBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgY29udGV4dCB3aGVuIGl0IGdldHNcbiAgICogYm91bmQuXG4gICAqL1xuICBwcml2YXRlIF9vbktleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAvLyBJZiB0aGlzIGlzIG9uZSBvZiB0aGUga2V5cyB3ZSBzaG91bGQgaWdub3JlLCB0aGVuIGlnbm9yZSBpdCBhbmQgZG9uJ3QgdXBkYXRlIHRoZSBpbnB1dFxuICAgIC8vIG1vZGFsaXR5IHRvIGtleWJvYXJkLlxuICAgIGlmICh0aGlzLl9vcHRpb25zPy5pZ25vcmVLZXlzPy5zb21lKChrZXlDb2RlKSA9PiBrZXlDb2RlID09PSBldmVudC5rZXlDb2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3VwZGF0ZVN0YXRlKCdrZXlib2FyZCcsIGV2ZW50KTtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyBtb3VzZWRvd24gZXZlbnRzLiBNdXN0IGJlIGFuIGFycm93IGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZSBjb250ZXh0IHdoZW4gaXRcbiAgICogZ2V0cyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgX29uTW91c2Vkb3duID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gVG91Y2hlcyB0cmlnZ2VyIGJvdGggdG91Y2ggYW5kIG1vdXNlIGV2ZW50cywgc28gd2UgbmVlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIG1vdXNlIGV2ZW50c1xuICAgIC8vIHRoYXQgd2VyZSB0cmlnZ2VyZWQgdmlhIG1vdXNlIHZzIHRvdWNoLiBUbyBkbyBzbywgY2hlY2sgaWYgdGhlIG1vdXNlIGV2ZW50IG9jY3VycyBjbG9zZWx5XG4gICAgLy8gYWZ0ZXIgdGhlIHByZXZpb3VzIHRvdWNoIGV2ZW50LlxuICAgIGlmIChEYXRlLm5vdygpIC0gdGhpcy5fbGFzdFRvdWNoTXMgPCB0b3VjaEJ1ZmZlck1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRmFrZSBtb3VzZWRvd24gZXZlbnRzIGFyZSBmaXJlZCBieSBzb21lIHNjcmVlbiByZWFkZXJzIHdoZW4gY29udHJvbHMgYXJlIGFjdGl2YXRlZCBieSB0aGVcbiAgICAvLyBzY3JlZW4gcmVhZGVyLiBBdHRyaWJ1dGUgdGhlbSB0byBrZXlib2FyZCBpbnB1dCBtb2RhbGl0eS5cbiAgICB0aGlzLl91cGRhdGVTdGF0ZShpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyKGV2ZW50KSA/ICdrZXlib2FyZCcgOiAnbW91c2UnLCBldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdG91Y2hzdGFydCBldmVudHMuIE11c3QgYmUgYW4gYXJyb3cgZnVuY3Rpb24gaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHQgd2hlbiBpdFxuICAgKiBnZXRzIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25Ub3VjaHN0YXJ0ID0gKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gU2FtZSBzY2VuYXJpbyBhcyBtZW50aW9uZWQgaW4gX29uTW91c2Vkb3duLCBidXQgb24gdG91Y2ggc2NyZWVuIGRldmljZXMsIGZha2UgdG91Y2hzdGFydFxuICAgIC8vIGV2ZW50cyBhcmUgZmlyZWQuIEFnYWluLCBhdHRyaWJ1dGUgdG8ga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuXG4gICAgaWYgKGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyKGV2ZW50KSkge1xuICAgICAgdGhpcy5fdXBkYXRlU3RhdGUoJ2tleWJvYXJkJywgZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFN0b3JlIHRoZSB0aW1lc3RhbXAgb2YgdGhpcyB0b3VjaCBldmVudCwgYXMgaXQncyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gbW91c2UgZXZlbnRzXG4gICAgLy8gdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC5cbiAgICB0aGlzLl9sYXN0VG91Y2hNcyA9IERhdGUubm93KCk7XG5cbiAgICB0aGlzLl91cGRhdGVTdGF0ZSgndG91Y2gnLCBldmVudCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU3RhdGUobW9kYWxpdHk6IFNiYklucHV0TW9kYWxpdHksIGV2ZW50OiBFdmVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5KSB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShgc2JiLWZvY3VzLW1vZGFsaXR5LSR7dGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5fWApO1xuICAgIH1cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSBtb2RhbGl0eTtcbiAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZXZlbnQgPyBnZXRFdmVudFRhcmdldChldmVudCkgOiBudWxsO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGBzYmItZm9jdXMtbW9kYWxpdHktJHt0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHl9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciA9IG5ldyBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5Q0EsSUFBTSwrQkFBZ0UsRUFDcEUsWUFBWTtDQUFDO0NBQUs7Q0FBUztDQUFVO0NBQU07Q0FBTSxFQUNsRDs7Ozs7OztBQVFELElBQU0sZ0JBQWdCOzs7OztBQU10QixJQUFNLCtCQUErQjtDQUNuQyxTQUFTO0NBQ1QsU0FBUztDQUNWOzs7Ozs7Ozs7Ozs7Ozs7QUFnQkQsSUFBTSwyQkFBTixNQUE4Qjs7Q0FFNUIsSUFBVyxxQkFBa0I7QUFDM0IsU0FBTyxLQUFLOzs7Ozs7Q0FhZCxJQUFXLG1CQUFnQjtBQUN6QixTQUFPLEtBQUs7O0NBZWQsY0FBQTs7Ozs7QUF0QlEsT0FBQSxzQkFBK0M7QUFTL0MsT0FBQSxvQkFBd0M7O0FBRy9CLE9BQUEsV0FBNEMsRUFDM0QsR0FBRyw4QkFDSjs7Ozs7QUFNTyxPQUFBLGVBQWU7Ozs7O0FBbUJmLE9BQUEsY0FBYyxVQUE4QjtBQUdsRCxPQUFJLEtBQUssVUFBVSxZQUFZLE1BQU0sWUFBWSxZQUFZLE1BQU0sUUFBUSxDQUN6RTtBQUdGLFFBQUssYUFBYSxZQUFZLE1BQU07Ozs7OztBQU85QixPQUFBLGdCQUFnQixVQUEyQjtBQUlqRCxPQUFJLEtBQUssS0FBSyxHQUFHLEtBQUssZUFBZSxjQUNuQztBQUtGLFFBQUssYUFBYSxnQ0FBZ0MsTUFBTSxHQUFHLGFBQWEsU0FBUyxNQUFNOzs7Ozs7QUFPakYsT0FBQSxpQkFBaUIsVUFBMkI7QUFHbEQsT0FBSSxpQ0FBaUMsTUFBTSxFQUFFO0FBQzNDLFNBQUssYUFBYSxZQUFZLE1BQU07QUFDcEM7O0FBS0YsUUFBSyxlQUFlLEtBQUssS0FBSztBQUU5QixRQUFLLGFBQWEsU0FBUyxNQUFNOztBQTNEakMsTUFBSSxDQUFDLFVBQVU7QUFDYixZQUFTLGlCQUFpQixXQUFXLEtBQUssWUFBWSw2QkFBNkI7QUFDbkYsWUFBUyxpQkFBaUIsYUFBYSxLQUFLLGNBQWMsNkJBQTZCO0FBQ3ZGLFlBQVMsaUJBQWlCLGNBQWMsS0FBSyxlQUFlLDZCQUE2Qjs7O0NBSXRGLFFBQUs7QUFDVixPQUFLLGFBQWEsU0FBUyxLQUFLO0FBQ2hDLE9BQUssZUFBZTs7Q0FxRGQsYUFBYSxVQUE0QixPQUFtQjtBQUNsRSxNQUFJLEtBQUssb0JBQ1AsVUFBUyxnQkFBZ0IsVUFBVSxPQUFPLHNCQUFzQixLQUFLLHNCQUFzQjtBQUU3RixPQUFLLHNCQUFzQjtBQUMzQixPQUFLLG9CQUFvQixRQUFRLGVBQWUsTUFBTSxHQUFHO0FBQ3pELFdBQVMsZ0JBQWdCLFVBQVUsSUFBSSxzQkFBc0IsS0FBSyxzQkFBc0I7OztBQUk1RixJQUFhLDJCQUEyQixJQUFJLDBCQUEwQiJ9
@@ -71,4 +71,4 @@ var SbbElement = class extends SbbHydrationMixin(SbbElementInternalsMixin(LitEle
71
71
  //#endregion
72
72
  export { SbbElement };
73
73
 
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlciB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uL21peGlucy9lbGVtZW50LWludGVybmFscy1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uL21peGlucy9oeWRyYXRpb24tbWl4aW4udHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKi9cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGFuZCByZW1vdmUgU2JiRWxlbWVudEludGVybmFsc01peGluIGFuZCBTYmJIeWRyYXRpb25NaXhpbiBhcyBhIGJyZWFraW5nIGNoYW5nZVxuZXhwb3J0IGNsYXNzIFNiYkVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBbJ18kc2JiRWxlbWVudCQnXSA9IHRydWU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIF9jb250cm9sbGVycz86IFNldDxTYmJSZWFjdGl2ZUNvbnRyb2xsZXI+O1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQgdG8gdGhlIHNwZWNpZmllZCBDdXN0b21FbGVtZW50UmVnaXN0cnkuXG4gICAqIElmIG5vbmUgaXMgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIHRoZSBnbG9iYWwgYGN1c3RvbUVsZW1lbnRzYCByZWdpc3RyeS5cbiAgICogQHBhcmFtIGN1c3RvbUVsZW1lbnRSZWdpc3RyeSBPcHRpb25hbCBDdXN0b21FbGVtZW50UmVnaXN0cnkgdG8gcmVnaXN0ZXIgdGhpcyBlbGVtZW50IHRvLlxuICAgKiAgIERlZmF1bHRzIHRvIHRoZSBnbG9iYWwgYGN1c3RvbUVsZW1lbnRzYCBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGVmaW5lKGN1c3RvbUVsZW1lbnRSZWdpc3RyeTogQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5ID0gY3VzdG9tRWxlbWVudHMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBzdGF0aWMgcHJvcGVydHkgXCJlbGVtZW50TmFtZVwiIGlzIG5vdCBkZWZpbmVkIG9uICR7dGhpcy5uYW1lfS4gUGxlYXNlIGRlZmluZSBpdCB0byByZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudENsYXNzID0gY3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmdldCh0aGlzLmVsZW1lbnROYW1lKTtcbiAgICBpZiAoIWVsZW1lbnRDbGFzcykge1xuICAgICAgY3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmRlZmluZSh0aGlzLmVsZW1lbnROYW1lLCB0aGlzIGFzIHVua25vd24gYXMgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yKTtcbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgZWxlbWVudENsYXNzICE9PSB0aGlzKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBUaGUgY3VzdG9tIGVsZW1lbnQgd2l0aCBuYW1lIFwiJHt0aGlzLmVsZW1lbnROYW1lfVwiIGlzIGFscmVhZHkgZGVmaW5lZC4gU2tpcHBpbmcuYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBlbGVtZW50J3MgcmVhY3RpdmVcbiAgICogdXBkYXRlIGN5Y2xlLiBUaGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGNhbGxzIGludG8gYW55IHJlZ2lzdGVyZWRcbiAgICogY29udHJvbGxlcnMgZHVyaW5nIGl0cyBsaWZlY3ljbGUgY2FsbGJhY2tzLlxuICAgKlxuICAgKiBJZiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgd2hlbiBgYWRkQ29udHJvbGxlcigpYCBpcyBjYWxsZWQsIHRoZVxuICAgKiBjb250cm9sbGVyJ3MgYGhvc3RDb25uZWN0ZWQoKWAgY2FsbGJhY2sgd2lsbCBiZSBpbW1lZGlhdGVseSBjYWxsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgICh0aGlzLl9jb250cm9sbGVycyA/Pz0gbmV3IFNldCgpKS5hZGQoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIGZyb20gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5kZWxldGUoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdHMgYW4gdXBkYXRlIHdoaWNoIGlzIHByb2Nlc3NlZCBhc3luY2hyb25vdXNseS4gVGhpcyBzaG91bGQgYmUgY2FsbGVkXG4gICAqIHdoZW4gYW4gZWxlbWVudCBzaG91bGQgdXBkYXRlIGJhc2VkIG9uIHNvbWUgc3RhdGUgbm90IHRyaWdnZXJlZCBieSBzZXR0aW5nXG4gICAqIGEgcmVhY3RpdmUgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwgcGFzcyBubyBhcmd1bWVudHMuIEl0IHNob3VsZCBhbHNvIGJlXG4gICAqIGNhbGxlZCB3aGVuIG1hbnVhbGx5IGltcGxlbWVudGluZyBhIHByb3BlcnR5IHNldHRlci4gSW4gdGhpcyBjYXNlLCBwYXNzIHRoZVxuICAgKiBwcm9wZXJ0eSBgbmFtZWAgYW5kIGBvbGRWYWx1ZWAgdG8gZW5zdXJlIHRoYXQgYW55IGNvbmZpZ3VyZWQgcHJvcGVydHlcbiAgICogb3B0aW9ucyBhcmUgaG9ub3JlZC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgbmFtZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAqIEBwYXJhbSBvbGRWYWx1ZSBvbGQgdmFsdWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBwcm9wZXJ0eSBvcHRpb25zIHRvIHVzZSBpbnN0ZWFkIG9mIHRoZSBwcmV2aW91c2x5XG4gICAqICAgICBjb25maWd1cmVkIG9wdGlvbnNcbiAgICogQHBhcmFtIHVzZU5ld1ZhbHVlIGlmIHRydWUsIHRoZSBuZXdWYWx1ZSBhcmd1bWVudCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICogICAgIHJlYWRpbmcgdGhlIHByb3BlcnR5IHZhbHVlLiBUaGlzIGlzIGltcG9ydGFudCB0byB1c2UgaWYgdGhlIHJlYWN0aXZlXG4gICAqICAgICBwcm9wZXJ0eSBpcyBhIHN0YW5kYXJkIHByaXZhdGUgYWNjZXNzb3IsIGFzIG9wcG9zZWQgdG8gYSBwbGFpblxuICAgKiAgICAgcHJvcGVydHksIHNpbmNlIHByaXZhdGUgbWVtYmVycyBjYW4ndCBiZSBkeW5hbWljYWxseSByZWFkIGJ5IG5hbWUuXG4gICAqIEBwYXJhbSBuZXdWYWx1ZSB0aGUgbmV3IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBpcyBvbmx5IHVzZWQgaWZcbiAgICogICAgIGB1c2VOZXdWYWx1ZWAgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgdXNlTmV3VmFsdWU/OiBib29sZWFuLFxuICAgIG5ld1ZhbHVlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucywgdXNlTmV3VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgY29uc3QgdmFsdWVzOiBTYmJQcm9wZXJ0eVZhbHVlcyA9IHtcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIHZhbHVlOiB1c2VOZXdWYWx1ZSA/IG5ld1ZhbHVlIDogdGhpc1tuYW1lIGFzIGtleW9mIHRoaXNdLFxuICAgICAgfTtcbiAgICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5mb3JFYWNoKChjb250cm9sbGVyKSA9PlxuICAgICAgICBjb250cm9sbGVyLmhvc3RQcm9wZXJ0eVVwZGF0ZT8uKG5hbWUsIHZhbHVlcywgb3B0aW9ucyksXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBc0JBLElBQWEsYUFBYixjQUFnQyxrQkFBa0IseUJBQXlCLFdBQVcsQ0FBQyxDQUFBOztBQUN2RSxPQUFDLG1CQUFtQjs7Ozs7Ozs7Q0FXM0IsT0FBTyxPQUFPLHdCQUErQyxnQkFBYztBQUNoRixNQUFJLENBQUMsS0FBSyxZQUNSLE9BQU0sSUFBSSxNQUNSLHVEQUF1RCxLQUFLLEtBQUksb0RBQ2pFO0FBSUgsTUFBSSxDQURpQixzQkFBc0IsSUFBSSxLQUFLLFlBQVksQ0FFOUQsdUJBQXNCLE9BQU8sS0FBSyxhQUFhLEtBQTRDOzs7Ozs7Ozs7O0NBZ0IvRSxjQUFjLFlBQWlDO0FBQzdELFFBQU0sY0FBYyxXQUFXO0FBQy9CLEdBQUMsS0FBSyxpQ0FBaUIsSUFBSSxLQUFLLEVBQUUsSUFBSSxXQUFXOzs7OztDQU1uQyxpQkFBaUIsWUFBaUM7QUFDaEUsUUFBTSxpQkFBaUIsV0FBVztBQUNsQyxPQUFLLGNBQWMsT0FBTyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQnZCLGNBQ2QsTUFDQSxVQUNBLFNBQ0EsYUFDQSxVQUFrQjtBQUVsQixRQUFNLGNBQWMsTUFBTSxVQUFVLFNBQVMsYUFBYSxTQUFTO0FBQ25FLE1BQUksTUFBTTtHQUNSLE1BQU0sU0FBNEI7SUFDaEM7SUFDQSxPQUFPLGNBQWMsV0FBVyxLQUFLO0lBQ3RDO0FBQ0QsUUFBSyxjQUFjLFNBQVMsZUFDMUIsV0FBVyxxQkFBcUIsTUFBTSxRQUFRLFFBQVEsQ0FDdkQifQ==
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlciB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uL21peGlucy9lbGVtZW50LWludGVybmFscy1taXhpbi50cyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uL21peGlucy9oeWRyYXRpb24tbWl4aW4udHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKi9cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogSW5saW5lIGFuZCByZW1vdmUgU2JiRWxlbWVudEludGVybmFsc01peGluIGFuZCBTYmJIeWRyYXRpb25NaXhpbiBhcyBhIGJyZWFraW5nIGNoYW5nZVxuZXhwb3J0IGNsYXNzIFNiYkVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBbJ18kc2JiRWxlbWVudCQnXSA9IHRydWU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIF9jb250cm9sbGVycz86IFNldDxTYmJSZWFjdGl2ZUNvbnRyb2xsZXI+O1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQgdG8gdGhlIHNwZWNpZmllZCBDdXN0b21FbGVtZW50UmVnaXN0cnkuXG4gICAqIElmIG5vbmUgaXMgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIHRoZSBnbG9iYWwgYGN1c3RvbUVsZW1lbnRzYCByZWdpc3RyeS5cbiAgICogQHBhcmFtIGN1c3RvbUVsZW1lbnRSZWdpc3RyeSBPcHRpb25hbCBDdXN0b21FbGVtZW50UmVnaXN0cnkgdG8gcmVnaXN0ZXIgdGhpcyBlbGVtZW50IHRvLlxuICAgKiAgIERlZmF1bHRzIHRvIHRoZSBnbG9iYWwgYGN1c3RvbUVsZW1lbnRzYCBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGVmaW5lKGN1c3RvbUVsZW1lbnRSZWdpc3RyeTogQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5ID0gY3VzdG9tRWxlbWVudHMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBzdGF0aWMgcHJvcGVydHkgXCJlbGVtZW50TmFtZVwiIGlzIG5vdCBkZWZpbmVkIG9uICR7dGhpcy5uYW1lfS4gUGxlYXNlIGRlZmluZSBpdCB0byByZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudENsYXNzID0gY3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmdldCh0aGlzLmVsZW1lbnROYW1lKTtcbiAgICBpZiAoIWVsZW1lbnRDbGFzcykge1xuICAgICAgY3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmRlZmluZSh0aGlzLmVsZW1lbnROYW1lLCB0aGlzIGFzIHVua25vd24gYXMgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yKTtcbiAgICB9IGVsc2UgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgZWxlbWVudENsYXNzICE9PSB0aGlzKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBUaGUgY3VzdG9tIGVsZW1lbnQgd2l0aCBuYW1lIFwiJHt0aGlzLmVsZW1lbnROYW1lfVwiIGlzIGFscmVhZHkgZGVmaW5lZC4gU2tpcHBpbmcuYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBlbGVtZW50J3MgcmVhY3RpdmVcbiAgICogdXBkYXRlIGN5Y2xlLiBUaGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IGNhbGxzIGludG8gYW55IHJlZ2lzdGVyZWRcbiAgICogY29udHJvbGxlcnMgZHVyaW5nIGl0cyBsaWZlY3ljbGUgY2FsbGJhY2tzLlxuICAgKlxuICAgKiBJZiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQgd2hlbiBgYWRkQ29udHJvbGxlcigpYCBpcyBjYWxsZWQsIHRoZVxuICAgKiBjb250cm9sbGVyJ3MgYGhvc3RDb25uZWN0ZWQoKWAgY2FsbGJhY2sgd2lsbCBiZSBpbW1lZGlhdGVseSBjYWxsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgICh0aGlzLl9jb250cm9sbGVycyA/Pz0gbmV3IFNldCgpKS5hZGQoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGBSZWFjdGl2ZUNvbnRyb2xsZXJgIGZyb20gdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyOiBTYmJSZWFjdGl2ZUNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sbGVyKGNvbnRyb2xsZXIpO1xuICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5kZWxldGUoY29udHJvbGxlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdHMgYW4gdXBkYXRlIHdoaWNoIGlzIHByb2Nlc3NlZCBhc3luY2hyb25vdXNseS4gVGhpcyBzaG91bGQgYmUgY2FsbGVkXG4gICAqIHdoZW4gYW4gZWxlbWVudCBzaG91bGQgdXBkYXRlIGJhc2VkIG9uIHNvbWUgc3RhdGUgbm90IHRyaWdnZXJlZCBieSBzZXR0aW5nXG4gICAqIGEgcmVhY3RpdmUgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwgcGFzcyBubyBhcmd1bWVudHMuIEl0IHNob3VsZCBhbHNvIGJlXG4gICAqIGNhbGxlZCB3aGVuIG1hbnVhbGx5IGltcGxlbWVudGluZyBhIHByb3BlcnR5IHNldHRlci4gSW4gdGhpcyBjYXNlLCBwYXNzIHRoZVxuICAgKiBwcm9wZXJ0eSBgbmFtZWAgYW5kIGBvbGRWYWx1ZWAgdG8gZW5zdXJlIHRoYXQgYW55IGNvbmZpZ3VyZWQgcHJvcGVydHlcbiAgICogb3B0aW9ucyBhcmUgaG9ub3JlZC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgbmFtZSBvZiByZXF1ZXN0aW5nIHByb3BlcnR5XG4gICAqIEBwYXJhbSBvbGRWYWx1ZSBvbGQgdmFsdWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3B0aW9ucyBwcm9wZXJ0eSBvcHRpb25zIHRvIHVzZSBpbnN0ZWFkIG9mIHRoZSBwcmV2aW91c2x5XG4gICAqICAgICBjb25maWd1cmVkIG9wdGlvbnNcbiAgICogQHBhcmFtIHVzZU5ld1ZhbHVlIGlmIHRydWUsIHRoZSBuZXdWYWx1ZSBhcmd1bWVudCBpcyB1c2VkIGluc3RlYWQgb2ZcbiAgICogICAgIHJlYWRpbmcgdGhlIHByb3BlcnR5IHZhbHVlLiBUaGlzIGlzIGltcG9ydGFudCB0byB1c2UgaWYgdGhlIHJlYWN0aXZlXG4gICAqICAgICBwcm9wZXJ0eSBpcyBhIHN0YW5kYXJkIHByaXZhdGUgYWNjZXNzb3IsIGFzIG9wcG9zZWQgdG8gYSBwbGFpblxuICAgKiAgICAgcHJvcGVydHksIHNpbmNlIHByaXZhdGUgbWVtYmVycyBjYW4ndCBiZSBkeW5hbWljYWxseSByZWFkIGJ5IG5hbWUuXG4gICAqIEBwYXJhbSBuZXdWYWx1ZSB0aGUgbmV3IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBpcyBvbmx5IHVzZWQgaWZcbiAgICogICAgIGB1c2VOZXdWYWx1ZWAgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICAgdXNlTmV3VmFsdWU/OiBib29sZWFuLFxuICAgIG5ld1ZhbHVlPzogdW5rbm93bixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucywgdXNlTmV3VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICBpZiAobmFtZSkge1xuICAgICAgY29uc3QgdmFsdWVzOiBTYmJQcm9wZXJ0eVZhbHVlcyA9IHtcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIHZhbHVlOiB1c2VOZXdWYWx1ZSA/IG5ld1ZhbHVlIDogdGhpc1tuYW1lIGFzIGtleW9mIHRoaXNdLFxuICAgICAgfTtcbiAgICAgIHRoaXMuX2NvbnRyb2xsZXJzPy5mb3JFYWNoKChjb250cm9sbGVyKSA9PlxuICAgICAgICBjb250cm9sbGVyLmhvc3RQcm9wZXJ0eVVwZGF0ZT8uKG5hbWUsIHZhbHVlcywgb3B0aW9ucyksXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBc0JBLElBQWEsYUFBYixjQUFnQyxrQkFBa0IseUJBQXlCLFdBQVcsQ0FBQyxDQUFBOztBQUN2RSxPQUFDLG1CQUFtQjs7Ozs7Ozs7Q0FXM0IsT0FBTyxPQUFPLHdCQUErQyxnQkFBYztBQUNoRixNQUFJLENBQUMsS0FBSyxZQUNSLE9BQU0sSUFBSSxNQUNSLHVEQUF1RCxLQUFLLEtBQUksb0RBQ2pFO0FBSUgsTUFBSSxDQURpQixzQkFBc0IsSUFBSSxLQUFLLFlBQy9DLENBQ0gsdUJBQXNCLE9BQU8sS0FBSyxhQUFhLEtBQTRDOzs7Ozs7Ozs7O0NBZ0IvRSxjQUFjLFlBQWlDO0FBQzdELFFBQU0sY0FBYyxXQUFXO0FBQy9CLEdBQUMsS0FBSyxpQ0FBaUIsSUFBSSxLQUFLLEVBQUUsSUFBSSxXQUFXOzs7OztDQU1uQyxpQkFBaUIsWUFBaUM7QUFDaEUsUUFBTSxpQkFBaUIsV0FBVztBQUNsQyxPQUFLLGNBQWMsT0FBTyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQnZCLGNBQ2QsTUFDQSxVQUNBLFNBQ0EsYUFDQSxVQUFrQjtBQUVsQixRQUFNLGNBQWMsTUFBTSxVQUFVLFNBQVMsYUFBYSxTQUFTO0FBQ25FLE1BQUksTUFBTTtHQUNSLE1BQU0sU0FBNEI7SUFDaEM7SUFDQSxPQUFPLGNBQWMsV0FBVyxLQUFLO0lBQ3RDO0FBQ0QsUUFBSyxjQUFjLFNBQVMsZUFDMUIsV0FBVyxxQkFBcUIsTUFBTSxRQUFRLFFBQVEsQ0FDdkQifQ==
@@ -145,4 +145,4 @@ var SbbDarkModeController = class SbbDarkModeController extends SbbMediaMatcherC
145
145
  //#endregion
146
146
  export { SbbDarkModeController, SbbMediaMatcherController, SbbMediaQueryBreakpointLargeAndAbove, SbbMediaQueryBreakpointLargeAndBelow, SbbMediaQueryBreakpointSmallAndAbove, SbbMediaQueryBreakpointSmallAndBelow, SbbMediaQueryBreakpointUltraAndAbove, SbbMediaQueryBreakpointZeroAndAbove, SbbMediaQueryDarkMode, SbbMediaQueryForcedColors, SbbMediaQueryHover, SbbMediaQueryPointerCoarse };
147
147
 
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtbWF0Y2hlcnMtY29udHJvbGxlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9tZWRpYS1tYXRjaGVycy1jb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNiYkJyZWFrcG9pbnRMYXJnZU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50U21hbGxNYXgsXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1pbixcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWluLFxuICBTYmJCcmVha3BvaW50WmVyb01pbixcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZGVzaWduLXRva2Vucyc7XG5pbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IMm1c3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vbWl4aW5zL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSB9IGZyb20gJy4uL21peGlucy50cyc7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlGb3JjZWRDb2xvcnMgPSAnKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSknO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlEYXJrTW9kZSA9ICcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJztcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5SG92ZXIgPSAnKGFueS1ob3ZlcjogaG92ZXIpJztcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSA9ICcocG9pbnRlcjogY29hcnNlKSc7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUgPSBgKG1pbi13aWR0aDogJHtTYmJCcmVha3BvaW50WmVyb01pbn0pYDtcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUgPSBgKG1pbi13aWR0aDogJHtTYmJCcmVha3BvaW50U21hbGxNaW59KWA7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRMYXJnZUFuZEFib3ZlID0gYChtaW4td2lkdGg6ICR7U2JiQnJlYWtwb2ludExhcmdlTWlufSlgO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50VWx0cmFBbmRBYm92ZSA9IGAobWluLXdpZHRoOiAke1NiYkJyZWFrcG9pbnRVbHRyYU1pbn0pYDtcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3cgPSBgKG1heC13aWR0aDogJHtTYmJCcmVha3BvaW50U21hbGxNYXh9KWA7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRMYXJnZUFuZEJlbG93ID0gYChtYXgtd2lkdGg6ICR7U2JiQnJlYWtwb2ludExhcmdlTWF4fSlgO1xuLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cblxuLyoqXG4gKiBBIGNhbGxiYWNrLCB3aGljaCBpcyBpbnZva2VkIHdoZW4gdGhlIGFzc29jaWF0ZWQgbWVkaWEgcXVlcnkgbWF0Y2hcbiAqIHN0YXR1cyBjaGFuZ2VzLlxuICovXG5leHBvcnQgdHlwZSBTYmJNZWRpYU1hdGNoZXJIYW5kbGVyID0gKG1hdGNoZXM6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbmludGVyZmFjZSBNZWRpYVF1ZXJ5RW50cnkge1xuICBtZWRpYVF1ZXJ5TGlzdDogTWVkaWFRdWVyeUxpc3Q7XG4gIGV2ZW50SGFuZGxlcjogKGV2ZW50OiBNZWRpYVF1ZXJ5TGlzdEV2ZW50KSA9PiB2b2lkO1xuICBoYW5kbGVyczogU2V0PFNiYk1lZGlhTWF0Y2hlckhhbmRsZXI+O1xufVxuXG4vKipcbiAqIFdlIHdhbnQgdG8gY2FjaGUgTWVkaWFRdWVyeUxpc3QgaW5zdGFuY2VzIGFuZCBjb3JyZXNwb25kaW5nXG4gKiBldmVudCBoYW5kbGVycywgYXMgYSBtdWx0aXR1ZGUgb2YgZXZlbnQgaGFuZGxlcnMgb24gZ2xvYmFsIG9iamVjdHNcbiAqIGNhbiBkZWdyYWRlIHBlcmZvcm1hbmNlIHdpdGggdGltZS5cbiAqL1xuY29uc3QgbWVkaWFRdWVyeVJlZ2lzdHJ5ID0gbmV3IE1hcDxzdHJpbmcsIE1lZGlhUXVlcnlFbnRyeT4oKTtcblxuLyoqXG4gKiBUaGlzIGNvbnRyb2xsZXIgYWxsb3dzIGxpc3RlbmluZyB0byBtZWRpYSBxdWVyeSBjaGFuZ2VzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7XG4gKiAgIFtTYmJGb3JjZWRDb2xvcnNRdWVyeV06IChtYXRjaGVzKSA9PiBkb1NvbWV0aGluZyhtYXRjaGVzKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIGhvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QsXG4gICAgcHJpdmF0ZSBfcXVlcmllczogUmVjb3JkPHN0cmluZywgU2JiTWVkaWFNYXRjaGVySGFuZGxlcj4sXG4gICkge1xuICAgIGhvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIHF1ZXJ5IG1hdGNoZXMuIFJldHVybnMgbnVsbCB3aXRoIFNTUi5cbiAgICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSB0byBjaGVjayBhZ2FpbnN0LlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBxdWVyeSBtYXRjaGVzIG9yIG51bGwgd2l0aCBTU1IuXG4gICAqL1xuICBwdWJsaWMgbWF0Y2hlcyhxdWVyeTogc3RyaW5nKTogYm9vbGVhbiB8IG51bGwge1xuICAgIC8vIElmIHdlIHVzZSB0aGUgY2FjaGVkIGluc3RhbmNlLCBXZWJraXQgc2VlbXMgdG8gdXBkYXRlIHRoZSBzdGF0ZSBhIHRpY2sgdG9vIGxhdGUuXG4gICAgLy8gRHVlIHRvIHRoaXMgd2UgZGlyZWN0bHkgdXNlIG1hdGNoTWVkaWEgaGVyZS5cbiAgICByZXR1cm4gaXNTZXJ2ZXIgPyBudWxsIDogbWF0Y2hNZWRpYShxdWVyeSkubWF0Y2hlcztcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgW3F1ZXJ5LCBoYW5kbGVyXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLl9xdWVyaWVzKSkge1xuICAgICAgY29uc3QgbWVkaWFRdWVyeSA9IG1lZGlhUXVlcnlSZWdpc3RyeS5nZXQocXVlcnkpO1xuICAgICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgbWVkaWFRdWVyeS5oYW5kbGVycy5hZGQoaGFuZGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZWRpYVF1ZXJ5TGlzdCA9IG1hdGNoTWVkaWEocXVlcnkpO1xuICAgICAgICBjb25zdCBoYW5kbGVycyA9IG5ldyBTZXQoW2hhbmRsZXJdKTtcbiAgICAgICAgY29uc3QgZXZlbnRIYW5kbGVyID0gKGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQpOiB2b2lkID0+XG4gICAgICAgICAgaGFuZGxlcnMuZm9yRWFjaCgoaCkgPT4gaChlLm1hdGNoZXMpKTtcbiAgICAgICAgbWVkaWFRdWVyeUxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZXZlbnRIYW5kbGVyKTtcbiAgICAgICAgbWVkaWFRdWVyeVJlZ2lzdHJ5LnNldChxdWVyeSwgeyBtZWRpYVF1ZXJ5TGlzdCwgaGFuZGxlcnMsIGV2ZW50SGFuZGxlciB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IFtxdWVyeSwgaGFuZGxlcl0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5fcXVlcmllcykpIHtcbiAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSBtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KHF1ZXJ5KTtcbiAgICAgIGlmIChtZWRpYVF1ZXJ5KSB7XG4gICAgICAgIG1lZGlhUXVlcnkuaGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgICAgICBpZiAoIW1lZGlhUXVlcnkuaGFuZGxlcnMuc2l6ZSkge1xuICAgICAgICAgIG1lZGlhUXVlcnlSZWdpc3RyeS5kZWxldGUocXVlcnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIHRoZSBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLCB3aGljaFxuICogdGFrZXMgdGhlIGNvbG9yLXNjaGVtZSBDU1MgcHJvcGVydHkgaW50byBhY2NvdW50IHdoZW4gZGV0ZXJtaW5pbmdcbiAqIHRoZSBkYXJrIG1vZGUgc3RhdGUgYW5kIHVwZGF0ZXMgYSA6c3RhdGUoZGFyaykgb24gdGhlIGhvc3QuXG4gKlxuICogQGV4YW1wbGVcbiAqIG5ldyBTYmJEYXJrTW9kZUNvbnRyb2xsZXIodGhpcywgKGlzRGFya01vZGUpID0+IGRvU29tZXRoaW5nKGlzRGFya01vZGUpKTtcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkRhcmtNb2RlQ29udHJvbGxlciBleHRlbmRzIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIge1xuICAvKiogVGhlIGN1cnJlbnQgbW9kZSBiYXNlZCBvbiB0aGUgY2xhc3MgYXR0cmlidXRlIG9mIHRoZSA8aHRtbD4gZWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgX2N1cnJlbnRNb2RlOiAnc2JiLWxpZ2h0LWRhcmsnIHwgJ3NiYi1saWdodCcgfCAnc2JiLWRhcmsnIHwgbnVsbCA9XG4gICAgdGhpcy5fcmVhZExpZ2h0RGFya0NsYXNzKCk7XG5cbiAgLyoqIE11dGF0aW9uT2JzZXJ2ZXIgdGhhdCBvYnNlcnZlcyB0aGUgXCJjbGFzc1wiIGF0dHJpYnV0ZSBvZiB0aGUgPGh0bWw+IGVsZW1lbnQuICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9vYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zWzBdLm9sZFZhbHVlICE9PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjbGFzcycpKSB7XG4gICAgICAgICAgY29uc3QgbmV3TW9kZSA9IHRoaXMuX3JlYWRMaWdodERhcmtDbGFzcygpO1xuICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50TW9kZSAhPT0gbmV3TW9kZSkge1xuICAgICAgICAgICAgU2JiRGFya01vZGVDb250cm9sbGVyLnJlcXVlc3RVcGRhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRNb2RlID0gbmV3TW9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgOiBudWxsO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9vYnNlcnZlckNvbmZpZyA9IHtcbiAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnY2xhc3MnXSxcbiAgICBhdHRyaWJ1dGVPbGRWYWx1ZTogdHJ1ZSxcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbkNoYW5nZVdpdGhTdGF0ZVVwZGF0ZXI6ICgpID0+IHZvaWQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBIVE1MRWxlbWVudCAmIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUsXG4gICAgb25DaGFuZ2U6IFNiYk1lZGlhTWF0Y2hlckhhbmRsZXIsXG4gICkge1xuICAgIGNvbnN0IG9uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlcjogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAgIG9uQ2hhbmdlKHRoaXMubWF0Y2hlcygpKTtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuX2hvc3QpLnRvZ2dsZSgnZGFyaycsIHRoaXMubWF0Y2hlcygpKTtcbiAgICB9O1xuICAgIHN1cGVyKF9ob3N0LCB7XG4gICAgICBbU2JiTWVkaWFRdWVyeURhcmtNb2RlXTogb25DaGFuZ2VXaXRoU3RhdGVVcGRhdGVyLFxuICAgIH0pO1xuICAgIHRoaXMuX29uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlciA9IG9uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlcjtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9yZWFkTGlnaHREYXJrQ2xhc3MoKTogJ3NiYi1saWdodC1kYXJrJyB8ICdzYmItbGlnaHQnIHwgJ3NiYi1kYXJrJyB8IG51bGwge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGNsYXNzTGlzdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7XG4gICAgcmV0dXJuIChcbiAgICAgIChbJ3NiYi1saWdodC1kYXJrJywgJ3NiYi1kYXJrJywgJ3NiYi1saWdodCddIGFzIGNvbnN0KS5maW5kKChtb2RlKSA9PlxuICAgICAgICBjbGFzc0xpc3QuY29udGFpbnMobW9kZSksXG4gICAgICApID8/IG51bGxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3RzIGFuIHVwZGF0ZSBvZiB0aGUgZGFyayBtb2RlIHN0YXRlLiBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZSBjb2xvci1zY2hlbWVcbiAgICogQ1NTIHByb3BlcnR5IGNoYW5nZXMsIGFzIHRoZSBtZWRpYSBxdWVyeSBkb2VzIG5vdCBwaWNrIHRoaXMgdXAgYXV0b21hdGljYWxseS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBseW5lL25lZWRzLXN1cGVyLWNhbGwtcnVsZVxuICBwdWJsaWMgc3RhdGljIHJlcXVlc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgZW50cnkgPSBtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KFNiYk1lZGlhUXVlcnlEYXJrTW9kZSk7XG4gICAgaWYgKGVudHJ5KSB7XG4gICAgICBlbnRyeS5oYW5kbGVycy5mb3JFYWNoKChoKSA9PiBoKGVudHJ5Lm1lZGlhUXVlcnlMaXN0Lm1hdGNoZXMpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0ZpcnN0TGlzdGVuZXIgPVxuICAgICAgKG1lZGlhUXVlcnlSZWdpc3RyeS5nZXQoU2JiTWVkaWFRdWVyeURhcmtNb2RlKT8uaGFuZGxlcnMuc2l6ZSA/PyAwKSA9PT0gMDtcbiAgICBzdXBlci5ob3N0Q29ubmVjdGVkKCk7XG5cbiAgICBpZiAoaXNGaXJzdExpc3RlbmVyKSB7XG4gICAgICBTYmJEYXJrTW9kZUNvbnRyb2xsZXIuX29ic2VydmVyIS5vYnNlcnZlKFxuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsXG4gICAgICAgIFNiYkRhcmtNb2RlQ29udHJvbGxlci5fb2JzZXJ2ZXJDb25maWcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX29uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgc3VwZXIuaG9zdERpc2Nvbm5lY3RlZCgpO1xuXG4gICAgaWYgKChtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KFNiYk1lZGlhUXVlcnlEYXJrTW9kZSk/LmhhbmRsZXJzLnNpemUgPz8gMCkgPT09IDApIHtcbiAgICAgIFNiYkRhcmtNb2RlQ29udHJvbGxlci5fb2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbWF0Y2hlcygpOiBib29sZWFuIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY29sb3JTY2hlbWUgPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2hvc3QpLmdldFByb3BlcnR5VmFsdWUoJ2NvbG9yLXNjaGVtZScpO1xuICAgIGNvbnN0IGRhcmtBdmFpbGFibGUgPSBjb2xvclNjaGVtZS5pbmNsdWRlcygnZGFyaycpO1xuICAgIGNvbnN0IGRhcmtPbmx5ID0gY29sb3JTY2hlbWUudHJpbSgpID09PSAnZGFyayc7XG4gICAgY29uc3QgcHJlZmVycmVkRGFya01vZGUgPSBzdXBlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlEYXJrTW9kZSkgYXMgYm9vbGVhbjtcblxuICAgIHJldHVybiAocHJlZmVycmVkRGFya01vZGUgJiYgZGFya0F2YWlsYWJsZSkgfHwgZGFya09ubHk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQWNBLElBQWEsNEJBQTRCO0FBQ3pDLElBQWEsd0JBQXdCO0FBQ3JDLElBQWEscUJBQXFCO0FBQ2xDLElBQWEsNkJBQTZCO0FBQzFDLElBQWEsc0NBQXNDLGVBQWUscUJBQW9CO0FBQ3RGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCOzs7Ozs7QUFvQnhGLElBQU0scUNBQXFCLElBQUksS0FBOEI7Ozs7Ozs7OztBQVU3RCxJQUFhLDRCQUFiLE1BQXNDO0NBQ3BDLFlBQ0UsTUFDUSxVQUFnRDtBQUFoRCxPQUFBLFdBQUE7QUFFUixPQUFLLGNBQWMsS0FBSzs7Ozs7OztD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
148
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtbWF0Y2hlcnMtY29udHJvbGxlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9tZWRpYS1tYXRjaGVycy1jb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNiYkJyZWFrcG9pbnRMYXJnZU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50U21hbGxNYXgsXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1pbixcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWluLFxuICBTYmJCcmVha3BvaW50WmVyb01pbixcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZGVzaWduLXRva2Vucyc7XG5pbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IMm1c3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vbWl4aW5zL2VsZW1lbnQtaW50ZXJuYWxzLW1peGluLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSB9IGZyb20gJy4uL21peGlucy50cyc7XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlGb3JjZWRDb2xvcnMgPSAnKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSknO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlEYXJrTW9kZSA9ICcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJztcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5SG92ZXIgPSAnKGFueS1ob3ZlcjogaG92ZXIpJztcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5UG9pbnRlckNvYXJzZSA9ICcocG9pbnRlcjogY29hcnNlKSc7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUgPSBgKG1pbi13aWR0aDogJHtTYmJCcmVha3BvaW50WmVyb01pbn0pYDtcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUgPSBgKG1pbi13aWR0aDogJHtTYmJCcmVha3BvaW50U21hbGxNaW59KWA7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRMYXJnZUFuZEFib3ZlID0gYChtaW4td2lkdGg6ICR7U2JiQnJlYWtwb2ludExhcmdlTWlufSlgO1xuZXhwb3J0IGNvbnN0IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50VWx0cmFBbmRBYm92ZSA9IGAobWluLXdpZHRoOiAke1NiYkJyZWFrcG9pbnRVbHRyYU1pbn0pYDtcbmV4cG9ydCBjb25zdCBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3cgPSBgKG1heC13aWR0aDogJHtTYmJCcmVha3BvaW50U21hbGxNYXh9KWA7XG5leHBvcnQgY29uc3QgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRMYXJnZUFuZEJlbG93ID0gYChtYXgtd2lkdGg6ICR7U2JiQnJlYWtwb2ludExhcmdlTWF4fSlgO1xuLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cblxuLyoqXG4gKiBBIGNhbGxiYWNrLCB3aGljaCBpcyBpbnZva2VkIHdoZW4gdGhlIGFzc29jaWF0ZWQgbWVkaWEgcXVlcnkgbWF0Y2hcbiAqIHN0YXR1cyBjaGFuZ2VzLlxuICovXG5leHBvcnQgdHlwZSBTYmJNZWRpYU1hdGNoZXJIYW5kbGVyID0gKG1hdGNoZXM6IGJvb2xlYW4pID0+IHZvaWQ7XG5cbmludGVyZmFjZSBNZWRpYVF1ZXJ5RW50cnkge1xuICBtZWRpYVF1ZXJ5TGlzdDogTWVkaWFRdWVyeUxpc3Q7XG4gIGV2ZW50SGFuZGxlcjogKGV2ZW50OiBNZWRpYVF1ZXJ5TGlzdEV2ZW50KSA9PiB2b2lkO1xuICBoYW5kbGVyczogU2V0PFNiYk1lZGlhTWF0Y2hlckhhbmRsZXI+O1xufVxuXG4vKipcbiAqIFdlIHdhbnQgdG8gY2FjaGUgTWVkaWFRdWVyeUxpc3QgaW5zdGFuY2VzIGFuZCBjb3JyZXNwb25kaW5nXG4gKiBldmVudCBoYW5kbGVycywgYXMgYSBtdWx0aXR1ZGUgb2YgZXZlbnQgaGFuZGxlcnMgb24gZ2xvYmFsIG9iamVjdHNcbiAqIGNhbiBkZWdyYWRlIHBlcmZvcm1hbmNlIHdpdGggdGltZS5cbiAqL1xuY29uc3QgbWVkaWFRdWVyeVJlZ2lzdHJ5ID0gbmV3IE1hcDxzdHJpbmcsIE1lZGlhUXVlcnlFbnRyeT4oKTtcblxuLyoqXG4gKiBUaGlzIGNvbnRyb2xsZXIgYWxsb3dzIGxpc3RlbmluZyB0byBtZWRpYSBxdWVyeSBjaGFuZ2VzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7XG4gKiAgIFtTYmJGb3JjZWRDb2xvcnNRdWVyeV06IChtYXRjaGVzKSA9PiBkb1NvbWV0aGluZyhtYXRjaGVzKSxcbiAqIH0pXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIGhvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QsXG4gICAgcHJpdmF0ZSBfcXVlcmllczogUmVjb3JkPHN0cmluZywgU2JiTWVkaWFNYXRjaGVySGFuZGxlcj4sXG4gICkge1xuICAgIGhvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIHF1ZXJ5IG1hdGNoZXMuIFJldHVybnMgbnVsbCB3aXRoIFNTUi5cbiAgICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSB0byBjaGVjayBhZ2FpbnN0LlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBxdWVyeSBtYXRjaGVzIG9yIG51bGwgd2l0aCBTU1IuXG4gICAqL1xuICBwdWJsaWMgbWF0Y2hlcyhxdWVyeTogc3RyaW5nKTogYm9vbGVhbiB8IG51bGwge1xuICAgIC8vIElmIHdlIHVzZSB0aGUgY2FjaGVkIGluc3RhbmNlLCBXZWJraXQgc2VlbXMgdG8gdXBkYXRlIHRoZSBzdGF0ZSBhIHRpY2sgdG9vIGxhdGUuXG4gICAgLy8gRHVlIHRvIHRoaXMgd2UgZGlyZWN0bHkgdXNlIG1hdGNoTWVkaWEgaGVyZS5cbiAgICByZXR1cm4gaXNTZXJ2ZXIgPyBudWxsIDogbWF0Y2hNZWRpYShxdWVyeSkubWF0Y2hlcztcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgW3F1ZXJ5LCBoYW5kbGVyXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLl9xdWVyaWVzKSkge1xuICAgICAgY29uc3QgbWVkaWFRdWVyeSA9IG1lZGlhUXVlcnlSZWdpc3RyeS5nZXQocXVlcnkpO1xuICAgICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgbWVkaWFRdWVyeS5oYW5kbGVycy5hZGQoaGFuZGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZWRpYVF1ZXJ5TGlzdCA9IG1hdGNoTWVkaWEocXVlcnkpO1xuICAgICAgICBjb25zdCBoYW5kbGVycyA9IG5ldyBTZXQoW2hhbmRsZXJdKTtcbiAgICAgICAgY29uc3QgZXZlbnRIYW5kbGVyID0gKGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQpOiB2b2lkID0+XG4gICAgICAgICAgaGFuZGxlcnMuZm9yRWFjaCgoaCkgPT4gaChlLm1hdGNoZXMpKTtcbiAgICAgICAgbWVkaWFRdWVyeUxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZXZlbnRIYW5kbGVyKTtcbiAgICAgICAgbWVkaWFRdWVyeVJlZ2lzdHJ5LnNldChxdWVyeSwgeyBtZWRpYVF1ZXJ5TGlzdCwgaGFuZGxlcnMsIGV2ZW50SGFuZGxlciB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IFtxdWVyeSwgaGFuZGxlcl0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5fcXVlcmllcykpIHtcbiAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSBtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KHF1ZXJ5KTtcbiAgICAgIGlmIChtZWRpYVF1ZXJ5KSB7XG4gICAgICAgIG1lZGlhUXVlcnkuaGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgICAgICBpZiAoIW1lZGlhUXVlcnkuaGFuZGxlcnMuc2l6ZSkge1xuICAgICAgICAgIG1lZGlhUXVlcnlSZWdpc3RyeS5kZWxldGUocXVlcnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIHRoZSBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLCB3aGljaFxuICogdGFrZXMgdGhlIGNvbG9yLXNjaGVtZSBDU1MgcHJvcGVydHkgaW50byBhY2NvdW50IHdoZW4gZGV0ZXJtaW5pbmdcbiAqIHRoZSBkYXJrIG1vZGUgc3RhdGUgYW5kIHVwZGF0ZXMgYSA6c3RhdGUoZGFyaykgb24gdGhlIGhvc3QuXG4gKlxuICogQGV4YW1wbGVcbiAqIG5ldyBTYmJEYXJrTW9kZUNvbnRyb2xsZXIodGhpcywgKGlzRGFya01vZGUpID0+IGRvU29tZXRoaW5nKGlzRGFya01vZGUpKTtcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkRhcmtNb2RlQ29udHJvbGxlciBleHRlbmRzIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIge1xuICAvKiogVGhlIGN1cnJlbnQgbW9kZSBiYXNlZCBvbiB0aGUgY2xhc3MgYXR0cmlidXRlIG9mIHRoZSA8aHRtbD4gZWxlbWVudC4gKi9cbiAgcHJpdmF0ZSBzdGF0aWMgX2N1cnJlbnRNb2RlOiAnc2JiLWxpZ2h0LWRhcmsnIHwgJ3NiYi1saWdodCcgfCAnc2JiLWRhcmsnIHwgbnVsbCA9XG4gICAgdGhpcy5fcmVhZExpZ2h0RGFya0NsYXNzKCk7XG5cbiAgLyoqIE11dGF0aW9uT2JzZXJ2ZXIgdGhhdCBvYnNlcnZlcyB0aGUgXCJjbGFzc1wiIGF0dHJpYnV0ZSBvZiB0aGUgPGh0bWw+IGVsZW1lbnQuICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9vYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICBpZiAobXV0YXRpb25zWzBdLm9sZFZhbHVlICE9PSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjbGFzcycpKSB7XG4gICAgICAgICAgY29uc3QgbmV3TW9kZSA9IHRoaXMuX3JlYWRMaWdodERhcmtDbGFzcygpO1xuICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50TW9kZSAhPT0gbmV3TW9kZSkge1xuICAgICAgICAgICAgU2JiRGFya01vZGVDb250cm9sbGVyLnJlcXVlc3RVcGRhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRNb2RlID0gbmV3TW9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgOiBudWxsO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9vYnNlcnZlckNvbmZpZyA9IHtcbiAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnY2xhc3MnXSxcbiAgICBhdHRyaWJ1dGVPbGRWYWx1ZTogdHJ1ZSxcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbkNoYW5nZVdpdGhTdGF0ZVVwZGF0ZXI6ICgpID0+IHZvaWQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2hvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBIVE1MRWxlbWVudCAmIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUsXG4gICAgb25DaGFuZ2U6IFNiYk1lZGlhTWF0Y2hlckhhbmRsZXIsXG4gICkge1xuICAgIGNvbnN0IG9uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlcjogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAgIG9uQ2hhbmdlKHRoaXMubWF0Y2hlcygpKTtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuX2hvc3QpLnRvZ2dsZSgnZGFyaycsIHRoaXMubWF0Y2hlcygpKTtcbiAgICB9O1xuICAgIHN1cGVyKF9ob3N0LCB7XG4gICAgICBbU2JiTWVkaWFRdWVyeURhcmtNb2RlXTogb25DaGFuZ2VXaXRoU3RhdGVVcGRhdGVyLFxuICAgIH0pO1xuICAgIHRoaXMuX29uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlciA9IG9uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlcjtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9yZWFkTGlnaHREYXJrQ2xhc3MoKTogJ3NiYi1saWdodC1kYXJrJyB8ICdzYmItbGlnaHQnIHwgJ3NiYi1kYXJrJyB8IG51bGwge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGNsYXNzTGlzdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3Q7XG4gICAgcmV0dXJuIChcbiAgICAgIChbJ3NiYi1saWdodC1kYXJrJywgJ3NiYi1kYXJrJywgJ3NiYi1saWdodCddIGFzIGNvbnN0KS5maW5kKChtb2RlKSA9PlxuICAgICAgICBjbGFzc0xpc3QuY29udGFpbnMobW9kZSksXG4gICAgICApID8/IG51bGxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3RzIGFuIHVwZGF0ZSBvZiB0aGUgZGFyayBtb2RlIHN0YXRlLiBUaGlzIGlzIG5lZWRlZCB3aGVuIHRoZSBjb2xvci1zY2hlbWVcbiAgICogQ1NTIHByb3BlcnR5IGNoYW5nZXMsIGFzIHRoZSBtZWRpYSBxdWVyeSBkb2VzIG5vdCBwaWNrIHRoaXMgdXAgYXV0b21hdGljYWxseS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBseW5lL25lZWRzLXN1cGVyLWNhbGwtcnVsZVxuICBwdWJsaWMgc3RhdGljIHJlcXVlc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgZW50cnkgPSBtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KFNiYk1lZGlhUXVlcnlEYXJrTW9kZSk7XG4gICAgaWYgKGVudHJ5KSB7XG4gICAgICBlbnRyeS5oYW5kbGVycy5mb3JFYWNoKChoKSA9PiBoKGVudHJ5Lm1lZGlhUXVlcnlMaXN0Lm1hdGNoZXMpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0ZpcnN0TGlzdGVuZXIgPVxuICAgICAgKG1lZGlhUXVlcnlSZWdpc3RyeS5nZXQoU2JiTWVkaWFRdWVyeURhcmtNb2RlKT8uaGFuZGxlcnMuc2l6ZSA/PyAwKSA9PT0gMDtcbiAgICBzdXBlci5ob3N0Q29ubmVjdGVkKCk7XG5cbiAgICBpZiAoaXNGaXJzdExpc3RlbmVyKSB7XG4gICAgICBTYmJEYXJrTW9kZUNvbnRyb2xsZXIuX29ic2VydmVyIS5vYnNlcnZlKFxuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsXG4gICAgICAgIFNiYkRhcmtNb2RlQ29udHJvbGxlci5fb2JzZXJ2ZXJDb25maWcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX29uQ2hhbmdlV2l0aFN0YXRlVXBkYXRlcigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhvc3REaXNjb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgc3VwZXIuaG9zdERpc2Nvbm5lY3RlZCgpO1xuXG4gICAgaWYgKChtZWRpYVF1ZXJ5UmVnaXN0cnkuZ2V0KFNiYk1lZGlhUXVlcnlEYXJrTW9kZSk/LmhhbmRsZXJzLnNpemUgPz8gMCkgPT09IDApIHtcbiAgICAgIFNiYkRhcmtNb2RlQ29udHJvbGxlci5fb2JzZXJ2ZXIhLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbWF0Y2hlcygpOiBib29sZWFuIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY29sb3JTY2hlbWUgPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2hvc3QpLmdldFByb3BlcnR5VmFsdWUoJ2NvbG9yLXNjaGVtZScpO1xuICAgIGNvbnN0IGRhcmtBdmFpbGFibGUgPSBjb2xvclNjaGVtZS5pbmNsdWRlcygnZGFyaycpO1xuICAgIGNvbnN0IGRhcmtPbmx5ID0gY29sb3JTY2hlbWUudHJpbSgpID09PSAnZGFyayc7XG4gICAgY29uc3QgcHJlZmVycmVkRGFya01vZGUgPSBzdXBlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlEYXJrTW9kZSkgYXMgYm9vbGVhbjtcblxuICAgIHJldHVybiAocHJlZmVycmVkRGFya01vZGUgJiYgZGFya0F2YWlsYWJsZSkgfHwgZGFya09ubHk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQWNBLElBQWEsNEJBQTRCO0FBQ3pDLElBQWEsd0JBQXdCO0FBQ3JDLElBQWEscUJBQXFCO0FBQ2xDLElBQWEsNkJBQTZCO0FBQzFDLElBQWEsc0NBQXNDLGVBQWUscUJBQW9CO0FBQ3RGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCO0FBQ3hGLElBQWEsdUNBQXVDLGVBQWUsc0JBQXFCOzs7Ozs7QUFvQnhGLElBQU0scUNBQXFCLElBQUksS0FBOEI7Ozs7Ozs7OztBQVU3RCxJQUFhLDRCQUFiLE1BQXNDO0NBQ3BDLFlBQ0UsTUFDUSxVQUFnRDtBQUFoRCxPQUFBLFdBQUE7QUFFUixPQUFLLGNBQWMsS0FBSzs7Ozs7OztDQVFuQixRQUFRLE9BQWE7QUFHMUIsU0FBTyxXQUFXLE9BQU8sV0FBVyxNQUFNLENBQUM7O0NBR3RDLGdCQUFhO0FBQ2xCLE1BQUksU0FDRjtBQUdGLE9BQUssTUFBTSxDQUFDLE9BQU8sWUFBWSxPQUFPLFFBQVEsS0FBSyxTQUFTLEVBQUU7R0FDNUQsTUFBTSxhQUFhLG1CQUFtQixJQUFJLE1BQU07QUFDaEQsT0FBSSxXQUNGLFlBQVcsU0FBUyxJQUFJLFFBQVE7UUFDM0I7SUFDTCxNQUFNLGlCQUFpQixXQUFXLE1BQU07SUFDeEMsTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNuQyxNQUFNLGdCQUFnQixNQUNwQixTQUFTLFNBQVMsTUFBTSxFQUFFLEVBQUUsUUFBUSxDQUFDO0FBQ3ZDLG1CQUFlLGlCQUFpQixVQUFVLGFBQWE7QUFDdkQsdUJBQW1CLElBQUksT0FBTztLQUFFO0tBQWdCO0tBQVU7S0FBYyxDQUFDOzs7O0NBS3hFLG1CQUFnQjtBQUNyQixPQUFLLE1BQU0sQ0FBQyxPQUFPLFlBQVksT0FBTyxRQUFRLEtBQUssU0FBUyxFQUFFO0dBQzVELE1BQU0sYUFBYSxtQkFBbUIsSUFBSSxNQUFNO0FBQ2hELE9BQUksWUFBWTtBQUNkLGVBQVcsU0FBUyxPQUFPLFFBQVE7QUFDbkMsUUFBSSxDQUFDLFdBQVcsU0FBUyxLQUN2QixvQkFBbUIsT0FBTyxNQUFNOzs7Ozs7Ozs7Ozs7O0FBZTFDLElBQWEsd0JBQWIsTUFBYSw4QkFBOEIsMEJBQXlCOzs7QUFFbkQsT0FBQSxlQUNiLEtBQUsscUJBQXFCOzs7O0FBR0osT0FBQSxZQUFZLENBQUMsV0FDakMsSUFBSSxrQkFBa0IsY0FBYTtBQUNqQyxPQUFJLFVBQVUsR0FBRyxhQUFhLFNBQVMsZ0JBQWdCLGFBQWEsUUFBUSxFQUFFO0lBQzVFLE1BQU0sVUFBVSxLQUFLLHFCQUFxQjtBQUMxQyxRQUFJLEtBQUssaUJBQWlCLFNBQVM7QUFDakMsMkJBQXNCLGVBQWU7QUFDckMsVUFBSyxlQUFlOzs7SUFHeEIsR0FDRjs7O0FBRW9CLE9BQUEsa0JBQWtCO0dBQ3hDLGlCQUFpQixDQUFDLFFBQVE7R0FDMUIsbUJBQW1CO0dBQ3BCOztDQUlELFlBQ1UsT0FDUixVQUFnQztFQUVoQyxNQUFNLGlDQUE0QztBQUNoRCxZQUFTLEtBQUssU0FBUyxDQUFDO0FBQ3hCLG9CQUFpQixLQUFLLE1BQU0sQ0FBQyxPQUFPLFFBQVEsS0FBSyxTQUFTLENBQUM7O0FBRTdELFFBQU0sT0FBTyxHQUNWLHdCQUF3QiwwQkFDMUIsQ0FBQztBQVRNLE9BQUEsUUFBQTtBQVVSLE9BQUssNEJBQTRCOztDQUczQixPQUFPLHNCQUFtQjtBQUNoQyxNQUFJLFNBQ0YsUUFBTztFQUVULE1BQU0sWUFBWSxTQUFTLGdCQUFnQjtBQUMzQyxTQUNHO0dBQUM7R0FBa0I7R0FBWTtHQUFzQixDQUFDLE1BQU0sU0FDM0QsVUFBVSxTQUFTLEtBQUssQ0FDekIsSUFBSTs7Ozs7O0NBU0YsT0FBTyxnQkFBYTtFQUN6QixNQUFNLFFBQVEsbUJBQW1CLElBQUksc0JBQXNCO0FBQzNELE1BQUksTUFDRixPQUFNLFNBQVMsU0FBUyxNQUFNLEVBQUUsTUFBTSxlQUFlLFFBQVEsQ0FBQzs7Q0FJbEQsZ0JBQWE7RUFDM0IsTUFBTSxtQkFDSCxtQkFBbUIsSUFBQSwrQkFBMEIsRUFBRSxTQUFTLFFBQVEsT0FBTztBQUMxRSxRQUFNLGVBQWU7QUFFckIsTUFBSSxnQkFDRix1QkFBc0IsVUFBVyxRQUMvQixTQUFTLGlCQUNULHNCQUFzQixnQkFDdkI7QUFHSCxPQUFLLDJCQUEyQjs7Q0FHbEIsbUJBQWdCO0FBQzlCLFFBQU0sa0JBQWtCO0FBRXhCLE9BQUssbUJBQW1CLElBQUEsK0JBQTBCLEVBQUUsU0FBUyxRQUFRLE9BQU8sRUFDMUUsdUJBQXNCLFVBQVcsWUFBWTs7Q0FJakMsVUFBTztBQUNyQixNQUFJLFNBQ0YsUUFBTztFQUVULE1BQU0sY0FBYyxpQkFBaUIsS0FBSyxNQUFNLENBQUMsaUJBQWlCLGVBQWU7RUFDakYsTUFBTSxnQkFBZ0IsWUFBWSxTQUFTLE9BQU87RUFDbEQsTUFBTSxXQUFXLFlBQVksTUFBTSxLQUFLO0FBR3hDLFNBRjBCLE1BQU0sUUFBQSwrQkFFeEIsSUFBcUIsaUJBQWtCIn0=