@carto/kepler.gl 0.0.60 → 0.0.61-count-aggregation.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/common/item-selector/dropdown-list.js +2 -7
- package/dist/components/common/item-selector/item-selector.js +8 -9
- package/dist/components/common/portaled.js +2 -2
- package/dist/components/map/map-popover.js +2 -2
- package/dist/components/map-container.js +2 -2
- package/dist/components/side-panel/layer-panel/custom-marker-categories-selector.js +45 -0
- package/dist/constants/default-settings.js +8 -5
- package/dist/layers/base-layer.js +13 -3
- package/package.json +7 -4
- package/src/components/common/item-selector/dropdown-list.js +1 -1
- package/src/components/common/item-selector/item-selector.js +6 -5
- package/src/components/common/portaled.js +1 -1
- package/src/components/map/map-popover.js +1 -1
- package/src/components/map-container.js +1 -1
- package/src/components/side-panel/layer-panel/custom-marker-categories-selector.js +33 -0
- package/src/constants/default-settings.js +8 -0
- package/src/layers/base-layer.js +9 -3
|
@@ -116,12 +116,7 @@ var DropdownList = /*#__PURE__*/function (_Component) {
|
|
|
116
116
|
|
|
117
117
|
(0, _createClass2["default"])(DropdownList, [{
|
|
118
118
|
key: "_resetState",
|
|
119
|
-
value: function _resetState(callback) {
|
|
120
|
-
this.setState({
|
|
121
|
-
currentOption: {},
|
|
122
|
-
submenuVisible: false,
|
|
123
|
-
submenuPosition: {}
|
|
124
|
-
}, callback);
|
|
119
|
+
value: function _resetState(callback) {// this.setState({currentOption: {}, submenuVisible: false, submenuPosition: {}}, callback);
|
|
125
120
|
}
|
|
126
121
|
}, {
|
|
127
122
|
key: "_onClick",
|
|
@@ -313,4 +308,4 @@ exports["default"] = DropdownList;
|
|
|
313
308
|
selectionIndex: null,
|
|
314
309
|
withSubOptions: false
|
|
315
310
|
});
|
|
316
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2Ryb3Bkb3duLWxpc3QuanMiXSwibmFtZXMiOlsiY2xhc3NMaXN0IiwibGlzdCIsImxpc3RIZWFkZXIiLCJsaXN0U2VjdGlvbiIsImxpc3RJdGVtIiwibGlzdEl0ZW1BbmNob3IiLCJkZWZhdWx0RGlzcGxheSIsImQiLCJMaXN0SXRlbSIsInZhbHVlIiwiZGlzcGxheU9wdGlvbiIsIkRyb3Bkb3duTGlzdFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsImxpZ2h0IiwidGhlbWUiLCJkcm9wZG93bkxpc3RCZ2RMVCIsImRyb3Bkb3duTGlzdEJnZCIsImRyb3Bkb3duTGlzdEJvcmRlclRvcExUIiwiZHJvcGRvd25MaXN0Qm9yZGVyVG9wIiwiZHJvcGRvd25MaXN0TFQiLCJkcm9wZG93bkxpc3QiLCJEcm9wZG93bkxpc3RDb250YWluZXIiLCJJdGVtIiwiRHJvcGRvd25MaXN0IiwiY3VycmVudE9wdGlvbiIsInN1Ym1lbnVWaXNpYmxlIiwic3VibWVudVBvc2l0aW9uIiwic3ViT3B0aW9ucyIsImNhbGxiYWNrIiwic2V0U3RhdGUiLCJvcHRpb24iLCJzdWJPcHRpb24iLCJldmVudCIsIm9wdGlvblNlbGVjdGVkIiwic2VsZWN0ZWRBZ2dyZWdhdG9yIiwiaWQiLCJ3aXRoU3ViT3B0aW9ucyIsImFnZ3JlZ2F0b3JzIiwib25PcHRpb25TZWxlY3RlZCIsImVsIiwidGFyZ2V0IiwicHJldmlvdXNTdGF0ZSIsInRvcCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImxlZnQiLCJyZWYiLCJjdXJyZW50IiwicmlnaHQiLCJwcmV2UHJvcHMiLCJzZWFyY2hFbnRyeVZhbHVlIiwiX3Jlc2V0U3RhdGUiLCJzdWJNZW51UG9zaXRpb24iLCJmaXhlZE9wdGlvbnMiLCJkaXNwbGF5Iiwib3B0aW9ucyIsImxlbmd0aCIsImFsbG93Q3VzdG9tVmFsdWVzIiwidmFsdWVPZmZzZXQiLCJBcnJheSIsImlzQXJyYXkiLCJjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50IiwibWFwIiwiaSIsImFjdGl2ZSIsInNlbGVjdGlvbkluZGV4IiwiaG92ZXIiLCJzdGF0ZSIsImZpeGVkIiwiZSIsImhhc1N1Yk9wdGlvbnMiLCJfb25DbGljayIsIl9vbk1vdXNlT3ZlciIsIm92ZXJsYXkiLCJ3aWR0aCIsImhlaWdodCIsImEiLCJGSUVMRF9BR0dSRUdBVE9SUyIsImZpbmQiLCJhbSIsImFnZ3JlZ2F0b3IiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwiYW55IiwibnVtYmVyIiwiY3VzdG9tQ2xhc3NlcyIsIm9iamVjdCIsImN1c3RvbVZhbHVlcyIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50Iiwib25lT2ZUeXBlIiwiZWxlbWVudCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiZGVmYXVsdENsYXNzTmFtZXMiLCJib29sIiwiYXJlUmVzdWx0c1RydW5jYXRlZCIsInJlc3VsdHNUcnVuY2F0ZWRNZXNzYWdlIiwic3RyaW5nIiwibGlzdEl0ZW1Db21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxTQUFTLEdBQUc7QUFDdkJDLEVBQUFBLElBQUksRUFBRSxlQURpQjtBQUV2QkMsRUFBQUEsVUFBVSxFQUFFLGNBRlc7QUFHdkJDLEVBQUFBLFdBQVcsRUFBRSxlQUhVO0FBSXZCQyxFQUFBQSxRQUFRLEVBQUUsWUFKYTtBQUt2QkMsRUFBQUEsY0FBYyxFQUFFO0FBTE8sQ0FBbEI7OztBQVFQLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQUMsQ0FBQztBQUFBLFNBQUlBLENBQUo7QUFBQSxDQUF4Qjs7QUFDTyxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBVztBQUFBLE1BQUVDLEtBQUYsUUFBRUEsS0FBRjtBQUFBLGdDQUFTQyxhQUFUO0FBQUEsTUFBU0EsYUFBVCxtQ0FBeUJKLGNBQXpCO0FBQUEsc0JBQ3RCO0FBQU0sSUFBQSxTQUFTLEVBQUVOLFNBQVMsQ0FBQ0s7QUFBM0IsS0FBNENLLGFBQWEsQ0FBQ0QsS0FBRCxDQUF6RCxDQURzQjtBQUFBLENBQWpCOzs7O0FBSVAsSUFBTUUsbUJBQW1CLEdBQUdDLDZCQUFPQyxHQUFWLGlLQUNILFVBQUFDLEtBQUs7QUFBQSxTQUN2QkEsS0FBSyxDQUFDQyxLQUFOLEdBQWNELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxpQkFBMUIsR0FBOENILEtBQUssQ0FBQ0UsS0FBTixDQUFZRSxlQURuQztBQUFBLENBREYsRUFJbkIsVUFBQUosS0FBSztBQUFBLFNBQ0xBLEtBQUssQ0FBQ0MsS0FBTixHQUFjRCxLQUFLLENBQUNFLEtBQU4sQ0FBWUcsdUJBQTFCLEdBQW9ETCxLQUFLLENBQUNFLEtBQU4sQ0FBWUkscUJBRDNEO0FBQUEsQ0FKYyxFQU1yQixVQUFBTixLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxLQUFOLEdBQWNELEtBQUssQ0FBQ0UsS0FBTixDQUFZSyxjQUExQixHQUEyQ1AsS0FBSyxDQUFDRSxLQUFOLENBQVlNLFlBQTVEO0FBQUEsQ0FOZ0IsQ0FBekI7O0FBU0EsSUFBTUMscUJBQXFCLEdBQUdYLDZCQUFPQyxHQUFWLGlIQUEzQjs7QUFJQSxJQUFNVyxJQUFJLEdBQUdaLDZCQUFPQyxHQUFWLGdaQUFWOztJQW9CcUJZLFk7Ozs7Ozs7Ozs7Ozs7Ozs4RkFpQ1g7QUFDTkMsTUFBQUEsYUFBYSxFQUFFLEVBRFQ7QUFFTkMsTUFBQUEsY0FBYyxFQUFFLEtBRlY7QUFHTkMsTUFBQUEsZUFBZSxFQUFFO0FBSFgsSztzR0FNUSxDQUFDLENBQUMsTUFBS2QsS0FBTCxDQUFXZSxVO3lHQUV2Qix1Qjs7Ozs7O1dBRU4scUJBQVlDLFFBQVosRUFBc0I7QUFDcEIsV0FBS0MsUUFBTCxDQUFjO0FBQUNMLFFBQUFBLGFBQWEsRUFBRSxFQUFoQjtBQUFvQkMsUUFBQUEsY0FBYyxFQUFFLEtBQXBDO0FBQTJDQyxRQUFBQSxlQUFlLEVBQUU7QUFBNUQsT0FBZCxFQUErRUUsUUFBL0U7QUFDRDs7O1dBRUQsa0JBQVNFLE1BQVQsRUFBaUJDLFNBQWpCLEVBQTRCQyxLQUE1QixFQUFtQztBQUNqQyxVQUFNQyxjQUFjLEdBQ2xCLHlCQUFPSCxNQUFQLE1BQWtCLFFBQWxCLEdBQ0lBLE1BREosbUNBR1NBLE1BSFQ7QUFJTUksUUFBQUEsa0JBQWtCLEVBQUVILFNBQUYsYUFBRUEsU0FBRix1QkFBRUEsU0FBUyxDQUFFSTtBQUpyQyxRQURGOztBQU9BLFVBQ0csS0FBS3ZCLEtBQUwsQ0FBV3dCLGNBQVgsS0FBOEJMLFNBQVMsU0FBVCxJQUFBQSxTQUFTLFdBQVQsSUFBQUEsU0FBUyxDQUFFSSxFQUFYLElBQWlCLENBQUNMLE1BQU0sQ0FBQ08sV0FBdkQsQ0FBRCxJQUNBLENBQUMsS0FBS3pCLEtBQUwsQ0FBV3dCLGNBRmQsRUFHRTtBQUNBLGFBQUt4QixLQUFMLENBQVcwQixnQkFBWCxDQUE0QkwsY0FBNUIsRUFBNENELEtBQTVDO0FBQ0Q7QUFDRjs7O1dBRUQsc0JBQWFGLE1BQWIsRUFBcUJFLEtBQXJCLEVBQTRCO0FBQUE7O0FBQzFCLFVBQU1PLEVBQUUsR0FBR1AsS0FBSyxDQUFDUSxNQUFqQjtBQUNBLFdBQUtYLFFBQUwsQ0FBYyxVQUFDWSxhQUFEO0FBQUE7O0FBQUEsZUFBb0I7QUFDaENqQixVQUFBQSxhQUFhLEVBQUVNLE1BRGlCO0FBRWhDTCxVQUFBQSxjQUFjLEVBQUUsSUFGZ0I7QUFHaENDLFVBQUFBLGVBQWUsRUFBRTtBQUNmZ0IsWUFBQUEsR0FBRyxFQUFFSCxFQUFFLENBQUNJLHFCQUFILEdBQTJCRCxHQURqQjtBQUVmRSxZQUFBQSxJQUFJLEVBQUVILGFBQWEsQ0FBQ2YsZUFBZCxDQUE4QmtCLElBQTlCLEdBQW9DSCxhQUFhLENBQUNmLGVBQWQsQ0FBOEJrQixJQUFsRSx5QkFBeUUsTUFBSSxDQUFDQyxHQUFMLENBQVNDLE9BQWxGLHVEQUF5RSxtQkFBa0JILHFCQUFsQixHQUEwQ0k7QUFGMUc7QUFIZSxTQUFwQjtBQUFBLE9BQWQ7QUFRRDs7O1dBRUQsNEJBQW1CQyxTQUFuQixFQUE4QjtBQUM1QixVQUFJQSxTQUFTLENBQUNDLGdCQUFWLEtBQStCLEtBQUtyQyxLQUFMLENBQVdxQyxnQkFBOUMsRUFBZ0U7QUFDOUQsYUFBS0MsV0FBTDtBQUNEO0FBQ0Y7OztXQUVELDZCQUFvQjtBQUFBOztBQUNsQixXQUFLckIsUUFBTCxDQUFjO0FBQ1pzQixRQUFBQSxlQUFlLEVBQUU7QUFBRVAsVUFBQUEsSUFBSSx1QkFBRSxLQUFLQyxHQUFMLENBQVNDLE9BQVgsc0RBQUUsa0JBQWtCSCxxQkFBbEIsR0FBMENJO0FBQWxEO0FBREwsT0FBZDtBQUdEOzs7V0FFRCxrQkFBUztBQUFBO0FBQUE7QUFBQTs7QUFBQSx3QkFDdUIsS0FBS25DLEtBRDVCO0FBQUEsVUFDQXdDLFlBREEsZUFDQUEsWUFEQTtBQUFBLFVBQ2N2QyxLQURkLGVBQ2NBLEtBRGQ7QUFFUCxVQUFNd0MsT0FBTyxHQUFHLEtBQUt6QyxLQUFMLENBQVdKLGFBQTNCLENBRk8sQ0FJUDs7QUFDQSxVQUFJLENBQUMsS0FBS0ksS0FBTCxDQUFXMEMsT0FBWCxDQUFtQkMsTUFBcEIsSUFBOEIsS0FBSzNDLEtBQUwsQ0FBVzRDLGlCQUFYLElBQWdDLENBQWxFLEVBQXFFO0FBQ25FLGVBQU8sS0FBUDtBQUNEOztBQUVELFVBQU1DLFdBQVcsR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNQLFlBQWQsSUFBOEJBLFlBQVksQ0FBQ0csTUFBM0MsR0FBb0QsQ0FBeEUsQ0FUTyxDQVdQO0FBQ0E7O0FBQ0EsMEJBQ0UsZ0NBQUMscUJBQUQ7QUFBdUIsUUFBQSxZQUFZLEVBQUU7QUFBQSxpQkFBTSxNQUFJLENBQUNMLFdBQUwsRUFBTjtBQUFBO0FBQXJDLHNCQUNFLGdDQUFDLG1CQUFEO0FBQXFCLFFBQUEsU0FBUyxFQUFFcEQsU0FBUyxDQUFDQyxJQUExQztBQUFnRCxRQUFBLEtBQUssRUFBRWM7QUFBdkQsU0FDRyxLQUFLRCxLQUFMLENBQVdnRCx5QkFBWCxnQkFDQztBQUFLLFFBQUEsU0FBUyxFQUFFOUQsU0FBUyxDQUFDRTtBQUExQixzQkFDRSxxQ0FBTSxLQUFOLENBQVkseUJBQVosT0FERixDQURELEdBSUcsSUFMTixlQU1FO0FBQUssUUFBQSxHQUFHLEVBQUUsS0FBSzZDO0FBQWYsU0FDR1ksV0FBVyxHQUFHLENBQWQsZ0JBQ0M7QUFBSyxRQUFBLFNBQVMsRUFBRTNELFNBQVMsQ0FBQ0c7QUFBMUIsU0FDR21ELFlBQVksQ0FBQ1MsR0FBYixDQUFpQixVQUFDdEQsS0FBRCxFQUFRdUQsQ0FBUjtBQUFBOztBQUFBLDRCQUNoQjtBQUNFLFVBQUEsU0FBUyxFQUFFLDRCQUFXaEUsU0FBUyxDQUFDSSxRQUFyQixFQUErQjtBQUN4QzZELFlBQUFBLE1BQU0sRUFBRSxNQUFJLENBQUNuRCxLQUFMLENBQVdvRCxjQUFYLEtBQThCRixDQURFO0FBRXhDRyxZQUFBQSxLQUFLLEVBQUUxRCxLQUFLLENBQUM0QixFQUFOLElBQWEsMEJBQUEsTUFBSSxDQUFDK0IsS0FBTCxDQUFXMUMsYUFBWCxnRkFBMEJXLEVBQTFCLE1BQWlDNUIsS0FBSyxDQUFDNEIsRUFGbkI7QUFHeENnQyxZQUFBQSxLQUFLLEVBQUU7QUFIaUMsV0FBL0IsQ0FEYjtBQU1FLFVBQUEsR0FBRyxZQUFLZCxPQUFPLENBQUM5QyxLQUFELENBQVosY0FBdUJ1RCxDQUF2QixDQU5MO0FBT0UsVUFBQSxXQUFXLEVBQUUscUJBQUFNLENBQUM7QUFBQSxtQkFBSSxDQUFDLE1BQUksQ0FBQ0MsYUFBTixJQUF1QixNQUFJLENBQUNDLFFBQUwsQ0FBYy9ELEtBQWQsRUFBcUIsSUFBckIsRUFBMkI2RCxDQUEzQixDQUEzQjtBQUFBLFdBUGhCO0FBUUUsVUFBQSxPQUFPLEVBQUUsaUJBQUFBLENBQUM7QUFBQSxtQkFBSSxDQUFDLE1BQUksQ0FBQ0MsYUFBTixJQUF1QixNQUFJLENBQUNDLFFBQUwsQ0FBYy9ELEtBQWQsRUFBcUIsSUFBckIsRUFBMkI2RCxDQUEzQixDQUEzQjtBQUFBLFdBUlo7QUFTRSxVQUFBLFlBQVksRUFBRSxzQkFBQUEsQ0FBQztBQUFBLG1CQUFJLE1BQUksQ0FBQ0csWUFBTCxDQUFrQmhFLEtBQWxCLEVBQXlCNkQsQ0FBekIsQ0FBSjtBQUFBO0FBVGpCLHdCQVdFLGdDQUFDLE1BQUQsQ0FBTSxLQUFOLENBQVksdUJBQVo7QUFBb0MsVUFBQSxLQUFLLEVBQUU3RCxLQUEzQztBQUFrRCxVQUFBLGFBQWEsRUFBRThDO0FBQWpFLFVBWEYsQ0FEZ0I7QUFBQSxPQUFqQixDQURILENBREQsR0FrQkcsSUFuQk4sRUFxQkcsS0FBS3pDLEtBQUwsQ0FBVzBDLE9BQVgsQ0FBbUJPLEdBQW5CLENBQXVCLFVBQUN0RCxLQUFELEVBQVF1RCxDQUFSO0FBQUE7O0FBQUEsNEJBQ3RCLGdDQUFDLElBQUQ7QUFDRSxVQUFBLFNBQVMsRUFBRSw0QkFBV2hFLFNBQVMsQ0FBQ0ksUUFBckIsRUFBK0I7QUFDeEM2RCxZQUFBQSxNQUFNLEVBQUUsTUFBSSxDQUFDbkQsS0FBTCxDQUFXb0QsY0FBWCxLQUE4QkYsQ0FBQyxHQUFHTCxXQURGO0FBRXhDUSxZQUFBQSxLQUFLLEVBQUUxRCxLQUFLLENBQUM0QixFQUFOLElBQWEsMkJBQUEsTUFBSSxDQUFDK0IsS0FBTCxDQUFXMUMsYUFBWCxrRkFBMEJXLEVBQTFCLE1BQWlDNUIsS0FBSyxDQUFDNEI7QUFGbkIsV0FBL0IsQ0FEYjtBQUtFLFVBQUEsR0FBRyxZQUFLa0IsT0FBTyxDQUFDOUMsS0FBRCxDQUFaLGNBQXVCdUQsQ0FBdkIsQ0FMTDtBQU1FLFVBQUEsV0FBVyxFQUFFLHFCQUFBTSxDQUFDO0FBQUEsbUJBQUksQ0FBQyxNQUFJLENBQUNDLGFBQU4sSUFBdUIsTUFBSSxDQUFDQyxRQUFMLENBQWMvRCxLQUFkLEVBQXFCLElBQXJCLEVBQTJCNkQsQ0FBM0IsQ0FBM0I7QUFBQSxXQU5oQjtBQU9FLFVBQUEsT0FBTyxFQUFFLGlCQUFBQSxDQUFDO0FBQUEsbUJBQUksQ0FBQyxNQUFJLENBQUNDLGFBQU4sSUFBdUIsTUFBSSxDQUFDQyxRQUFMLENBQWMvRCxLQUFkLEVBQXFCLElBQXJCLEVBQTJCNkQsQ0FBM0IsQ0FBM0I7QUFBQSxXQVBaO0FBUUUsVUFBQSxZQUFZLEVBQUUsc0JBQUFBLENBQUM7QUFBQSxtQkFBSSxNQUFJLENBQUNHLFlBQUwsQ0FBa0JoRSxLQUFsQixFQUF5QjZELENBQXpCLENBQUo7QUFBQTtBQVJqQix3QkFVRSxnQ0FBQyxNQUFELENBQU0sS0FBTixDQUFZLHVCQUFaO0FBQW9DLFVBQUEsS0FBSyxFQUFFN0QsS0FBM0M7QUFBa0QsVUFBQSxhQUFhLEVBQUU4QztBQUFqRSxVQVZGLEVBV0csTUFBSSxDQUFDekMsS0FBTCxDQUFXd0IsY0FBWCxJQUE2QjdCLEtBQUssQ0FBQzhCLFdBQW5DLGlCQUFrRCxnQ0FBQyxtQkFBRCxPQVhyRCxDQURzQjtBQUFBLE9BQXZCLENBckJILENBTkYsQ0FERixFQTZDRyxLQUFLekIsS0FBTCxDQUFXd0IsY0FBWDtBQUFBO0FBQ0M7QUFDQTtBQUNBO0FBQUssUUFBQSxLQUFLLEVBQUU7QUFBQ2lCLFVBQUFBLE9BQU8sRUFBRTtBQUFWO0FBQVosc0JBQ0UsZ0NBQUMsb0JBQUQ7QUFDRSxRQUFBLFFBQVEsRUFBRSxLQUFLYSxLQUFMLENBQVcxQyxhQUFYLElBQTRCLEtBQUswQyxLQUFMLENBQVcxQyxhQUFYLENBQXlCYSxXQURqRTtBQUVFLFFBQUEsSUFBSSxFQUFFLEtBQUs2QixLQUFMLENBQVd4QyxlQUFYLENBQTJCa0IsSUFGbkM7QUFHRSxRQUFBLEdBQUcsRUFBRSxLQUFLc0IsS0FBTCxDQUFXeEMsZUFBWCxDQUEyQmdCLEdBSGxDO0FBSUUsUUFBQSxVQUFVLEVBQUU7QUFDVjhCLFVBQUFBLE9BQU8sRUFBRTtBQUNQQyxZQUFBQSxLQUFLLEVBQUUsQ0FEQTtBQUVQQyxZQUFBQSxNQUFNLEVBQUU7QUFGRDtBQURDO0FBSmQsc0JBV0UsZ0NBQUMsK0JBQUQ7QUFDRSxRQUFBLFFBQVEsRUFBRSxLQUFLUixLQUFMLENBQVd4QyxlQUR2QjtBQUVFLFFBQUEsT0FBTywyQkFBRSxLQUFLd0MsS0FBTCxDQUFXMUMsYUFBYixvRkFBRSxzQkFBMEJhLFdBQTVCLDJEQUFFLHVCQUF1Q3dCLEdBQXZDLENBQTJDLFVBQUFjLENBQUM7QUFBQSxpQkFDbkRDLG1DQUFrQkMsSUFBbEIsQ0FBdUIsVUFBQUMsRUFBRTtBQUFBLG1CQUFJQSxFQUFFLENBQUMzQyxFQUFILEtBQVV3QyxDQUFkO0FBQUEsV0FBekIsQ0FEbUQ7QUFBQSxTQUE1QyxDQUZYO0FBS0UsUUFBQSxPQUFPLEVBQUUsaUJBQUNJLFVBQUQsRUFBYVgsQ0FBYjtBQUFBLGlCQUFtQixNQUFJLENBQUNFLFFBQUwsQ0FBYyxNQUFJLENBQUNKLEtBQUwsQ0FBVzFDLGFBQXpCLEVBQXdDdUQsVUFBeEMsRUFBb0RYLENBQXBELENBQW5CO0FBQUE7QUFMWCxRQVhGLENBREYsQ0FoREosQ0FERjtBQXlFRDs7O0VBN0t1Q1ksZ0I7OztpQ0FBckJ6RCxZLGVBQ0E7QUFDakIrQixFQUFBQSxPQUFPLEVBQUUyQixzQkFBVUMsT0FBVixDQUFrQkQsc0JBQVVFLEdBQTVCLENBRFE7QUFFakJ4RCxFQUFBQSxVQUFVLEVBQUVzRCxzQkFBVUMsT0FBVixDQUFrQkQsc0JBQVVFLEdBQTVCLENBRks7QUFHakIzQixFQUFBQSxpQkFBaUIsRUFBRXlCLHNCQUFVRyxNQUhaO0FBSWpCQyxFQUFBQSxhQUFhLEVBQUVKLHNCQUFVSyxNQUpSO0FBS2pCQyxFQUFBQSxZQUFZLEVBQUVOLHNCQUFVQyxPQUFWLENBQWtCRCxzQkFBVUUsR0FBNUIsQ0FMRztBQU1qQkssRUFBQUEsdUJBQXVCLEVBQUVQLHNCQUFVUSxTQUFWLENBQW9CLENBQUNSLHNCQUFVUyxPQUFYLEVBQW9CVCxzQkFBVVUsSUFBOUIsQ0FBcEIsQ0FOUjtBQU9qQi9CLEVBQUFBLHlCQUF5QixFQUFFcUIsc0JBQVVRLFNBQVYsQ0FBb0IsQ0FBQ1Isc0JBQVVTLE9BQVgsRUFBb0JULHNCQUFVVSxJQUE5QixDQUFwQixDQVBWO0FBUWpCM0IsRUFBQUEsY0FBYyxFQUFFaUIsc0JBQVVHLE1BUlQ7QUFTakI5QyxFQUFBQSxnQkFBZ0IsRUFBRTJDLHNCQUFVVSxJQVRYO0FBVWpCbkYsRUFBQUEsYUFBYSxFQUFFeUUsc0JBQVVVLElBQVYsQ0FBZUMsVUFWYjtBQVdqQkMsRUFBQUEsaUJBQWlCLEVBQUVaLHNCQUFVYSxJQVhaO0FBWWpCQyxFQUFBQSxtQkFBbUIsRUFBRWQsc0JBQVVhLElBWmQ7QUFhakJFLEVBQUFBLHVCQUF1QixFQUFFZixzQkFBVWdCLE1BYmxCO0FBY2pCQyxFQUFBQSxpQkFBaUIsRUFBRWpCLHNCQUFVVSxJQWRaO0FBZWpCMUMsRUFBQUEsZ0JBQWdCLEVBQUVnQyxzQkFBVWdCLE1BZlg7QUFnQmpCN0QsRUFBQUEsY0FBYyxFQUFFNkMsc0JBQVVhO0FBaEJULEM7aUNBREF2RSxZLGtCQW9CRztBQUNwQjhELEVBQUFBLGFBQWEsRUFBRSxFQURLO0FBRXBCRyxFQUFBQSx1QkFBdUIsRUFBRWxGLFFBRkw7QUFHcEJzRCxFQUFBQSx5QkFBeUIsRUFBRSxJQUhQO0FBSXBCSixFQUFBQSxpQkFBaUIsRUFBRSxDQUpDO0FBS3BCK0IsRUFBQUEsWUFBWSxFQUFFLEVBTE07QUFNcEIvRSxFQUFBQSxhQUFhLEVBQUVKLGNBTks7QUFPcEJrQyxFQUFBQSxnQkFBZ0IsRUFBRSw0QkFBTSxDQUFFLENBUE47QUFRcEJ1RCxFQUFBQSxpQkFBaUIsRUFBRSxJQVJDO0FBU3BCN0IsRUFBQUEsY0FBYyxFQUFFLElBVEk7QUFVcEI1QixFQUFBQSxjQUFjLEVBQUU7QUFWSSxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEl0ZW1TZWxlY3RvclN1Ym1lbnUgZnJvbSAnLi9pdGVtLXNlbGVjdG9yLXN1Ym1lbnUnO1xuaW1wb3J0IHtDaGV2cm9uUmlnaHR9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCB7RklFTERfQUdHUkVHQVRPUlN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCBQb3J0YWxlZCBmcm9tICcuLi9wb3J0YWxlZCc7XG5cbmV4cG9ydCBjb25zdCBjbGFzc0xpc3QgPSB7XG4gIGxpc3Q6ICdsaXN0LXNlbGVjdG9yJyxcbiAgbGlzdEhlYWRlcjogJ2xpc3RfX2hlYWRlcicsXG4gIGxpc3RTZWN0aW9uOiAnbGlzdF9fc2VjdGlvbicsXG4gIGxpc3RJdGVtOiAnbGlzdF9faXRlbScsXG4gIGxpc3RJdGVtQW5jaG9yOiAnbGlzdF9faXRlbV9fYW5jaG9yJ1xufTtcblxuY29uc3QgZGVmYXVsdERpc3BsYXkgPSBkID0+IGQ7XG5leHBvcnQgY29uc3QgTGlzdEl0ZW0gPSAoe3ZhbHVlLCBkaXNwbGF5T3B0aW9uID0gZGVmYXVsdERpc3BsYXl9KSA9PiAoXG4gIDxzcGFuIGNsYXNzTmFtZT17Y2xhc3NMaXN0Lmxpc3RJdGVtQW5jaG9yfT57ZGlzcGxheU9wdGlvbih2YWx1ZSl9PC9zcGFuPlxuKTtcblxuY29uc3QgRHJvcGRvd25MaXN0V3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5saWdodCA/IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZExUIDogcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QmdkfTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCb3JkZXJUb3BMVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJvcmRlclRvcH07XG4gICR7cHJvcHMgPT4gKHByb3BzLmxpZ2h0ID8gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0TFQgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3QpfTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuICAmOmhvdmVyLCAmLmhvdmVyIHtcbiAgICBzdmcge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyb3Bkb3duTGlzdCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb3B0aW9uczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgc3ViT3B0aW9uczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgYWxsb3dDdXN0b21WYWx1ZXM6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgY3VzdG9tQ2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjdXN0b21WYWx1ZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZWxlbWVudCwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgICBjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZWxlbWVudCwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgICBzZWxlY3Rpb25JbmRleDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBvbk9wdGlvblNlbGVjdGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkaXNwbGF5T3B0aW9uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGRlZmF1bHRDbGFzc05hbWVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBhcmVSZXN1bHRzVHJ1bmNhdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICByZXN1bHRzVHJ1bmNhdGVkTWVzc2FnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsaXN0SXRlbUNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc2VhcmNoRW50cnlWYWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB3aXRoU3ViT3B0aW9uczogUHJvcFR5cGVzLmJvb2xcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGN1c3RvbUNsYXNzZXM6IHt9LFxuICAgIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50OiBMaXN0SXRlbSxcbiAgICBjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50OiBudWxsLFxuICAgIGFsbG93Q3VzdG9tVmFsdWVzOiAwLFxuICAgIGN1c3RvbVZhbHVlczogW10sXG4gICAgZGlzcGxheU9wdGlvbjogZGVmYXVsdERpc3BsYXksXG4gICAgb25PcHRpb25TZWxlY3RlZDogKCkgPT4ge30sXG4gICAgZGVmYXVsdENsYXNzTmFtZXM6IHRydWUsXG4gICAgc2VsZWN0aW9uSW5kZXg6IG51bGwsXG4gICAgd2l0aFN1Yk9wdGlvbnM6IGZhbHNlXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgY3VycmVudE9wdGlvbjoge30sXG4gICAgc3VibWVudVZpc2libGU6IGZhbHNlLFxuICAgIHN1Ym1lbnVQb3NpdGlvbjoge31cbiAgfTtcblxuICBoYXNTdWJPcHRpb25zID0gISF0aGlzLnByb3BzLnN1Yk9wdGlvbnNcblxuICByZWYgPSBjcmVhdGVSZWYoKTtcblxuICBfcmVzZXRTdGF0ZShjYWxsYmFjaykge1xuICAgIHRoaXMuc2V0U3RhdGUoe2N1cnJlbnRPcHRpb246IHt9LCBzdWJtZW51VmlzaWJsZTogZmFsc2UsIHN1Ym1lbnVQb3NpdGlvbjoge319LCBjYWxsYmFjayk7XG4gIH1cblxuICBfb25DbGljayhvcHRpb24sIHN1Yk9wdGlvbiwgZXZlbnQpIHtcbiAgICBjb25zdCBvcHRpb25TZWxlY3RlZCA9XG4gICAgICB0eXBlb2Ygb3B0aW9uICE9PSAnb2JqZWN0J1xuICAgICAgICA/IG9wdGlvblxuICAgICAgICA6IHtcbiAgICAgICAgICAgIC4uLm9wdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkQWdncmVnYXRvcjogc3ViT3B0aW9uPy5pZFxuICAgICAgICAgIH07XG4gICAgaWYgKFxuICAgICAgKHRoaXMucHJvcHMud2l0aFN1Yk9wdGlvbnMgJiYgKHN1Yk9wdGlvbj8uaWQgfHwgIW9wdGlvbi5hZ2dyZWdhdG9ycykpIHx8XG4gICAgICAhdGhpcy5wcm9wcy53aXRoU3ViT3B0aW9uc1xuICAgICkge1xuICAgICAgdGhpcy5wcm9wcy5vbk9wdGlvblNlbGVjdGVkKG9wdGlvblNlbGVjdGVkLCBldmVudCk7XG4gICAgfVxuICB9XG5cbiAgX29uTW91c2VPdmVyKG9wdGlvbiwgZXZlbnQpIHtcbiAgICBjb25zdCBlbCA9IGV2ZW50LnRhcmdldFxuICAgIHRoaXMuc2V0U3RhdGUoKHByZXZpb3VzU3RhdGUpID0+ICh7XG4gICAgICBjdXJyZW50T3B0aW9uOiBvcHRpb24sXG4gICAgICBzdWJtZW51VmlzaWJsZTogdHJ1ZSxcbiAgICAgIHN1Ym1lbnVQb3NpdGlvbjoge1xuICAgICAgICB0b3A6IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxcbiAgICAgICAgbGVmdDogcHJldmlvdXNTdGF0ZS5zdWJtZW51UG9zaXRpb24ubGVmdCA/cHJldmlvdXNTdGF0ZS5zdWJtZW51UG9zaXRpb24ubGVmdCA6IHRoaXMucmVmLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGlmIChwcmV2UHJvcHMuc2VhcmNoRW50cnlWYWx1ZSAhPT0gdGhpcy5wcm9wcy5zZWFyY2hFbnRyeVZhbHVlKSB7XG4gICAgICB0aGlzLl9yZXNldFN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzdWJNZW51UG9zaXRpb246IHsgbGVmdDogdGhpcy5yZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQgfVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2ZpeGVkT3B0aW9ucywgbGlnaHR9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBkaXNwbGF5ID0gdGhpcy5wcm9wcy5kaXNwbGF5T3B0aW9uO1xuXG4gICAgLy8gRG9uJ3QgcmVuZGVyIGlmIHRoZXJlIGFyZSBubyBvcHRpb25zIHRvIGRpc3BsYXlcbiAgICBpZiAoIXRoaXMucHJvcHMub3B0aW9ucy5sZW5ndGggJiYgdGhpcy5wcm9wcy5hbGxvd0N1c3RvbVZhbHVlcyA8PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVPZmZzZXQgPSBBcnJheS5pc0FycmF5KGZpeGVkT3B0aW9ucykgPyBmaXhlZE9wdGlvbnMubGVuZ3RoIDogMDtcblxuICAgIC8vIEZvciBzb21lIHJlYXNvbiBvbkNsaWNrIGlzIG5vdCBmaXJlZCB3aGVuIGNsaWNrZWQgb24gYW4gb3B0aW9uXG4gICAgLy8gb25Nb3VzZURvd24gaXMgdXNlZCBoZXJlIGFzIGEgd29ya2Fyb3VuZCBvZiAjMjA1IGFuZCBvdGhlclxuICAgIHJldHVybiAoXG4gICAgICA8RHJvcGRvd25MaXN0Q29udGFpbmVyIG9uTW91c2VMZWF2ZT17KCkgPT4gdGhpcy5fcmVzZXRTdGF0ZSgpfT5cbiAgICAgICAgPERyb3Bkb3duTGlzdFdyYXBwZXIgY2xhc3NOYW1lPXtjbGFzc0xpc3QubGlzdH0gbGlnaHQ9e2xpZ2h0fT5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5jdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50ID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0SGVhZGVyfT5cbiAgICAgICAgICAgICAgPHRoaXMucHJvcHMuY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPGRpdiByZWY9e3RoaXMucmVmfT5cbiAgICAgICAgICAgIHt2YWx1ZU9mZnNldCA+IDAgPyAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc0xpc3QubGlzdFNlY3Rpb259PlxuICAgICAgICAgICAgICAgIHtmaXhlZE9wdGlvbnMubWFwKCh2YWx1ZSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3NMaXN0Lmxpc3RJdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnByb3BzLnNlbGVjdGlvbkluZGV4ID09PSBpLFxuICAgICAgICAgICAgICAgICAgICAgIGhvdmVyOiB2YWx1ZS5pZCAmJiAodGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uPy5pZCA9PT0gdmFsdWUuaWQpLFxuICAgICAgICAgICAgICAgICAgICAgIGZpeGVkOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2Ake2Rpc3BsYXkodmFsdWUpfV8ke2l9YH1cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd249e2UgPT4gIXRoaXMuaGFzU3ViT3B0aW9ucyAmJiB0aGlzLl9vbkNsaWNrKHZhbHVlLCBudWxsLCBlKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiAhdGhpcy5oYXNTdWJPcHRpb25zICYmIHRoaXMuX29uQ2xpY2sodmFsdWUsIG51bGwsIGUpfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9e2UgPT4gdGhpcy5fb25Nb3VzZU92ZXIodmFsdWUsIGUpfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8dGhpcy5wcm9wcy5jdXN0b21MaXN0SXRlbUNvbXBvbmVudCB2YWx1ZT17dmFsdWV9IGRpc3BsYXlPcHRpb249e2Rpc3BsYXl9IC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICAgICAge3RoaXMucHJvcHMub3B0aW9ucy5tYXAoKHZhbHVlLCBpKSA9PiAoXG4gICAgICAgICAgICAgIDxJdGVtXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTGlzdC5saXN0SXRlbSwge1xuICAgICAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnByb3BzLnNlbGVjdGlvbkluZGV4ID09PSBpICsgdmFsdWVPZmZzZXQsXG4gICAgICAgICAgICAgICAgICBob3ZlcjogdmFsdWUuaWQgJiYgKHRoaXMuc3RhdGUuY3VycmVudE9wdGlvbj8uaWQgPT09IHZhbHVlLmlkKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIGtleT17YCR7ZGlzcGxheSh2YWx1ZSl9XyR7aX1gfVxuICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+ICF0aGlzLmhhc1N1Yk9wdGlvbnMgJiYgdGhpcy5fb25DbGljayh2YWx1ZSwgbnVsbCwgZSl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiAhdGhpcy5oYXNTdWJPcHRpb25zICYmIHRoaXMuX29uQ2xpY2sodmFsdWUsIG51bGwsIGUpfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17ZSA9PiB0aGlzLl9vbk1vdXNlT3Zlcih2YWx1ZSwgZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dGhpcy5wcm9wcy5jdXN0b21MaXN0SXRlbUNvbXBvbmVudCB2YWx1ZT17dmFsdWV9IGRpc3BsYXlPcHRpb249e2Rpc3BsYXl9IC8+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMud2l0aFN1Yk9wdGlvbnMgJiYgdmFsdWUuYWdncmVnYXRvcnMgJiYgPENoZXZyb25SaWdodCAvPn1cbiAgICAgICAgICAgICAgPC9JdGVtPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRHJvcGRvd25MaXN0V3JhcHBlcj5cbiAgICAgICAge3RoaXMucHJvcHMud2l0aFN1Yk9wdGlvbnMgJiYgKFxuICAgICAgICAgIC8vIFRoZSBkaXNwbGF5OiAnbm9uZScgaXMgYSB0cmljayB0byBiZSBhYmxlIHRvIHJlbmRlciB0aGUgSXRlbVNlbGVjdG9yU3VibWVudSBpbiB0aGUgY29ycmVjdCBwb3NpdGlvblxuICAgICAgICAgIC8vIEV2ZW4gd2l0aCBkaXNwbGF5OiAnbm9uZScgdGhlIFBvcnRhbGVkIGNvbXBvbmVudCByZW5kZXIgaXRzIGNoaWxkIG9uIHRoZSB0b3Agb2YgdGhlIERPTVxuICAgICAgICAgIDxkaXYgc3R5bGU9e3tkaXNwbGF5OiAnbm9uZSd9fT5cbiAgICAgICAgICAgIDxQb3J0YWxlZFxuICAgICAgICAgICAgICBpc09wZW5lZD17dGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uICYmIHRoaXMuc3RhdGUuY3VycmVudE9wdGlvbi5hZ2dyZWdhdG9yc31cbiAgICAgICAgICAgICAgbGVmdD17dGhpcy5zdGF0ZS5zdWJtZW51UG9zaXRpb24ubGVmdH1cbiAgICAgICAgICAgICAgdG9wPXt0aGlzLnN0YXRlLnN1Ym1lbnVQb3NpdGlvbi50b3B9XG4gICAgICAgICAgICAgIG1vZGFsU3R5bGU9e3tcbiAgICAgICAgICAgICAgICBvdmVybGF5OiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEl0ZW1TZWxlY3RvclN1Ym1lbnVcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj17dGhpcy5zdGF0ZS5zdWJtZW51UG9zaXRpb259XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17dGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uPy5hZ2dyZWdhdG9ycz8ubWFwKGEgPT5cbiAgICAgICAgICAgICAgICAgIEZJRUxEX0FHR1JFR0FUT1JTLmZpbmQoYW0gPT4gYW0uaWQgPT09IGEpXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoYWdncmVnYXRvciwgZSkgPT4gdGhpcy5fb25DbGljayh0aGlzLnN0YXRlLmN1cnJlbnRPcHRpb24sIGFnZ3JlZ2F0b3IsIGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Qb3J0YWxlZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvRHJvcGRvd25MaXN0Q29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
311
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2Ryb3Bkb3duLWxpc3QuanMiXSwibmFtZXMiOlsiY2xhc3NMaXN0IiwibGlzdCIsImxpc3RIZWFkZXIiLCJsaXN0U2VjdGlvbiIsImxpc3RJdGVtIiwibGlzdEl0ZW1BbmNob3IiLCJkZWZhdWx0RGlzcGxheSIsImQiLCJMaXN0SXRlbSIsInZhbHVlIiwiZGlzcGxheU9wdGlvbiIsIkRyb3Bkb3duTGlzdFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsImxpZ2h0IiwidGhlbWUiLCJkcm9wZG93bkxpc3RCZ2RMVCIsImRyb3Bkb3duTGlzdEJnZCIsImRyb3Bkb3duTGlzdEJvcmRlclRvcExUIiwiZHJvcGRvd25MaXN0Qm9yZGVyVG9wIiwiZHJvcGRvd25MaXN0TFQiLCJkcm9wZG93bkxpc3QiLCJEcm9wZG93bkxpc3RDb250YWluZXIiLCJJdGVtIiwiRHJvcGRvd25MaXN0IiwiY3VycmVudE9wdGlvbiIsInN1Ym1lbnVWaXNpYmxlIiwic3VibWVudVBvc2l0aW9uIiwic3ViT3B0aW9ucyIsImNhbGxiYWNrIiwib3B0aW9uIiwic3ViT3B0aW9uIiwiZXZlbnQiLCJvcHRpb25TZWxlY3RlZCIsInNlbGVjdGVkQWdncmVnYXRvciIsImlkIiwid2l0aFN1Yk9wdGlvbnMiLCJhZ2dyZWdhdG9ycyIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJlbCIsInRhcmdldCIsInNldFN0YXRlIiwicHJldmlvdXNTdGF0ZSIsInRvcCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImxlZnQiLCJyZWYiLCJjdXJyZW50IiwicmlnaHQiLCJwcmV2UHJvcHMiLCJzZWFyY2hFbnRyeVZhbHVlIiwiX3Jlc2V0U3RhdGUiLCJzdWJNZW51UG9zaXRpb24iLCJmaXhlZE9wdGlvbnMiLCJkaXNwbGF5Iiwib3B0aW9ucyIsImxlbmd0aCIsImFsbG93Q3VzdG9tVmFsdWVzIiwidmFsdWVPZmZzZXQiLCJBcnJheSIsImlzQXJyYXkiLCJjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50IiwibWFwIiwiaSIsImFjdGl2ZSIsInNlbGVjdGlvbkluZGV4IiwiaG92ZXIiLCJzdGF0ZSIsImZpeGVkIiwiZSIsImhhc1N1Yk9wdGlvbnMiLCJfb25DbGljayIsIl9vbk1vdXNlT3ZlciIsIm92ZXJsYXkiLCJ3aWR0aCIsImhlaWdodCIsImEiLCJGSUVMRF9BR0dSRUdBVE9SUyIsImZpbmQiLCJhbSIsImFnZ3JlZ2F0b3IiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwiYW55IiwibnVtYmVyIiwiY3VzdG9tQ2xhc3NlcyIsIm9iamVjdCIsImN1c3RvbVZhbHVlcyIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50Iiwib25lT2ZUeXBlIiwiZWxlbWVudCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiZGVmYXVsdENsYXNzTmFtZXMiLCJib29sIiwiYXJlUmVzdWx0c1RydW5jYXRlZCIsInJlc3VsdHNUcnVuY2F0ZWRNZXNzYWdlIiwic3RyaW5nIiwibGlzdEl0ZW1Db21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxTQUFTLEdBQUc7QUFDdkJDLEVBQUFBLElBQUksRUFBRSxlQURpQjtBQUV2QkMsRUFBQUEsVUFBVSxFQUFFLGNBRlc7QUFHdkJDLEVBQUFBLFdBQVcsRUFBRSxlQUhVO0FBSXZCQyxFQUFBQSxRQUFRLEVBQUUsWUFKYTtBQUt2QkMsRUFBQUEsY0FBYyxFQUFFO0FBTE8sQ0FBbEI7OztBQVFQLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQUMsQ0FBQztBQUFBLFNBQUlBLENBQUo7QUFBQSxDQUF4Qjs7QUFDTyxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBVztBQUFBLE1BQUVDLEtBQUYsUUFBRUEsS0FBRjtBQUFBLGdDQUFTQyxhQUFUO0FBQUEsTUFBU0EsYUFBVCxtQ0FBeUJKLGNBQXpCO0FBQUEsc0JBQ3RCO0FBQU0sSUFBQSxTQUFTLEVBQUVOLFNBQVMsQ0FBQ0s7QUFBM0IsS0FBNENLLGFBQWEsQ0FBQ0QsS0FBRCxDQUF6RCxDQURzQjtBQUFBLENBQWpCOzs7O0FBSVAsSUFBTUUsbUJBQW1CLEdBQUdDLDZCQUFPQyxHQUFWLGlLQUNILFVBQUFDLEtBQUs7QUFBQSxTQUN2QkEsS0FBSyxDQUFDQyxLQUFOLEdBQWNELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxpQkFBMUIsR0FBOENILEtBQUssQ0FBQ0UsS0FBTixDQUFZRSxlQURuQztBQUFBLENBREYsRUFJbkIsVUFBQUosS0FBSztBQUFBLFNBQ0xBLEtBQUssQ0FBQ0MsS0FBTixHQUFjRCxLQUFLLENBQUNFLEtBQU4sQ0FBWUcsdUJBQTFCLEdBQW9ETCxLQUFLLENBQUNFLEtBQU4sQ0FBWUkscUJBRDNEO0FBQUEsQ0FKYyxFQU1yQixVQUFBTixLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxLQUFOLEdBQWNELEtBQUssQ0FBQ0UsS0FBTixDQUFZSyxjQUExQixHQUEyQ1AsS0FBSyxDQUFDRSxLQUFOLENBQVlNLFlBQTVEO0FBQUEsQ0FOZ0IsQ0FBekI7O0FBU0EsSUFBTUMscUJBQXFCLEdBQUdYLDZCQUFPQyxHQUFWLGlIQUEzQjs7QUFJQSxJQUFNVyxJQUFJLEdBQUdaLDZCQUFPQyxHQUFWLGdaQUFWOztJQW9CcUJZLFk7Ozs7Ozs7Ozs7Ozs7Ozs4RkFpQ1g7QUFDTkMsTUFBQUEsYUFBYSxFQUFFLEVBRFQ7QUFFTkMsTUFBQUEsY0FBYyxFQUFFLEtBRlY7QUFHTkMsTUFBQUEsZUFBZSxFQUFFO0FBSFgsSztzR0FNUSxDQUFDLENBQUMsTUFBS2QsS0FBTCxDQUFXZSxVO3lHQUV2Qix1Qjs7Ozs7O1dBRU4scUJBQVlDLFFBQVosRUFBc0IsQ0FDcEI7QUFDRDs7O1dBRUQsa0JBQVNDLE1BQVQsRUFBaUJDLFNBQWpCLEVBQTRCQyxLQUE1QixFQUFtQztBQUNqQyxVQUFNQyxjQUFjLEdBQ2xCLHlCQUFPSCxNQUFQLE1BQWtCLFFBQWxCLEdBQ0lBLE1BREosbUNBR1NBLE1BSFQ7QUFJTUksUUFBQUEsa0JBQWtCLEVBQUVILFNBQUYsYUFBRUEsU0FBRix1QkFBRUEsU0FBUyxDQUFFSTtBQUpyQyxRQURGOztBQU9BLFVBQ0csS0FBS3RCLEtBQUwsQ0FBV3VCLGNBQVgsS0FBOEJMLFNBQVMsU0FBVCxJQUFBQSxTQUFTLFdBQVQsSUFBQUEsU0FBUyxDQUFFSSxFQUFYLElBQWlCLENBQUNMLE1BQU0sQ0FBQ08sV0FBdkQsQ0FBRCxJQUNBLENBQUMsS0FBS3hCLEtBQUwsQ0FBV3VCLGNBRmQsRUFHRTtBQUNBLGFBQUt2QixLQUFMLENBQVd5QixnQkFBWCxDQUE0QkwsY0FBNUIsRUFBNENELEtBQTVDO0FBQ0Q7QUFDRjs7O1dBRUQsc0JBQWFGLE1BQWIsRUFBcUJFLEtBQXJCLEVBQTRCO0FBQUE7O0FBQzFCLFVBQU1PLEVBQUUsR0FBR1AsS0FBSyxDQUFDUSxNQUFqQjtBQUNBLFdBQUtDLFFBQUwsQ0FBYyxVQUFDQyxhQUFEO0FBQUE7O0FBQUEsZUFBb0I7QUFDaENqQixVQUFBQSxhQUFhLEVBQUVLLE1BRGlCO0FBRWhDSixVQUFBQSxjQUFjLEVBQUUsSUFGZ0I7QUFHaENDLFVBQUFBLGVBQWUsRUFBRTtBQUNmZ0IsWUFBQUEsR0FBRyxFQUFFSixFQUFFLENBQUNLLHFCQUFILEdBQTJCRCxHQURqQjtBQUVmRSxZQUFBQSxJQUFJLEVBQUVILGFBQWEsQ0FBQ2YsZUFBZCxDQUE4QmtCLElBQTlCLEdBQW9DSCxhQUFhLENBQUNmLGVBQWQsQ0FBOEJrQixJQUFsRSx5QkFBeUUsTUFBSSxDQUFDQyxHQUFMLENBQVNDLE9BQWxGLHVEQUF5RSxtQkFBa0JILHFCQUFsQixHQUEwQ0k7QUFGMUc7QUFIZSxTQUFwQjtBQUFBLE9BQWQ7QUFRRDs7O1dBRUQsNEJBQW1CQyxTQUFuQixFQUE4QjtBQUM1QixVQUFJQSxTQUFTLENBQUNDLGdCQUFWLEtBQStCLEtBQUtyQyxLQUFMLENBQVdxQyxnQkFBOUMsRUFBZ0U7QUFDOUQsYUFBS0MsV0FBTDtBQUNEO0FBQ0Y7OztXQUVELDZCQUFvQjtBQUFBOztBQUNsQixXQUFLVixRQUFMLENBQWM7QUFDWlcsUUFBQUEsZUFBZSxFQUFFO0FBQUVQLFVBQUFBLElBQUksdUJBQUUsS0FBS0MsR0FBTCxDQUFTQyxPQUFYLHNEQUFFLGtCQUFrQkgscUJBQWxCLEdBQTBDSTtBQUFsRDtBQURMLE9BQWQ7QUFHRDs7O1dBRUQsa0JBQVM7QUFBQTtBQUFBO0FBQUE7O0FBQUEsd0JBQ3VCLEtBQUtuQyxLQUQ1QjtBQUFBLFVBQ0F3QyxZQURBLGVBQ0FBLFlBREE7QUFBQSxVQUNjdkMsS0FEZCxlQUNjQSxLQURkO0FBRVAsVUFBTXdDLE9BQU8sR0FBRyxLQUFLekMsS0FBTCxDQUFXSixhQUEzQixDQUZPLENBSVA7O0FBQ0EsVUFBSSxDQUFDLEtBQUtJLEtBQUwsQ0FBVzBDLE9BQVgsQ0FBbUJDLE1BQXBCLElBQThCLEtBQUszQyxLQUFMLENBQVc0QyxpQkFBWCxJQUFnQyxDQUFsRSxFQUFxRTtBQUNuRSxlQUFPLEtBQVA7QUFDRDs7QUFFRCxVQUFNQyxXQUFXLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTixDQUFjUCxZQUFkLElBQThCQSxZQUFZLENBQUNHLE1BQTNDLEdBQW9ELENBQXhFLENBVE8sQ0FXUDtBQUNBOztBQUNBLDBCQUNFLGdDQUFDLHFCQUFEO0FBQXVCLFFBQUEsWUFBWSxFQUFFO0FBQUEsaUJBQU0sTUFBSSxDQUFDTCxXQUFMLEVBQU47QUFBQTtBQUFyQyxzQkFDRSxnQ0FBQyxtQkFBRDtBQUFxQixRQUFBLFNBQVMsRUFBRXBELFNBQVMsQ0FBQ0MsSUFBMUM7QUFBZ0QsUUFBQSxLQUFLLEVBQUVjO0FBQXZELFNBQ0csS0FBS0QsS0FBTCxDQUFXZ0QseUJBQVgsZ0JBQ0M7QUFBSyxRQUFBLFNBQVMsRUFBRTlELFNBQVMsQ0FBQ0U7QUFBMUIsc0JBQ0UscUNBQU0sS0FBTixDQUFZLHlCQUFaLE9BREYsQ0FERCxHQUlHLElBTE4sZUFNRTtBQUFLLFFBQUEsR0FBRyxFQUFFLEtBQUs2QztBQUFmLFNBQ0dZLFdBQVcsR0FBRyxDQUFkLGdCQUNDO0FBQUssUUFBQSxTQUFTLEVBQUUzRCxTQUFTLENBQUNHO0FBQTFCLFNBQ0dtRCxZQUFZLENBQUNTLEdBQWIsQ0FBaUIsVUFBQ3RELEtBQUQsRUFBUXVELENBQVI7QUFBQTs7QUFBQSw0QkFDaEI7QUFDRSxVQUFBLFNBQVMsRUFBRSw0QkFBV2hFLFNBQVMsQ0FBQ0ksUUFBckIsRUFBK0I7QUFDeEM2RCxZQUFBQSxNQUFNLEVBQUUsTUFBSSxDQUFDbkQsS0FBTCxDQUFXb0QsY0FBWCxLQUE4QkYsQ0FERTtBQUV4Q0csWUFBQUEsS0FBSyxFQUFFMUQsS0FBSyxDQUFDMkIsRUFBTixJQUFhLDBCQUFBLE1BQUksQ0FBQ2dDLEtBQUwsQ0FBVzFDLGFBQVgsZ0ZBQTBCVSxFQUExQixNQUFpQzNCLEtBQUssQ0FBQzJCLEVBRm5CO0FBR3hDaUMsWUFBQUEsS0FBSyxFQUFFO0FBSGlDLFdBQS9CLENBRGI7QUFNRSxVQUFBLEdBQUcsWUFBS2QsT0FBTyxDQUFDOUMsS0FBRCxDQUFaLGNBQXVCdUQsQ0FBdkIsQ0FOTDtBQU9FLFVBQUEsV0FBVyxFQUFFLHFCQUFBTSxDQUFDO0FBQUEsbUJBQUksQ0FBQyxNQUFJLENBQUNDLGFBQU4sSUFBdUIsTUFBSSxDQUFDQyxRQUFMLENBQWMvRCxLQUFkLEVBQXFCLElBQXJCLEVBQTJCNkQsQ0FBM0IsQ0FBM0I7QUFBQSxXQVBoQjtBQVFFLFVBQUEsT0FBTyxFQUFFLGlCQUFBQSxDQUFDO0FBQUEsbUJBQUksQ0FBQyxNQUFJLENBQUNDLGFBQU4sSUFBdUIsTUFBSSxDQUFDQyxRQUFMLENBQWMvRCxLQUFkLEVBQXFCLElBQXJCLEVBQTJCNkQsQ0FBM0IsQ0FBM0I7QUFBQSxXQVJaO0FBU0UsVUFBQSxZQUFZLEVBQUUsc0JBQUFBLENBQUM7QUFBQSxtQkFBSSxNQUFJLENBQUNHLFlBQUwsQ0FBa0JoRSxLQUFsQixFQUF5QjZELENBQXpCLENBQUo7QUFBQTtBQVRqQix3QkFXRSxnQ0FBQyxNQUFELENBQU0sS0FBTixDQUFZLHVCQUFaO0FBQW9DLFVBQUEsS0FBSyxFQUFFN0QsS0FBM0M7QUFBa0QsVUFBQSxhQUFhLEVBQUU4QztBQUFqRSxVQVhGLENBRGdCO0FBQUEsT0FBakIsQ0FESCxDQURELEdBa0JHLElBbkJOLEVBcUJHLEtBQUt6QyxLQUFMLENBQVcwQyxPQUFYLENBQW1CTyxHQUFuQixDQUF1QixVQUFDdEQsS0FBRCxFQUFRdUQsQ0FBUjtBQUFBOztBQUFBLDRCQUN0QixnQ0FBQyxJQUFEO0FBQ0UsVUFBQSxTQUFTLEVBQUUsNEJBQVdoRSxTQUFTLENBQUNJLFFBQXJCLEVBQStCO0FBQ3hDNkQsWUFBQUEsTUFBTSxFQUFFLE1BQUksQ0FBQ25ELEtBQUwsQ0FBV29ELGNBQVgsS0FBOEJGLENBQUMsR0FBR0wsV0FERjtBQUV4Q1EsWUFBQUEsS0FBSyxFQUFFMUQsS0FBSyxDQUFDMkIsRUFBTixJQUFhLDJCQUFBLE1BQUksQ0FBQ2dDLEtBQUwsQ0FBVzFDLGFBQVgsa0ZBQTBCVSxFQUExQixNQUFpQzNCLEtBQUssQ0FBQzJCO0FBRm5CLFdBQS9CLENBRGI7QUFLRSxVQUFBLEdBQUcsWUFBS21CLE9BQU8sQ0FBQzlDLEtBQUQsQ0FBWixjQUF1QnVELENBQXZCLENBTEw7QUFNRSxVQUFBLFdBQVcsRUFBRSxxQkFBQU0sQ0FBQztBQUFBLG1CQUFJLENBQUMsTUFBSSxDQUFDQyxhQUFOLElBQXVCLE1BQUksQ0FBQ0MsUUFBTCxDQUFjL0QsS0FBZCxFQUFxQixJQUFyQixFQUEyQjZELENBQTNCLENBQTNCO0FBQUEsV0FOaEI7QUFPRSxVQUFBLE9BQU8sRUFBRSxpQkFBQUEsQ0FBQztBQUFBLG1CQUFJLENBQUMsTUFBSSxDQUFDQyxhQUFOLElBQXVCLE1BQUksQ0FBQ0MsUUFBTCxDQUFjL0QsS0FBZCxFQUFxQixJQUFyQixFQUEyQjZELENBQTNCLENBQTNCO0FBQUEsV0FQWjtBQVFFLFVBQUEsWUFBWSxFQUFFLHNCQUFBQSxDQUFDO0FBQUEsbUJBQUksTUFBSSxDQUFDRyxZQUFMLENBQWtCaEUsS0FBbEIsRUFBeUI2RCxDQUF6QixDQUFKO0FBQUE7QUFSakIsd0JBVUUsZ0NBQUMsTUFBRCxDQUFNLEtBQU4sQ0FBWSx1QkFBWjtBQUFvQyxVQUFBLEtBQUssRUFBRTdELEtBQTNDO0FBQWtELFVBQUEsYUFBYSxFQUFFOEM7QUFBakUsVUFWRixFQVdHLE1BQUksQ0FBQ3pDLEtBQUwsQ0FBV3VCLGNBQVgsSUFBNkI1QixLQUFLLENBQUM2QixXQUFuQyxpQkFBa0QsZ0NBQUMsbUJBQUQsT0FYckQsQ0FEc0I7QUFBQSxPQUF2QixDQXJCSCxDQU5GLENBREYsRUE2Q0csS0FBS3hCLEtBQUwsQ0FBV3VCLGNBQVg7QUFBQTtBQUNDO0FBQ0E7QUFDQTtBQUFLLFFBQUEsS0FBSyxFQUFFO0FBQUNrQixVQUFBQSxPQUFPLEVBQUU7QUFBVjtBQUFaLHNCQUNFLGdDQUFDLG9CQUFEO0FBQ0UsUUFBQSxRQUFRLEVBQUUsS0FBS2EsS0FBTCxDQUFXMUMsYUFBWCxJQUE0QixLQUFLMEMsS0FBTCxDQUFXMUMsYUFBWCxDQUF5QlksV0FEakU7QUFFRSxRQUFBLElBQUksRUFBRSxLQUFLOEIsS0FBTCxDQUFXeEMsZUFBWCxDQUEyQmtCLElBRm5DO0FBR0UsUUFBQSxHQUFHLEVBQUUsS0FBS3NCLEtBQUwsQ0FBV3hDLGVBQVgsQ0FBMkJnQixHQUhsQztBQUlFLFFBQUEsVUFBVSxFQUFFO0FBQ1Y4QixVQUFBQSxPQUFPLEVBQUU7QUFDUEMsWUFBQUEsS0FBSyxFQUFFLENBREE7QUFFUEMsWUFBQUEsTUFBTSxFQUFFO0FBRkQ7QUFEQztBQUpkLHNCQVdFLGdDQUFDLCtCQUFEO0FBQ0UsUUFBQSxRQUFRLEVBQUUsS0FBS1IsS0FBTCxDQUFXeEMsZUFEdkI7QUFFRSxRQUFBLE9BQU8sMkJBQUUsS0FBS3dDLEtBQUwsQ0FBVzFDLGFBQWIsb0ZBQUUsc0JBQTBCWSxXQUE1QiwyREFBRSx1QkFBdUN5QixHQUF2QyxDQUEyQyxVQUFBYyxDQUFDO0FBQUEsaUJBQ25EQyxtQ0FBa0JDLElBQWxCLENBQXVCLFVBQUFDLEVBQUU7QUFBQSxtQkFBSUEsRUFBRSxDQUFDNUMsRUFBSCxLQUFVeUMsQ0FBZDtBQUFBLFdBQXpCLENBRG1EO0FBQUEsU0FBNUMsQ0FGWDtBQUtFLFFBQUEsT0FBTyxFQUFFLGlCQUFDSSxVQUFELEVBQWFYLENBQWI7QUFBQSxpQkFBbUIsTUFBSSxDQUFDRSxRQUFMLENBQWMsTUFBSSxDQUFDSixLQUFMLENBQVcxQyxhQUF6QixFQUF3Q3VELFVBQXhDLEVBQW9EWCxDQUFwRCxDQUFuQjtBQUFBO0FBTFgsUUFYRixDQURGLENBaERKLENBREY7QUF5RUQ7OztFQTdLdUNZLGdCOzs7aUNBQXJCekQsWSxlQUNBO0FBQ2pCK0IsRUFBQUEsT0FBTyxFQUFFMkIsc0JBQVVDLE9BQVYsQ0FBa0JELHNCQUFVRSxHQUE1QixDQURRO0FBRWpCeEQsRUFBQUEsVUFBVSxFQUFFc0Qsc0JBQVVDLE9BQVYsQ0FBa0JELHNCQUFVRSxHQUE1QixDQUZLO0FBR2pCM0IsRUFBQUEsaUJBQWlCLEVBQUV5QixzQkFBVUcsTUFIWjtBQUlqQkMsRUFBQUEsYUFBYSxFQUFFSixzQkFBVUssTUFKUjtBQUtqQkMsRUFBQUEsWUFBWSxFQUFFTixzQkFBVUMsT0FBVixDQUFrQkQsc0JBQVVFLEdBQTVCLENBTEc7QUFNakJLLEVBQUFBLHVCQUF1QixFQUFFUCxzQkFBVVEsU0FBVixDQUFvQixDQUFDUixzQkFBVVMsT0FBWCxFQUFvQlQsc0JBQVVVLElBQTlCLENBQXBCLENBTlI7QUFPakIvQixFQUFBQSx5QkFBeUIsRUFBRXFCLHNCQUFVUSxTQUFWLENBQW9CLENBQUNSLHNCQUFVUyxPQUFYLEVBQW9CVCxzQkFBVVUsSUFBOUIsQ0FBcEIsQ0FQVjtBQVFqQjNCLEVBQUFBLGNBQWMsRUFBRWlCLHNCQUFVRyxNQVJUO0FBU2pCL0MsRUFBQUEsZ0JBQWdCLEVBQUU0QyxzQkFBVVUsSUFUWDtBQVVqQm5GLEVBQUFBLGFBQWEsRUFBRXlFLHNCQUFVVSxJQUFWLENBQWVDLFVBVmI7QUFXakJDLEVBQUFBLGlCQUFpQixFQUFFWixzQkFBVWEsSUFYWjtBQVlqQkMsRUFBQUEsbUJBQW1CLEVBQUVkLHNCQUFVYSxJQVpkO0FBYWpCRSxFQUFBQSx1QkFBdUIsRUFBRWYsc0JBQVVnQixNQWJsQjtBQWNqQkMsRUFBQUEsaUJBQWlCLEVBQUVqQixzQkFBVVUsSUFkWjtBQWVqQjFDLEVBQUFBLGdCQUFnQixFQUFFZ0Msc0JBQVVnQixNQWZYO0FBZ0JqQjlELEVBQUFBLGNBQWMsRUFBRThDLHNCQUFVYTtBQWhCVCxDO2lDQURBdkUsWSxrQkFvQkc7QUFDcEI4RCxFQUFBQSxhQUFhLEVBQUUsRUFESztBQUVwQkcsRUFBQUEsdUJBQXVCLEVBQUVsRixRQUZMO0FBR3BCc0QsRUFBQUEseUJBQXlCLEVBQUUsSUFIUDtBQUlwQkosRUFBQUEsaUJBQWlCLEVBQUUsQ0FKQztBQUtwQitCLEVBQUFBLFlBQVksRUFBRSxFQUxNO0FBTXBCL0UsRUFBQUEsYUFBYSxFQUFFSixjQU5LO0FBT3BCaUMsRUFBQUEsZ0JBQWdCLEVBQUUsNEJBQU0sQ0FBRSxDQVBOO0FBUXBCd0QsRUFBQUEsaUJBQWlCLEVBQUUsSUFSQztBQVNwQjdCLEVBQUFBLGNBQWMsRUFBRSxJQVRJO0FBVXBCN0IsRUFBQUEsY0FBYyxFQUFFO0FBVkksQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBJdGVtU2VsZWN0b3JTdWJtZW51IGZyb20gJy4vaXRlbS1zZWxlY3Rvci1zdWJtZW51JztcbmltcG9ydCB7Q2hldnJvblJpZ2h0fSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0ZJRUxEX0FHR1JFR0FUT1JTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQgUG9ydGFsZWQgZnJvbSAnLi4vcG9ydGFsZWQnO1xuXG5leHBvcnQgY29uc3QgY2xhc3NMaXN0ID0ge1xuICBsaXN0OiAnbGlzdC1zZWxlY3RvcicsXG4gIGxpc3RIZWFkZXI6ICdsaXN0X19oZWFkZXInLFxuICBsaXN0U2VjdGlvbjogJ2xpc3RfX3NlY3Rpb24nLFxuICBsaXN0SXRlbTogJ2xpc3RfX2l0ZW0nLFxuICBsaXN0SXRlbUFuY2hvcjogJ2xpc3RfX2l0ZW1fX2FuY2hvcidcbn07XG5cbmNvbnN0IGRlZmF1bHREaXNwbGF5ID0gZCA9PiBkO1xuZXhwb3J0IGNvbnN0IExpc3RJdGVtID0gKHt2YWx1ZSwgZGlzcGxheU9wdGlvbiA9IGRlZmF1bHREaXNwbGF5fSkgPT4gKFxuICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTGlzdC5saXN0SXRlbUFuY2hvcn0+e2Rpc3BsYXlPcHRpb24odmFsdWUpfTwvc3Bhbj5cbik7XG5cbmNvbnN0IERyb3Bkb3duTGlzdFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubGlnaHQgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2RMVCA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZH07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZFxuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmxpZ2h0ID8gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0Qm9yZGVyVG9wTFQgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCb3JkZXJUb3B9O1xuICAke3Byb3BzID0+IChwcm9wcy5saWdodCA/IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdExUIDogcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0KX07XG5gO1xuXG5jb25zdCBEcm9wZG93bkxpc3RDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBJdGVtID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbiAgJjpob3ZlciwgJi5ob3ZlciB7XG4gICAgc3ZnIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcm9wZG93bkxpc3QgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9wdGlvbnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIHN1Yk9wdGlvbnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIGFsbG93Q3VzdG9tVmFsdWVzOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIGN1c3RvbUNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY3VzdG9tVmFsdWVzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgc2VsZWN0aW9uSW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgb25PcHRpb25TZWxlY3RlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGlzcGxheU9wdGlvbjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZWZhdWx0Q2xhc3NOYW1lczogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXJlUmVzdWx0c1RydW5jYXRlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcmVzdWx0c1RydW5jYXRlZE1lc3NhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbGlzdEl0ZW1Db21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNlYXJjaEVudHJ5VmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgd2l0aFN1Yk9wdGlvbnM6IFByb3BUeXBlcy5ib29sXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjdXN0b21DbGFzc2VzOiB7fSxcbiAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudDogTGlzdEl0ZW0sXG4gICAgY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudDogbnVsbCxcbiAgICBhbGxvd0N1c3RvbVZhbHVlczogMCxcbiAgICBjdXN0b21WYWx1ZXM6IFtdLFxuICAgIGRpc3BsYXlPcHRpb246IGRlZmF1bHREaXNwbGF5LFxuICAgIG9uT3B0aW9uU2VsZWN0ZWQ6ICgpID0+IHt9LFxuICAgIGRlZmF1bHRDbGFzc05hbWVzOiB0cnVlLFxuICAgIHNlbGVjdGlvbkluZGV4OiBudWxsLFxuICAgIHdpdGhTdWJPcHRpb25zOiBmYWxzZVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGN1cnJlbnRPcHRpb246IHt9LFxuICAgIHN1Ym1lbnVWaXNpYmxlOiBmYWxzZSxcbiAgICBzdWJtZW51UG9zaXRpb246IHt9XG4gIH07XG5cbiAgaGFzU3ViT3B0aW9ucyA9ICEhdGhpcy5wcm9wcy5zdWJPcHRpb25zXG5cbiAgcmVmID0gY3JlYXRlUmVmKCk7XG5cbiAgX3Jlc2V0U3RhdGUoY2FsbGJhY2spIHtcbiAgICAvLyB0aGlzLnNldFN0YXRlKHtjdXJyZW50T3B0aW9uOiB7fSwgc3VibWVudVZpc2libGU6IGZhbHNlLCBzdWJtZW51UG9zaXRpb246IHt9fSwgY2FsbGJhY2spO1xuICB9XG5cbiAgX29uQ2xpY2sob3B0aW9uLCBzdWJPcHRpb24sIGV2ZW50KSB7XG4gICAgY29uc3Qgb3B0aW9uU2VsZWN0ZWQgPVxuICAgICAgdHlwZW9mIG9wdGlvbiAhPT0gJ29iamVjdCdcbiAgICAgICAgPyBvcHRpb25cbiAgICAgICAgOiB7XG4gICAgICAgICAgICAuLi5vcHRpb24sXG4gICAgICAgICAgICBzZWxlY3RlZEFnZ3JlZ2F0b3I6IHN1Yk9wdGlvbj8uaWRcbiAgICAgICAgICB9O1xuICAgIGlmIChcbiAgICAgICh0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zICYmIChzdWJPcHRpb24/LmlkIHx8ICFvcHRpb24uYWdncmVnYXRvcnMpKSB8fFxuICAgICAgIXRoaXMucHJvcHMud2l0aFN1Yk9wdGlvbnNcbiAgICApIHtcbiAgICAgIHRoaXMucHJvcHMub25PcHRpb25TZWxlY3RlZChvcHRpb25TZWxlY3RlZCwgZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9vbk1vdXNlT3ZlcihvcHRpb24sIGV2ZW50KSB7XG4gICAgY29uc3QgZWwgPSBldmVudC50YXJnZXRcbiAgICB0aGlzLnNldFN0YXRlKChwcmV2aW91c1N0YXRlKSA9PiAoe1xuICAgICAgY3VycmVudE9wdGlvbjogb3B0aW9uLFxuICAgICAgc3VibWVudVZpc2libGU6IHRydWUsXG4gICAgICBzdWJtZW51UG9zaXRpb246IHtcbiAgICAgICAgdG9wOiBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AsXG4gICAgICAgIGxlZnQ6IHByZXZpb3VzU3RhdGUuc3VibWVudVBvc2l0aW9uLmxlZnQgP3ByZXZpb3VzU3RhdGUuc3VibWVudVBvc2l0aW9uLmxlZnQgOiB0aGlzLnJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodFxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBpZiAocHJldlByb3BzLnNlYXJjaEVudHJ5VmFsdWUgIT09IHRoaXMucHJvcHMuc2VhcmNoRW50cnlWYWx1ZSkge1xuICAgICAgdGhpcy5fcmVzZXRTdGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgc3ViTWVudVBvc2l0aW9uOiB7IGxlZnQ6IHRoaXMucmVmLmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0IH1cbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtmaXhlZE9wdGlvbnMsIGxpZ2h0fSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZGlzcGxheSA9IHRoaXMucHJvcHMuZGlzcGxheU9wdGlvbjtcblxuICAgIC8vIERvbid0IHJlbmRlciBpZiB0aGVyZSBhcmUgbm8gb3B0aW9ucyB0byBkaXNwbGF5XG4gICAgaWYgKCF0aGlzLnByb3BzLm9wdGlvbnMubGVuZ3RoICYmIHRoaXMucHJvcHMuYWxsb3dDdXN0b21WYWx1ZXMgPD0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlT2Zmc2V0ID0gQXJyYXkuaXNBcnJheShmaXhlZE9wdGlvbnMpID8gZml4ZWRPcHRpb25zLmxlbmd0aCA6IDA7XG5cbiAgICAvLyBGb3Igc29tZSByZWFzb24gb25DbGljayBpcyBub3QgZmlyZWQgd2hlbiBjbGlja2VkIG9uIGFuIG9wdGlvblxuICAgIC8vIG9uTW91c2VEb3duIGlzIHVzZWQgaGVyZSBhcyBhIHdvcmthcm91bmQgb2YgIzIwNSBhbmQgb3RoZXJcbiAgICByZXR1cm4gKFxuICAgICAgPERyb3Bkb3duTGlzdENvbnRhaW5lciBvbk1vdXNlTGVhdmU9eygpID0+IHRoaXMuX3Jlc2V0U3RhdGUoKX0+XG4gICAgICAgIDxEcm9wZG93bkxpc3RXcmFwcGVyIGNsYXNzTmFtZT17Y2xhc3NMaXN0Lmxpc3R9IGxpZ2h0PXtsaWdodH0+XG4gICAgICAgICAge3RoaXMucHJvcHMuY3VzdG9tTGlzdEhlYWRlckNvbXBvbmVudCA/IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc0xpc3QubGlzdEhlYWRlcn0+XG4gICAgICAgICAgICAgIDx0aGlzLnByb3BzLmN1c3RvbUxpc3RIZWFkZXJDb21wb25lbnQgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxkaXYgcmVmPXt0aGlzLnJlZn0+XG4gICAgICAgICAgICB7dmFsdWVPZmZzZXQgPiAwID8gKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NMaXN0Lmxpc3RTZWN0aW9ufT5cbiAgICAgICAgICAgICAgICB7Zml4ZWRPcHRpb25zLm1hcCgodmFsdWUsIGkpID0+IChcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTGlzdC5saXN0SXRlbSwge1xuICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTogdGhpcy5wcm9wcy5zZWxlY3Rpb25JbmRleCA9PT0gaSxcbiAgICAgICAgICAgICAgICAgICAgICBob3ZlcjogdmFsdWUuaWQgJiYgKHRoaXMuc3RhdGUuY3VycmVudE9wdGlvbj8uaWQgPT09IHZhbHVlLmlkKSxcbiAgICAgICAgICAgICAgICAgICAgICBmaXhlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtkaXNwbGF5KHZhbHVlKX1fJHtpfWB9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+ICF0aGlzLmhhc1N1Yk9wdGlvbnMgJiYgdGhpcy5fb25DbGljayh2YWx1ZSwgbnVsbCwgZSl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gIXRoaXMuaGFzU3ViT3B0aW9ucyAmJiB0aGlzLl9vbkNsaWNrKHZhbHVlLCBudWxsLCBlKX1cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXtlID0+IHRoaXMuX29uTW91c2VPdmVyKHZhbHVlLCBlKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHRoaXMucHJvcHMuY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQgdmFsdWU9e3ZhbHVlfSBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5fSAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICAgIHt0aGlzLnByb3BzLm9wdGlvbnMubWFwKCh2YWx1ZSwgaSkgPT4gKFxuICAgICAgICAgICAgICA8SXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc0xpc3QubGlzdEl0ZW0sIHtcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZTogdGhpcy5wcm9wcy5zZWxlY3Rpb25JbmRleCA9PT0gaSArIHZhbHVlT2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgaG92ZXI6IHZhbHVlLmlkICYmICh0aGlzLnN0YXRlLmN1cnJlbnRPcHRpb24/LmlkID09PSB2YWx1ZS5pZClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICBrZXk9e2Ake2Rpc3BsYXkodmFsdWUpfV8ke2l9YH1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiAhdGhpcy5oYXNTdWJPcHRpb25zICYmIHRoaXMuX29uQ2xpY2sodmFsdWUsIG51bGwsIGUpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gIXRoaXMuaGFzU3ViT3B0aW9ucyAmJiB0aGlzLl9vbkNsaWNrKHZhbHVlLCBudWxsLCBlKX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9e2UgPT4gdGhpcy5fb25Nb3VzZU92ZXIodmFsdWUsIGUpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRoaXMucHJvcHMuY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQgdmFsdWU9e3ZhbHVlfSBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5fSAvPlxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zICYmIHZhbHVlLmFnZ3JlZ2F0b3JzICYmIDxDaGV2cm9uUmlnaHQgLz59XG4gICAgICAgICAgICAgIDwvSXRlbT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0Ryb3Bkb3duTGlzdFdyYXBwZXI+XG4gICAgICAgIHt0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zICYmIChcbiAgICAgICAgICAvLyBUaGUgZGlzcGxheTogJ25vbmUnIGlzIGEgdHJpY2sgdG8gYmUgYWJsZSB0byByZW5kZXIgdGhlIEl0ZW1TZWxlY3RvclN1Ym1lbnUgaW4gdGhlIGNvcnJlY3QgcG9zaXRpb25cbiAgICAgICAgICAvLyBFdmVuIHdpdGggZGlzcGxheTogJ25vbmUnIHRoZSBQb3J0YWxlZCBjb21wb25lbnQgcmVuZGVyIGl0cyBjaGlsZCBvbiB0aGUgdG9wIG9mIHRoZSBET01cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZGlzcGxheTogJ25vbmUnfX0+XG4gICAgICAgICAgICA8UG9ydGFsZWRcbiAgICAgICAgICAgICAgaXNPcGVuZWQ9e3RoaXMuc3RhdGUuY3VycmVudE9wdGlvbiAmJiB0aGlzLnN0YXRlLmN1cnJlbnRPcHRpb24uYWdncmVnYXRvcnN9XG4gICAgICAgICAgICAgIGxlZnQ9e3RoaXMuc3RhdGUuc3VibWVudVBvc2l0aW9uLmxlZnR9XG4gICAgICAgICAgICAgIHRvcD17dGhpcy5zdGF0ZS5zdWJtZW51UG9zaXRpb24udG9wfVxuICAgICAgICAgICAgICBtb2RhbFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgb3ZlcmxheToge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJdGVtU2VsZWN0b3JTdWJtZW51XG4gICAgICAgICAgICAgICAgcG9zaXRpb249e3RoaXMuc3RhdGUuc3VibWVudVBvc2l0aW9ufVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuY3VycmVudE9wdGlvbj8uYWdncmVnYXRvcnM/Lm1hcChhID0+XG4gICAgICAgICAgICAgICAgICBGSUVMRF9BR0dSRUdBVE9SUy5maW5kKGFtID0+IGFtLmlkID09PSBhKVxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KGFnZ3JlZ2F0b3IsIGUpID0+IHRoaXMuX29uQ2xpY2sodGhpcy5zdGF0ZS5jdXJyZW50T3B0aW9uLCBhZ2dyZWdhdG9yLCBlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L0Ryb3Bkb3duTGlzdENvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -91,15 +91,14 @@ var DropdownSelectActionRight = _styledComponents["default"].div(_templateObject
|
|
|
91
91
|
return props.theme.textColor;
|
|
92
92
|
});
|
|
93
93
|
|
|
94
|
-
var DropdownWrapper = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n border: 0;\n width: 100%;\n left: 0;\n z-index: ", ";\n position: absolute;\n
|
|
94
|
+
var DropdownWrapper = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n border: 0;\n width: 100%;\n left: 0;\n z-index: ", ";\n position: absolute;\n"])), function (props) {
|
|
95
95
|
return props.theme.dropdownWrapperZ;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}); // The item-selector component dismount all its children if you click outside of the component because of listensToClickOutside function.
|
|
96
|
+
}); // bottom: ${props => (props.placement === 'top' ? props.theme.inputBoxHeight : 'auto')};
|
|
97
|
+
// margin-top: ${props =>
|
|
98
|
+
// props.placement === 'bottom' ? `${props.theme.dropdownWapperMargin}px` : 'auto'};
|
|
99
|
+
// margin-bottom: ${props =>
|
|
100
|
+
// props.placement === 'top' ? `${props.theme.dropdownWapperMargin}px` : 'auto'};
|
|
101
|
+
// The item-selector component dismount all its children if you click outside of the component because of listensToClickOutside function.
|
|
103
102
|
// If you want to prevent this behaviour when you click on a child add this class to it.
|
|
104
103
|
// It is useful for example, when you add the child component on the top of tree with a Portal as dropdown-list does with item-selector-submenu
|
|
105
104
|
|
|
@@ -360,4 +359,4 @@ exports.ItemSelectorListen = ItemSelectorListen;
|
|
|
360
359
|
var _default = (0, _reactIntl.injectIntl)((0, _reactOnclickoutside["default"])(ItemSelector));
|
|
361
360
|
|
|
362
361
|
exports["default"] = _default;
|
|
363
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiU3R5bGVkRHJvcGRvd25TZWxlY3QiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwiaW5wdXRUaGVtZSIsInRoZW1lIiwic2Vjb25kYXJ5SW5wdXQiLCJpbnB1dExUIiwiaW5wdXQiLCJzaXplIiwiaW5wdXRCb3hIZWlnaHRTbWFsbCIsImlucHV0Qm94SGVpZ2h0IiwiZHJvcGRvd25MaXN0QW5jaG9yIiwiRHJvcGRvd25TZWxlY3RWYWx1ZSIsInNwYW4iLCJoYXNQbGFjZWhvbGRlciIsInNlbGVjdENvbG9yUGxhY2VIb2xkZXJMVCIsInNlbGVjdENvbG9yUGxhY2VIb2xkZXIiLCJzZWxlY3RDb2xvckxUIiwic2VsZWN0Q29sb3IiLCJkcm9wZG93bkxpc3RJdGVtTFQiLCJkcm9wZG93bkxpc3RJdGVtIiwiZHJvcGRvd25MaXN0QW5jaG9yTFQiLCJEcm9wZG93blNlbGVjdEFjdGlvblJpZ2h0Iiwic3VidGV4dENvbG9yIiwidGV4dENvbG9yIiwiRHJvcGRvd25XcmFwcGVyIiwiZHJvcGRvd25XcmFwcGVyWiIsInBsYWNlbWVudCIsImRyb3Bkb3duV2FwcGVyTWFyZ2luIiwicHJldmVudENsb3NlU2VsZWN0b3IiLCJJdGVtU2VsZWN0b3IiLCJzaG93VHlwZWFoZWFkIiwiZSIsInRhcmdldCIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwiX2hpZGVUeXBlYWhlYWQiLCJvbkJsdXIiLCJpdGVtIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJzZWxlY3RlZEl0ZW1zIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJ0IiwiaXRlbXMiLCJzbGljZSIsImxlbmd0aCIsIm9uQ2hhbmdlIiwiY2xvc2VPblNlbGVjdCIsInNldFN0YXRlIiwiX29uQmx1ciIsImdldFZhbHVlIiwiQWNjZXNzb3IiLCJnZW5lcmF0ZU9wdGlvblRvU3RyaW5nRm9yIiwiZ2V0T3B0aW9uVmFsdWUiLCJkaXNwbGF5T3B0aW9uIiwicHJldmlvdXNTZWxlY3RlZCIsIm11bHRpU2VsZWN0IiwiY29uY2F0IiwiZGlzYWJsZWQiLCJpc0xvYWRpbmciLCJzdGF0ZSIsIm9uRm9jdXMiLCJpbnRsIiwicmVzdWx0cyIsImxpc3RJdGVtIiwibGlzdEFuY2hvciIsIm9wdGlvbnMiLCJmaWx0ZXJPcHRpb24iLCJmaXhlZE9wdGlvbnMiLCJ0eXBlYWhlYWRQbGFjZWhvbGRlciIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsIl9zZWxlY3RJdGVtIiwiRHJvcERvd25SZW5kZXJDb21wb25lbnQiLCJEcm9wZG93bkhlYWRlckNvbXBvbmVudCIsIkRyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnQiLCJzZWFyY2hhYmxlIiwid2l0aFN1Yk9wdGlvbnMiLCJzZWxlY3RlZCIsImhhc1ZhbHVlIiwiZHJvcGRvd25TZWxlY3RQcm9wcyIsImFjdGl2ZSIsIm9uQ2xpY2siLCJfc2hvd1R5cGVhaGVhZCIsImVycm9yIiwiaXNFcnJvciIsInBvc2l0aW9uIiwicGxhY2Vob2xkZXIiLCJfcmVtb3ZlSXRlbSIsIkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50IiwiZXJhc2FibGUiLCJfb25FcmFzZSIsInNob3dBcnJvdyIsIl9yZW5kZXJEcm9wZG93biIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9uZU9mVHlwZSIsImFycmF5Iiwic3RyaW5nIiwibnVtYmVyIiwiYm9vbCIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiYXJyYXlPZiIsImFueSIsImRyb3Bkb3duSGVhZGVyIiwiRHJvcGRvd25MaXN0IiwiTGlzdEl0ZW0iLCJJdGVtU2VsZWN0b3JMaXN0ZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FB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QzFCO0FBaUNqQmIsRUFBQUEsdUJBQXVCLEVBQUVNLHNCQUFVTyxJQWpDbEI7QUFrQ2pCekIsRUFBQUEsY0FBYyxFQUFFa0Isc0JBQVVLO0FBbENULEM7aUNBRGZ4RSxZLGtCQXNDa0I7QUFDcEI4RCxFQUFBQSxRQUFRLEVBQUUsS0FEVTtBQUVwQkUsRUFBQUEsU0FBUyxFQUFFLEtBRlM7QUFHcEJuRSxFQUFBQSxTQUFTLEVBQUUsUUFIUztBQUlwQmMsRUFBQUEsYUFBYSxFQUFFLEVBSks7QUFLcEJlLEVBQUFBLGFBQWEsRUFBRSxJQUxLO0FBTXBCRCxFQUFBQSxjQUFjLEVBQUUsSUFOSTtBQU9wQmMsRUFBQUEsWUFBWSxFQUFFLElBUE07QUFRcEJDLEVBQUFBLFlBQVksRUFBRSxJQVJNO0FBU3BCbkUsRUFBQUEsVUFBVSxFQUFFLFNBVFE7QUFVcEJ1RCxFQUFBQSxXQUFXLEVBQUUsSUFWTztBQVdwQitCLEVBQUFBLFdBQVcsRUFBRSx3QkFYTztBQVlwQnhDLEVBQUFBLGFBQWEsRUFBRSxJQVpLO0FBYXBCNkIsRUFBQUEsVUFBVSxFQUFFLElBYlE7QUFjcEI4QixFQUFBQSxjQUFjLEVBQUUsSUFkSTtBQWVwQmhDLEVBQUFBLHVCQUF1QixFQUFFLElBZkw7QUFnQnBCRCxFQUFBQSx1QkFBdUIsRUFBRWtDLHdCQWhCTDtBQWlCcEJoQyxFQUFBQSwrQkFBK0IsRUFBRWlDLHNCQWpCYjtBQWtCcEIvQixFQUFBQSxjQUFjLEVBQUU7QUFsQkksQztBQWtOakIsSUFBTWdDLGtCQUFrQixHQUFHLHFDQUFzQmpGLFlBQXRCLENBQTNCOzs7ZUFDUSwyQkFBVyxxQ0FBc0JBLFlBQXRCLENBQVgsQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVuaXFCeSBmcm9tICdsb2Rhc2gudW5pcWJ5JztcbmltcG9ydCBsaXN0ZW5zVG9DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBBY2Nlc3NvciBmcm9tICcuL2FjY2Vzc29yJztcbmltcG9ydCBDaGlja2xldGVkSW5wdXQgZnJvbSAnLi9jaGlja2xldGVkLWlucHV0JztcbmltcG9ydCBUeXBlYWhlYWQgZnJvbSAnLi90eXBlYWhlYWQnO1xuaW1wb3J0IHtEZWxldGUsIEFycm93RG93bn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IExvYWRpbmdTcGlubmVyIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgRHJvcGRvd25MaXN0LCB7TGlzdEl0ZW19IGZyb20gJy4vZHJvcGRvd24tbGlzdCc7XG5cbmltcG9ydCB7dG9BcnJheX0gZnJvbSAndXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERyb3Bkb3duU2VsZWN0ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2l0ZW0tc2VsZWN0b3JfX2Ryb3Bkb3duJ1xufSlgXG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5J1xuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dFxuICAgICAgOiBwcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnXG4gICAgICA/IHByb3BzLnRoZW1lLmlucHV0TFRcbiAgICAgIDogcHJvcHMudGhlbWUuaW5wdXR9O1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNpemUgPT09ICdzbWFsbCcgPyBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodFNtYWxsIDogcHJvcHMudGhlbWUuaW5wdXRCb3hIZWlnaHR9O1xuXG4gIC5saXN0X19pdGVtX19hbmNob3Ige1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QW5jaG9yfTtcbiAgfVxuYDtcblxuY29uc3QgRHJvcGRvd25TZWxlY3RWYWx1ZSA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc1BsYWNlaG9sZGVyICYmIHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCdcbiAgICAgID8gcHJvcHMudGhlbWUuc2VsZWN0Q29sb3JQbGFjZUhvbGRlckxUXG4gICAgICA6IHByb3BzLmhhc1BsYWNlaG9sZGVyXG4gICAgICA/IHByb3BzLnRoZW1lLnNlbGVjdENvbG9yUGxhY2VIb2xkZXJcbiAgICAgIDogcHJvcHMuaW5wdXRUaGVtZSA9PT0gJ2xpZ2h0J1xuICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3RDb2xvckxUXG4gICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdENvbG9yfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLmxpc3RfX2l0ZW0ge1xuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCcgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RJdGVtTFQgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RJdGVtfTtcbiAgfVxuXG4gIC5saXN0X19pdGVtX19hbmNob3Ige1xuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RBbmNob3JMVFxuICAgICAgICA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEFuY2hvcn07XG4gIH1cbmA7XG5cbmNvbnN0IERyb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcblxuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cbmA7XG5cbmNvbnN0IERyb3Bkb3duV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5wbGFjZW1lbnQgPT09ICd0b3AnID8gcHJvcHMudGhlbWUuaW5wdXRCb3hIZWlnaHQgOiAnYXV0bycpfTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PlxuICAgIHByb3BzLnBsYWNlbWVudCA9PT0gJ2JvdHRvbScgPyBgJHtwcm9wcy50aGVtZS5kcm9wZG93bldhcHBlck1hcmdpbn1weGAgOiAnYXV0byd9O1xuICBtYXJnaW4tYm90dG9tOiAke3Byb3BzID0+XG4gICAgcHJvcHMucGxhY2VtZW50ID09PSAndG9wJyA/IGAke3Byb3BzLnRoZW1lLmRyb3Bkb3duV2FwcGVyTWFyZ2lufXB4YCA6ICdhdXRvJ307XG5gO1xuXG4vLyBUaGUgaXRlbS1zZWxlY3RvciBjb21wb25lbnQgZGlzbW91bnQgYWxsIGl0cyBjaGlsZHJlbiBpZiB5b3UgY2xpY2sgb3V0c2lkZSBvZiB0aGUgY29tcG9uZW50IGJlY2F1c2Ugb2YgbGlzdGVuc1RvQ2xpY2tPdXRzaWRlIGZ1bmN0aW9uLlxuLy8gSWYgeW91IHdhbnQgdG8gcHJldmVudCB0aGlzIGJlaGF2aW91ciB3aGVuIHlvdSBjbGljayBvbiBhIGNoaWxkIGFkZCB0aGlzIGNsYXNzIHRvIGl0LlxuLy8gSXQgaXMgdXNlZnVsIGZvciBleGFtcGxlLCB3aGVuIHlvdSBhZGQgdGhlIGNoaWxkIGNvbXBvbmVudCBvbiB0aGUgdG9wIG9mIHRyZWUgd2l0aCBhIFBvcnRhbCBhcyBkcm9wZG93bi1saXN0IGRvZXMgd2l0aCBpdGVtLXNlbGVjdG9yLXN1Ym1lbnVcbmV4cG9ydCBjb25zdCBwcmV2ZW50Q2xvc2VTZWxlY3RvciA9ICdwcmV2ZW50X19jbG9zZV9fc2VsZWN0b3InO1xuXG5jbGFzcyBJdGVtU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC8vIHJlcXVpcmVkIHByb3BlcnRpZXNcbiAgICBzZWxlY3RlZEl0ZW1zOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgUHJvcFR5cGVzLmJvb2wsXG4gICAgICBQcm9wVHlwZXMub2JqZWN0XG4gICAgXSksXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb3B0aW9uczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcblxuICAgIC8vIG9wdGlvbmFsIHByb3BlcnRpZXNcbiAgICBmaXhlZE9wdGlvbnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIGVyYXNhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzaG93QXJyb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc3BsYXlPcHRpb246IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgZ2V0T3B0aW9uVmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgZmlsdGVyT3B0aW9uOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuZnVuY10pLFxuICAgIHBsYWNlbWVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNFcnJvcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNMb2FkaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBtdWx0aVNlbGVjdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaW5wdXRUaGVtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkJsdXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsb3NlT25TZWxlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIHR5cGVhaGVhZFBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIERyb3Bkb3duSGVhZGVyQ29tcG9uZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBEcm9wRG93blJlbmRlckNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIHdpdGhTdWJPcHRpb25zOiBQcm9wVHlwZXMuYm9vbFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZXJhc2FibGU6IGZhbHNlLFxuICAgIHNob3dBcnJvdzogZmFsc2UsXG4gICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICBkaXNwbGF5T3B0aW9uOiBudWxsLFxuICAgIGdldE9wdGlvblZhbHVlOiBudWxsLFxuICAgIGZpbHRlck9wdGlvbjogbnVsbCxcbiAgICBmaXhlZE9wdGlvbnM6IG51bGwsXG4gICAgaW5wdXRUaGVtZTogJ3ByaW1hcnknLFxuICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXIuZW50ZXJWYWx1ZScsXG4gICAgY2xvc2VPblNlbGVjdDogdHJ1ZSxcbiAgICBzZWFyY2hhYmxlOiB0cnVlLFxuICAgIGRyb3Bkb3duSGVhZGVyOiBudWxsLFxuICAgIERyb3Bkb3duSGVhZGVyQ29tcG9uZW50OiBudWxsLFxuICAgIERyb3BEb3duUmVuZGVyQ29tcG9uZW50OiBEcm9wZG93bkxpc3QsXG4gICAgRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudDogTGlzdEl0ZW0sXG4gICAgd2l0aFN1Yk9wdGlvbnM6IGZhbHNlXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgc2hvd1R5cGVhaGVhZDogZmFsc2VcbiAgfTtcblxuICBoYW5kbGVDbGlja091dHNpZGUgPSBlID0+IHtcbiAgICBpZiAoZT8udGFyZ2V0Py5jbGFzc0xpc3Q/LmNvbnRhaW5zKHByZXZlbnRDbG9zZVNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9oaWRlVHlwZWFoZWFkKCk7XG4gIH07XG5cbiAgX2hpZGVUeXBlYWhlYWQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7c2hvd1R5cGVhaGVhZDogZmFsc2V9KTtcbiAgICB0aGlzLl9vbkJsdXIoKTtcbiAgfVxuXG4gIF9vbkJsdXIgPSAoKSA9PiB7XG4gICAgLy8gbm90ZTogY2hpY2tsZXRlZCBpbnB1dCBpcyBub3QgYSByZWFsIGZvcm0gZWxlbWVudCBzbyB3ZSBjYWxsIG9uQmx1cigpXG4gICAgLy8gd2hlbiB3ZSBmZWVsIHRoZSBldmVudHMgYXJlIGFwcHJvcHJpYXRlXG4gICAgaWYgKHRoaXMucHJvcHMub25CbHVyKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQmx1cigpO1xuICAgIH1cbiAgfTtcblxuICBfcmVtb3ZlSXRlbSA9IChpdGVtLCBlKSA9PiB7XG4gICAgLy8gb25seSB1c2VkIHdoZW4gbXVsdGlTZWxlY3QgPSB0cnVlXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3Qge3NlbGVjdGVkSXRlbXN9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBpbmRleCA9IHNlbGVjdGVkSXRlbXMuZmluZEluZGV4KHQgPT4gdCA9PT0gaXRlbSk7XG5cbiAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAuLi5zZWxlY3RlZEl0ZW1zLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgIC4uLnNlbGVjdGVkSXRlbXMuc2xpY2UoaW5kZXggKyAxLCBzZWxlY3RlZEl0ZW1zLmxlbmd0aClcbiAgICBdO1xuXG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShpdGVtcyk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtzaG93VHlwZWFoZWFkOiBmYWxzZX0pO1xuICAgICAgdGhpcy5fb25CbHVyKCk7XG4gICAgfVxuICB9O1xuXG4gIF9zZWxlY3RJdGVtID0gaXRlbSA9PiB7XG4gICAgY29uc3QgZ2V0VmFsdWUgPSBBY2Nlc3Nvci5nZW5lcmF0ZU9wdGlvblRvU3RyaW5nRm9yKFxuICAgICAgdGhpcy5wcm9wcy5nZXRPcHRpb25WYWx1ZSB8fCB0aGlzLnByb3BzLmRpc3BsYXlPcHRpb25cbiAgICApO1xuXG4gICAgY29uc3QgcHJldmlvdXNTZWxlY3RlZCA9IHRvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKTtcblxuICAgIGlmICh0aGlzLnByb3BzLm11bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHVuaXFCeShwcmV2aW91c1NlbGVjdGVkLmNvbmNhdCh0b0FycmF5KGl0ZW0pKSwgZ2V0VmFsdWUpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZShpdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZ2V0VmFsdWUoaXRlbSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dUeXBlYWhlYWQ6IGZhbHNlfSk7XG4gICAgICB0aGlzLl9vbkJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgX29uRXJhc2UgPSBlID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgX3Nob3dUeXBlYWhlYWQgPSBlID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICghdGhpcy5wcm9wcy5kaXNhYmxlZCAmJiAhdGhpcy5wcm9wcy5pc0xvYWRpbmcpIHtcbiAgICAgIGlmICghdGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkICYmIHRoaXMucHJvcHMub25Gb2N1cykge1xuICAgICAgICB0aGlzLnByb3BzLm9uRm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBzaG93VHlwZWFoZWFkOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgX3JlbmRlckRyb3Bkb3duKGludGwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPERyb3Bkb3duV3JhcHBlciBwbGFjZW1lbnQ9e3RoaXMucHJvcHMucGxhY2VtZW50fT5cbiAgICAgICAgPFR5cGVhaGVhZFxuICAgICAgICAgIGN1c3RvbUNsYXNzZXM9e3tcbiAgICAgICAgICAgIHJlc3VsdHM6ICdsaXN0LXNlbGVjdG9yJyxcbiAgICAgICAgICAgIGlucHV0OiAndHlwZWFoZWFkX19pbnB1dCcsXG4gICAgICAgICAgICBsaXN0SXRlbTogJ2xpc3RfX2l0ZW0nLFxuICAgICAgICAgICAgbGlzdEFuY2hvcjogJ2xpc3RfX2l0ZW1fX2FuY2hvcidcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9wdGlvbnM9e3RoaXMucHJvcHMub3B0aW9uc31cbiAgICAgICAgICBmaWx0ZXJPcHRpb249e3RoaXMucHJvcHMuZmlsdGVyT3B0aW9ufVxuICAgICAgICAgIGZpeGVkT3B0aW9ucz17dGhpcy5wcm9wcy5maXhlZE9wdGlvbnN9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgdGhpcy5wcm9wcy50eXBlYWhlYWRQbGFjZWhvbGRlciB8fCBpbnRsXG4gICAgICAgICAgICAgID8gaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ3BsYWNlaG9sZGVyLnNlYXJjaCd9KVxuICAgICAgICAgICAgICA6ICdTZWFyY2gnXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e3RoaXMuX3NlbGVjdEl0ZW19XG4gICAgICAgICAgY3VzdG9tTGlzdENvbXBvbmVudD17dGhpcy5wcm9wcy5Ecm9wRG93blJlbmRlckNvbXBvbmVudH1cbiAgICAgICAgICBjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50PXt0aGlzLnByb3BzLkRyb3Bkb3duSGVhZGVyQ29tcG9uZW50fVxuICAgICAgICAgIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50PXt0aGlzLnByb3BzLkRyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnR9XG4gICAgICAgICAgZGlzcGxheU9wdGlvbj17QWNjZXNzb3IuZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0Zvcih0aGlzLnByb3BzLmRpc3BsYXlPcHRpb24pfVxuICAgICAgICAgIHNlYXJjaGFibGU9e3RoaXMucHJvcHMuc2VhcmNoYWJsZX1cbiAgICAgICAgICBzaG93T3B0aW9uc1doZW5FbXB0eVxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3RvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKX1cbiAgICAgICAgICBsaWdodD17dGhpcy5wcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnfVxuICAgICAgICAgIHdpdGhTdWJPcHRpb25zPXt0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zfVxuICAgICAgICAvPlxuICAgICAgPC9Ecm9wZG93bldyYXBwZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICBjb25zdCBoYXNWYWx1ZSA9IHNlbGVjdGVkLmxlbmd0aDtcbiAgICBjb25zdCBkaXNwbGF5T3B0aW9uID0gQWNjZXNzb3IuZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0Zvcih0aGlzLnByb3BzLmRpc3BsYXlPcHRpb24pO1xuXG4gICAgY29uc3QgZHJvcGRvd25TZWxlY3RQcm9wcyA9IHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NuYW1lcyh7XG4gICAgICAgIGFjdGl2ZTogdGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkXG4gICAgICB9KSxcbiAgICAgIGRpc3BsYXlPcHRpb24sXG4gICAgICBkaXNhYmxlZDogdGhpcy5wcm9wcy5kaXNhYmxlZCxcbiAgICAgIG9uQ2xpY2s6IHRoaXMuX3Nob3dUeXBlYWhlYWQsXG4gICAgICBlcnJvcjogdGhpcy5wcm9wcy5pc0Vycm9yLFxuICAgICAgaW5wdXRUaGVtZTogdGhpcy5wcm9wcy5pbnB1dFRoZW1lLFxuICAgICAgc2l6ZTogdGhpcy5wcm9wcy5zaXplXG4gICAgfTtcbiAgICBjb25zdCBpbnRsID0gdGhpcy5wcm9wcy5pbnRsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaXRlbS1zZWxlY3RvclwiPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7cG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICB7LyogdGhpcyBwYXJ0IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgbGFiZWwgKi99XG4gICAgICAgICAge3RoaXMucHJvcHMubXVsdGlTZWxlY3QgPyAoXG4gICAgICAgICAgICA8Q2hpY2tsZXRlZElucHV0XG4gICAgICAgICAgICAgIHsuLi5kcm9wZG93blNlbGVjdFByb3BzfVxuICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt0b0FycmF5KHRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtcyl9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICByZW1vdmVJdGVtPXt0aGlzLl9yZW1vdmVJdGVtfVxuICAgICAgICAgICAgICBDdXN0b21DaGlja2xldENvbXBvbmVudD17dGhpcy5wcm9wcy5DdXN0b21DaGlja2xldENvbXBvbmVudH1cbiAgICAgICAgICAgICAgaW5wdXRUaGVtZT17dGhpcy5wcm9wcy5pbnB1dFRoZW1lfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0eWxlZERyb3Bkb3duU2VsZWN0IHsuLi5kcm9wZG93blNlbGVjdFByb3BzfT5cbiAgICAgICAgICAgICAgPERyb3Bkb3duU2VsZWN0VmFsdWVcbiAgICAgICAgICAgICAgICBoYXNQbGFjZWhvbGRlcj17IWhhc1ZhbHVlfVxuICAgICAgICAgICAgICAgIGlucHV0VGhlbWU9e3RoaXMucHJvcHMuaW5wdXRUaGVtZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpdGVtLXNlbGVjdG9yX19kcm9wZG93bl9fdmFsdWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2hhc1ZhbHVlID8gKFxuICAgICAgICAgICAgICAgICAgPHRoaXMucHJvcHMuRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5T3B0aW9ufVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWRbMF19XG4gICAgICAgICAgICAgICAgICAgIGxpZ2h0PXt0aGlzLnByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCd9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17dGhpcy5wcm9wcy5wbGFjZWhvbGRlciB8fCAncGxhY2Vob2xkZXIuc2VsZWN0VmFsdWUnfSAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25TZWxlY3RWYWx1ZT5cbiAgICAgICAgICAgICAge3RoaXMucHJvcHMuZXJhc2FibGUgJiYgaGFzVmFsdWUgPyAoXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQ+XG4gICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5pc0xvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nU3Bpbm5lciBzaXplPXsxOH0gc3Ryb2tlV2lkdGg9ezJ9IGdhcD17MH0gLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxEZWxldGUgaGVpZ2h0PVwiMTJweFwiIG9uQ2xpY2s9e3RoaXMuX29uRXJhc2V9IC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvRHJvcGRvd25TZWxlY3RBY3Rpb25SaWdodD5cbiAgICAgICAgICAgICAgKSA6IHRoaXMucHJvcHMuc2hvd0Fycm93ID8gKFxuICAgICAgICAgICAgICAgIDxEcm9wZG93blNlbGVjdEFjdGlvblJpZ2h0PlxuICAgICAgICAgICAgICAgICAgPEFycm93RG93biBoZWlnaHQ9XCIxNHB4XCIgb25DbGljaz17dGhpcy5fc2hvd1R5cGVhaGVhZH0gLz5cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdHlsZWREcm9wZG93blNlbGVjdD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHsvKiB0aGlzIHBhcnQgaXMgdXNlZCB0byBidWlsdCB0aGUgbGlzdCAqL31cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkICYmIHRoaXMuX3JlbmRlckRyb3Bkb3duKGludGwpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW1TZWxlY3Rvckxpc3RlbiA9IGxpc3RlbnNUb0NsaWNrT3V0c2lkZShJdGVtU2VsZWN0b3IpO1xuZXhwb3J0IGRlZmF1bHQgaW5qZWN0SW50bChsaXN0ZW5zVG9DbGlja091dHNpZGUoSXRlbVNlbGVjdG9yKSk7XG4iXX0=
|
|
362
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiU3R5bGVkRHJvcGRvd25TZWxlY3QiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwiaW5wdXRUaGVtZSIsInRoZW1lIiwic2Vjb25kYXJ5SW5wdXQiLCJpbnB1dExUIiwiaW5wdXQiLCJzaXplIiwiaW5wdXRCb3hIZWlnaHRTbWFsbCIsImlucHV0Qm94SGVpZ2h0IiwiZHJvcGRvd25MaXN0QW5jaG9yIiwiRHJvcGRvd25TZWxlY3RWYWx1ZSIsInNwYW4iLCJoYXNQbGFjZWhvbGRlciIsInNlbGVjdENvbG9yUGxhY2VIb2xkZXJMVCIsInNlbGVjdENvbG9yUGxhY2VIb2xkZXIiLCJzZWxlY3RDb2xvckxUIiwic2VsZWN0Q29sb3IiLCJkcm9wZG93bkxpc3RJdGVtTFQiLCJkcm9wZG93bkxpc3RJdGVtIiwiZHJvcGRvd25MaXN0QW5jaG9yTFQiLCJEcm9wZG93blNlbGVjdEFjdGlvblJpZ2h0Iiwic3VidGV4dENvbG9yIiwidGV4dENvbG9yIiwiRHJvcGRvd25XcmFwcGVyIiwiZHJvcGRvd25XcmFwcGVyWiIsInByZXZlbnRDbG9zZVNlbGVjdG9yIiwiSXRlbVNlbGVjdG9yIiwic2hvd1R5cGVhaGVhZCIsImUiLCJ0YXJnZXQiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsIl9oaWRlVHlwZWFoZWFkIiwib25CbHVyIiwiaXRlbSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwic2VsZWN0ZWRJdGVtcyIsImluZGV4IiwiZmluZEluZGV4IiwidCIsIml0ZW1zIiwic2xpY2UiLCJsZW5ndGgiLCJvbkNoYW5nZSIsImNsb3NlT25TZWxlY3QiLCJzZXRTdGF0ZSIsIl9vbkJsdXIiLCJnZXRWYWx1ZSIsIkFjY2Vzc29yIiwiZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0ZvciIsImdldE9wdGlvblZhbHVlIiwiZGlzcGxheU9wdGlvbiIsInByZXZpb3VzU2VsZWN0ZWQiLCJtdWx0aVNlbGVjdCIsImNvbmNhdCIsImRpc2FibGVkIiwiaXNMb2FkaW5nIiwic3RhdGUiLCJvbkZvY3VzIiwiaW50bCIsInBsYWNlbWVudCIsInJlc3VsdHMiLCJsaXN0SXRlbSIsImxpc3RBbmNob3IiLCJvcHRpb25zIiwiZmlsdGVyT3B0aW9uIiwiZml4ZWRPcHRpb25zIiwidHlwZWFoZWFkUGxhY2Vob2xkZXIiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJfc2VsZWN0SXRlbSIsIkRyb3BEb3duUmVuZGVyQ29tcG9uZW50IiwiRHJvcGRvd25IZWFkZXJDb21wb25lbnQiLCJEcm9wRG93bkxpbmVJdGVtUmVuZGVyQ29tcG9uZW50Iiwic2VhcmNoYWJsZSIsIndpdGhTdWJPcHRpb25zIiwic2VsZWN0ZWQiLCJoYXNWYWx1ZSIsImRyb3Bkb3duU2VsZWN0UHJvcHMiLCJhY3RpdmUiLCJvbkNsaWNrIiwiX3Nob3dUeXBlYWhlYWQiLCJlcnJvciIsImlzRXJyb3IiLCJwb3NpdGlvbiIsInBsYWNlaG9sZGVyIiwiX3JlbW92ZUl0ZW0iLCJDdXN0b21DaGlja2xldENvbXBvbmVudCIsImVyYXNhYmxlIiwiX29uRXJhc2UiLCJzaG93QXJyb3ciLCJfcmVuZGVyRHJvcGRvd24iLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvbmVPZlR5cGUiLCJhcnJheSIsInN0cmluZyIsIm51bWJlciIsImJvb2wiLCJvYmplY3QiLCJmdW5jIiwiaXNSZXF1aXJlZCIsImFycmF5T2YiLCJhbnkiLCJkcm9wZG93bkhlYWRlciIsIkRyb3Bkb3duTGlzdCIsIkxpc3RJdGVtIiwiSXRlbVNlbGVjdG9yTGlzdGVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztB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VSxFQUFFLFNBVFE7QUFVcEJxRCxFQUFBQSxXQUFXLEVBQUUsSUFWTztBQVdwQmdDLEVBQUFBLFdBQVcsRUFBRSx3QkFYTztBQVlwQnpDLEVBQUFBLGFBQWEsRUFBRSxJQVpLO0FBYXBCOEIsRUFBQUEsVUFBVSxFQUFFLElBYlE7QUFjcEI4QixFQUFBQSxjQUFjLEVBQUUsSUFkSTtBQWVwQmhDLEVBQUFBLHVCQUF1QixFQUFFLElBZkw7QUFnQnBCRCxFQUFBQSx1QkFBdUIsRUFBRWtDLHdCQWhCTDtBQWlCcEJoQyxFQUFBQSwrQkFBK0IsRUFBRWlDLHNCQWpCYjtBQWtCcEIvQixFQUFBQSxjQUFjLEVBQUU7QUFsQkksQztBQWtOakIsSUFBTWdDLGtCQUFrQixHQUFHLHFDQUFzQmxGLFlBQXRCLENBQTNCOzs7ZUFDUSwyQkFBVyxxQ0FBc0JBLFlBQXRCLENBQVgsQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVuaXFCeSBmcm9tICdsb2Rhc2gudW5pcWJ5JztcbmltcG9ydCBsaXN0ZW5zVG9DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBBY2Nlc3NvciBmcm9tICcuL2FjY2Vzc29yJztcbmltcG9ydCBDaGlja2xldGVkSW5wdXQgZnJvbSAnLi9jaGlja2xldGVkLWlucHV0JztcbmltcG9ydCBUeXBlYWhlYWQgZnJvbSAnLi90eXBlYWhlYWQnO1xuaW1wb3J0IHtEZWxldGUsIEFycm93RG93bn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IExvYWRpbmdTcGlubmVyIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgRHJvcGRvd25MaXN0LCB7TGlzdEl0ZW19IGZyb20gJy4vZHJvcGRvd24tbGlzdCc7XG5cbmltcG9ydCB7dG9BcnJheX0gZnJvbSAndXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERyb3Bkb3duU2VsZWN0ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2l0ZW0tc2VsZWN0b3JfX2Ryb3Bkb3duJ1xufSlgXG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5J1xuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dFxuICAgICAgOiBwcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnXG4gICAgICA/IHByb3BzLnRoZW1lLmlucHV0TFRcbiAgICAgIDogcHJvcHMudGhlbWUuaW5wdXR9O1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNpemUgPT09ICdzbWFsbCcgPyBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodFNtYWxsIDogcHJvcHMudGhlbWUuaW5wdXRCb3hIZWlnaHR9O1xuXG4gIC5saXN0X19pdGVtX19hbmNob3Ige1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QW5jaG9yfTtcbiAgfVxuYDtcblxuY29uc3QgRHJvcGRvd25TZWxlY3RWYWx1ZSA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmhhc1BsYWNlaG9sZGVyICYmIHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCdcbiAgICAgID8gcHJvcHMudGhlbWUuc2VsZWN0Q29sb3JQbGFjZUhvbGRlckxUXG4gICAgICA6IHByb3BzLmhhc1BsYWNlaG9sZGVyXG4gICAgICA/IHByb3BzLnRoZW1lLnNlbGVjdENvbG9yUGxhY2VIb2xkZXJcbiAgICAgIDogcHJvcHMuaW5wdXRUaGVtZSA9PT0gJ2xpZ2h0J1xuICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3RDb2xvckxUXG4gICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdENvbG9yfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLmxpc3RfX2l0ZW0ge1xuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCcgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RJdGVtTFQgOiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RJdGVtfTtcbiAgfVxuXG4gIC5saXN0X19pdGVtX19hbmNob3Ige1xuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RBbmNob3JMVFxuICAgICAgICA6IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEFuY2hvcn07XG4gIH1cbmA7XG5cbmNvbnN0IERyb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcblxuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cbmA7XG5cbmNvbnN0IERyb3Bkb3duV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbmA7XG5cbi8vIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMucGxhY2VtZW50ID09PSAndG9wJyA/IHByb3BzLnRoZW1lLmlucHV0Qm94SGVpZ2h0IDogJ2F1dG8nKX07XG4vLyAgIG1hcmdpbi10b3A6ICR7cHJvcHMgPT5cbi8vICAgICBwcm9wcy5wbGFjZW1lbnQgPT09ICdib3R0b20nID8gYCR7cHJvcHMudGhlbWUuZHJvcGRvd25XYXBwZXJNYXJnaW59cHhgIDogJ2F1dG8nfTtcbi8vICAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PlxuLy8gICAgIHByb3BzLnBsYWNlbWVudCA9PT0gJ3RvcCcgPyBgJHtwcm9wcy50aGVtZS5kcm9wZG93bldhcHBlck1hcmdpbn1weGAgOiAnYXV0byd9O1xuXG4vLyBUaGUgaXRlbS1zZWxlY3RvciBjb21wb25lbnQgZGlzbW91bnQgYWxsIGl0cyBjaGlsZHJlbiBpZiB5b3UgY2xpY2sgb3V0c2lkZSBvZiB0aGUgY29tcG9uZW50IGJlY2F1c2Ugb2YgbGlzdGVuc1RvQ2xpY2tPdXRzaWRlIGZ1bmN0aW9uLlxuLy8gSWYgeW91IHdhbnQgdG8gcHJldmVudCB0aGlzIGJlaGF2aW91ciB3aGVuIHlvdSBjbGljayBvbiBhIGNoaWxkIGFkZCB0aGlzIGNsYXNzIHRvIGl0LlxuLy8gSXQgaXMgdXNlZnVsIGZvciBleGFtcGxlLCB3aGVuIHlvdSBhZGQgdGhlIGNoaWxkIGNvbXBvbmVudCBvbiB0aGUgdG9wIG9mIHRyZWUgd2l0aCBhIFBvcnRhbCBhcyBkcm9wZG93bi1saXN0IGRvZXMgd2l0aCBpdGVtLXNlbGVjdG9yLXN1Ym1lbnVcbmV4cG9ydCBjb25zdCBwcmV2ZW50Q2xvc2VTZWxlY3RvciA9ICdwcmV2ZW50X19jbG9zZV9fc2VsZWN0b3InO1xuXG5jbGFzcyBJdGVtU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC8vIHJlcXVpcmVkIHByb3BlcnRpZXNcbiAgICBzZWxlY3RlZEl0ZW1zOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5hcnJheSxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgUHJvcFR5cGVzLmJvb2wsXG4gICAgICBQcm9wVHlwZXMub2JqZWN0XG4gICAgXSksXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb3B0aW9uczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcblxuICAgIC8vIG9wdGlvbmFsIHByb3BlcnRpZXNcbiAgICBmaXhlZE9wdGlvbnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIGVyYXNhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzaG93QXJyb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc3BsYXlPcHRpb246IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgZ2V0T3B0aW9uVmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgZmlsdGVyT3B0aW9uOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuZnVuY10pLFxuICAgIHBsYWNlbWVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNFcnJvcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNMb2FkaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBtdWx0aVNlbGVjdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaW5wdXRUaGVtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkJsdXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsb3NlT25TZWxlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIHR5cGVhaGVhZFBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIERyb3Bkb3duSGVhZGVyQ29tcG9uZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBEcm9wRG93blJlbmRlckNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIHdpdGhTdWJPcHRpb25zOiBQcm9wVHlwZXMuYm9vbFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZXJhc2FibGU6IGZhbHNlLFxuICAgIHNob3dBcnJvdzogZmFsc2UsXG4gICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICBkaXNwbGF5T3B0aW9uOiBudWxsLFxuICAgIGdldE9wdGlvblZhbHVlOiBudWxsLFxuICAgIGZpbHRlck9wdGlvbjogbnVsbCxcbiAgICBmaXhlZE9wdGlvbnM6IG51bGwsXG4gICAgaW5wdXRUaGVtZTogJ3ByaW1hcnknLFxuICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgIHBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXIuZW50ZXJWYWx1ZScsXG4gICAgY2xvc2VPblNlbGVjdDogdHJ1ZSxcbiAgICBzZWFyY2hhYmxlOiB0cnVlLFxuICAgIGRyb3Bkb3duSGVhZGVyOiBudWxsLFxuICAgIERyb3Bkb3duSGVhZGVyQ29tcG9uZW50OiBudWxsLFxuICAgIERyb3BEb3duUmVuZGVyQ29tcG9uZW50OiBEcm9wZG93bkxpc3QsXG4gICAgRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudDogTGlzdEl0ZW0sXG4gICAgd2l0aFN1Yk9wdGlvbnM6IGZhbHNlXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgc2hvd1R5cGVhaGVhZDogZmFsc2VcbiAgfTtcblxuICBoYW5kbGVDbGlja091dHNpZGUgPSBlID0+IHtcbiAgICBpZiAoZT8udGFyZ2V0Py5jbGFzc0xpc3Q/LmNvbnRhaW5zKHByZXZlbnRDbG9zZVNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9oaWRlVHlwZWFoZWFkKCk7XG4gIH07XG5cbiAgX2hpZGVUeXBlYWhlYWQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7c2hvd1R5cGVhaGVhZDogZmFsc2V9KTtcbiAgICB0aGlzLl9vbkJsdXIoKTtcbiAgfVxuXG4gIF9vbkJsdXIgPSAoKSA9PiB7XG4gICAgLy8gbm90ZTogY2hpY2tsZXRlZCBpbnB1dCBpcyBub3QgYSByZWFsIGZvcm0gZWxlbWVudCBzbyB3ZSBjYWxsIG9uQmx1cigpXG4gICAgLy8gd2hlbiB3ZSBmZWVsIHRoZSBldmVudHMgYXJlIGFwcHJvcHJpYXRlXG4gICAgaWYgKHRoaXMucHJvcHMub25CbHVyKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQmx1cigpO1xuICAgIH1cbiAgfTtcblxuICBfcmVtb3ZlSXRlbSA9IChpdGVtLCBlKSA9PiB7XG4gICAgLy8gb25seSB1c2VkIHdoZW4gbXVsdGlTZWxlY3QgPSB0cnVlXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3Qge3NlbGVjdGVkSXRlbXN9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBpbmRleCA9IHNlbGVjdGVkSXRlbXMuZmluZEluZGV4KHQgPT4gdCA9PT0gaXRlbSk7XG5cbiAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAuLi5zZWxlY3RlZEl0ZW1zLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgIC4uLnNlbGVjdGVkSXRlbXMuc2xpY2UoaW5kZXggKyAxLCBzZWxlY3RlZEl0ZW1zLmxlbmd0aClcbiAgICBdO1xuXG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShpdGVtcyk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtzaG93VHlwZWFoZWFkOiBmYWxzZX0pO1xuICAgICAgdGhpcy5fb25CbHVyKCk7XG4gICAgfVxuICB9O1xuXG4gIF9zZWxlY3RJdGVtID0gaXRlbSA9PiB7XG4gICAgY29uc3QgZ2V0VmFsdWUgPSBBY2Nlc3Nvci5nZW5lcmF0ZU9wdGlvblRvU3RyaW5nRm9yKFxuICAgICAgdGhpcy5wcm9wcy5nZXRPcHRpb25WYWx1ZSB8fCB0aGlzLnByb3BzLmRpc3BsYXlPcHRpb25cbiAgICApO1xuXG4gICAgY29uc3QgcHJldmlvdXNTZWxlY3RlZCA9IHRvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKTtcblxuICAgIGlmICh0aGlzLnByb3BzLm11bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHVuaXFCeShwcmV2aW91c1NlbGVjdGVkLmNvbmNhdCh0b0FycmF5KGl0ZW0pKSwgZ2V0VmFsdWUpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZShpdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZ2V0VmFsdWUoaXRlbSkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dUeXBlYWhlYWQ6IGZhbHNlfSk7XG4gICAgICB0aGlzLl9vbkJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgX29uRXJhc2UgPSBlID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgX3Nob3dUeXBlYWhlYWQgPSBlID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICghdGhpcy5wcm9wcy5kaXNhYmxlZCAmJiAhdGhpcy5wcm9wcy5pc0xvYWRpbmcpIHtcbiAgICAgIGlmICghdGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkICYmIHRoaXMucHJvcHMub25Gb2N1cykge1xuICAgICAgICB0aGlzLnByb3BzLm9uRm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBzaG93VHlwZWFoZWFkOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgX3JlbmRlckRyb3Bkb3duKGludGwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPERyb3Bkb3duV3JhcHBlciBwbGFjZW1lbnQ9e3RoaXMucHJvcHMucGxhY2VtZW50fT5cbiAgICAgICAgPFR5cGVhaGVhZFxuICAgICAgICAgIGN1c3RvbUNsYXNzZXM9e3tcbiAgICAgICAgICAgIHJlc3VsdHM6ICdsaXN0LXNlbGVjdG9yJyxcbiAgICAgICAgICAgIGlucHV0OiAndHlwZWFoZWFkX19pbnB1dCcsXG4gICAgICAgICAgICBsaXN0SXRlbTogJ2xpc3RfX2l0ZW0nLFxuICAgICAgICAgICAgbGlzdEFuY2hvcjogJ2xpc3RfX2l0ZW1fX2FuY2hvcidcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9wdGlvbnM9e3RoaXMucHJvcHMub3B0aW9uc31cbiAgICAgICAgICBmaWx0ZXJPcHRpb249e3RoaXMucHJvcHMuZmlsdGVyT3B0aW9ufVxuICAgICAgICAgIGZpeGVkT3B0aW9ucz17dGhpcy5wcm9wcy5maXhlZE9wdGlvbnN9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgdGhpcy5wcm9wcy50eXBlYWhlYWRQbGFjZWhvbGRlciB8fCBpbnRsXG4gICAgICAgICAgICAgID8gaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ3BsYWNlaG9sZGVyLnNlYXJjaCd9KVxuICAgICAgICAgICAgICA6ICdTZWFyY2gnXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e3RoaXMuX3NlbGVjdEl0ZW19XG4gICAgICAgICAgY3VzdG9tTGlzdENvbXBvbmVudD17dGhpcy5wcm9wcy5Ecm9wRG93blJlbmRlckNvbXBvbmVudH1cbiAgICAgICAgICBjdXN0b21MaXN0SGVhZGVyQ29tcG9uZW50PXt0aGlzLnByb3BzLkRyb3Bkb3duSGVhZGVyQ29tcG9uZW50fVxuICAgICAgICAgIGN1c3RvbUxpc3RJdGVtQ29tcG9uZW50PXt0aGlzLnByb3BzLkRyb3BEb3duTGluZUl0ZW1SZW5kZXJDb21wb25lbnR9XG4gICAgICAgICAgZGlzcGxheU9wdGlvbj17QWNjZXNzb3IuZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0Zvcih0aGlzLnByb3BzLmRpc3BsYXlPcHRpb24pfVxuICAgICAgICAgIHNlYXJjaGFibGU9e3RoaXMucHJvcHMuc2VhcmNoYWJsZX1cbiAgICAgICAgICBzaG93T3B0aW9uc1doZW5FbXB0eVxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3RvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKX1cbiAgICAgICAgICBsaWdodD17dGhpcy5wcm9wcy5pbnB1dFRoZW1lID09PSAnbGlnaHQnfVxuICAgICAgICAgIHdpdGhTdWJPcHRpb25zPXt0aGlzLnByb3BzLndpdGhTdWJPcHRpb25zfVxuICAgICAgICAvPlxuICAgICAgPC9Ecm9wZG93bldyYXBwZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRvQXJyYXkodGhpcy5wcm9wcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICBjb25zdCBoYXNWYWx1ZSA9IHNlbGVjdGVkLmxlbmd0aDtcbiAgICBjb25zdCBkaXNwbGF5T3B0aW9uID0gQWNjZXNzb3IuZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0Zvcih0aGlzLnByb3BzLmRpc3BsYXlPcHRpb24pO1xuXG4gICAgY29uc3QgZHJvcGRvd25TZWxlY3RQcm9wcyA9IHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NuYW1lcyh7XG4gICAgICAgIGFjdGl2ZTogdGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkXG4gICAgICB9KSxcbiAgICAgIGRpc3BsYXlPcHRpb24sXG4gICAgICBkaXNhYmxlZDogdGhpcy5wcm9wcy5kaXNhYmxlZCxcbiAgICAgIG9uQ2xpY2s6IHRoaXMuX3Nob3dUeXBlYWhlYWQsXG4gICAgICBlcnJvcjogdGhpcy5wcm9wcy5pc0Vycm9yLFxuICAgICAgaW5wdXRUaGVtZTogdGhpcy5wcm9wcy5pbnB1dFRoZW1lLFxuICAgICAgc2l6ZTogdGhpcy5wcm9wcy5zaXplXG4gICAgfTtcbiAgICBjb25zdCBpbnRsID0gdGhpcy5wcm9wcy5pbnRsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaXRlbS1zZWxlY3RvclwiPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7cG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICB7LyogdGhpcyBwYXJ0IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgbGFiZWwgKi99XG4gICAgICAgICAge3RoaXMucHJvcHMubXVsdGlTZWxlY3QgPyAoXG4gICAgICAgICAgICA8Q2hpY2tsZXRlZElucHV0XG4gICAgICAgICAgICAgIHsuLi5kcm9wZG93blNlbGVjdFByb3BzfVxuICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt0b0FycmF5KHRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtcyl9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICByZW1vdmVJdGVtPXt0aGlzLl9yZW1vdmVJdGVtfVxuICAgICAgICAgICAgICBDdXN0b21DaGlja2xldENvbXBvbmVudD17dGhpcy5wcm9wcy5DdXN0b21DaGlja2xldENvbXBvbmVudH1cbiAgICAgICAgICAgICAgaW5wdXRUaGVtZT17dGhpcy5wcm9wcy5pbnB1dFRoZW1lfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0eWxlZERyb3Bkb3duU2VsZWN0IHsuLi5kcm9wZG93blNlbGVjdFByb3BzfT5cbiAgICAgICAgICAgICAgPERyb3Bkb3duU2VsZWN0VmFsdWVcbiAgICAgICAgICAgICAgICBoYXNQbGFjZWhvbGRlcj17IWhhc1ZhbHVlfVxuICAgICAgICAgICAgICAgIGlucHV0VGhlbWU9e3RoaXMucHJvcHMuaW5wdXRUaGVtZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpdGVtLXNlbGVjdG9yX19kcm9wZG93bl9fdmFsdWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2hhc1ZhbHVlID8gKFxuICAgICAgICAgICAgICAgICAgPHRoaXMucHJvcHMuRHJvcERvd25MaW5lSXRlbVJlbmRlckNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5T3B0aW9ufVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWRbMF19XG4gICAgICAgICAgICAgICAgICAgIGxpZ2h0PXt0aGlzLnByb3BzLmlucHV0VGhlbWUgPT09ICdsaWdodCd9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17dGhpcy5wcm9wcy5wbGFjZWhvbGRlciB8fCAncGxhY2Vob2xkZXIuc2VsZWN0VmFsdWUnfSAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25TZWxlY3RWYWx1ZT5cbiAgICAgICAgICAgICAge3RoaXMucHJvcHMuZXJhc2FibGUgJiYgaGFzVmFsdWUgPyAoXG4gICAgICAgICAgICAgICAgPERyb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQ+XG4gICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5pc0xvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nU3Bpbm5lciBzaXplPXsxOH0gc3Ryb2tlV2lkdGg9ezJ9IGdhcD17MH0gLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxEZWxldGUgaGVpZ2h0PVwiMTJweFwiIG9uQ2xpY2s9e3RoaXMuX29uRXJhc2V9IC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvRHJvcGRvd25TZWxlY3RBY3Rpb25SaWdodD5cbiAgICAgICAgICAgICAgKSA6IHRoaXMucHJvcHMuc2hvd0Fycm93ID8gKFxuICAgICAgICAgICAgICAgIDxEcm9wZG93blNlbGVjdEFjdGlvblJpZ2h0PlxuICAgICAgICAgICAgICAgICAgPEFycm93RG93biBoZWlnaHQ9XCIxNHB4XCIgb25DbGljaz17dGhpcy5fc2hvd1R5cGVhaGVhZH0gLz5cbiAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duU2VsZWN0QWN0aW9uUmlnaHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdHlsZWREcm9wZG93blNlbGVjdD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHsvKiB0aGlzIHBhcnQgaXMgdXNlZCB0byBidWlsdCB0aGUgbGlzdCAqL31cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5zaG93VHlwZWFoZWFkICYmIHRoaXMuX3JlbmRlckRyb3Bkb3duKGludGwpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW1TZWxlY3Rvckxpc3RlbiA9IGxpc3RlbnNUb0NsaWNrT3V0c2lkZShJdGVtU2VsZWN0b3IpO1xuZXhwb3J0IGRlZmF1bHQgaW5qZWN0SW50bChsaXN0ZW5zVG9DbGlja091dHNpZGUoSXRlbVNlbGVjdG9yKSk7XG4iXX0=
|
|
@@ -146,7 +146,7 @@ var defaultModalStyle = {
|
|
|
146
146
|
backgroundColor: 'rgba(0, 0, 0, 0)'
|
|
147
147
|
}
|
|
148
148
|
};
|
|
149
|
-
var WINDOW_PAD =
|
|
149
|
+
var WINDOW_PAD = 20;
|
|
150
150
|
|
|
151
151
|
var noop = function noop() {};
|
|
152
152
|
|
|
@@ -314,4 +314,4 @@ var Portaled = /*#__PURE__*/function (_Component) {
|
|
|
314
314
|
var _default = (0, _styledComponents.withTheme)(Portaled);
|
|
315
315
|
|
|
316
316
|
exports["default"] = _default;
|
|
317
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9wb3J0YWxlZC5qcyJdLCJuYW1lcyI6WyJsaXN0ZW5lcnMiLCJzdGFydExpc3RlbmluZyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZ2V0UGFnZU9mZnNldCIsIngiLCJ3aW5kb3ciLCJwYWdlWE9mZnNldCIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiYm9keSIsInBhcmVudE5vZGUiLCJzY3JvbGxMZWZ0IiwieSIsInBhZ2VZT2Zmc2V0Iiwic2Nyb2xsVG9wIiwiYWRkRXZlbnRMaXN0ZW5lcnMiLCJhZGRFdmVudExpc3RlbmVyIiwiZ2V0Q2hpbGRQb3MiLCJvZmZzZXRzIiwicmVjdCIsImNoaWxkUmVjdCIsInBhZ2VPZmZzZXQiLCJwYWRkaW5nIiwidG9wT2Zmc2V0IiwibGVmdE9mZnNldCIsInJpZ2h0T2Zmc2V0IiwiYW5jaG9yTGVmdCIsInBvcyIsInRvcCIsImxlZnQiLCJyaWdodCIsImlubmVyV2lkdGgiLCJsZWZ0T3JSaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJjYW5Vc2VET00iLCJsaXN0ZW5lcklkQ291bnRlciIsInN1YnNjcmliZSIsImZuIiwiaWQiLCJkZWZhdWx0TW9kYWxTdHlsZSIsImNvbnRlbnQiLCJib3JkZXIiLCJib3R0b20iLCJvdmVybGF5IiwiYmFja2dyb3VuZENvbG9yIiwiV0lORE9XX1BBRCIsIm5vb3AiLCJQb3J0YWxlZCIsImlzVmlzaWJsZSIsImNoaWxkIiwiY3VycmVudCIsImVsZW1lbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwcm9wcyIsInN0YXRlIiwic2V0U3RhdGUiLCJ1bnN1YnNjcmliZSIsImhhbmRsZVNjcm9sbCIsInByZXZQcm9wcyIsImRpZE9wZW4iLCJpc09wZW5lZCIsImRpZENsb3NlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiX3VubW91bnRlZCIsIkNvbXAiLCJjb21wb25lbnQiLCJvdmVybGF5WkluZGV4Iiwib25DbG9zZSIsImNoaWxkcmVuIiwibW9kYWxQcm9wcyIsIm1vZGFsU3R5bGUiLCJuZXdNb2RhbFN0eWxlIiwiekluZGV4IiwiY29udGV4dCIsInJlbW92ZUNoaWxkIiwiYXBwZW5kQ2hpbGQiLCJwb3NpdGlvbiIsIm9wYWNpdHkiLCJtYXJnaW5Ub3AiLCJDb21wb25lbnQiLCJ0aGVtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLEVBQWxCOztBQUVBLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUI7QUFBQSxTQUFNQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsU0FBWixFQUF1QkksT0FBdkIsQ0FBK0IsVUFBQUMsR0FBRztBQUFBLFdBQUlMLFNBQVMsQ0FBQ0ssR0FBRCxDQUFULEVBQUo7QUFBQSxHQUFsQyxDQUFOO0FBQUEsQ0FBdkI7O0FBRUEsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtBQUFBLFNBQU87QUFDM0JDLElBQUFBLENBQUMsRUFDQ0MsbUJBQU9DLFdBQVAsS0FBdUJDLFNBQXZCLEdBQ0lGLG1CQUFPQyxXQURYLEdBRUksQ0FBQ0UsUUFBUSxDQUFDQyxlQUFULElBQTRCRCxRQUFRLENBQUNFLElBQVQsQ0FBY0MsVUFBMUMsSUFBd0RILFFBQVEsQ0FBQ0UsSUFBbEUsRUFBd0VFLFVBSm5EO0FBSzNCQyxJQUFBQSxDQUFDLEVBQ0NSLG1CQUFPUyxXQUFQLEtBQXVCUCxTQUF2QixHQUNJRixtQkFBT1MsV0FEWCxHQUVJLENBQUNOLFFBQVEsQ0FBQ0MsZUFBVCxJQUE0QkQsUUFBUSxDQUFDRSxJQUFULENBQWNDLFVBQTFDLElBQXdESCxRQUFRLENBQUNFLElBQWxFLEVBQXdFSztBQVJuRCxHQUFQO0FBQUEsQ0FBdEI7O0FBV0EsSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixHQUFNO0FBQzlCLE1BQUlSLFFBQVEsSUFBSUEsUUFBUSxDQUFDRSxJQUF6QixFQUNFRixRQUFRLENBQUNFLElBQVQsQ0FBY08sZ0JBQWQsQ0FBK0IsWUFBL0IsRUFBNkMsd0JBQVNuQixjQUFULEVBQXlCLEdBQXpCLEVBQThCLElBQTlCLENBQTdDOztBQUNGTyxxQkFBT1ksZ0JBQVAsQ0FBd0IsUUFBeEIsRUFBa0Msd0JBQVNuQixjQUFULEVBQXlCLEVBQXpCLEVBQTZCLElBQTdCLENBQWxDO0FBQ0QsQ0FKRDs7QUFNTyxJQUFNb0IsV0FBVyxHQUFHLFNBQWRBLFdBQWMsT0FBcUQ7QUFBQSxNQUFuREMsT0FBbUQsUUFBbkRBLE9BQW1EO0FBQUEsTUFBMUNDLElBQTBDLFFBQTFDQSxJQUEwQztBQUFBLE1BQXBDQyxTQUFvQyxRQUFwQ0EsU0FBb0M7QUFBQSxNQUF6QkMsVUFBeUIsUUFBekJBLFVBQXlCO0FBQUEsTUFBYkMsT0FBYSxRQUFiQSxPQUFhO0FBQUEsTUFDdkVDLFNBRHVFLEdBQ2pDTCxPQURpQyxDQUN2RUssU0FEdUU7QUFBQSxNQUM1REMsVUFENEQsR0FDakNOLE9BRGlDLENBQzVETSxVQUQ0RDtBQUFBLE1BQ2hEQyxXQURnRCxHQUNqQ1AsT0FEaUMsQ0FDaERPLFdBRGdEO0FBRzlFLE1BQU1DLFVBQVUsR0FBR0YsVUFBVSxLQUFLbEIsU0FBbEM7O0FBQ0EsTUFBTXFCLEdBQUc7QUFDUEMsSUFBQUEsR0FBRyxFQUFFUCxVQUFVLENBQUNULENBQVgsR0FBZU8sSUFBSSxDQUFDUyxHQUFwQixJQUEyQkwsU0FBUyxJQUFJLENBQXhDO0FBREUsS0FFSEcsVUFBVSxHQUNWO0FBQUNHLElBQUFBLElBQUksRUFBRVIsVUFBVSxDQUFDbEIsQ0FBWCxHQUFlZ0IsSUFBSSxDQUFDVSxJQUFwQixHQUEyQkw7QUFBbEMsR0FEVSxHQUVWO0FBQUNNLElBQUFBLEtBQUssRUFBRTFCLG1CQUFPMkIsVUFBUCxHQUFvQlosSUFBSSxDQUFDVyxLQUF6QixHQUFpQ1QsVUFBVSxDQUFDbEIsQ0FBNUMsSUFBaURzQixXQUFXLElBQUksQ0FBaEU7QUFBUixHQUpHLENBQVQ7O0FBT0EsTUFBTU8sV0FBVyxHQUFHTixVQUFVLEdBQUcsTUFBSCxHQUFZLE9BQTFDOztBQUVBLE1BQUlDLEdBQUcsQ0FBQ0ssV0FBRCxDQUFILElBQW9CTCxHQUFHLENBQUNLLFdBQUQsQ0FBSCxHQUFtQixDQUEzQyxFQUE4QztBQUM1Q0wsSUFBQUEsR0FBRyxDQUFDSyxXQUFELENBQUgsR0FBbUJWLE9BQW5CO0FBQ0QsR0FGRCxNQUVPLElBQUlLLEdBQUcsQ0FBQ0ssV0FBRCxDQUFILElBQW9CTCxHQUFHLENBQUNLLFdBQUQsQ0FBSCxHQUFtQlosU0FBUyxDQUFDYSxLQUE3QixHQUFxQzdCLG1CQUFPMkIsVUFBcEUsRUFBZ0Y7QUFDckZKLElBQUFBLEdBQUcsQ0FBQ0ssV0FBRCxDQUFILEdBQW1CNUIsbUJBQU8yQixVQUFQLEdBQW9CWCxTQUFTLENBQUNhLEtBQTlCLEdBQXNDWCxPQUF6RDtBQUNEOztBQUVELE1BQUlLLEdBQUcsQ0FBQ0MsR0FBSixHQUFVLENBQWQsRUFBaUI7QUFDZkQsSUFBQUEsR0FBRyxDQUFDQyxHQUFKLEdBQVVOLE9BQVY7QUFDRCxHQUZELE1BRU8sSUFBSUssR0FBRyxDQUFDQyxHQUFKLEdBQVVSLFNBQVMsQ0FBQ2MsTUFBcEIsR0FBNkI5QixtQkFBTytCLFdBQXhDLEVBQXFEO0FBQzFEUixJQUFBQSxHQUFHLENBQUNDLEdBQUosR0FBVXhCLG1CQUFPK0IsV0FBUCxHQUFxQmYsU0FBUyxDQUFDYyxNQUEvQixHQUF3Q1osT0FBbEQ7QUFDRDs7QUFFRCxTQUFPSyxHQUFQO0FBQ0QsQ0ExQk07Ozs7QUE0QlAsSUFBSVMsZ0JBQUosRUFBZTtBQUNiLE1BQUk3QixRQUFRLENBQUNFLElBQWIsRUFBbUI7QUFDakJNLElBQUFBLGlCQUFpQjtBQUNsQixHQUZELE1BRU87QUFDTFIsSUFBQUEsUUFBUSxDQUFDUyxnQkFBVCxDQUEwQixrQkFBMUIsRUFBOENELGlCQUE5QztBQUNEO0FBQ0Y7O0FBRUQsSUFBSXNCLGlCQUFpQixHQUFHLENBQXhCOztBQUNBLFNBQVNDLFNBQVQsQ0FBbUJDLEVBQW5CLEVBQXVCO0FBQ3JCRixFQUFBQSxpQkFBaUIsSUFBSSxDQUFyQjtBQUNBLE1BQU1HLEVBQUUsR0FBR0gsaUJBQVg7QUFDQXpDLEVBQUFBLFNBQVMsQ0FBQzRDLEVBQUQsQ0FBVCxHQUFnQkQsRUFBaEI7QUFDQSxTQUFPO0FBQUEsV0FBTSxPQUFPM0MsU0FBUyxDQUFDNEMsRUFBRCxDQUF0QjtBQUFBLEdBQVA7QUFDRDs7QUFFRCxJQUFNQyxpQkFBaUIsR0FBRztBQUN4QkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BkLElBQUFBLEdBQUcsRUFBRSxDQURFO0FBRVBDLElBQUFBLElBQUksRUFBRSxDQUZDO0FBR1BjLElBQUFBLE1BQU0sRUFBRSxDQUhEO0FBSVBiLElBQUFBLEtBQUssRUFBRSxNQUpBO0FBS1BjLElBQUFBLE1BQU0sRUFBRSxNQUxEO0FBTVB0QixJQUFBQSxPQUFPLEVBQUU7QUFORixHQURlO0FBU3hCdUIsRUFBQUEsT0FBTyxFQUFFO0FBQ1BmLElBQUFBLEtBQUssRUFBRSxNQURBO0FBRVBjLElBQUFBLE1BQU0sRUFBRSxNQUZEO0FBR1BYLElBQUFBLEtBQUssRUFBRSxPQUhBO0FBSVBDLElBQUFBLE1BQU0sRUFBRSxPQUpEO0FBS1BZLElBQUFBLGVBQWUsRUFBRTtBQUxWO0FBVGUsQ0FBMUI7QUFrQkEsSUFBTUMsVUFBVSxHQUFHLEVBQW5COztBQUVBLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFPLEdBQU0sQ0FBRSxDQUFyQjs7SUFFTUMsUTs7Ozs7Ozs7Ozs7Ozs7OzhGQU9JO0FBQ050QixNQUFBQSxHQUFHLEVBQUUsSUFEQztBQUVOdUIsTUFBQUEsU0FBUyxFQUFFO0FBRkwsSzs2R0E4QkUsdUI7MkdBQ0YsdUI7cUdBR08sWUFBTTtBQUNuQixVQUFJLE1BQUtDLEtBQUwsQ0FBV0MsT0FBZixFQUF3QjtBQUN0QixZQUFNakMsSUFBSSxHQUFHLE1BQUtrQyxPQUFMLENBQWFELE9BQWIsQ0FBcUJFLHFCQUFyQixFQUFiOztBQUNBLFlBQU1sQyxTQUFTLEdBQUcsTUFBSytCLEtBQUwsQ0FBV0MsT0FBWCxJQUFzQixNQUFLRCxLQUFMLENBQVdDLE9BQVgsQ0FBbUJFLHFCQUFuQixFQUF4Qzs7QUFDQSxZQUFNakMsVUFBVSxHQUFHbkIsYUFBYSxFQUFoQztBQUhzQiwwQkFJeUMsTUFBS3FELEtBSjlDO0FBQUEsWUFJVmhDLFNBSlUsZUFJZkssR0FKZTtBQUFBLFlBSU9KLFVBSlAsZUFJQ0ssSUFKRDtBQUFBLFlBSTBCSixXQUoxQixlQUltQkssS0FKbkI7QUFNdEIsWUFBTUgsR0FBRyxHQUFHVixXQUFXLENBQUM7QUFDdEJDLFVBQUFBLE9BQU8sRUFBRTtBQUFDSyxZQUFBQSxTQUFTLEVBQVRBLFNBQUQ7QUFBWUMsWUFBQUEsVUFBVSxFQUFWQSxVQUFaO0FBQXdCQyxZQUFBQSxXQUFXLEVBQVhBO0FBQXhCLFdBRGE7QUFFdEJOLFVBQUFBLElBQUksRUFBSkEsSUFGc0I7QUFHdEJDLFVBQUFBLFNBQVMsRUFBVEEsU0FIc0I7QUFJdEJDLFVBQUFBLFVBQVUsRUFBVkEsVUFKc0I7QUFLdEJDLFVBQUFBLE9BQU8sRUFBRXlCO0FBTGEsU0FBRCxDQUF2Qjs7QUFRQSxZQUFJLENBQUMseUJBQVFwQixHQUFSLEVBQWEsTUFBSzZCLEtBQUwsQ0FBVzdCLEdBQXhCLENBQUwsRUFBbUM7QUFDakMsZ0JBQUs4QixRQUFMLENBQWM7QUFBQzlCLFlBQUFBLEdBQUcsRUFBSEE7QUFBRCxXQUFkO0FBQ0Q7QUFDRjtBQUNGLEs7Ozs7OztXQWhERCw2QkFBb0I7QUFDbEI7QUFDQSxXQUFLK0IsV0FBTCxHQUFtQnBCLFNBQVMsQ0FBQyxLQUFLcUIsWUFBTixDQUE1QjtBQUNBLFdBQUtBLFlBQUw7QUFDRDs7O1dBRUQsNEJBQW1CQyxTQUFuQixFQUE4QjtBQUFBOztBQUM1QixVQUFNQyxPQUFPLEdBQUcsS0FBS04sS0FBTCxDQUFXTyxRQUFYLElBQXVCLENBQUNGLFNBQVMsQ0FBQ0UsUUFBbEQ7QUFDQSxVQUFNQyxRQUFRLEdBQUcsQ0FBQyxLQUFLUixLQUFMLENBQVdPLFFBQVosSUFBd0JGLFNBQVMsQ0FBQ0UsUUFBbkQ7O0FBQ0EsVUFBSUQsT0FBTyxJQUFJRSxRQUFmLEVBQXlCO0FBQ3ZCM0QsMkJBQU80RCxxQkFBUCxDQUE2QixZQUFNO0FBQ2pDLGNBQUksTUFBSSxDQUFDQyxVQUFULEVBQXFCOztBQUNyQixVQUFBLE1BQUksQ0FBQ1IsUUFBTCxDQUFjO0FBQUNQLFlBQUFBLFNBQVMsRUFBRVc7QUFBWixXQUFkO0FBQ0QsU0FIRDtBQUlEOztBQUVELFdBQUtGLFlBQUw7QUFDRDs7O1dBRUQsZ0NBQXVCO0FBQ3JCLFdBQUtNLFVBQUwsR0FBa0IsSUFBbEIsQ0FEcUIsQ0FFckI7O0FBQ0EsV0FBS1AsV0FBTDtBQUNEOzs7V0EyQkQsa0JBQVM7QUFBQTs7QUFBQSx5QkFZSCxLQUFLSCxLQVpGO0FBQUEsVUFHTVcsSUFITixnQkFHTEMsU0FISztBQUFBLFVBSUxDLGFBSkssZ0JBSUxBLGFBSks7QUFBQSxVQUtMTixRQUxLLGdCQUtMQSxRQUxLO0FBQUEsVUFNTE8sT0FOSyxnQkFNTEEsT0FOSztBQUFBLFVBU0xDLFFBVEssZ0JBU0xBLFFBVEs7QUFBQSxVQVVMQyxVQVZLLGdCQVVMQSxVQVZLO0FBQUEsK0NBV0xDLFVBWEs7QUFBQSxVQVdMQSxVQVhLLHNDQVdRLEVBWFI7QUFBQSx3QkFja0IsS0FBS2hCLEtBZHZCO0FBQUEsVUFjQU4sU0FkQSxlQWNBQSxTQWRBO0FBQUEsVUFjV3ZCLEdBZFgsZUFjV0EsR0FkWDs7QUFnQlAsVUFBTThDLGFBQWEsbUNBQ2RoQyxpQkFEYztBQUVqQkMsUUFBQUEsT0FBTyxvQkFDRDhCLFVBQVUsQ0FBQzlCLE9BQVgsSUFBc0IsRUFEckIsQ0FGVTtBQUtqQkcsUUFBQUEsT0FBTyxnREFDRkosaUJBQWlCLENBQUNJLE9BRGhCLEdBRUQyQixVQUFVLENBQUMzQixPQUFYLElBQXNCLEVBRnJCO0FBR0w7QUFDQTZCLFVBQUFBLE1BQU0sRUFBRU4sYUFBYSxJQUFJO0FBSnBCO0FBTFUsUUFBbkI7O0FBYUEsMEJBQ0UsZ0NBQUMsb0JBQUQsQ0FBYSxRQUFiLFFBQ0csVUFBQU8sT0FBTztBQUFBLDRCQUNOLGdDQUFDLElBQUQ7QUFBTSxVQUFBLEdBQUcsRUFBRSxNQUFJLENBQUN0QjtBQUFoQixXQUNHUyxRQUFRLGdCQUNQLGdDQUFDLHNCQUFEO0FBQ0UsVUFBQSxTQUFTLEVBQUM7QUFEWixXQUVNUyxVQUZOO0FBR0UsVUFBQSxXQUFXLEVBQUUsS0FIZjtBQUlFLFVBQUEsTUFBTSxNQUpSO0FBS0UsVUFBQSxLQUFLLEVBQUVFLGFBTFQ7QUFNRSxVQUFBLGNBQWMsRUFBRSwwQkFBTTtBQUNwQjtBQUNBO0FBQ0EsbUJBQ0U7QUFDQ0UsY0FBQUEsT0FBTyxJQUFJQSxPQUFPLENBQUN2QixPQUFwQixJQUFnQztBQUM5QndCLGdCQUFBQSxXQUFXLEVBQUUsdUJBQU0sQ0FBRSxDQURTO0FBRTlCQyxnQkFBQUEsV0FBVyxFQUFFLHVCQUFNLENBQUU7QUFGUztBQUZsQztBQU9EO0FBaEJILHlCQWtCRTtBQUNFLFVBQUEsU0FBUyxFQUFDLGtCQURaO0FBRUUsVUFBQSxHQUFHLEVBQUMsTUFGTjtBQUdFLFVBQUEsS0FBSztBQUNIQyxZQUFBQSxRQUFRLEVBQUUsT0FEUDtBQUVIQyxZQUFBQSxPQUFPLEVBQUU3QixTQUFTLEdBQUcsQ0FBSCxHQUFPLENBRnRCO0FBR0h0QixZQUFBQSxHQUFHLEVBQUUsTUFBSSxDQUFDNEIsS0FBTCxDQUFXNUIsR0FIYjtBQUlIb0QsWUFBQUEsU0FBUyxFQUFFOUIsU0FBUyxHQUFHLEtBQUgsR0FBVztBQUo1QixhQU1BdkIsR0FOQTtBQUhQLHdCQVlFO0FBQ0UsVUFBQSxHQUFHLEVBQUUsTUFBSSxDQUFDd0IsS0FEWjtBQUVFLFVBQUEsS0FBSyxFQUFFO0FBQ0wyQixZQUFBQSxRQUFRLEVBQUUsVUFETDtBQUVMSixZQUFBQSxNQUFNLEVBQUVOLGFBQWEsR0FBR0EsYUFBYSxHQUFHLENBQW5CLEdBQXVCO0FBRnZDO0FBRlQsV0FPR0UsUUFQSCxDQVpGLENBbEJGLENBRE8sR0EwQ0wsSUEzQ04sQ0FETTtBQUFBLE9BRFYsQ0FERjtBQW1ERDs7O0VBOUlvQlcsZ0I7O2lDQUFqQmhDLFEsa0JBQ2tCO0FBQ3BCa0IsRUFBQUEsU0FBUyxFQUFFLEtBRFM7QUFFcEJFLEVBQUFBLE9BQU8sRUFBRXJCLElBRlc7QUFHcEJrQyxFQUFBQSxLQUFLLEVBQUxBO0FBSG9CLEM7O2VBZ0pULGlDQUFVakMsUUFBVixDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLmlzZXF1YWwnO1xuXG5pbXBvcnQge2NhblVzZURPTX0gZnJvbSAnZXhlbnYnO1xuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Um9vdENvbnRleHR9IGZyb20gJ2NvbXBvbmVudHMvY29udGV4dCc7XG5pbXBvcnQgTW9kYWwgZnJvbSAncmVhY3QtbW9kYWwnO1xuaW1wb3J0IHdpbmRvdyBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCB7dGhlbWV9IGZyb20gJ3N0eWxlcy9iYXNlJztcblxuY29uc3QgbGlzdGVuZXJzID0ge307XG5cbmNvbnN0IHN0YXJ0TGlzdGVuaW5nID0gKCkgPT4gT2JqZWN0LmtleXMobGlzdGVuZXJzKS5mb3JFYWNoKGtleSA9PiBsaXN0ZW5lcnNba2V5XSgpKTtcblxuY29uc3QgZ2V0UGFnZU9mZnNldCA9ICgpID0+ICh7XG4gIHg6XG4gICAgd2luZG93LnBhZ2VYT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VYT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbExlZnQsXG4gIHk6XG4gICAgd2luZG93LnBhZ2VZT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VZT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbFRvcFxufSk7XG5cbmNvbnN0IGFkZEV2ZW50TGlzdGVuZXJzID0gKCkgPT4ge1xuICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYm9keSlcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNld2hlZWwnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgMTAwLCB0cnVlKSk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgNTAsIHRydWUpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDaGlsZFBvcyA9ICh7b2Zmc2V0cywgcmVjdCwgY2hpbGRSZWN0LCBwYWdlT2Zmc2V0LCBwYWRkaW5nfSkgPT4ge1xuICBjb25zdCB7dG9wT2Zmc2V0LCBsZWZ0T2Zmc2V0LCByaWdodE9mZnNldH0gPSBvZmZzZXRzO1xuXG4gIGNvbnN0IGFuY2hvckxlZnQgPSBsZWZ0T2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gIGNvbnN0IHBvcyA9IHtcbiAgICB0b3A6IHBhZ2VPZmZzZXQueSArIHJlY3QudG9wICsgKHRvcE9mZnNldCB8fCAwKSxcbiAgICAuLi4oYW5jaG9yTGVmdFxuICAgICAgPyB7bGVmdDogcGFnZU9mZnNldC54ICsgcmVjdC5sZWZ0ICsgbGVmdE9mZnNldH1cbiAgICAgIDoge3JpZ2h0OiB3aW5kb3cuaW5uZXJXaWR0aCAtIHJlY3QucmlnaHQgLSBwYWdlT2Zmc2V0LnggKyAocmlnaHRPZmZzZXQgfHwgMCl9KVxuICB9O1xuXG4gIGNvbnN0IGxlZnRPclJpZ2h0ID0gYW5jaG9yTGVmdCA/ICdsZWZ0JyA6ICdyaWdodCc7XG5cbiAgaWYgKHBvc1tsZWZ0T3JSaWdodF0gJiYgcG9zW2xlZnRPclJpZ2h0XSA8IDApIHtcbiAgICBwb3NbbGVmdE9yUmlnaHRdID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3NbbGVmdE9yUmlnaHRdICYmIHBvc1tsZWZ0T3JSaWdodF0gKyBjaGlsZFJlY3Qud2lkdGggPiB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgIHBvc1tsZWZ0T3JSaWdodF0gPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNoaWxkUmVjdC53aWR0aCAtIHBhZGRpbmc7XG4gIH1cblxuICBpZiAocG9zLnRvcCA8IDApIHtcbiAgICBwb3MudG9wID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3MudG9wICsgY2hpbGRSZWN0LmhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgIHBvcy50b3AgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBjaGlsZFJlY3QuaGVpZ2h0IC0gcGFkZGluZztcbiAgfVxuXG4gIHJldHVybiBwb3M7XG59O1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIGlmIChkb2N1bWVudC5ib2R5KSB7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbiAgfSBlbHNlIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgYWRkRXZlbnRMaXN0ZW5lcnMpO1xuICB9XG59XG5cbmxldCBsaXN0ZW5lcklkQ291bnRlciA9IDA7XG5mdW5jdGlvbiBzdWJzY3JpYmUoZm4pIHtcbiAgbGlzdGVuZXJJZENvdW50ZXIgKz0gMTtcbiAgY29uc3QgaWQgPSBsaXN0ZW5lcklkQ291bnRlcjtcbiAgbGlzdGVuZXJzW2lkXSA9IGZuO1xuICByZXR1cm4gKCkgPT4gZGVsZXRlIGxpc3RlbmVyc1tpZF07XG59XG5cbmNvbnN0IGRlZmF1bHRNb2RhbFN0eWxlID0ge1xuICBjb250ZW50OiB7XG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgYm9yZGVyOiAwLFxuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgcGFkZGluZzogJzBweCAwcHggMHB4IDBweCdcbiAgfSxcbiAgb3ZlcmxheToge1xuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgd2lkdGg6ICcxMDB2dycsXG4gICAgaGVpZ2h0OiAnMTAwdmgnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMCknXG4gIH1cbn07XG5cbmNvbnN0IFdJTkRPV19QQUQgPSA0MDtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5jbGFzcyBQb3J0YWxlZCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29tcG9uZW50OiAnZGl2JyxcbiAgICBvbkNsb3NlOiBub29wLFxuICAgIHRoZW1lXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgcG9zOiBudWxsLFxuICAgIGlzVmlzaWJsZTogZmFsc2VcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyByZWxhdGl2ZVxuICAgIHRoaXMudW5zdWJzY3JpYmUgPSBzdWJzY3JpYmUodGhpcy5oYW5kbGVTY3JvbGwpO1xuICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgZGlkT3BlbiA9IHRoaXMucHJvcHMuaXNPcGVuZWQgJiYgIXByZXZQcm9wcy5pc09wZW5lZDtcbiAgICBjb25zdCBkaWRDbG9zZSA9ICF0aGlzLnByb3BzLmlzT3BlbmVkICYmIHByZXZQcm9wcy5pc09wZW5lZDtcbiAgICBpZiAoZGlkT3BlbiB8fCBkaWRDbG9zZSkge1xuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl91bm1vdW50ZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlOiBkaWRPcGVufSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fdW5tb3VudGVkID0gdHJ1ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZWxlbWVudCA9IGNyZWF0ZVJlZigpO1xuICBjaGlsZCA9IGNyZWF0ZVJlZigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gIGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5jaGlsZC5jdXJyZW50KSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5lbGVtZW50LmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjaGlsZFJlY3QgPSB0aGlzLmNoaWxkLmN1cnJlbnQgJiYgdGhpcy5jaGlsZC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcGFnZU9mZnNldCA9IGdldFBhZ2VPZmZzZXQoKTtcbiAgICAgIGNvbnN0IHt0b3A6IHRvcE9mZnNldCwgbGVmdDogbGVmdE9mZnNldCwgcmlnaHQ6IHJpZ2h0T2Zmc2V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IHBvcyA9IGdldENoaWxkUG9zKHtcbiAgICAgICAgb2Zmc2V0czoge3RvcE9mZnNldCwgbGVmdE9mZnNldCwgcmlnaHRPZmZzZXR9LFxuICAgICAgICByZWN0LFxuICAgICAgICBjaGlsZFJlY3QsXG4gICAgICAgIHBhZ2VPZmZzZXQsXG4gICAgICAgIHBhZGRpbmc6IFdJTkRPV19QQURcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzRXF1YWwocG9zLCB0aGlzLnN0YXRlLnBvcykpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7cG9zfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICAvLyByZWxhdGl2ZVxuICAgICAgY29tcG9uZW50OiBDb21wLFxuICAgICAgb3ZlcmxheVpJbmRleCxcbiAgICAgIGlzT3BlbmVkLFxuICAgICAgb25DbG9zZSxcblxuICAgICAgLy8gTW9kYWxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgbW9kYWxQcm9wcyxcbiAgICAgIG1vZGFsU3R5bGUgPSB7fVxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qge2lzVmlzaWJsZSwgcG9zfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBuZXdNb2RhbFN0eWxlID0ge1xuICAgICAgLi4uZGVmYXVsdE1vZGFsU3R5bGUsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIC4uLihtb2RhbFN0eWxlLmNvbnRlbnQgfHwge30pXG4gICAgICB9LFxuICAgICAgb3ZlcmxheToge1xuICAgICAgICAuLi5kZWZhdWx0TW9kYWxTdHlsZS5vdmVybGF5LFxuICAgICAgICAuLi4obW9kYWxTdHlsZS5vdmVybGF5IHx8IHt9KSxcbiAgICAgICAgLy8gbmVlZHMgdG8gYmUgb24gdG9wIG9mIGV4aXN0aW5nIG1vZGFsXG4gICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCB8fCA5OTk5XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Um9vdENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgIHtjb250ZXh0ID0+IChcbiAgICAgICAgICA8Q29tcCByZWY9e3RoaXMuZWxlbWVudH0+XG4gICAgICAgICAgICB7aXNPcGVuZWQgPyAoXG4gICAgICAgICAgICAgIDxNb2RhbFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vZGFsLXBvcnRhbFwiXG4gICAgICAgICAgICAgICAgey4uLm1vZGFsUHJvcHN9XG4gICAgICAgICAgICAgICAgYXJpYUhpZGVBcHA9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgIHN0eWxlPXtuZXdNb2RhbFN0eWxlfVxuICAgICAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBSZWFjdCBtb2RhbCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmVhY3QtbW9kYWwvaXNzdWVzLzc2OVxuICAgICAgICAgICAgICAgICAgLy8gZmFpbGVkIHRvIGV4ZWN1dGUgcmVtb3ZlQ2hpbGQgb24gcGFyZW50IG5vZGUgd2hlbiBpdCBpcyBhbHJlYWR5IHVubW91bnRlZFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAoY29udGV4dCAmJiBjb250ZXh0LmN1cnJlbnQpIHx8IHtcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmVDaGlsZDogKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ2hpbGQ6ICgpID0+IHt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBvcnRhbGVkLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAga2V5PVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5zdGF0ZS50b3AsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogaXNWaXNpYmxlID8gJzBweCcgOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgLi4ucG9zXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLmNoaWxkfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCA/IG92ZXJsYXlaSW5kZXggKyAxIDogMTAwMDBcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L0NvbXA+XG4gICAgICAgICl9XG4gICAgICA8L1Jvb3RDb250ZXh0LkNvbnN1bWVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lKFBvcnRhbGVkKTtcbiJdfQ==
|
|
317
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9wb3J0YWxlZC5qcyJdLCJuYW1lcyI6WyJsaXN0ZW5lcnMiLCJzdGFydExpc3RlbmluZyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZ2V0UGFnZU9mZnNldCIsIngiLCJ3aW5kb3ciLCJwYWdlWE9mZnNldCIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiYm9keSIsInBhcmVudE5vZGUiLCJzY3JvbGxMZWZ0IiwieSIsInBhZ2VZT2Zmc2V0Iiwic2Nyb2xsVG9wIiwiYWRkRXZlbnRMaXN0ZW5lcnMiLCJhZGRFdmVudExpc3RlbmVyIiwiZ2V0Q2hpbGRQb3MiLCJvZmZzZXRzIiwicmVjdCIsImNoaWxkUmVjdCIsInBhZ2VPZmZzZXQiLCJwYWRkaW5nIiwidG9wT2Zmc2V0IiwibGVmdE9mZnNldCIsInJpZ2h0T2Zmc2V0IiwiYW5jaG9yTGVmdCIsInBvcyIsInRvcCIsImxlZnQiLCJyaWdodCIsImlubmVyV2lkdGgiLCJsZWZ0T3JSaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJjYW5Vc2VET00iLCJsaXN0ZW5lcklkQ291bnRlciIsInN1YnNjcmliZSIsImZuIiwiaWQiLCJkZWZhdWx0TW9kYWxTdHlsZSIsImNvbnRlbnQiLCJib3JkZXIiLCJib3R0b20iLCJvdmVybGF5IiwiYmFja2dyb3VuZENvbG9yIiwiV0lORE9XX1BBRCIsIm5vb3AiLCJQb3J0YWxlZCIsImlzVmlzaWJsZSIsImNoaWxkIiwiY3VycmVudCIsImVsZW1lbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwcm9wcyIsInN0YXRlIiwic2V0U3RhdGUiLCJ1bnN1YnNjcmliZSIsImhhbmRsZVNjcm9sbCIsInByZXZQcm9wcyIsImRpZE9wZW4iLCJpc09wZW5lZCIsImRpZENsb3NlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiX3VubW91bnRlZCIsIkNvbXAiLCJjb21wb25lbnQiLCJvdmVybGF5WkluZGV4Iiwib25DbG9zZSIsImNoaWxkcmVuIiwibW9kYWxQcm9wcyIsIm1vZGFsU3R5bGUiLCJuZXdNb2RhbFN0eWxlIiwiekluZGV4IiwiY29udGV4dCIsInJlbW92ZUNoaWxkIiwiYXBwZW5kQ2hpbGQiLCJwb3NpdGlvbiIsIm9wYWNpdHkiLCJtYXJnaW5Ub3AiLCJDb21wb25lbnQiLCJ0aGVtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLEVBQWxCOztBQUVBLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUI7QUFBQSxTQUFNQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsU0FBWixFQUF1QkksT0FBdkIsQ0FBK0IsVUFBQUMsR0FBRztBQUFBLFdBQUlMLFNBQVMsQ0FBQ0ssR0FBRCxDQUFULEVBQUo7QUFBQSxHQUFsQyxDQUFOO0FBQUEsQ0FBdkI7O0FBRUEsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtBQUFBLFNBQU87QUFDM0JDLElBQUFBLENBQUMsRUFDQ0MsbUJBQU9DLFdBQVAsS0FBdUJDLFNBQXZCLEdBQ0lGLG1CQUFPQyxXQURYLEdBRUksQ0FBQ0UsUUFBUSxDQUFDQyxlQUFULElBQTRCRCxRQUFRLENBQUNFLElBQVQsQ0FBY0MsVUFBMUMsSUFBd0RILFFBQVEsQ0FBQ0UsSUFBbEUsRUFBd0VFLFVBSm5EO0FBSzNCQyxJQUFBQSxDQUFDLEVBQ0NSLG1CQUFPUyxXQUFQLEtBQXVCUCxTQUF2QixHQUNJRixtQkFBT1MsV0FEWCxHQUVJLENBQUNOLFFBQVEsQ0FBQ0MsZUFBVCxJQUE0QkQsUUFBUSxDQUFDRSxJQUFULENBQWNDLFVBQTFDLElBQXdESCxRQUFRLENBQUNFLElBQWxFLEVBQXdFSztBQVJuRCxHQUFQO0FBQUEsQ0FBdEI7O0FBV0EsSUFBTUMsaUJBQWlCLEdB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SUEzQ04sQ0FETTtBQUFBLE9BRFYsQ0FERjtBQW1ERDs7O0VBOUlvQlcsZ0I7O2lDQUFqQmhDLFEsa0JBQ2tCO0FBQ3BCa0IsRUFBQUEsU0FBUyxFQUFFLEtBRFM7QUFFcEJFLEVBQUFBLE9BQU8sRUFBRXJCLElBRlc7QUFHcEJrQyxFQUFBQSxLQUFLLEVBQUxBO0FBSG9CLEM7O2VBZ0pULGlDQUFVakMsUUFBVixDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLmlzZXF1YWwnO1xuXG5pbXBvcnQge2NhblVzZURPTX0gZnJvbSAnZXhlbnYnO1xuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Um9vdENvbnRleHR9IGZyb20gJ2NvbXBvbmVudHMvY29udGV4dCc7XG5pbXBvcnQgTW9kYWwgZnJvbSAncmVhY3QtbW9kYWwnO1xuaW1wb3J0IHdpbmRvdyBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCB7dGhlbWV9IGZyb20gJ3N0eWxlcy9iYXNlJztcblxuY29uc3QgbGlzdGVuZXJzID0ge307XG5cbmNvbnN0IHN0YXJ0TGlzdGVuaW5nID0gKCkgPT4gT2JqZWN0LmtleXMobGlzdGVuZXJzKS5mb3JFYWNoKGtleSA9PiBsaXN0ZW5lcnNba2V5XSgpKTtcblxuY29uc3QgZ2V0UGFnZU9mZnNldCA9ICgpID0+ICh7XG4gIHg6XG4gICAgd2luZG93LnBhZ2VYT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VYT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbExlZnQsXG4gIHk6XG4gICAgd2luZG93LnBhZ2VZT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VZT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbFRvcFxufSk7XG5cbmNvbnN0IGFkZEV2ZW50TGlzdGVuZXJzID0gKCkgPT4ge1xuICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYm9keSlcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNld2hlZWwnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgMTAwLCB0cnVlKSk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgNTAsIHRydWUpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDaGlsZFBvcyA9ICh7b2Zmc2V0cywgcmVjdCwgY2hpbGRSZWN0LCBwYWdlT2Zmc2V0LCBwYWRkaW5nfSkgPT4ge1xuICBjb25zdCB7dG9wT2Zmc2V0LCBsZWZ0T2Zmc2V0LCByaWdodE9mZnNldH0gPSBvZmZzZXRzO1xuXG4gIGNvbnN0IGFuY2hvckxlZnQgPSBsZWZ0T2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gIGNvbnN0IHBvcyA9IHtcbiAgICB0b3A6IHBhZ2VPZmZzZXQueSArIHJlY3QudG9wICsgKHRvcE9mZnNldCB8fCAwKSxcbiAgICAuLi4oYW5jaG9yTGVmdFxuICAgICAgPyB7bGVmdDogcGFnZU9mZnNldC54ICsgcmVjdC5sZWZ0ICsgbGVmdE9mZnNldH1cbiAgICAgIDoge3JpZ2h0OiB3aW5kb3cuaW5uZXJXaWR0aCAtIHJlY3QucmlnaHQgLSBwYWdlT2Zmc2V0LnggKyAocmlnaHRPZmZzZXQgfHwgMCl9KVxuICB9O1xuXG4gIGNvbnN0IGxlZnRPclJpZ2h0ID0gYW5jaG9yTGVmdCA/ICdsZWZ0JyA6ICdyaWdodCc7XG5cbiAgaWYgKHBvc1tsZWZ0T3JSaWdodF0gJiYgcG9zW2xlZnRPclJpZ2h0XSA8IDApIHtcbiAgICBwb3NbbGVmdE9yUmlnaHRdID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3NbbGVmdE9yUmlnaHRdICYmIHBvc1tsZWZ0T3JSaWdodF0gKyBjaGlsZFJlY3Qud2lkdGggPiB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgIHBvc1tsZWZ0T3JSaWdodF0gPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNoaWxkUmVjdC53aWR0aCAtIHBhZGRpbmc7XG4gIH1cblxuICBpZiAocG9zLnRvcCA8IDApIHtcbiAgICBwb3MudG9wID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3MudG9wICsgY2hpbGRSZWN0LmhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgIHBvcy50b3AgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBjaGlsZFJlY3QuaGVpZ2h0IC0gcGFkZGluZztcbiAgfVxuXG4gIHJldHVybiBwb3M7XG59O1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIGlmIChkb2N1bWVudC5ib2R5KSB7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbiAgfSBlbHNlIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgYWRkRXZlbnRMaXN0ZW5lcnMpO1xuICB9XG59XG5cbmxldCBsaXN0ZW5lcklkQ291bnRlciA9IDA7XG5mdW5jdGlvbiBzdWJzY3JpYmUoZm4pIHtcbiAgbGlzdGVuZXJJZENvdW50ZXIgKz0gMTtcbiAgY29uc3QgaWQgPSBsaXN0ZW5lcklkQ291bnRlcjtcbiAgbGlzdGVuZXJzW2lkXSA9IGZuO1xuICByZXR1cm4gKCkgPT4gZGVsZXRlIGxpc3RlbmVyc1tpZF07XG59XG5cbmNvbnN0IGRlZmF1bHRNb2RhbFN0eWxlID0ge1xuICBjb250ZW50OiB7XG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgYm9yZGVyOiAwLFxuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgcGFkZGluZzogJzBweCAwcHggMHB4IDBweCdcbiAgfSxcbiAgb3ZlcmxheToge1xuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgd2lkdGg6ICcxMDB2dycsXG4gICAgaGVpZ2h0OiAnMTAwdmgnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMCknXG4gIH1cbn07XG5cbmNvbnN0IFdJTkRPV19QQUQgPSAyMDtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5jbGFzcyBQb3J0YWxlZCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29tcG9uZW50OiAnZGl2JyxcbiAgICBvbkNsb3NlOiBub29wLFxuICAgIHRoZW1lXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgcG9zOiBudWxsLFxuICAgIGlzVmlzaWJsZTogZmFsc2VcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyByZWxhdGl2ZVxuICAgIHRoaXMudW5zdWJzY3JpYmUgPSBzdWJzY3JpYmUodGhpcy5oYW5kbGVTY3JvbGwpO1xuICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgZGlkT3BlbiA9IHRoaXMucHJvcHMuaXNPcGVuZWQgJiYgIXByZXZQcm9wcy5pc09wZW5lZDtcbiAgICBjb25zdCBkaWRDbG9zZSA9ICF0aGlzLnByb3BzLmlzT3BlbmVkICYmIHByZXZQcm9wcy5pc09wZW5lZDtcbiAgICBpZiAoZGlkT3BlbiB8fCBkaWRDbG9zZSkge1xuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl91bm1vdW50ZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlOiBkaWRPcGVufSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fdW5tb3VudGVkID0gdHJ1ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZWxlbWVudCA9IGNyZWF0ZVJlZigpO1xuICBjaGlsZCA9IGNyZWF0ZVJlZigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gIGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5jaGlsZC5jdXJyZW50KSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5lbGVtZW50LmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjaGlsZFJlY3QgPSB0aGlzLmNoaWxkLmN1cnJlbnQgJiYgdGhpcy5jaGlsZC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcGFnZU9mZnNldCA9IGdldFBhZ2VPZmZzZXQoKTtcbiAgICAgIGNvbnN0IHt0b3A6IHRvcE9mZnNldCwgbGVmdDogbGVmdE9mZnNldCwgcmlnaHQ6IHJpZ2h0T2Zmc2V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IHBvcyA9IGdldENoaWxkUG9zKHtcbiAgICAgICAgb2Zmc2V0czoge3RvcE9mZnNldCwgbGVmdE9mZnNldCwgcmlnaHRPZmZzZXR9LFxuICAgICAgICByZWN0LFxuICAgICAgICBjaGlsZFJlY3QsXG4gICAgICAgIHBhZ2VPZmZzZXQsXG4gICAgICAgIHBhZGRpbmc6IFdJTkRPV19QQURcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzRXF1YWwocG9zLCB0aGlzLnN0YXRlLnBvcykpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7cG9zfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICAvLyByZWxhdGl2ZVxuICAgICAgY29tcG9uZW50OiBDb21wLFxuICAgICAgb3ZlcmxheVpJbmRleCxcbiAgICAgIGlzT3BlbmVkLFxuICAgICAgb25DbG9zZSxcblxuICAgICAgLy8gTW9kYWxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgbW9kYWxQcm9wcyxcbiAgICAgIG1vZGFsU3R5bGUgPSB7fVxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qge2lzVmlzaWJsZSwgcG9zfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBuZXdNb2RhbFN0eWxlID0ge1xuICAgICAgLi4uZGVmYXVsdE1vZGFsU3R5bGUsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIC4uLihtb2RhbFN0eWxlLmNvbnRlbnQgfHwge30pXG4gICAgICB9LFxuICAgICAgb3ZlcmxheToge1xuICAgICAgICAuLi5kZWZhdWx0TW9kYWxTdHlsZS5vdmVybGF5LFxuICAgICAgICAuLi4obW9kYWxTdHlsZS5vdmVybGF5IHx8IHt9KSxcbiAgICAgICAgLy8gbmVlZHMgdG8gYmUgb24gdG9wIG9mIGV4aXN0aW5nIG1vZGFsXG4gICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCB8fCA5OTk5XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Um9vdENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgIHtjb250ZXh0ID0+IChcbiAgICAgICAgICA8Q29tcCByZWY9e3RoaXMuZWxlbWVudH0+XG4gICAgICAgICAgICB7aXNPcGVuZWQgPyAoXG4gICAgICAgICAgICAgIDxNb2RhbFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vZGFsLXBvcnRhbFwiXG4gICAgICAgICAgICAgICAgey4uLm1vZGFsUHJvcHN9XG4gICAgICAgICAgICAgICAgYXJpYUhpZGVBcHA9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgIHN0eWxlPXtuZXdNb2RhbFN0eWxlfVxuICAgICAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBSZWFjdCBtb2RhbCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmVhY3QtbW9kYWwvaXNzdWVzLzc2OVxuICAgICAgICAgICAgICAgICAgLy8gZmFpbGVkIHRvIGV4ZWN1dGUgcmVtb3ZlQ2hpbGQgb24gcGFyZW50IG5vZGUgd2hlbiBpdCBpcyBhbHJlYWR5IHVubW91bnRlZFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAoY29udGV4dCAmJiBjb250ZXh0LmN1cnJlbnQpIHx8IHtcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmVDaGlsZDogKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ2hpbGQ6ICgpID0+IHt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBvcnRhbGVkLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAga2V5PVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5zdGF0ZS50b3AsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogaXNWaXNpYmxlID8gJzBweCcgOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgLi4ucG9zXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLmNoaWxkfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCA/IG92ZXJsYXlaSW5kZXggKyAxIDogMTAwMDBcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L0NvbXA+XG4gICAgICAgICl9XG4gICAgICA8L1Jvb3RDb250ZXh0LkNvbnN1bWVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lKFBvcnRhbGVkKTtcbiJdfQ==
|
|
@@ -70,7 +70,7 @@ MapPopoverFactory.deps = [_layerHoverInfo["default"], _coordinateInfo["default"]
|
|
|
70
70
|
|
|
71
71
|
function zoomBetweenLimits(visibilityByZoom, zoom) {
|
|
72
72
|
if (visibilityByZoom) {
|
|
73
|
-
var roundedZoom = Math.
|
|
73
|
+
var roundedZoom = Math.round(zoom);
|
|
74
74
|
var currentZoomUnderMin = roundedZoom < (visibilityByZoom === null || visibilityByZoom === void 0 ? void 0 : visibilityByZoom.min);
|
|
75
75
|
var currentZoomOverMax = roundedZoom > (visibilityByZoom === null || visibilityByZoom === void 0 ? void 0 : visibilityByZoom.max);
|
|
76
76
|
|
|
@@ -201,4 +201,4 @@ function MapPopoverFactory(LayerHoverInfo, CoordinateInfo) {
|
|
|
201
201
|
|
|
202
202
|
return (0, _reactIntl.injectIntl)(MapPopover);
|
|
203
203
|
}
|
|
204
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC9tYXAtcG9wb3Zlci5qcyJdLCJuYW1lcyI6WyJNQVhfV0lEVEgiLCJNQVhfSEVJR0hUIiwiU3R5bGVkTWFwUG9wb3ZlciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJzY3JvbGxCYXIiLCJmb250RmFtaWx5IiwicGFuZWxCYWNrZ3JvdW5kIiwidGV4dENvbG9yIiwicGFuZWxCb3hTaGFkb3ciLCJub3RpZmljYXRpb25Db2xvcnMiLCJzdWNjZXNzIiwidGV4dENvbG9ySGwiLCJQaW5uZWRCdXR0b25zIiwiUG9wb3ZlckNvbnRlbnQiLCJTdHlsZWRJY29uIiwiYWN0aXZlQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJNYXBQb3BvdmVyRmFjdG9yeSIsImRlcHMiLCJMYXllckhvdmVySW5mb0ZhY3RvcnkiLCJDb29yZGluYXRlSW5mb0ZhY3RvcnkiLCJ6b29tQmV0d2VlbkxpbWl0cyIsInZpc2liaWxpdHlCeVpvb20iLCJ6b29tIiwicm91bmRlZFpvb20iLCJNYXRoIiwiZmxvb3IiLCJjdXJyZW50Wm9vbVVuZGVyTWluIiwibWluIiwiY3VycmVudFpvb21PdmVyTWF4IiwibWF4IiwiY3JlYXRlVmlydHVhbFJlZmVyZW5jZSIsImNvbnRhaW5lciIsIngiLCJ5Iiwic2l6ZSIsImJvdW5kcyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImxlZnQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsIndpZHRoIiwiaGVpZ2h0IiwiZ2V0T2Zmc2V0Rm9yUGxhY2VtZW50IiwicGxhY2VtZW50IiwicmVmZXJlbmNlIiwicG9wcGVyIiwiZ2FwIiwiZ2V0UG9wcGVyT3B0aW9ucyIsIm1vZGlmaWVycyIsIm5hbWUiLCJvcHRpb25zIiwiYm91bmRhcnkiLCJMYXllckhvdmVySW5mbyIsIkNvb3JkaW5hdGVJbmZvIiwiTWFwUG9wb3ZlciIsImZyb3plbiIsImNvb3JkaW5hdGUiLCJsYXllckhvdmVyUHJvcCIsImlzQmFzZSIsIm9uQ2xvc2UiLCJob3Jpem9udGFsUGxhY2VtZW50Iiwic2V0SG9yaXpvbnRhbFBsYWNlbWVudCIsIm1vdmVMZWZ0IiwibW92ZVJpZ2h0IiwibGF5ZXIiLCJjb25maWciLCJpc1Zpc2libGUiLCJkb2N1bWVudCIsImJvZHkiLCJhdHRycyIsIkFycmF5IiwiaXNBcnJheSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsR0FBbEI7QUFDQSxJQUFNQyxVQUFVLEdBQUcsR0FBbkI7O0FBRUEsSUFBTUMsZ0JBQWdCLEdBQUdDLDZCQUFPQyxHQUFWLDBuQ0FHUEosU0FITyxFQUlOQyxVQUpNLEVBU2xCLFVBQUFJLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsU0FBaEI7QUFBQSxDQVRhLEVBVUwsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxVQUFoQjtBQUFBLENBVkEsRUFhQSxVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlHLGVBQWhCO0FBQUEsQ0FiTCxFQWNYLFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksU0FBaEI7QUFBQSxDQWRNLEVBaUJOLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUssY0FBaEI7QUFBQSxDQWpCQyxFQW9CRSxVQUFBTixLQUFLO0FBQUEsbUJBQU9BLEtBQUssQ0FBQ0MsS0FBTixDQUFZRyxlQUFuQjtBQUFBLENBcEJQLEVBd0JULFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU0sa0JBQVosQ0FBK0JDLE9BQW5DO0FBQUEsQ0F4QkksRUF5RFQsVUFBQVIsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSSxTQUFoQjtBQUFBLENBekRJLEVBK0RULFVB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SyxHQXFCSCxJQXRCTixlQXVCRSxnQ0FBQyxjQUFELFFBQ0dZLEtBQUssQ0FBQ0MsT0FBTixDQUFjZixVQUFkLGtCQUE2QixnQ0FBQyxjQUFEO0FBQWdCLFVBQUEsVUFBVSxFQUFFQSxVQUE1QjtBQUF3QyxVQUFBLElBQUksRUFBRW5DO0FBQTlDLFVBRGhDLEVBRUdvQyxjQUFjLGlCQUFJLGdDQUFDLGNBQUQsRUFBb0JBLGNBQXBCLENBRnJCLENBdkJGLENBRFc7QUFBQTtBQVhmLE1BREY7QUE0Q0QsR0E1REQ7O0FBNkRBLFNBQU8sMkJBQVdILFVBQVgsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IExheWVySG92ZXJJbmZvRmFjdG9yeSBmcm9tICcuL2xheWVyLWhvdmVyLWluZm8nO1xuaW1wb3J0IENvb3JkaW5hdGVJbmZvRmFjdG9yeSBmcm9tICcuL2Nvb3JkaW5hdGUtaW5mbyc7XG5pbXBvcnQge0Fycm93TGVmdCwgQXJyb3dSaWdodCwgUGlufSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge2luamVjdEludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuaW1wb3J0IFRpcHB5IGZyb20gJ0B0aXBweWpzL3JlYWN0L2hlYWRsZXNzJztcblxuY29uc3QgTUFYX1dJRFRIID0gNTAwO1xuY29uc3QgTUFYX0hFSUdIVCA9IDYwMDtcblxuY29uc3QgU3R5bGVkTWFwUG9wb3ZlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC13aWR0aDogJHtNQVhfV0lEVEh9cHg7XG4gIG1heC1oZWlnaHQ6ICR7TUFYX0hFSUdIVH1weDtcbiAgcGFkZGluZzogMTRweDtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zY3JvbGxCYXJ9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9ZGRgfTtcbiAgfVxuXG4gIC5wcmltYXJ5LWxhYmVsIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25Db2xvcnMuc3VjY2Vzc307XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLm1hcC1wb3BvdmVyX19sYXllci1pbmZvLFxuICAuY29vcmRpbmdhdGUtaG92ZXItaW5mbyB7XG4gICAgJiA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB9XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHJvdy1nYXA6IDVweDtcbiAgICBjb2x1bW4tZ2FwOiA1cHg7XG4gIH1cblxuICAuY29vcmRpbmdhdGUtaG92ZXItaW5mbyA+IHRhYmxlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvO1xuICB9XG4gIC5tYXAtcG9wb3Zlcl9fbGF5ZXItaW5mbyA+IHRhYmxlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgfVxuXG4gIHRib2R5LFxuICB0ciB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5cbiAgdGQucm93X192YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmNvbnN0IFBpbm5lZEJ1dHRvbnMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgUG9wb3ZlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAmID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5hY3RpdmVDb2xvcn07XG5cbiAgJi5wb3BvdmVyLXBpbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICB9XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yfTtcbiAgfVxuYDtcblxuTWFwUG9wb3ZlckZhY3RvcnkuZGVwcyA9IFtMYXllckhvdmVySW5mb0ZhY3RvcnksIENvb3JkaW5hdGVJbmZvRmFjdG9yeV07XG5cbmZ1bmN0aW9uIHpvb21CZXR3ZWVuTGltaXRzKHZpc2liaWxpdHlCeVpvb20sIHpvb20pIHtcbiAgaWYgKHZpc2liaWxpdHlCeVpvb20pIHtcbiAgICBjb25zdCByb3VuZGVkWm9vbSA9IE1hdGguZmxvb3Ioem9vbSk7XG4gICAgY29uc3QgY3VycmVudFpvb21VbmRlck1pbiA9IHJvdW5kZWRab29tIDwgdmlzaWJpbGl0eUJ5Wm9vbT8ubWluO1xuICAgIGNvbnN0IGN1cnJlbnRab29tT3Zlck1heCA9IHJvdW5kZWRab29tID4gdmlzaWJpbGl0eUJ5Wm9vbT8ubWF4O1xuICAgIGlmIChjdXJyZW50Wm9vbVVuZGVyTWluIHx8IGN1cnJlbnRab29tT3Zlck1heCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVmlydHVhbFJlZmVyZW5jZShjb250YWluZXIsIHgsIHksIHNpemUgPSAwKSB7XG4gIGNvbnN0IGJvdW5kcyA9XG4gICAgY29udGFpbmVyICYmIGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPyBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7fTtcbiAgY29uc3QgbGVmdCA9IChib3VuZHMubGVmdCB8fCAwKSArIHggLSBzaXplIC8gMjtcbiAgY29uc3QgdG9wID0gKGJvdW5kcy50b3AgfHwgMCkgKyB5IC0gc2l6ZSAvIDI7XG4gIHJldHVybiB7XG4gICAgbGVmdCxcbiAgICB0b3AsXG4gICAgcmlnaHQ6IGxlZnQgKyBzaXplLFxuICAgIGJvdHRvbTogdG9wICsgc2l6ZSxcbiAgICB3aWR0aDogc2l6ZSxcbiAgICBoZWlnaHQ6IHNpemVcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0Rm9yUGxhY2VtZW50KHtwbGFjZW1lbnQsIHJlZmVyZW5jZSwgcG9wcGVyfSwgZ2FwID0gMjApIHtcbiAgc3dpdGNoIChwbGFjZW1lbnQpIHtcbiAgICBjYXNlICd0b3Atc3RhcnQnOlxuICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XG4gICAgICByZXR1cm4gW2dhcCwgZ2FwXTtcbiAgICBjYXNlICd0b3AtZW5kJzpcbiAgICBjYXNlICdib3R0b20tZW5kJzpcbiAgICAgIHJldHVybiBbLWdhcCwgZ2FwXTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFswLCAwXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRQb3BwZXJPcHRpb25zKGNvbnRhaW5lcikge1xuICByZXR1cm4ge1xuICAgIG1vZGlmaWVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGJvdW5kYXJ5OiBjb250YWluZXJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFwUG9wb3ZlckZhY3RvcnkoTGF5ZXJIb3ZlckluZm8sIENvb3JkaW5hdGVJbmZvKSB7XG4gIC8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtcG9wb3ZlcicpLk1hcFBvcG92ZXJ9ICovXG4gIGNvbnN0IE1hcFBvcG92ZXIgPSAoe1xuICAgIHgsXG4gICAgeSxcbiAgICBmcm96ZW4sXG4gICAgY29vcmRpbmF0ZSxcbiAgICBsYXllckhvdmVyUHJvcCxcbiAgICBpc0Jhc2UsXG4gICAgem9vbSxcbiAgICBjb250YWluZXIsXG4gICAgb25DbG9zZVxuICB9KSA9PiB7XG4gICAgY29uc3QgW2hvcml6b250YWxQbGFjZW1lbnQsIHNldEhvcml6b250YWxQbGFjZW1lbnRdID0gdXNlU3RhdGUoJ3N0YXJ0Jyk7XG4gICAgY29uc3QgbW92ZUxlZnQgPSAoKSA9PiBzZXRIb3Jpem9udGFsUGxhY2VtZW50KCdlbmQnKTtcbiAgICBjb25zdCBtb3ZlUmlnaHQgPSAoKSA9PiBzZXRIb3Jpem9udGFsUGxhY2VtZW50KCdzdGFydCcpO1xuICAgIGNvbnN0IHZpc2liaWxpdHlCeVpvb20gPSBsYXllckhvdmVyUHJvcD8ubGF5ZXIuY29uZmlnPy52aXNpYmlsaXR5Qnlab29tO1xuICAgIGNvbnN0IGlzVmlzaWJsZSA9IHZpc2liaWxpdHlCeVpvb20gPyB6b29tQmV0d2VlbkxpbWl0cyh2aXNpYmlsaXR5Qnlab29tLCB6b29tKSA6IHRydWU7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUaXBweVxuICAgICAgICBwb3BwZXJPcHRpb25zPXtnZXRQb3BwZXJPcHRpb25zKGNvbnRhaW5lcil9XG4gICAgICAgIHpJbmRleD17OTk5fSAvKiBzaG91bGQgYmUgYmVsb3cgTW9kYWwgd2hpY2ggaGFzIHpJbmRleD0xMDAwICovXG4gICAgICAgIHZpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgaW50ZXJhY3RpdmU9e3RydWV9XG4gICAgICAgIGdldFJlZmVyZW5jZUNsaWVudFJlY3Q9eygpID0+IGNyZWF0ZVZpcnR1YWxSZWZlcmVuY2UoY29udGFpbmVyLCB4LCB5KX1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwbGFjZW1lbnQ9e2Bib3R0b20tJHtob3Jpem9udGFsUGxhY2VtZW50fWB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb2Zmc2V0PXtnZXRPZmZzZXRGb3JQbGFjZW1lbnR9XG4gICAgICAgIGFwcGVuZFRvPXtkb2N1bWVudC5ib2R5fVxuICAgICAgICByZW5kZXI9e2F0dHJzID0+IChcbiAgICAgICAgICA8U3R5bGVkTWFwUG9wb3ZlciB7Li4uYXR0cnN9IGNsYXNzTmFtZT1cIm1hcC1wb3BvdmVyXCI+XG4gICAgICAgICAgICB7ZnJvemVuID8gKFxuICAgICAgICAgICAgICA8UGlubmVkQnV0dG9ucz5cbiAgICAgICAgICAgICAgICB7aG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gJ3N0YXJ0JyAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkSWNvbiBjbGFzc05hbWU9XCJwb3BvdmVyLWFycm93LWxlZnRcIiBvbkNsaWNrPXttb3ZlTGVmdH0+XG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd0xlZnQgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uIGNsYXNzTmFtZT1cInBvcG92ZXItcGluXCIgb25DbGljaz17b25DbG9zZX0+XG4gICAgICAgICAgICAgICAgICA8UGluIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICB7aG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gJ2VuZCcgJiYgKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb24gY2xhc3NOYW1lPVwicG9wb3Zlci1hcnJvdy1yaWdodFwiIG9uQ2xpY2s9e21vdmVSaWdodH0+XG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd1JpZ2h0IC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEljb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7aXNCYXNlICYmIChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJpbWFyeS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcFBvcG92ZXIucHJpbWFyeVwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbnM+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxQb3BvdmVyQ29udGVudD5cbiAgICAgICAgICAgICAge0FycmF5LmlzQXJyYXkoY29vcmRpbmF0ZSkgJiYgPENvb3JkaW5hdGVJbmZvIGNvb3JkaW5hdGU9e2Nvb3JkaW5hdGV9IHpvb209e3pvb219IC8+fVxuICAgICAgICAgICAgICB7bGF5ZXJIb3ZlclByb3AgJiYgPExheWVySG92ZXJJbmZvIHsuLi5sYXllckhvdmVyUHJvcH0gLz59XG4gICAgICAgICAgICA8L1BvcG92ZXJDb250ZW50PlxuICAgICAgICAgIDwvU3R5bGVkTWFwUG9wb3Zlcj5cbiAgICAgICAgKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIGluamVjdEludGwoTWFwUG9wb3Zlcik7XG59XG4iXX0=
|
|
204
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC9tYXAtcG9wb3Zlci5qcyJdLCJuYW1lcyI6WyJNQVhfV0lEVEgiLCJNQVhfSEVJR0hUIiwiU3R5bGVkTWFwUG9wb3ZlciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJzY3JvbGxCYXIiLCJmb250RmFtaWx5IiwicGFuZWxCYWNrZ3JvdW5kIiwidGV4dENvbG9yIiwicGFuZWxCb3hTaGFkb3ciLCJub3RpZmljYXRpb25Db2xvcnMiLCJzdWNjZXNzIiwidGV4dENvbG9ySGwiLCJQaW5uZWRCdXR0b25zIiwiUG9wb3ZlckNvbnRlbnQiLCJTdHlsZWRJY29uIiwiYWN0aXZlQ29sb3IiLCJsaW5rQnRuQ29sb3IiLCJNYXBQb3BvdmVyRmFjdG9yeSIsImRlcHMiLCJMYXllckhvdmVySW5mb0ZhY3RvcnkiLCJDb29yZGluYXRlSW5mb0ZhY3RvcnkiLCJ6b29tQmV0d2VlbkxpbWl0cyIsInZpc2liaWxpdHlCeVpvb20iLCJ6b29tIiwicm91bmRlZFpvb20iLCJNYXRoIiwicm91bmQiLCJjdXJyZW50Wm9vbVVuZGVyTWluIiwibWluIiwiY3VycmVudFpvb21PdmVyTWF4IiwibWF4IiwiY3JlYXRlVmlydHVhbFJlZmVyZW5jZSIsImNvbnRhaW5lciIsIngiLCJ5Iiwic2l6ZSIsImJvdW5kcyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImxlZnQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsIndpZHRoIiwiaGVpZ2h0IiwiZ2V0T2Zmc2V0Rm9yUGxhY2VtZW50IiwicGxhY2VtZW50IiwicmVmZXJlbmNlIiwicG9wcGVyIiwiZ2FwIiwiZ2V0UG9wcGVyT3B0aW9ucyIsIm1vZGlmaWVycyIsIm5hbWUiLCJvcHRpb25zIiwiYm91bmRhcnkiLCJMYXllckhvdmVySW5mbyIsIkNvb3JkaW5hdGVJbmZvIiwiTWFwUG9wb3ZlciIsImZyb3plbiIsImNvb3JkaW5hdGUiLCJsYXllckhvdmVyUHJvcCIsImlzQmFzZSIsIm9uQ2xvc2UiLCJob3Jpem9udGFsUGxhY2VtZW50Iiwic2V0SG9yaXpvbnRhbFBsYWNlbWVudCIsIm1vdmVMZWZ0IiwibW92ZVJpZ2h0IiwibGF5ZXIiLCJjb25maWciLCJpc1Zpc2libGUiLCJkb2N1bWVudCIsImJvZHkiLCJhdHRycyIsIkFycmF5IiwiaXNBcnJheSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsR0FBbEI7QUFDQSxJQUFNQyxVQUFVLEdBQUcsR0FBbkI7O0FBRUEsSUFBTUMsZ0JBQWdCLEdBQUdDLDZCQUFPQyxHQUFWLDBuQ0FHUEosU0FITyxFQUlOQyxVQUpNLEVBU2xCLFVBQUFJLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsU0FBaEI7QUFBQSxDQVRhLEVBVUwsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxVQUFoQjtBQUFBLENBVkEsRUFhQSxVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlHLGVBQWhCO0FBQUEsQ0FiTCxFQWNYLFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksU0FBaEI7QUFBQSxDQWRNLEVBaUJOLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUssY0FBaEI7QUFBQSxDQWpCQyxFQW9CRSxVQUFBTixLQUFLO0FBQUEsbUJBQU9BLEtBQUssQ0FBQ0MsS0FBTixDQUFZRyxlQUFuQjtBQUFBLENBcEJQLEVBd0JULFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU0sa0JBQVosQ0FBK0JDLE9BQW5DO0FBQUEsQ0F4QkksRUF5RFQsVUFBQVIsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSSxTQUFoQjtBQUFBLENBekRJLEVBK0RULFVB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SyxHQXFCSCxJQXRCTixlQXVCRSxnQ0FBQyxjQUFELFFBQ0dZLEtBQUssQ0FBQ0MsT0FBTixDQUFjZixVQUFkLGtCQUE2QixnQ0FBQyxjQUFEO0FBQWdCLFVBQUEsVUFBVSxFQUFFQSxVQUE1QjtBQUF3QyxVQUFBLElBQUksRUFBRW5DO0FBQTlDLFVBRGhDLEVBRUdvQyxjQUFjLGlCQUFJLGdDQUFDLGNBQUQsRUFBb0JBLGNBQXBCLENBRnJCLENBdkJGLENBRFc7QUFBQTtBQVhmLE1BREY7QUE0Q0QsR0E1REQ7O0FBNkRBLFNBQU8sMkJBQVdILFVBQVgsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IExheWVySG92ZXJJbmZvRmFjdG9yeSBmcm9tICcuL2xheWVyLWhvdmVyLWluZm8nO1xuaW1wb3J0IENvb3JkaW5hdGVJbmZvRmFjdG9yeSBmcm9tICcuL2Nvb3JkaW5hdGUtaW5mbyc7XG5pbXBvcnQge0Fycm93TGVmdCwgQXJyb3dSaWdodCwgUGlufSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge2luamVjdEludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuaW1wb3J0IFRpcHB5IGZyb20gJ0B0aXBweWpzL3JlYWN0L2hlYWRsZXNzJztcblxuY29uc3QgTUFYX1dJRFRIID0gNTAwO1xuY29uc3QgTUFYX0hFSUdIVCA9IDYwMDtcblxuY29uc3QgU3R5bGVkTWFwUG9wb3ZlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC13aWR0aDogJHtNQVhfV0lEVEh9cHg7XG4gIG1heC1oZWlnaHQ6ICR7TUFYX0hFSUdIVH1weDtcbiAgcGFkZGluZzogMTRweDtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zY3JvbGxCYXJ9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuXG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9ZGRgfTtcbiAgfVxuXG4gIC5wcmltYXJ5LWxhYmVsIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25Db2xvcnMuc3VjY2Vzc307XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLm1hcC1wb3BvdmVyX19sYXllci1pbmZvLFxuICAuY29vcmRpbmdhdGUtaG92ZXItaW5mbyB7XG4gICAgJiA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB9XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHJvdy1nYXA6IDVweDtcbiAgICBjb2x1bW4tZ2FwOiA1cHg7XG4gIH1cblxuICAuY29vcmRpbmdhdGUtaG92ZXItaW5mbyA+IHRhYmxlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvO1xuICB9XG4gIC5tYXAtcG9wb3Zlcl9fbGF5ZXItaW5mbyA+IHRhYmxlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgfVxuXG4gIHRib2R5LFxuICB0ciB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5cbiAgdGQucm93X192YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmNvbnN0IFBpbm5lZEJ1dHRvbnMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgUG9wb3ZlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAmID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5hY3RpdmVDb2xvcn07XG5cbiAgJi5wb3BvdmVyLXBpbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICB9XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yfTtcbiAgfVxuYDtcblxuTWFwUG9wb3ZlckZhY3RvcnkuZGVwcyA9IFtMYXllckhvdmVySW5mb0ZhY3RvcnksIENvb3JkaW5hdGVJbmZvRmFjdG9yeV07XG5cbmZ1bmN0aW9uIHpvb21CZXR3ZWVuTGltaXRzKHZpc2liaWxpdHlCeVpvb20sIHpvb20pIHtcbiAgaWYgKHZpc2liaWxpdHlCeVpvb20pIHtcbiAgICBjb25zdCByb3VuZGVkWm9vbSA9IE1hdGgucm91bmQoem9vbSk7XG4gICAgY29uc3QgY3VycmVudFpvb21VbmRlck1pbiA9IHJvdW5kZWRab29tIDwgdmlzaWJpbGl0eUJ5Wm9vbT8ubWluO1xuICAgIGNvbnN0IGN1cnJlbnRab29tT3Zlck1heCA9IHJvdW5kZWRab29tID4gdmlzaWJpbGl0eUJ5Wm9vbT8ubWF4O1xuICAgIGlmIChjdXJyZW50Wm9vbVVuZGVyTWluIHx8IGN1cnJlbnRab29tT3Zlck1heCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVmlydHVhbFJlZmVyZW5jZShjb250YWluZXIsIHgsIHksIHNpemUgPSAwKSB7XG4gIGNvbnN0IGJvdW5kcyA9XG4gICAgY29udGFpbmVyICYmIGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPyBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgOiB7fTtcbiAgY29uc3QgbGVmdCA9IChib3VuZHMubGVmdCB8fCAwKSArIHggLSBzaXplIC8gMjtcbiAgY29uc3QgdG9wID0gKGJvdW5kcy50b3AgfHwgMCkgKyB5IC0gc2l6ZSAvIDI7XG4gIHJldHVybiB7XG4gICAgbGVmdCxcbiAgICB0b3AsXG4gICAgcmlnaHQ6IGxlZnQgKyBzaXplLFxuICAgIGJvdHRvbTogdG9wICsgc2l6ZSxcbiAgICB3aWR0aDogc2l6ZSxcbiAgICBoZWlnaHQ6IHNpemVcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0Rm9yUGxhY2VtZW50KHtwbGFjZW1lbnQsIHJlZmVyZW5jZSwgcG9wcGVyfSwgZ2FwID0gMjApIHtcbiAgc3dpdGNoIChwbGFjZW1lbnQpIHtcbiAgICBjYXNlICd0b3Atc3RhcnQnOlxuICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XG4gICAgICByZXR1cm4gW2dhcCwgZ2FwXTtcbiAgICBjYXNlICd0b3AtZW5kJzpcbiAgICBjYXNlICdib3R0b20tZW5kJzpcbiAgICAgIHJldHVybiBbLWdhcCwgZ2FwXTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFswLCAwXTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRQb3BwZXJPcHRpb25zKGNvbnRhaW5lcikge1xuICByZXR1cm4ge1xuICAgIG1vZGlmaWVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGJvdW5kYXJ5OiBjb250YWluZXJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFwUG9wb3ZlckZhY3RvcnkoTGF5ZXJIb3ZlckluZm8sIENvb3JkaW5hdGVJbmZvKSB7XG4gIC8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtcG9wb3ZlcicpLk1hcFBvcG92ZXJ9ICovXG4gIGNvbnN0IE1hcFBvcG92ZXIgPSAoe1xuICAgIHgsXG4gICAgeSxcbiAgICBmcm96ZW4sXG4gICAgY29vcmRpbmF0ZSxcbiAgICBsYXllckhvdmVyUHJvcCxcbiAgICBpc0Jhc2UsXG4gICAgem9vbSxcbiAgICBjb250YWluZXIsXG4gICAgb25DbG9zZVxuICB9KSA9PiB7XG4gICAgY29uc3QgW2hvcml6b250YWxQbGFjZW1lbnQsIHNldEhvcml6b250YWxQbGFjZW1lbnRdID0gdXNlU3RhdGUoJ3N0YXJ0Jyk7XG4gICAgY29uc3QgbW92ZUxlZnQgPSAoKSA9PiBzZXRIb3Jpem9udGFsUGxhY2VtZW50KCdlbmQnKTtcbiAgICBjb25zdCBtb3ZlUmlnaHQgPSAoKSA9PiBzZXRIb3Jpem9udGFsUGxhY2VtZW50KCdzdGFydCcpO1xuICAgIGNvbnN0IHZpc2liaWxpdHlCeVpvb20gPSBsYXllckhvdmVyUHJvcD8ubGF5ZXIuY29uZmlnPy52aXNpYmlsaXR5Qnlab29tO1xuICAgIGNvbnN0IGlzVmlzaWJsZSA9IHZpc2liaWxpdHlCeVpvb20gPyB6b29tQmV0d2VlbkxpbWl0cyh2aXNpYmlsaXR5Qnlab29tLCB6b29tKSA6IHRydWU7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUaXBweVxuICAgICAgICBwb3BwZXJPcHRpb25zPXtnZXRQb3BwZXJPcHRpb25zKGNvbnRhaW5lcil9XG4gICAgICAgIHpJbmRleD17OTk5fSAvKiBzaG91bGQgYmUgYmVsb3cgTW9kYWwgd2hpY2ggaGFzIHpJbmRleD0xMDAwICovXG4gICAgICAgIHZpc2libGU9e2lzVmlzaWJsZX1cbiAgICAgICAgaW50ZXJhY3RpdmU9e3RydWV9XG4gICAgICAgIGdldFJlZmVyZW5jZUNsaWVudFJlY3Q9eygpID0+IGNyZWF0ZVZpcnR1YWxSZWZlcmVuY2UoY29udGFpbmVyLCB4LCB5KX1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwbGFjZW1lbnQ9e2Bib3R0b20tJHtob3Jpem9udGFsUGxhY2VtZW50fWB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb2Zmc2V0PXtnZXRPZmZzZXRGb3JQbGFjZW1lbnR9XG4gICAgICAgIGFwcGVuZFRvPXtkb2N1bWVudC5ib2R5fVxuICAgICAgICByZW5kZXI9e2F0dHJzID0+IChcbiAgICAgICAgICA8U3R5bGVkTWFwUG9wb3ZlciB7Li4uYXR0cnN9IGNsYXNzTmFtZT1cIm1hcC1wb3BvdmVyXCI+XG4gICAgICAgICAgICB7ZnJvemVuID8gKFxuICAgICAgICAgICAgICA8UGlubmVkQnV0dG9ucz5cbiAgICAgICAgICAgICAgICB7aG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gJ3N0YXJ0JyAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkSWNvbiBjbGFzc05hbWU9XCJwb3BvdmVyLWFycm93LWxlZnRcIiBvbkNsaWNrPXttb3ZlTGVmdH0+XG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd0xlZnQgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uIGNsYXNzTmFtZT1cInBvcG92ZXItcGluXCIgb25DbGljaz17b25DbG9zZX0+XG4gICAgICAgICAgICAgICAgICA8UGluIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgICAgICAgICAgICB7aG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gJ2VuZCcgJiYgKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb24gY2xhc3NOYW1lPVwicG9wb3Zlci1hcnJvdy1yaWdodFwiIG9uQ2xpY2s9e21vdmVSaWdodH0+XG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd1JpZ2h0IC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEljb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7aXNCYXNlICYmIChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJpbWFyeS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm1hcFBvcG92ZXIucHJpbWFyeVwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbnM+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxQb3BvdmVyQ29udGVudD5cbiAgICAgICAgICAgICAge0FycmF5LmlzQXJyYXkoY29vcmRpbmF0ZSkgJiYgPENvb3JkaW5hdGVJbmZvIGNvb3JkaW5hdGU9e2Nvb3JkaW5hdGV9IHpvb209e3pvb219IC8+fVxuICAgICAgICAgICAgICB7bGF5ZXJIb3ZlclByb3AgJiYgPExheWVySG92ZXJJbmZvIHsuLi5sYXllckhvdmVyUHJvcH0gLz59XG4gICAgICAgICAgICA8L1BvcG92ZXJDb250ZW50PlxuICAgICAgICAgIDwvU3R5bGVkTWFwUG9wb3Zlcj5cbiAgICAgICAgKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIGluamVjdEludGwoTWFwUG9wb3Zlcik7XG59XG4iXX0=
|