@1money/component-ui 0.0.99 → 0.0.100
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/es/business/Dialog/VerificationDialog/VerificationDialog.js +38 -39
- package/es/business/Dialog/variants/LoadingDialog.js +17 -17
- package/es/business/Filter/DateRange/DateRange.js +14 -14
- package/es/business/Select/Country/CountrySelect.js +71 -40
- package/es/business/Select/Country/interface.d.ts +31 -15
- package/es/business/Select/Country/style/CountrySelect.css +33 -0
- package/es/business/Select/Country/style/css.js +2 -0
- package/es/business/Select/Country/style/index.d.ts +1 -0
- package/es/business/Select/Country/style/index.js +2 -0
- package/es/business/shared/formCore/useSubmitAction.js +19 -19
- package/es/components/Icons/Illustrations.js +15 -15
- package/es/components/Notification/NotificationStatic.js +27 -32
- package/es/components/ProForm/ProForm.js +47 -51
- package/es/components/ProForm/Submitter.js +8 -8
- package/es/components/ProForm/core/hooks/useForm.js +77 -88
- package/es/components/ProForm/core/runRules.js +56 -61
- package/es/components/ProForm/hooks/useFieldRequest.js +19 -19
- package/es/components/ProForm/layouts/useOverlayForm.js +9 -11
- package/es/components/ProTable/ProTable.js +8 -8
- package/es/components/ProTable/useFetchData.js +23 -23
- package/es/components/Select/SelectOptionContent.js +8 -1
- package/es/components/Select/interface.d.ts +9 -0
- package/es/components/Select/interface.js +1 -1
- package/es/components/Select/style/Select.css +7 -0
- package/es/components/Spinner/Spinner.js +11 -11
- package/es/components/Table/internal/kernel/Table.js +8 -8
- package/es/index.css +1 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +2 -3
- package/lib/business/Dialog/Descriptions/Descriptions.js +2 -3
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +2 -3
- package/lib/business/Dialog/FormDialog/FormDialog.js +2 -3
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +39 -41
- package/lib/business/Dialog/variants/LoadingDialog.js +18 -19
- package/lib/business/FieldList/index.js +2 -3
- package/lib/business/Filter/DateRange/DateRange.js +14 -14
- package/lib/business/Select/Country/CountrySelect.js +71 -40
- package/lib/business/Select/Country/interface.d.ts +31 -15
- package/lib/business/Select/Country/style/CountrySelect.css +33 -0
- package/lib/business/Select/Country/style/css.js +4 -0
- package/lib/business/Select/Country/style/index.d.ts +1 -0
- package/lib/business/Select/Country/style/index.js +4 -0
- package/lib/business/shared/formCore/useSubmitAction.js +19 -19
- package/lib/components/Accordion/Accordion.js +2 -3
- package/lib/components/Accordion/index.js +2 -3
- package/lib/components/ActionBar/ActionBar.js +2 -3
- package/lib/components/Alert/Alert.js +2 -3
- package/lib/components/Alert/index.js +2 -3
- package/lib/components/Button/Button.js +2 -3
- package/lib/components/Button/index.js +2 -3
- package/lib/components/Calendar/Calendar.js +2 -3
- package/lib/components/Calendar/index.js +2 -3
- package/lib/components/Carousel/Carousel.js +2 -3
- package/lib/components/Carousel/index.js +2 -3
- package/lib/components/Cell/Cell.js +2 -3
- package/lib/components/Cell/index.js +2 -3
- package/lib/components/Checkbox/BaseCheckbox.js +2 -3
- package/lib/components/Checkbox/Checkbox.js +2 -3
- package/lib/components/Checkbox/CheckboxGroup.js +2 -3
- package/lib/components/Checkbox/index.js +2 -3
- package/lib/components/CoachMark/CoachMark.js +2 -3
- package/lib/components/CoachMark/index.js +2 -3
- package/lib/components/Copy/Clipboard.js +2 -3
- package/lib/components/Copy/Copy.js +2 -3
- package/lib/components/Copy/index.js +2 -3
- package/lib/components/Dialog/index.js +2 -3
- package/lib/components/Divider/Divider.js +2 -3
- package/lib/components/Drawer/Drawer.js +2 -3
- package/lib/components/Empty/Empty.js +2 -3
- package/lib/components/Empty/index.js +2 -3
- package/lib/components/Flex/Flex.js +2 -3
- package/lib/components/FormLayout/FormLayout.js +2 -3
- package/lib/components/Grid/Col.js +2 -3
- package/lib/components/Grid/Row.js +2 -3
- package/lib/components/Icons/Illustrations.js +15 -15
- package/lib/components/Icons/Logo.js +2 -3
- package/lib/components/Icons/Wrapper.js +2 -3
- package/lib/components/Icons/index.js +2 -3
- package/lib/components/Input/Amount/Amount.js +2 -3
- package/lib/components/Input/Amount/index.js +2 -3
- package/lib/components/Input/FieldShell/FieldShell.js +2 -3
- package/lib/components/Input/FieldShell/index.js +2 -3
- package/lib/components/Input/Input/Input.js +2 -3
- package/lib/components/Input/Input/index.js +2 -3
- package/lib/components/Input/Mask/Mask.js +2 -3
- package/lib/components/Input/Mask/index.js +2 -3
- package/lib/components/Input/OTP/index.js +2 -3
- package/lib/components/Input/Password/Password.js +2 -3
- package/lib/components/Input/Password/index.js +2 -3
- package/lib/components/Input/Search/Search.js +2 -3
- package/lib/components/Input/Search/index.js +2 -3
- package/lib/components/Input/TextArea/TextArea.js +2 -3
- package/lib/components/Input/TextArea/index.js +2 -3
- package/lib/components/Input/Trade/Trade.js +2 -3
- package/lib/components/Input/Trade/index.js +2 -3
- package/lib/components/Input/index.js +2 -3
- package/lib/components/Link/Link.js +2 -3
- package/lib/components/Link/index.js +2 -3
- package/lib/components/Navigation/Nav.js +2 -3
- package/lib/components/Navigation/Navigation.js +2 -3
- package/lib/components/Navigation/NavigationStepper.js +2 -3
- package/lib/components/Navigation/index.js +2 -3
- package/lib/components/Notification/Notification.js +2 -3
- package/lib/components/Notification/NotificationStatic.js +28 -34
- package/lib/components/Notification/index.js +2 -3
- package/lib/components/Pagination/Pagination.js +2 -3
- package/lib/components/Pagination/index.js +2 -3
- package/lib/components/PanelLayout/PanelLayout.js +2 -3
- package/lib/components/Popconfirm/Popconfirm.js +2 -3
- package/lib/components/Popconfirm/index.js +2 -3
- package/lib/components/Portal/index.js +2 -3
- package/lib/components/ProForm/ProForm.js +48 -53
- package/lib/components/ProForm/ProFormDependency.js +2 -3
- package/lib/components/ProForm/ProFormItem.js +2 -3
- package/lib/components/ProForm/Submitter.js +8 -8
- package/lib/components/ProForm/core/devWarning.js +2 -3
- package/lib/components/ProForm/core/hooks/useForm.js +78 -90
- package/lib/components/ProForm/core/runRules.js +56 -61
- package/lib/components/ProForm/core/useFormItem.js +2 -3
- package/lib/components/ProForm/fields/ProFormFieldSet.js +2 -3
- package/lib/components/ProForm/hooks/useFieldRequest.js +19 -19
- package/lib/components/ProForm/layouts/QueryFilter.js +2 -3
- package/lib/components/ProForm/layouts/useOverlayForm.js +10 -13
- package/lib/components/ProTable/ProTable.js +8 -8
- package/lib/components/ProTable/index.js +2 -3
- package/lib/components/ProTable/useFetchData.js +23 -23
- package/lib/components/Progress/Progress.js +2 -3
- package/lib/components/Progress/index.js +2 -3
- package/lib/components/Radio/Radio.js +2 -3
- package/lib/components/Radio/RadioGroup.js +2 -3
- package/lib/components/Radio/index.js +2 -3
- package/lib/components/ResizeObserver/Collection.js +2 -3
- package/lib/components/ResizeObserver/ResizeObserver.js +2 -3
- package/lib/components/ResizeObserver/SingleObserver/index.js +2 -3
- package/lib/components/ResizeObserver/useResizeObserver.js +2 -3
- package/lib/components/ResizeObserver/utils/reactUtil.js +2 -3
- package/lib/components/Segment/Segment.js +2 -3
- package/lib/components/Segment/index.js +2 -3
- package/lib/components/Select/Select.js +2 -3
- package/lib/components/Select/SelectCustom.js +2 -3
- package/lib/components/Select/SelectOptionContent.js +8 -1
- package/lib/components/Select/interface.d.ts +9 -0
- package/lib/components/Select/interface.js +1 -1
- package/lib/components/Select/style/Select.css +7 -0
- package/lib/components/Skeleton/Skeleton.js +2 -3
- package/lib/components/Skeleton/index.js +2 -3
- package/lib/components/Slider/Slider.js +2 -3
- package/lib/components/Slider/index.js +2 -3
- package/lib/components/Space/Space.js +2 -3
- package/lib/components/Spinner/Spinner.js +12 -13
- package/lib/components/Spinner/index.js +2 -3
- package/lib/components/Step/Step.js +2 -3
- package/lib/components/Step/index.js +2 -3
- package/lib/components/Switch/Switch.js +2 -3
- package/lib/components/Switch/index.js +2 -3
- package/lib/components/Table/core/useTableSetup.js +2 -3
- package/lib/components/Table/internal/index.js +2 -3
- package/lib/components/Table/internal/kernel/Body/BodyRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/ExpandedRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/MeasureCell.js +2 -3
- package/lib/components/Table/internal/kernel/Body/MeasureRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/index.js +2 -3
- package/lib/components/Table/internal/kernel/Cell/index.js +2 -3
- package/lib/components/Table/internal/kernel/Cell/useCellRender.js +2 -3
- package/lib/components/Table/internal/kernel/ColGroup.js +2 -3
- package/lib/components/Table/internal/kernel/FixedHolder/index.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/Cell.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/Row.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/SummaryContext.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/index.js +2 -3
- package/lib/components/Table/internal/kernel/Header/Header.js +2 -3
- package/lib/components/Table/internal/kernel/Header/HeaderRow.js +2 -3
- package/lib/components/Table/internal/kernel/Panel/index.js +2 -3
- package/lib/components/Table/internal/kernel/Table.js +9 -10
- package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/BodyLine.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/VirtualCell.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +2 -3
- package/lib/components/Table/internal/kernel/context/PerfContext.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useColumns/index.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useExpand.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useFixedInfo.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useFlattenRecords.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useHover.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useRenderTimes.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useSticky.js +2 -3
- package/lib/components/Table/internal/kernel/index.js +2 -3
- package/lib/components/Table/internal/kernel/selector-context/Immutable.js +2 -3
- package/lib/components/Table/internal/kernel/selector-context/context.js +2 -3
- package/lib/components/Table/internal/kernel/stickyScrollBar.js +2 -3
- package/lib/components/Table/internal/kernel/utils/expandUtil.js +2 -3
- package/lib/components/Table/internal/kernel/utils/useMemo.js +2 -3
- package/lib/components/Tabs/Tabs.js +2 -3
- package/lib/components/Tabs/index.js +2 -3
- package/lib/components/Tag/Tag.js +2 -3
- package/lib/components/Tag/index.js +2 -3
- package/lib/components/Tooltip/Tooltip.js +2 -3
- package/lib/components/Tooltip/index.js +2 -3
- package/lib/components/Tour/index.js +2 -3
- package/lib/components/Trigger/Trigger.js +2 -3
- package/lib/components/Typography/index.js +2 -3
- package/lib/components/Typography/utils.js +2 -3
- package/lib/components/Upload/Upload.js +2 -3
- package/lib/components/Upload/UploadFileBar.js +2 -3
- package/lib/components/Upload/index.js +2 -3
- package/lib/components/VirtualList/Filler.js +2 -3
- package/lib/components/VirtualList/Item.js +2 -3
- package/lib/components/VirtualList/ScrollBar.js +2 -3
- package/lib/components/VirtualList/VirtualList.js +2 -3
- package/lib/components/VirtualList/hooks/useChildren.js +2 -3
- package/lib/components/VirtualList/hooks/useDiffItem.js +2 -3
- package/lib/components/VirtualList/hooks/useGetSize.js +2 -3
- package/lib/components/VirtualList/hooks/useHeights.js +2 -3
- package/lib/components/VirtualList/hooks/useScrollDrag.js +2 -3
- package/lib/components/VirtualList/hooks/useScrollTo.js +2 -3
- package/lib/index.css +1 -1
- package/lib/stories/docs/ComponentDocsPage.js +2 -3
- package/package.json +23 -17
|
@@ -26,8 +26,7 @@ var _useSelectShell2 = require("./useSelectShell");
|
|
|
26
26
|
var _constants = require("./constants");
|
|
27
27
|
var _utils = require("./utils");
|
|
28
28
|
require("./style");
|
|
29
|
-
function
|
|
30
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
29
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
31
30
|
var DEFAULT_MAX_HEIGHT = 320;
|
|
32
31
|
var Select = exports.Select = function Select(props) {
|
|
33
32
|
var _a;
|
|
@@ -592,4 +591,4 @@ var Select = exports.Select = function Select(props) {
|
|
|
592
591
|
};
|
|
593
592
|
Select.displayName = 'Select';
|
|
594
593
|
var _default = exports["default"] = /*#__PURE__*/(0, _react2.memo)(Select);
|
|
595
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl91c2VDb250cm9sbGVkU3RhdGU1IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX2NvbnRleHQiLCJfSWNvbnMiLCJfU3Bpbm5lciIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9TZWxlY3RGaWVsZFNoZWxsIiwiX1NlbGVjdE9wdGlvbkNvbnRlbnQiLCJfU2VsZWN0U2VhcmNoQ29udHJvbCIsIl9TZWxlY3RWYWx1ZUNvbnRlbnQiLCJfdXNlU2VsZWN0U2hlbGwyIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRFRkFVTFRfTUFYX0hFSUdIVCIsIlNlbGVjdCIsImV4cG9ydHMiLCJwcm9wcyIsIl9hIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJzdHlsZSIsImlkIiwibmFtZSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5IiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkb3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsInNpemVQcm9wIiwic2l6ZSIsIl9wcm9wcyRzdGF0dXMiLCJzdGF0dXMiLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsImRpc2FibGVkUHJvcCIsIl9wcm9wcyRyZWFkT25seSIsInJlYWRPbmx5IiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwiX3Byb3BzJG11bHRpcGxlIiwibXVsdGlwbGUiLCJtYXhWaXNpYmxlVmFsdWVzIiwiX3Byb3BzJHNlYXJjaGFibGUiLCJzZWFyY2hhYmxlIiwiX3Byb3BzJHNlYXJjaFBsYWNlaG9sIiwic2VhcmNoUGxhY2Vob2xkZXIiLCJzZWFyY2hWYWx1ZSIsIl9wcm9wcyRkZWZhdWx0U2VhcmNoViIsImRlZmF1bHRTZWFyY2hWYWx1ZSIsIl9wcm9wcyRmaWx0ZXJJbnB1dEF1dCIsImZpbHRlcklucHV0QXV0b0ZvY3VzIiwibGFiZWwiLCJsYWJlbENsYXNzTmFtZSIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJfcHJvcHMkZW1wdHlDb250ZW50IiwiZW1wdHlDb250ZW50IiwicGFuZWxIZWFkZXIiLCJwYW5lbEZvb3RlciIsIm9wZW4iLCJfcHJvcHMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIl9wcm9wcyRwb3J0YWwiLCJwb3J0YWwiLCJfcHJvcHMkYWxsb3dEZXNlbGVjdCIsImFsbG93RGVzZWxlY3QiLCJwYW5lbENsYXNzTmFtZSIsIm9wdGlvbkNsYXNzTmFtZSIsImdyb3VwTGFiZWxDbGFzc05hbWUiLCJfcHJvcHMkbGlzdE1heEhlaWdodCIsImxpc3RNYXhIZWlnaHQiLCJvZmZzZXQiLCJhbmltYXRpb24iLCJvbkNoYW5nZSIsIm9uT3BlbkNoYW5nZSIsIm9uU2VhcmNoQ2hhbmdlIiwib25CbHVyIiwiZmlsdGVyT3B0aW9uIiwicmVuZGVyT3B0aW9uIiwicmVuZGVyT3B0aW9uQ29udGVudCIsInJlbmRlclZhbHVlIiwicmVmIiwiY29udGV4dFNpemUiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJpbnRlcmFjdGl2ZSIsImNsYXNzZXMiLCJyb290Q2xhc3NuYW1lcyIsImF1dG9JZCIsInVzZUlkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwib3B0aW9uSWRQcmVmaXgiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lclNlYXJjaFZhbHVlIiwic2V0SW5uZXJTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJub3JtYWxpemVkU2l6ZSIsIm5vcm1hbGl6ZVNpemUiLCJhbGxPcHRpb25Hcm91cHMiLCJ1c2VNZW1vIiwibm9ybWFsaXplT3B0aW9uR3JvdXBzIiwiYWxsRmxhdE9wdGlvbnMiLCJmbGF0dGVuT3B0aW9uR3JvdXBzIiwidmlzaWJsZU9wdGlvbkdyb3VwcyIsImZpbHRlck9wdGlvbkdyb3VwcyIsInZpc2libGVGbGF0T3B0aW9ucyIsInNlbGVjdGVkT3B0aW9ucyIsImdldFNlbGVjdGVkT3B0aW9ucyIsInNlbGVjdGVkSW5kZXgiLCJsZW5ndGgiLCJtYXRjaGVkSW5kZXgiLCJmaW5kSW5kZXgiLCJvcHRpb24iLCJoYXNTZWxlY3Rpb24iLCJsaXN0UmVmIiwidXNlUmVmIiwibGlzdENvbnRlbnRSZWYiLCJmbG9hdGluZ1JlZiIsInRyaWdnZXJSZWYiLCJzZWFyY2hJbnB1dFJlZiIsImhhbmRsZVRyaWdnZXJSZWYiLCJ1c2VFdmVudENhbGxiYWNrIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJ1c2VTZWxlY3RTaGVsbCIsImlubmVyT3BlbiIsImlzT3BlbiIsImhhbmRsZU9wZW5DaGFuZ2UiLCJzZXRPcGVuIiwicmVmcyIsImNvbnRleHQiLCJmbG9hdGluZ1N0eWxlcyIsInRyYW5zaXRpb25TdHlsZXMiLCJpc01vdW50ZWQiLCJiYXNlSW50ZXJhY3Rpb25zIiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJsaXN0TmF2aWdhdGlvbiIsInVzZUxpc3ROYXZpZ2F0aW9uIiwib25OYXZpZ2F0ZSIsImVuYWJsZWQiLCJsb29wIiwidmlydHVhbCIsInR5cGVhaGVhZCIsInVzZVR5cGVhaGVhZCIsIm9uTWF0Y2giLCJfdXNlSW50ZXJhY3Rpb25zIiwidXNlSW50ZXJhY3Rpb25zIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsImdldEl0ZW1Qcm9wcyIsImZpcnN0RW5hYmxlZEluZGV4IiwidXNlRWZmZWN0IiwicHJldiIsImZvY3VzIiwicHJldmVudFNjcm9sbCIsInNsaWNlIiwic2V0U2VhcmNoSW5wdXRSZWYiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImhhbmRsZU9wdGlvbkJsdXIiLCJjb21taXRDaGFuZ2UiLCJuZXh0VmFsdWUiLCJuZXh0T3B0aW9uIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwidG9nZ2xlTXVsdGlwbGVWYWx1ZSIsIm5leHRPcHRpb25zIiwiZ2V0T3B0aW9uc0J5VmFsdWVzIiwiaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSIsIm9wdGlvblZhbHVlIiwiZ2V0TXVsdGlwbGVWYWx1ZSIsImluY2x1ZGVzIiwicmVtb3ZlTXVsdGlwbGVWYWx1ZSIsImhhbmRsZVRyaWdnZXJLZXlEb3duIiwia2V5IiwiS0VZQk9BUkQiLCJFTlRFUiIsIlNQQUNFIiwicHJldmVudERlZmF1bHQiLCJBUlJPV19ET1dOIiwiQVJST1dfVVAiLCJoYW5kbGVJdGVtTW91c2VFbnRlciIsImluZGV4IiwiaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlVGFnUmVtb3ZlQ2xpY2siLCJoYW5kbGVTZWFyY2hCbHVyIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwiX2V2ZW50IiwiZmluZEVuYWJsZWRJbmRleCIsImRpcmVjdGlvbiIsInN0YXJ0Iiwic3RlcCIsImNhbmRpZGF0ZSIsImhhbmRsZVNlYXJjaEtleURvd24iLCJuZXh0IiwiRVNDQVBFIiwicmVuZGVyVmFsdWVNZXRhIiwiZm9udFNpemUiLCJnZXRGb250U2l6ZSIsInZhbHVlTGFiZWxDbGFzcyIsImlzTXVsdGlwbGVWYWx1ZUZpbGxlZCIsInRyaWdnZXJDbGFzc05hbWUiLCJqb2luQ2xzIiwiaWNvblNpemUiLCJhY3RpdmVPcHRpb25JZCIsImZsb2F0aW5nQXJpYUxhYmVsbGVkQnkiLCJkZXNjcmliZWRCeUlkcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiX2pzeHMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiY2hpbGRyZW4iLCJhc3NpZ24iLCJ0eXBlIiwib25LZXlEb3duIiwiX2pzeCIsIlNlbGVjdFZhbHVlQ29udGVudCIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwiU3Bpbm5lciIsInN0cm9rZVdpZHRoIiwiSWNvbnMiLCJjb2xvciIsInBhbmVsTm9kZSIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwibW9kYWwiLCJpbml0aWFsRm9jdXMiLCJyZXR1cm5Gb2N1cyIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJhY3RpdmVEZXNjZW5kYW50IiwiVHlwb2dyYXBoeUJvZHkiLCJTRUxFQ1RfVFlQT0dSQVBIWSIsImVtcHR5IiwiZmxhdEluZGV4IiwibWFwIiwiZ3JvdXAiLCJUeXBvZ3JhcGh5TGFiZWwiLCJncm91cExhYmVsIiwic3Ryb25nIiwib3B0aW9uRmxhdEluZGV4Iiwic2VsZWN0ZWQiLCJpc09wdGlvblNlbGVjdGVkIiwiYWN0aXZlIiwib3B0aW9uTWV0YSIsImV4dHJhY3RPcHRpb25UZXh0Iiwicm9sZSIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJTZWxlY3RPcHRpb25Db250ZW50IiwiY29udGVudCIsIkZsb2F0aW5nUG9ydGFsIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFPQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQVgsT0FBQTtBQWdCQSxJQUFBWSxpQkFBQSxHQUFBUixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWEsb0JBQUEsR0FBQVQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFjLG9CQUFBLEdBQUFWLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBZSxtQkFBQSxHQUFBWCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWdCLGdCQUFBLEdBQUFoQixPQUFBO0FBQ0EsSUFBQWlCLFVBQUEsR0FBQWpCLE9BQUE7QUFDQSxJQUFBa0IsTUFBQSxHQUFBbEIsT0FBQTtBQWNBQSxPQUFBO0FBQWlCLFNBQUFtQix5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVQsd0JBQUFTLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFFakIsSUFBTVcsa0JBQWtCLEdBQUcsR0FBRztBQUV2QixJQUFNQyxNQUFNLEdBQUFDLE9BQUEsQ0FBQUQsTUFBQSxHQUFvQixTQUExQkEsTUFBTUEsQ0FBcUJFLEtBQUssRUFBSTtFRGxDN0MsSUFBSUMsRUFBRTtFQ21DUixJQUFBQyxnQkFBQSxHQXNESUYsS0FBSyxDQXJEUEcsU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsRUFBRSxHQUFBQSxnQkFBQTtJQUFBRSxnQkFBQSxHQXFEWkosS0FBSyxDQXBEUEssU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsUUFBUSxHQUFBQSxnQkFBQTtJQUNwQkUsS0FBSyxHQW1ESE4sS0FBSyxDQW5EUE0sS0FBSztJQUNMQyxFQUFFLEdBa0RBUCxLQUFLLENBbERQTyxFQUFFO0lBQ0ZDLElBQUksR0FpREZSLEtBQUssQ0FqRFBRLElBQUk7SUFDVUMsU0FBUyxHQWdEckJULEtBQUssQ0FoRFAsWUFBWTtJQUNPVSxjQUFjLEdBK0MvQlYsS0FBSyxDQS9DUCxpQkFBaUI7SUFBQVcsa0JBQUEsR0ErQ2ZYLEtBQUssQ0E5Q1BZLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxrQkFBQSxjQUFHLE9BQU8sR0FBQUEsa0JBQUE7SUFBQUUsY0FBQSxHQThDbkJiLEtBQUssQ0E3Q1BjLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsRUFBRSxHQUFBQSxjQUFBO0lBQ1pFLEtBQUssR0E0Q0hmLEtBQUssQ0E1Q1BlLEtBQUs7SUFDTEMsWUFBWSxHQTJDVmhCLEtBQUssQ0EzQ1BnQixZQUFZO0lBQ05DLFFBQVEsR0EwQ1pqQixLQUFLLENBMUNQa0IsSUFBSTtJQUFBQyxhQUFBLEdBMENGbkIsS0FBSyxDQXpDUG9CLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsU0FBUyxHQUFBQSxhQUFBO0lBQUFFLGNBQUEsR0F5Q2hCckIsS0FBSyxDQXhDUHNCLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsTUFBTSxHQUFBQSxjQUFBO0lBQUFFLGVBQUEsR0F3Q2R2QixLQUFLLENBdkNQd0IsUUFBUTtJQUFFQyxZQUFZLEdBQUFGLGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFBQUcsZUFBQSxHQXVDNUIxQixLQUFLLENBdENQMkIsUUFBUTtJQUFSQSxRQUFRLEdBQUFELGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFBQUUsY0FBQSxHQXNDZDVCLEtBQUssQ0FyQ1A2QixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLEtBQUssR0FBQUEsY0FBQTtJQUFBRSxlQUFBLEdBcUNiOUIsS0FBSyxDQXBDUCtCLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQ2hCRSxnQkFBZ0IsR0FtQ2RoQyxLQUFLLENBbkNQZ0MsZ0JBQWdCO0lBQUFDLGlCQUFBLEdBbUNkakMsS0FBSyxDQWxDUGtDLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxpQkFBQSxjQUFHLEtBQUssR0FBQUEsaUJBQUE7SUFBQUUscUJBQUEsR0FrQ2hCbkMsS0FBSyxDQWpDUG9DLGlCQUFpQjtJQUFqQkEsaUJBQWlCLEdBQUFELHFCQUFBLGNBQUcsUUFBUSxHQUFBQSxxQkFBQTtJQUM1QkUsV0FBVyxHQWdDVHJDLEtBQUssQ0FoQ1BxQyxXQUFXO0lBQUFDLHFCQUFBLEdBZ0NUdEMsS0FBSyxDQS9CUHVDLGtCQUFrQjtJQUFsQkEsa0JBQWtCLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtJQUFBRSxxQkFBQSxHQStCckJ4QyxLQUFLLENBOUJQeUMsb0JBQW9CO0lBQXBCQSxvQkFBb0IsR0FBQUQscUJBQUEsY0FBRyxJQUFJLEdBQUFBLHFCQUFBO0lBQzNCRSxLQUFLLEdBNkJIMUMsS0FBSyxDQTdCUDBDLEtBQUs7SUFDTEMsY0FBYyxHQTRCWjNDLEtBQUssQ0E1QlAyQyxjQUFjO0lBQ2RDLElBQUksR0EyQkY1QyxLQUFLLENBM0JQNEMsSUFBSTtJQUNKQyxXQUFXLEdBMEJUN0MsS0FBSyxDQTFCUDZDLFdBQVc7SUFDWEMsUUFBUSxHQXlCTjlDLEtBQUssQ0F6QlA4QyxRQUFRO0lBQUFDLGVBQUEsR0F5Qk4vQyxLQUFLLENBeEJQZ0QsUUFBUTtJQUFSQSxRQUFRLEdBQUFELGVBQUEsY0FBRyxJQUFJLEdBQUFBLGVBQUE7SUFDZkUsTUFBTSxHQXVCSmpELEtBQUssQ0F2QlBpRCxNQUFNO0lBQUFDLG1CQUFBLEdBdUJKbEQsS0FBSyxDQXRCUG1ELFlBQVk7SUFBWkEsWUFBWSxHQUFBRCxtQkFBQSxjQUFHLFlBQVksR0FBQUEsbUJBQUE7SUFDM0JFLFdBQVcsR0FxQlRwRCxLQUFLLENBckJQb0QsV0FBVztJQUNYQyxXQUFXLEdBb0JUckQsS0FBSyxDQXBCUHFELFdBQVc7SUFDWEMsSUFBSSxHQW1CRnRELEtBQUssQ0FuQlBzRCxJQUFJO0lBQUFDLGtCQUFBLEdBbUJGdkQsS0FBSyxDQWxCUHdELFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxrQkFBQSxjQUFHLEtBQUssR0FBQUEsa0JBQUE7SUFBQUUsYUFBQSxHQWtCakJ6RCxLQUFLLENBakJQMEQsTUFBTTtJQUFOQSxNQUFNLEdBQUFELGFBQUEsY0FBRyxJQUFJLEdBQUFBLGFBQUE7SUFBQUUsb0JBQUEsR0FpQlgzRCxLQUFLLENBaEJQNEQsYUFBYTtJQUFiQSxhQUFhLEdBQUFELG9CQUFBLGNBQUcsS0FBSyxHQUFBQSxvQkFBQTtJQUNyQkUsY0FBYyxHQWVaN0QsS0FBSyxDQWZQNkQsY0FBYztJQUNkQyxlQUFlLEdBY2I5RCxLQUFLLENBZFA4RCxlQUFlO0lBQ2ZDLG1CQUFtQixHQWFqQi9ELEtBQUssQ0FiUCtELG1CQUFtQjtJQUFBQyxvQkFBQSxHQWFqQmhFLEtBQUssQ0FaUGlFLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxvQkFBQSxjQUFHbkUsa0JBQWtCLEdBQUFtRSxvQkFBQTtJQUNsQ0UsTUFBTSxHQVdKbEUsS0FBSyxDQVhQa0UsTUFBTTtJQUNOQyxTQUFTLEdBVVBuRSxLQUFLLENBVlBtRSxTQUFTO0lBQ1RDLFFBQVEsR0FTTnBFLEtBQUssQ0FUUG9FLFFBQVE7SUFDUkMsWUFBWSxHQVFWckUsS0FBSyxDQVJQcUUsWUFBWTtJQUNaQyxjQUFjLEdBT1p0RSxLQUFLLENBUFBzRSxjQUFjO0lBQ2RDLE1BQU0sR0FNSnZFLEtBQUssQ0FOUHVFLE1BQU07SUFDTkMsWUFBWSxHQUtWeEUsS0FBSyxDQUxQd0UsWUFBWTtJQUNaQyxZQUFZLEdBSVZ6RSxLQUFLLENBSlB5RSxZQUFZO0lBQ1pDLG1CQUFtQixHQUdqQjFFLEtBQUssQ0FIUDBFLG1CQUFtQjtJQUNuQkMsV0FBVyxHQUVUM0UsS0FBSyxDQUZQMkUsV0FBVztJQUNYQyxHQUFHLEdBQ0Q1RSxLQUFLLENBRFA0RSxHQUFHO0VBRUw7RUFDQTtFQUNBLElBQU1DLFdBQVcsR0FBRyxJQUFBQywyQkFBa0IsRUFBQSxDQUFFO0VBQ3hDLElBQU01RCxJQUFJLEdBQUcsQ0FBQWpCLEVBQUEsR0FBQWdCLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxHQUFJNEQsV0FBVyxNQUFBLElBQUEsSUFBQTVFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLE9BQU87RUFDL0MsSUFBTXVCLFFBQVEsR0FBR0MsWUFBWSxJQUFJSSxPQUFPO0VBQ3hDLElBQU1rRCxXQUFXLEdBQUcsQ0FBQ3ZELFFBQVEsSUFBSSxDQUFDRyxRQUFRO0VBRTFDLElBQU1xRCxPQUFPLEdBQUcsSUFBQUMsc0JBQWMsRUFBQzVFLFNBQVMsQ0FBQztFQUN6QyxJQUFNNkUsTUFBTSxHQUFHLElBQUFDLGFBQUssRUFBQSxDQUFFO0VBQ3RCLElBQU1DLFNBQVMsR0FBRzdFLEVBQUUsS0FBQSxJQUFBLElBQUZBLEVBQUUsS0FBQSxLQUFBLENBQUEsR0FBRkEsRUFBRSxHQUFJMkUsTUFBTTtFQUM5QixJQUFNRyxPQUFPLEdBQUcsSUFBQUYsYUFBSyxFQUFBLENBQUU7RUFDdkIsSUFBTUcsYUFBYSxHQUFHLElBQUFILGFBQUssRUFBQSxDQUFFO0VBQzdCLElBQU1JLFVBQVUsR0FBRyxJQUFBSixhQUFLLEVBQUEsQ0FBRTtFQUMxQixJQUFNSyxjQUFjLEdBQUcsSUFBQUwsYUFBSyxFQUFBLENBQUU7RUFDOUIsSUFBQU0sbUJBQUEsR0FBb0MsSUFBQUMsK0JBQWtCLEVBQ3BEMUUsWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLEdBQUtlLFFBQVEsR0FBRyxFQUFFLEdBQUc0RCxTQUFVLEVBQzNDNUUsS0FBSyxDQUNOO0lBQUE2RSxvQkFBQSxPQUFBQyxlQUFBLGFBQUFKLG1CQUFBO0lBSE1LLFVBQVUsR0FBQUYsb0JBQUE7SUFBRUcsYUFBYSxHQUFBSCxvQkFBQTtFQUloQyxJQUFBSSxvQkFBQSxHQUFnRCxJQUFBTiwrQkFBa0IsRUFDaEVuRCxrQkFBa0IsRUFDbEJGLFdBQVcsQ0FDWjtJQUFBNEQsb0JBQUEsT0FBQUosZUFBQSxhQUFBRyxvQkFBQTtJQUhNRSxnQkFBZ0IsR0FBQUQsb0JBQUE7SUFBRUUsbUJBQW1CLEdBQUFGLG9CQUFBO0VBSTVDLElBQUFHLFNBQUEsR0FBc0MsSUFBQUMsZ0JBQVEsRUFBZ0IsSUFBSSxDQUFDO0lBQUFDLFVBQUEsT0FBQVQsZUFBQSxhQUFBTyxTQUFBO0lBQTVERyxXQUFXLEdBQUFELFVBQUE7SUFBRUUsY0FBYyxHQUFBRixVQUFBO0VBRWxDLElBQU1HLGNBQWMsR0FBRyxJQUFBQyxvQkFBYSxFQUFDeEYsSUFBSSxDQUFDO0VBQzFDLElBQU15RixlQUFlLEdBQUcsSUFBQUMsZUFBTyxFQUM3QjtJQUFBLE9BQU0sSUFBQUMsNEJBQXFCLEVBQUMvRixPQUFPLENBQUM7RUFBQSxHQUNwQyxDQUFDQSxPQUFPLENBQUMsQ0FDVjtFQUNELElBQU1nRyxjQUFjLEdBQUcsSUFBQUYsZUFBTyxFQUM1QjtJQUFBLE9BQU0sSUFBQUcsMEJBQW1CLEVBQUNKLGVBQWUsQ0FBQztFQUFBLEdBQzFDLENBQUNBLGVBQWUsQ0FBQyxDQUNsQjtFQUNELElBQU1LLG1CQUFtQixHQUFHLElBQUFKLGVBQU8sRUFDakM7SUFBQSxPQUNFMUUsVUFBVSxHQUNOLElBQUErRSx5QkFBa0IsRUFBQ04sZUFBZSxFQUFFVCxnQkFBZ0IsRUFBRTFCLFlBQVksQ0FBQyxHQUNuRW1DLGVBQWU7RUFBQSxDQUNwQixFQUNELENBQUNBLGVBQWUsRUFBRW5DLFlBQVksRUFBRTBCLGdCQUFnQixFQUFFaEUsVUFBVSxDQUFDLENBQzlEO0VBQ0QsSUFBTWdGLGtCQUFrQixHQUFHLElBQUFOLGVBQU8sRUFDaEM7SUFBQSxPQUFNLElBQUFHLDBCQUFtQixFQUFDQyxtQkFBbUIsQ0FBQztFQUFBLEdBQzlDLENBQUNBLG1CQUFtQixDQUFDLENBQ3RCO0VBQ0QsSUFBTUcsZUFBZSxHQUFHLElBQUFQLGVBQU8sRUFDN0I7SUFBQSxPQUFNLElBQUFRLHlCQUFrQixFQUFDTixjQUFjLEVBQUVoQixVQUFVLEVBQUUvRCxRQUFRLENBQUM7RUFBQSxHQUM5RCxDQUFDK0UsY0FBYyxFQUFFaEIsVUFBVSxFQUFFL0QsUUFBUSxDQUFDLENBQ3ZDO0VBQ0QsSUFBTXNGLGFBQWEsR0FBRyxJQUFBVCxlQUFPLEVBQUMsWUFBSztJQUNqQyxJQUFJTyxlQUFlLENBQUNHLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDaEMsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFNQyxZQUFZLEdBQUdMLGtCQUFrQixDQUFDTSxTQUFTLENBQy9DLFVBQUNDLE1BQU07TUFBQSxPQUFLQSxNQUFNLENBQUMxRyxLQUFLLEtBQUtvRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUNwRyxLQUFLO0lBQUEsRUFDdEQ7SUFFRCxPQUFPd0csWUFBWSxJQUFJLENBQUMsR0FBR0EsWUFBWSxHQUFHLElBQUk7RUFDaEQsQ0FBQyxFQUFFLENBQUNKLGVBQWUsRUFBRUQsa0JBQWtCLENBQUMsQ0FBQztFQUN6QyxJQUFNUSxZQUFZLEdBQUdQLGVBQWUsQ0FBQ0csTUFBTSxHQUFHLENBQUM7RUFDL0MsSUFBTUssT0FBTyxHQUFHLElBQUFDLGNBQU0sRUFBa0MsRUFBRSxDQUFDO0VBQzNELElBQU1DLGNBQWMsR0FBRyxJQUFBRCxjQUFNLEVBQXVCLEVBQUUsQ0FBQztFQUN2RCxJQUFNRSxXQUFXLEdBQUcsSUFBQUYsY0FBTSxFQUF3QixJQUFJLENBQUM7RUFDdkQsSUFBTUcsVUFBVSxHQUFHLElBQUFILGNBQU0sRUFBMkIsSUFBSSxDQUFDO0VBQ3pELElBQU1JLGNBQWMsR0FBRyxJQUFBSixjQUFNLEVBQTBCLElBQUksQ0FBQztFQUU1RCxJQUFNSyxnQkFBZ0IsR0FBRyxJQUFBQyw0QkFBZ0IsRUFBQyxVQUFDQyxJQUE4QixFQUFJO0lBQzNFSixVQUFVLENBQUNLLE9BQU8sR0FBR0QsSUFBSTtJQUN6QixJQUFJdkQsR0FBRyxFQUFFO01BQ05BLEdBQTZDLENBQUN3RCxPQUFPLEdBQUdELElBQUk7SUFDL0Q7RUFDRixDQUFDLENBQUM7RUFFRixJQUFBRSxlQUFBLEdBU0ksSUFBQUMsK0JBQWMsRUFBb0I7TUFDcENoRixJQUFJLEVBQUpBLElBQUk7TUFDSkUsV0FBVyxFQUFYQSxXQUFXO01BQ1hhLFlBQVksRUFBWkEsWUFBWTtNQUNaN0MsUUFBUSxFQUFSQSxRQUFRO01BQ1JHLFFBQVEsRUFBUkEsUUFBUTtNQUNSc0MsYUFBYSxFQUFiQSxhQUFhO01BQ2JFLFNBQVMsRUFBVEEsU0FBUztNQUNURCxNQUFNLEVBQU5BO0lEL0hBLENDZ0lELENBQUM7SUFqQlFxRSxTQUFTLEdBQUFGLGVBQUEsQ0FBakJHLE1BQU07SUFDR0MsZ0JBQWdCLEdBQUFKLGVBQUEsQ0FBekJLLE9BQU87SUFDUEMsSUFBSSxHQUFBTixlQUFBLENBQUpNLElBQUk7SUFDSkMsT0FBTyxHQUFBUCxlQUFBLENBQVBPLE9BQU87SUFDUEMsY0FBYyxHQUFBUixlQUFBLENBQWRRLGNBQWM7SUFDZEMsZ0JBQWdCLEdBQUFULGVBQUEsQ0FBaEJTLGdCQUFnQjtJQUNoQkMsU0FBUyxHQUFBVixlQUFBLENBQVRVLFNBQVM7SUFDVEMsZ0JBQWdCLEdBQUFYLGVBQUEsQ0FBaEJXLGdCQUFnQjtFQVlsQixJQUFNQyxZQUFZLEdBQUcsSUFBQWYsNEJBQWdCLEVBQUMsVUFBQ0MsSUFBOEIsRUFBSTtJQUN2RVEsSUFBSSxDQUFDTSxZQUFZLENBQUNkLElBQUksQ0FBQztJQUN2QkYsZ0JBQWdCLENBQUNFLElBQUksQ0FBQztFQUN4QixDQUFDLENBQUM7RUFFRixJQUFNZSxXQUFXLEdBQUcsSUFBQWhCLDRCQUFnQixFQUFDLFVBQUNDLElBQTJCLEVBQUk7SUFDbkVRLElBQUksQ0FBQ08sV0FBVyxDQUFDZixJQUFJLENBQUM7SUFDdEJMLFdBQVcsQ0FBQ00sT0FBTyxHQUFHRCxJQUFJO0VBQzVCLENBQUMsQ0FBQztFQUVGLElBQU1nQixjQUFjLEdBQUcsSUFBQUMsd0JBQWlCLEVBQUNSLE9BQU8sRUFBRTtJQUNoRGpCLE9BQU8sRUFBUEEsT0FBTztJQUNQcEIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hjLGFBQWEsRUFBYkEsYUFBYTtJQUNiZ0MsVUFBVSxFQUFFN0MsY0FBYztJQUMxQjhDLE9BQU8sRUFBRWYsU0FBUztJQUNsQmdCLElBQUksRUFBRSxJQUFJO0lBQ1ZDLE9BQU8sRUFBRXRIO0VEbElULENDbUlELENBQUM7RUFDRixJQUFNdUgsU0FBUyxHQUFHLElBQUFDLG1CQUFZLEVBQUNkLE9BQU8sRUFBRTtJQUN0Q2pCLE9BQU8sRUFBRUUsY0FBYztJQUN2QnRCLFdBQVcsRUFBWEEsV0FBVztJQUNYYyxhQUFhLEVBQWJBLGFBQWE7SUFDYmlDLE9BQU8sRUFBRWYsU0FBUyxJQUFJLENBQUNyRyxVQUFVO0lBQ2pDeUgsT0FBTyxFQUFFbkQ7RURsSVQsQ0NtSUQsQ0FBQztFQUNGLElBQUFvRCxnQkFBQSxHQUE4RCxJQUFBQyxzQkFBZSxLQUFBQyxNQUFBLEtBQUFDLG1CQUFBLGFBQ3hFZixnQkFBZ0IsSUFDbkJHLGNBQWMsRUFDZE0sU0FBUyxFQUNWLENBQUM7SUFKTU8saUJBQWlCLEdBQUFKLGdCQUFBLENBQWpCSSxpQkFBaUI7SUFBRUMsZ0JBQWdCLEdBQUFMLGdCQUFBLENBQWhCSyxnQkFBZ0I7SUFBRUMsWUFBWSxHQUFBTixnQkFBQSxDQUFaTSxZQUFZO0VBTXpELElBQU1DLGlCQUFpQixHQUFHLElBQUF2RCxlQUFPLEVBQy9CO0lBQUEsT0FBTU0sa0JBQWtCLENBQUNNLFNBQVMsQ0FBQyxVQUFDQyxNQUFNO01BQUEsT0FBSyxDQUFDQSxNQUFNLENBQUNqRyxRQUFRO0lBQUEsRUFBQztFQUFBLEdBQ2hFLENBQUMwRixrQkFBa0IsQ0FBQyxDQUNyQjtFQUVELElBQUFrRCxpQkFBUyxFQUFDLFlBQUs7SUFDYixJQUFJLENBQUM3QixTQUFTLEVBQUU7TUFDZC9CLGNBQWMsQ0FBQ2EsYUFBYSxDQUFDO01BQzdCO0lBQ0Y7SUFFQWIsY0FBYyxDQUFDLFVBQUM2RCxJQUFJLEVBQUk7TUFDdEIsSUFBSUEsSUFBSSxLQUFLLElBQUksSUFBSW5ELGtCQUFrQixDQUFDbUQsSUFBSSxDQUFDLElBQUksQ0FBQ25ELGtCQUFrQixDQUFDbUQsSUFBSSxDQUFDLENBQUM3SSxRQUFRLEVBQUU7UUFDbkYsT0FBTzZJLElBQUk7TUFDYjtNQUVBLElBQ0VoRCxhQUFhLEtBQUssSUFBSSxJQUN0Qkgsa0JBQWtCLENBQUNHLGFBQWEsQ0FBQyxJQUNqQyxDQUFDSCxrQkFBa0IsQ0FBQ0csYUFBYSxDQUFDLENBQUM3RixRQUFRLEVBQzNDO1FBQ0EsT0FBTzZGLGFBQWE7TUFDdEI7TUFFQSxPQUFPOEMsaUJBQWlCLElBQUksQ0FBQyxHQUFHQSxpQkFBaUIsR0FBRyxJQUFJO0lBQzFELENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxDQUFDQSxpQkFBaUIsRUFBRTVCLFNBQVMsRUFBRWxCLGFBQWEsRUFBRUgsa0JBQWtCLENBQUMsQ0FBQztFQUVyRSxJQUFBa0QsaUJBQVMsRUFBQyxZQUFLO0lEN0lULElBQUluSyxFQUFFO0lDOElWLElBQUksQ0FBQ3NJLFNBQVMsSUFBSWhDLFdBQVcsS0FBSyxJQUFJLElBQUlyRSxVQUFVLEVBQUU7TUFDcEQ7SUFDRjtJQUVBLENBQUFqQyxFQUFBLEdBQUEwSCxPQUFPLENBQUNTLE9BQU8sQ0FBQzdCLFdBQVcsQ0FBQyxNQUFBLElBQUEsSUFBQXRHLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFcUssS0FBSyxDQUFDO01BQUVDLGFBQWEsRUFBRTtJQUFJLENBQUUsQ0FBQztFQUM5RCxDQUFDLEVBQUUsQ0FBQ2hFLFdBQVcsRUFBRWdDLFNBQVMsRUFBRXJHLFVBQVUsQ0FBQyxDQUFDO0VBRXhDLElBQUFrSSxpQkFBUyxFQUFDLFlBQUs7SUFDYnpDLE9BQU8sQ0FBQ1MsT0FBTyxHQUFHVCxPQUFPLENBQUNTLE9BQU8sQ0FBQ29DLEtBQUssQ0FBQyxDQUFDLEVBQUV0RCxrQkFBa0IsQ0FBQ0ksTUFBTSxDQUFDO0lBQ3JFTyxjQUFjLENBQUNPLE9BQU8sR0FBR1AsY0FBYyxDQUFDTyxPQUFPLENBQUNvQyxLQUFLLENBQUMsQ0FBQyxFQUFFdEQsa0JBQWtCLENBQUNJLE1BQU0sQ0FBQztFQUNyRixDQUFDLEVBQUUsQ0FBQ0osa0JBQWtCLENBQUNJLE1BQU0sQ0FBQyxDQUFDO0VBRS9CLElBQU1tRCxpQkFBaUIsR0FBRyxJQUFBdkMsNEJBQWdCLEVBQUMsVUFBQ0MsSUFBNkIsRUFBSTtJQUMzRUgsY0FBYyxDQUFDSSxPQUFPLEdBQUdELElBQUk7SUFDN0IsSUFBSUEsSUFBSSxJQUFJSSxTQUFTLElBQUk5RixvQkFBb0IsRUFBRTtNQUM3QzBGLElBQUksQ0FBQ21DLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7SUFDckM7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNRyxtQkFBbUIsR0FBRyxJQUFBeEMsNEJBQWdCLEVBQUMsVUFBQ3lDLGFBQWlDLEVBQUVDLEtBQStCLEVBQUk7SURoSjlHLElBQUkzSyxFQUFFLEVBQUU0SyxFQUFFO0lDaUpkLElBQU1DLFVBQVUsR0FBR0gsYUFBNEI7SUFDL0MsSUFBTUksYUFBYSxHQUFHLENBQUMsRUFBRUQsVUFBVSxLQUFJLENBQUE3SyxFQUFBLEdBQUE4SCxVQUFVLENBQUNLLE9BQU8sTUFBQSxJQUFBLElBQUFuSSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRStLLFFBQVEsQ0FBQ0YsVUFBVSxDQUFDLENBQUEsQ0FBQztJQUNoRixJQUFNRyxjQUFjLEdBQUcsQ0FBQyxFQUFFSCxVQUFVLEtBQUksQ0FBQUQsRUFBQSxHQUFBL0MsV0FBVyxDQUFDTSxPQUFPLE1BQUEsSUFBQSxJQUFBeUMsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVHLFFBQVEsQ0FBQ0YsVUFBVSxDQUFDLENBQUEsQ0FBQztJQUVsRixJQUFJLENBQUNDLGFBQWEsSUFBSSxDQUFDRSxjQUFjLEVBQUU7TUFDckMxRyxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBR3FHLEtBQUssQ0FBQztJQUNqQjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU1NLGlCQUFpQixHQUFHLElBQUFoRCw0QkFBZ0IsRUFBQyxVQUFDMEMsS0FBb0MsRUFBSTtJQUNsRkYsbUJBQW1CLENBQUNFLEtBQUssQ0FBQ0QsYUFBYSxFQUFFQyxLQUFnQyxDQUFDO0VBQzVFLENBQUMsQ0FBQztFQUVGLElBQU1PLGdCQUFnQixHQUFHLElBQUFqRCw0QkFBZ0IsRUFBQyxVQUFDMEMsS0FBb0MsRUFBSTtJQUNqRkYsbUJBQW1CLENBQUNFLEtBQUssQ0FBQ0QsYUFBYSxFQUFFQyxLQUFnQyxDQUFDO0VBQzVFLENBQUMsQ0FBQztFQUVGLElBQU1RLFlBQVksR0FBRyxJQUFBbEQsNEJBQWdCLEVBQUMsVUFBQ21ELFNBQXNCLEVBQUVDLFVBQTBDLEVBQUk7SUFDM0d2RixhQUFhLENBQUNzRixTQUFTLENBQUM7SUFDeEJqSCxRQUFRLEtBQUEsSUFBQSxJQUFSQSxRQUFRLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVJBLFFBQVEsQ0FBR2lILFNBQVMsRUFBRUMsVUFBVSxFQUFFOUssSUFBSSxDQUFDO0VBQ3pDLENBQUMsQ0FBQztFQUVGLElBQU0rSyxrQkFBa0IsR0FBRyxJQUFBckQsNEJBQWdCLEVBQUMsVUFBQ1QsTUFBb0IsRUFBSTtJRHBKL0QsSUFBSXhILEVBQUUsRUFBRTRLLEVBQUU7SUNxSmQsSUFBSXBELE1BQU0sQ0FBQ2pHLFFBQVEsRUFBRTtNQUNuQjtJQUNGO0lBRUEsSUFBSU8sUUFBUSxFQUFFO01BQ1osSUFBTXNKLFNBQVMsR0FBRyxJQUFBRywwQkFBbUIsRUFBQzFGLFVBQVUsRUFBRTJCLE1BQU0sQ0FBQzFHLEtBQUssQ0FBQztNQUMvRCxJQUFNMEssV0FBVyxHQUFHLElBQUFDLHlCQUFrQixFQUFDNUUsY0FBYyxFQUFFdUUsU0FBUyxDQUFDO01BQ2pFRCxZQUFZLENBQUNDLFNBQVMsRUFBRUksV0FBVyxDQUFDO01BQ3BDO0lBQ0Y7SUFFQSxJQUFJN0gsYUFBYSxJQUFJa0MsVUFBVSxLQUFLMkIsTUFBTSxDQUFDMUcsS0FBSyxFQUFFO01BQ2hEcUssWUFBWSxDQUFDekYsU0FBUyxFQUFFQSxTQUFTLENBQUM7TUFDbEM4QyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFDdkJsRSxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO01BQ1YsQ0FBQXRFLEVBQUEsR0FBQThILFVBQVUsQ0FBQ0ssT0FBTyxNQUFBLElBQUEsSUFBQW5JLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFcUssS0FBSyxDQUFDO1FBQUVDLGFBQWEsRUFBRTtNQUFJLENBQUUsQ0FBQztNQUNsRDtJQUNGO0lBRUFhLFlBQVksQ0FBQzNELE1BQU0sQ0FBQzFHLEtBQUssRUFBRTBHLE1BQU0sQ0FBQztJQUNsQ2dCLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUN2QmxFLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFBLENBQUk7SUFDVixDQUFBc0csRUFBQSxHQUFBOUMsVUFBVSxDQUFDSyxPQUFPLE1BQUEsSUFBQSxJQUFBeUMsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVQLEtBQUssQ0FBQztNQUFFQyxhQUFhLEVBQUU7SUFBSSxDQUFFLENBQUM7RUFDcEQsQ0FBQyxDQUFDO0VBRUYsSUFBTW9CLHlCQUF5QixHQUFHLElBQUF6RCw0QkFBZ0IsRUFBQyxVQUFDMEQsV0FBOEIsRUFBSTtJQUNwRixJQUFJLENBQUM3SixRQUFRLEVBQUU7TUFDYjtJQUNGO0lBRUEsSUFBSSxDQUFDLElBQUE4Six1QkFBZ0IsRUFBQy9GLFVBQVUsQ0FBQyxDQUFDZ0csUUFBUSxDQUFDRixXQUFXLENBQUMsRUFBRTtNQUN2RDtJQUNGO0lBRUEsSUFBTVAsU0FBUyxHQUFHLElBQUFVLDBCQUFtQixFQUFDakcsVUFBVSxFQUFFOEYsV0FBVyxDQUFDO0lBQzlELElBQU1ILFdBQVcsR0FBRyxJQUFBQyx5QkFBa0IsRUFBQzVFLGNBQWMsRUFBRXVFLFNBQVMsQ0FBQztJQUNqRUQsWUFBWSxDQUFDQyxTQUFTLEVBQUVJLFdBQVcsQ0FBQztFQUN0QyxDQUFDLENBQUM7RUFFRixJQUFNTyxvQkFBb0IsR0FBRyxJQUFBOUQsNEJBQWdCLEVBQUMsVUFBQzBDLEtBQTRDLEVBQUk7SUFDN0YsSUFBSSxDQUFDN0YsV0FBVyxFQUFFO01BQ2hCO0lBQ0Y7SUFFQSxJQUFJNkYsS0FBSyxDQUFDcUIsR0FBRyxLQUFLQyxtQkFBUSxDQUFDQyxLQUFLLElBQUl2QixLQUFLLENBQUNxQixHQUFHLEtBQUtDLG1CQUFRLENBQUNFLEtBQUssRUFBRTtNQUNoRSxJQUNFN0QsU0FBUyxJQUNUaEMsV0FBVyxLQUFLLElBQUksSUFDcEJXLGtCQUFrQixDQUFDWCxXQUFXLENBQUMsSUFDL0IsQ0FBQ1csa0JBQWtCLENBQUNYLFdBQVcsQ0FBQyxDQUFDL0UsUUFBUSxFQUN6QztRQUNBb0osS0FBSyxDQUFDeUIsY0FBYyxDQUFBLENBQUU7UUFDdEJkLGtCQUFrQixDQUFDckUsa0JBQWtCLENBQUNYLFdBQVcsQ0FBQyxDQUFDO1FBQ25EO01BQ0Y7TUFDQXFFLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO01BQ3RCNUQsZ0JBQWdCLENBQUMsQ0FBQ0YsU0FBUyxDQUFDO01BQzVCO0lBQ0Y7SUFFQSxJQUFJcUMsS0FBSyxDQUFDcUIsR0FBRyxLQUFLQyxtQkFBUSxDQUFDSSxVQUFVLElBQUkxQixLQUFLLENBQUNxQixHQUFHLEtBQUtDLG1CQUFRLENBQUNLLFFBQVEsRUFBRTtNQUN4RTNCLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLElBQUksQ0FBQzlELFNBQVMsRUFBRTtRQUNkRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7TUFDeEI7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU0rRCxvQkFBb0IsR0FBRyxJQUFBdEUsNEJBQWdCLEVBQUMsVUFBQ3VFLEtBQWEsRUFBSTtJRC9KMUQsSUFBSXhNLEVBQUU7SUNnS1YsSUFBSSxFQUFDLENBQUFBLEVBQUEsR0FBQWlILGtCQUFrQixDQUFDdUYsS0FBSyxDQUFDLE1BQUEsSUFBQSxJQUFBeE0sRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUV1QixRQUFRLENBQUEsRUFBRTtNQUN4Q2dGLGNBQWMsQ0FBQ2lHLEtBQUssQ0FBQztJQUN2QjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU1DLHdCQUF3QixHQUFHLElBQUF4RSw0QkFBZ0IsRUFBQyxVQUFDMEMsS0FBdUMsRUFBSTtJQUM1RkEsS0FBSyxDQUFDeUIsY0FBYyxDQUFBLENBQUU7SUFDdEJ6QixLQUFLLENBQUMrQixlQUFlLENBQUEsQ0FBRTtFQUN6QixDQUFDLENBQUM7RUFFRixJQUFNQyxvQkFBb0IsR0FBRyxJQUFBMUUsNEJBQWdCLEVBQUMsVUFBQzBDLEtBQXVDLEVBQUk7SUFDeEZBLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO0lBQ3RCekIsS0FBSyxDQUFDK0IsZUFBZSxDQUFBLENBQUU7RUFDekIsQ0FBQyxDQUFDO0VBRUYsSUFBTUUsZ0JBQWdCLEdBQUcsSUFBQTNFLDRCQUFnQixFQUFDLFVBQUMwQyxLQUFtQyxFQUFJO0lBQ2hGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTWtDLGtCQUFrQixHQUFHLElBQUE1RSw0QkFBZ0IsRUFBQyxVQUFDbUQsU0FBaUIsRUFBRTBCLE1BQXFDLEVBQUk7SUFDdkc1RyxtQkFBbUIsQ0FBQ2tGLFNBQVMsQ0FBQztJQUM5Qi9HLGNBQWMsS0FBQSxJQUFBLElBQWRBLGNBQWMsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBZEEsY0FBYyxDQUFHK0csU0FBUyxDQUFDO0VBQzdCLENBQUMsQ0FBQztFQUVGLElBQU0yQixnQkFBZ0IsR0FBRyxJQUFBOUUsNEJBQWdCLEVBQUMsVUFBQ0UsT0FBc0IsRUFBRTZFLFNBQWlCLEVBQW1CO0lEbktqRyxJQUFJaE4sRUFBRTtJQ29LVixJQUFNcUgsTUFBTSxHQUFHSixrQkFBa0IsQ0FBQ0ksTUFBTTtJQUN4QyxJQUFJQSxNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBTTRGLEtBQUssR0FBRzlFLE9BQU8sS0FBQSxJQUFBLElBQVBBLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBUEEsT0FBTyxHQUFLNkUsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRzNGLE1BQU87SUFDeEQsS0FBSyxJQUFJNkYsSUFBSSxHQUFHLENBQUMsRUFBRUEsSUFBSSxJQUFJN0YsTUFBTSxFQUFFNkYsSUFBSSxJQUFJLENBQUMsRUFBRTtNQUM1QyxJQUFNQyxTQUFTLEdBQUcsQ0FBQyxDQUFDRixLQUFLLEdBQUdELFNBQVMsR0FBR0UsSUFBSSxJQUFJN0YsTUFBTSxHQUFHQSxNQUFNLElBQUlBLE1BQU07TUFDekUsSUFBSSxFQUFDLENBQUFySCxFQUFBLEdBQUFpSCxrQkFBa0IsQ0FBQ2tHLFNBQVMsQ0FBQyxNQUFBLElBQUEsSUFBQW5OLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFdUIsUUFBUSxDQUFBLEVBQUU7UUFDNUMsT0FBTzRMLFNBQVM7TUFDbEI7SUFDRjtJQUNBLE9BQU8sSUFBSTtFQUNiLENBQUMsQ0FBQztFQUVGLElBQU1DLG1CQUFtQixHQUFHLElBQUFuRiw0QkFBZ0IsRUFBQyxVQUFDMEMsS0FBMkMsRUFBSTtJRHBLdkYsSUFBSTNLLEVBQUU7SUNxS1YsSUFBSTJLLEtBQUssQ0FBQ3FCLEdBQUcsS0FBS0MsbUJBQVEsQ0FBQ0ksVUFBVSxFQUFFO01BQ3JDMUIsS0FBSyxDQUFDeUIsY0FBYyxDQUFBLENBQUU7TUFDdEIsSUFBTWlCLElBQUksR0FBR04sZ0JBQWdCLENBQUN6RyxXQUFXLEVBQUUsQ0FBQyxDQUFDO01BQzdDLElBQUkrRyxJQUFJLEtBQUssSUFBSSxFQUFFO1FBQ2pCOUcsY0FBYyxDQUFDOEcsSUFBSSxDQUFDO01BQ3RCO01BQ0E7SUFDRjtJQUVBLElBQUkxQyxLQUFLLENBQUNxQixHQUFHLEtBQUtDLG1CQUFRLENBQUNLLFFBQVEsRUFBRTtNQUNuQzNCLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLElBQU1oQyxJQUFJLEdBQUcyQyxnQkFBZ0IsQ0FBQ3pHLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUM5QyxJQUFJOEQsSUFBSSxLQUFLLElBQUksRUFBRTtRQUNqQjdELGNBQWMsQ0FBQzZELElBQUksQ0FBQztNQUN0QjtNQUNBO0lBQ0Y7SUFFQSxJQUFJTyxLQUFLLENBQUNxQixHQUFHLEtBQUtDLG1CQUFRLENBQUNDLEtBQUssRUFBRTtNQUNoQyxJQUNFNUYsV0FBVyxLQUFLLElBQUksSUFDcEJXLGtCQUFrQixDQUFDWCxXQUFXLENBQUMsSUFDL0IsQ0FBQ1csa0JBQWtCLENBQUNYLFdBQVcsQ0FBQyxDQUFDL0UsUUFBUSxFQUN6QztRQUNBb0osS0FBSyxDQUFDeUIsY0FBYyxDQUFBLENBQUU7UUFDdEJkLGtCQUFrQixDQUFDckUsa0JBQWtCLENBQUNYLFdBQVcsQ0FBQyxDQUFDO01BQ3JEO01BQ0E7SUFDRjtJQUVBLElBQUlxRSxLQUFLLENBQUNxQixHQUFHLEtBQUtDLG1CQUFRLENBQUNxQixNQUFNLEVBQUU7TUFDakMzQyxLQUFLLENBQUN5QixjQUFjLENBQUEsQ0FBRTtNQUN0QjVELGdCQUFnQixDQUFDLEtBQUssQ0FBQztNQUN2QixDQUFBeEksRUFBQSxHQUFBOEgsVUFBVSxDQUFDSyxPQUFPLE1BQUEsSUFBQSxJQUFBbkksRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVxSyxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO0lBQ3BEO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTWlELGVBQWUsR0FBMEI7SUFDN0NoTSxRQUFRLEVBQVJBLFFBQVE7SUFDUkcsUUFBUSxFQUFSQSxRQUFRO0lBQ1JJLFFBQVEsRUFBUkEsUUFBUTtJQUNSQyxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQnNCLElBQUksRUFBRWlGLFNBQVM7SUFDZjNILFdBQVcsRUFBRSxDQUFDOEcsWUFBWTtJQUMxQlAsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZqRyxJQUFJLEVBQUV1RixjQUFjO0lBQ3BCZ0gsUUFBUSxFQUFFLElBQUFDLGtCQUFXLEVBQUNqSCxjQUFjO0VEektwQyxDQzBLRDtFQUNELElBQU1rSCxlQUFlLEdBQUdqRyxZQUFZLEdBQUcsT0FBTyxHQUFHLGFBQWE7RUFDOUQsSUFBTWtHLHFCQUFxQixHQUN6QjdMLFFBQVEsSUFDUjJGLFlBQVksSUFDWjFGLGdCQUFnQixLQUFLMkQsU0FBUztFQUM5QjtFQUNBO0VBQ0E7RUFDQSxDQUFDaEIsV0FDRjtFQUNELElBQU1rSixnQkFBZ0IsR0FBRzdJLE9BQU8sQ0FDOUIsU0FBUyxFQUNULElBQUE4SSxtQkFBTyxFQUNMOUksT0FBTyxZQUFBOEUsTUFBQSxDQUFZckQsY0FBYyxDQUFFLENBQUMsRUFDcEN6QixPQUFPLFlBQUE4RSxNQUFBLENBQVl4SSxPQUFPLENBQUUsQ0FBQyxFQUM3QmlILFNBQVMsSUFBSXZELE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFDcEM0SSxxQkFBcUIsSUFBSTVJLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxFQUMzRDBDLFlBQVksR0FBRzFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHQSxPQUFPLENBQUMscUJBQXFCLENBQUMsRUFDekU1RCxNQUFNLEtBQUssU0FBUyxJQUFJNEQsT0FBTyxZQUFBOEUsTUFBQSxDQUFZMUksTUFBTSxDQUFFLENBQUMsRUFDcERJLFFBQVEsSUFBSXdELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUN2Q3JELFFBQVEsSUFBSSxDQUFDSCxRQUFRLElBQUl3RCxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FDckQsQ0FDRjtFQUNELElBQU0rSSxRQUFRLEdBQUd0SCxjQUFjLEtBQUssT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ3JELElBQU11SCxjQUFjLEdBQ2xCOUwsVUFBVSxJQUFJcUcsU0FBUyxJQUFJaEMsV0FBVyxLQUFLLElBQUksTUFBQXVELE1BQUEsQ0FDeEN0RSxjQUFjLE9BQUFzRSxNQUFBLENBQUl2RCxXQUFXLElBQ2hDWixTQUFTO0VBQ2YsSUFBTXNJLHNCQUFzQixHQUFHdk4sY0FBYyxLQUFBLElBQUEsSUFBZEEsY0FBYyxLQUFBLEtBQUEsQ0FBQSxHQUFkQSxjQUFjLEdBQUtnQyxLQUFLLEdBQUcyQyxPQUFPLEdBQUdNLFNBQVU7RUFDOUUsSUFBTXVJLGNBQWMsR0FBRyxDQUNyQnJMLFdBQVcsR0FBR3lDLGFBQWEsR0FBRyxJQUFJLEVBQ2xDeEMsUUFBUSxHQUFHeUMsVUFBVSxHQUFHLElBQUksQ0FDN0IsQ0FBQzRJLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLENBQUNDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTFJLFNBQVM7RUFFeEMsT0FDRSxJQUFBMkksZ0JBQUEsRUFBQ0MsNEJBQWdCLEVBQUE7SUFDZnZKLE9BQU8sRUFBRUEsT0FBTztJQUNoQjdFLFNBQVMsRUFBRUEsU0FBUztJQUNwQmUsSUFBSSxFQUFFdUYsY0FBYztJQUNwQm5GLE9BQU8sRUFBRUEsT0FBTztJQUNoQkYsTUFBTSxFQUFFQSxNQUFNO0lBQ2RJLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkcsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCRSxPQUFPLEVBQUVBLE9BQU87SUFDaEJhLEtBQUssRUFBRUEsS0FBSztJQUNaQyxjQUFjLEVBQUVBLGNBQWM7SUFDOUJDLElBQUksRUFBRUEsSUFBSTtJQUNWQyxXQUFXLEVBQUVBLFdBQVc7SUFDeEJDLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkUsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCcUMsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCQyxhQUFhLEVBQUVBLGFBQWE7SUFDNUJDLFVBQVUsRUFBRUEsVUFBVTtJQUFBaUosUUFBQSxFQUFBLENBRXRCLElBQUFGLGdCQUFBLEVBQUEsUUFBQSxFQUFBalAsTUFBQSxDQUFBb1AsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNekUsaUJBQWlCLENBQUM7TUFDcEJwRixHQUFHLEVBQUVxRSxZQUFZO01BQ2pCMUksRUFBRSxFQUFFNkUsU0FBUztNQUNic0osSUFBSSxFQUFFLFFBQVE7TUFDZGxPLElBQUksRUFBSkEsSUFBSTtNQUNKZ0IsUUFBUSxFQUFSQSxRQUFRO01BQ1IsZUFBZSxFQUFFRyxRQUFRLElBQUlnRSxTQUFTO01BQ3RDeEYsU0FBUyxFQUFFME4sZ0JBQWdCO01BQzNCYyxTQUFTLEVBQUUzQyxvQkFBb0I7TUFDL0J6SCxNQUFNLEVBQUUyRyxpQkFBaUI7TUFDekIsWUFBWSxFQUFFekssU0FBUztNQUN2QixpQkFBaUIsRUFBRXdOLHNCQUFzQjtNQUN6QyxrQkFBa0IsRUFBRUM7SUQ5TWxCLENDK01ILENBQUMsRUFBQTtNQUFBTSxRQUFBLEVBQUEsQ0FFRixJQUFBRixnQkFBQSxFQUFBLE1BQUEsRUFBQTtRQUFNbk8sU0FBUyxFQUFFNkUsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUFBd0osUUFBQSxFQUFBLENBQ2hDdkwsTUFBTSxJQUFJLElBQUEyTCxlQUFBLEVBQUEsTUFBQSxFQUFBO1VBQU16TyxTQUFTLEVBQUU2RSxPQUFPLENBQUMsUUFBUSxDQUFDO1VBQUF3SixRQUFBLEVBQUd2TDtRQUFNLENBQUEsQ0FBUSxFQUM5RCxJQUFBMkwsZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUNFek8sU0FBUyxFQUFFNkUsT0FBTyxDQUNoQjJJLGVBQWUsRUFDZixJQUFBRyxtQkFBTyxFQUNMOUksT0FBTyxJQUFBOEUsTUFBQSxDQUFJNkQsZUFBZSxPQUFBN0QsTUFBQSxDQUFJckQsY0FBYyxDQUFFLENBQUMsRUFDL0NtSCxxQkFBcUIsSUFBSTVJLE9BQU8sSUFBQThFLE1BQUEsQ0FBSTZELGVBQWUsY0FBVyxDQUFDLEVBQy9Ebk0sUUFBUSxJQUFJd0QsT0FBTyxJQUFBOEUsTUFBQSxDQUFJNkQsZUFBZSxjQUFXLENBQUMsQ0FDbkQsQ0FDRjtVQUFBYSxRQUFBLEVBRUQsSUFBQUksZUFBQSxFQUFDQyw4QkFBa0IsRUFBQTtZQUNqQjdKLE9BQU8sRUFBRUEsT0FBTztZQUNoQjBDLFlBQVksRUFBRUEsWUFBWTtZQUMxQjNGLFFBQVEsRUFBRUEsUUFBUTtZQUNsQm5CLFdBQVcsRUFBRUEsV0FBVztZQUN4QitELFdBQVcsRUFBRUEsV0FBVztZQUN4QjZJLGVBQWUsRUFBRUEsZUFBZTtZQUNoQ3JHLGVBQWUsRUFBRUEsZUFBZTtZQUNoQ25GLGdCQUFnQixFQUFFQSxnQkFBZ0I7WUFDbEM4TSxRQUFRLEVBQUVuRCx5QkFBeUI7WUFDbkNvRCxhQUFhLEVBQUVuQyxvQkFBb0I7WUFDbkNvQyxpQkFBaUIsRUFBRXRDO1VBQXdCLENBQUE7UUFDM0MsQ0FBQSxDQUNHO01BQUEsQ0FBQSxDQUNGLEVBQ1AsSUFBQWtDLGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFBTXpPLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBQXdKLFFBQUEsRUFFNUIzTSxPQUFPLEdBQ0YsSUFBQStNLGVBQUEsRUFBQ0ssZ0JBQU8sRUFBQTtVQUFDL04sSUFBSSxFQUFFNk0sUUFBUTtVQUFFbUIsV0FBVyxFQUFFO1FBQUMsQ0FBQSxDQUFJLEdBQzVDdk4sUUFBUSxHQUNMLElBQUksR0FDSixJQUFBaU4sZUFBQSxFQUFDTyxZQUFLLEVBQUE7VUFBRTNPLElBQUksRUFBRStILFNBQVMsR0FBRyxXQUFXLEdBQUcsYUFBYTtVQUFFckgsSUFBSSxFQUFFNk0sUUFBUTtVQUFHcUIsS0FBSyxFQUFDO1FBQWMsQ0FBQTtNQUFFLENBQUEsQ0FFbEc7SUFBQSxDQUFBLENBQUEsQ0FDQSxFQUVSckcsU0FBUyxJQUFJaEUsV0FBVyxJQUFLLFlBQUs7TUFDakMsSUFBTXNLLFNBQVMsR0FDYixJQUFBVCxlQUFBLEVBQUNVLDJCQUFvQixFQUFBO1FBQUMxRyxPQUFPLEVBQUVBLE9BQU87UUFBRTJHLEtBQUssRUFBRSxLQUFLO1FBQUVDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFBRUMsV0FBVyxFQUFFLEtBQUs7UUFBQWpCLFFBQUEsRUFDeEYsSUFBQUYsZ0JBQUEsRUFBQSxLQUFBLEVBQUFqUCxNQUFBLENBQUFvUCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ014RSxnQkFBZ0IsQ0FBQztVQUNuQnJGLEdBQUcsRUFBRXNFLFdBQVc7VUFDaEIvSSxTQUFTLEVBQUUsSUFBQTJOLG1CQUFPLEVBQUM5SSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUVuQixjQUFjLENBQUM7VUFDcER2RCxLQUFLLEVBQUFqQixNQUFBLENBQUFvUCxNQUFBLENBQUFwUCxNQUFBLENBQUFvUCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU81RixjQUFjLENBQUEsRUFBS0MsZ0JBQWdCO1FEclAzQyxDQ3NQTCxDQUFDLEVBQUE7VUFBQTBGLFFBQUEsRUFBQSxDQUVEdE0sVUFBVSxJQUNULElBQUEwTSxlQUFBLEVBQUNjLCtCQUFtQixFQUFBO1lBQ2xCOUssR0FBRyxFQUFFNkYsaUJBQWlCO1lBQ3RCekYsT0FBTyxFQUFFQSxPQUFPO1lBQ2hCO1lBQ0E5RCxJQUFJLEVBQUMsT0FBTztZQUNaTixXQUFXLEVBQUV3QixpQkFBaUI7WUFDOUJyQixLQUFLLEVBQUVtRixnQkFBZ0I7WUFDdkJ5SixnQkFBZ0IsRUFBRTNCLGNBQWM7WUFDaEN6SixNQUFNLEVBQUVzSSxnQkFBZ0I7WUFDeEJ6SSxRQUFRLEVBQUUwSSxrQkFBa0I7WUFDNUI2QixTQUFTLEVBQUV0QjtVQUFtQixDQUFBLENBRWpDLEVBQ0QsSUFBQWlCLGdCQUFBLEVBQUEsS0FBQSxFQUFBO1lBQUtuTyxTQUFTLEVBQUU2RSxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQUF3SixRQUFBLEVBQUEsQ0FDbENwTCxXQUFXLElBQUksSUFBSSxJQUNsQixJQUFBd0wsZUFBQSxFQUFBLEtBQUEsRUFBQTtjQUFLek8sU0FBUyxFQUFFNkUsT0FBTyxDQUFDLGNBQWMsQ0FBQztjQUFBd0osUUFBQSxFQUFHcEw7WUFBVyxDQUFBLENBQ3RELEVBQ0E4RCxrQkFBa0IsQ0FBQ0ksTUFBTSxLQUFLLENBQUMsR0FDOUIsSUFBQXNILGVBQUEsRUFBQSxLQUFBLEVBQUE7Y0FBS3pPLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxPQUFPLENBQUM7Y0FBQXdKLFFBQUEsRUFDOUIsSUFBQUksZUFBQSxFQUFDZ0IsMEJBQWMsRUFBQTtnQkFBQzFPLElBQUksRUFBRTJPLDRCQUFpQixDQUFDQyxLQUFLLENBQUM1TyxJQUFJO2dCQUFFa08sS0FBSyxFQUFFUyw0QkFBaUIsQ0FBQ0MsS0FBSyxDQUFDVixLQUFLO2dCQUFBWixRQUFBLEVBQUdyTDtjQUFZLENBQUE7WUFBa0IsQ0FBQSxDQUNySCxHQUVMLFlBQUs7Y0FDSixJQUFJNE0sU0FBUyxHQUFHLENBQUM7Y0FFakIsT0FBTy9JLG1CQUFtQixDQUFDZ0osR0FBRyxDQUFDLFVBQUNDLEtBQUs7Z0JBQUEsT0FDbkMsSUFBQTNCLGdCQUFBLEVBQUEsS0FBQSxFQUFBO2tCQUFxQm5PLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxPQUFPLENBQUM7a0JBQUF3SixRQUFBLEVBQUEsQ0FDN0N5QixLQUFLLENBQUN2TixLQUFLLElBQ1YsSUFBQWtNLGVBQUEsRUFBQSxLQUFBLEVBQUE7b0JBQUt6TyxTQUFTLEVBQUU2RSxPQUFPLENBQUMsYUFBYSxFQUFFakIsbUJBQW1CLENBQUM7b0JBQUF5SyxRQUFBLEVBQ3pELElBQUFJLGVBQUEsRUFBQ3NCLDJCQUFlLEVBQUE7c0JBQUNoUCxJQUFJLEVBQUUyTyw0QkFBaUIsQ0FBQ00sVUFBVSxDQUFDalAsSUFBSTtzQkFBRWtQLE1BQU0sRUFBQSxJQUFBO3NCQUFBNUIsUUFBQSxFQUFFeUIsS0FBSyxDQUFDdk47b0JBQUssQ0FBQTtrQkFBbUIsQ0FBQSxDQUVuRyxFQUNBdU4sS0FBSyxDQUFDblAsT0FBTyxDQUFDa1AsR0FBRyxDQUFDLFVBQUN2SSxNQUFNLEVBQUk7b0JBQzVCLElBQU00SSxlQUFlLEdBQUdOLFNBQVM7b0JBQ2pDQSxTQUFTLElBQUksQ0FBQztvQkFFZCxJQUFNTyxRQUFRLEdBQUcsSUFBQUMsdUJBQWdCLEVBQUN6SyxVQUFVLEVBQUUvRCxRQUFRLEVBQUUwRixNQUFNLENBQUMxRyxLQUFLLENBQUM7b0JBQ3JFLElBQU15UCxNQUFNLEdBQUdqSyxXQUFXLEtBQUs4SixlQUFlO29CQUM5QyxJQUFNSSxVQUFVLEdBQTJCO3NCQUN6Q0QsTUFBTSxFQUFOQSxNQUFNO3NCQUNOaFAsUUFBUSxFQUFFLENBQUMsQ0FBQ2lHLE1BQU0sQ0FBQ2pHLFFBQVE7c0JBQzNCaUwsS0FBSyxFQUFFNEQsZUFBZTtzQkFDdEJ0TyxRQUFRLEVBQVJBLFFBQVE7c0JBQ1J1QixJQUFJLEVBQUVpRixTQUFTO3NCQUNmK0gsUUFBUSxFQUFSQSxRQUFRO3NCQUNSN0MsUUFBUSxFQUFFLElBQUFDLGtCQUFXLEVBQUNqSCxjQUFjO29CRHJSWixDQ3NSekI7b0JBRURvQixjQUFjLENBQUNPLE9BQU8sQ0FBQ2lJLGVBQWUsQ0FBQyxHQUFHLElBQUFLLHdCQUFpQixFQUFDakosTUFBTSxDQUFDO29CQUVuRSxPQUNFLElBQUFtSCxlQUFBLEVBQUEsUUFBQSxFQUFBdlAsTUFBQSxDQUFBb1AsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUVNdkUsWUFBWSxDQUFDO3NCQUNmdEYsR0FBRyxXQUFIQSxHQUFHQSxDQUFDdUQsSUFBOEIsRUFBQTt3QkFDaENSLE9BQU8sQ0FBQ1MsT0FBTyxDQUFDaUksZUFBZSxDQUFDLEdBQUdsSSxJQUFJO3NCQUN6QyxDQUFDO3NCQUNENUgsRUFBRSxLQUFBdUosTUFBQSxDQUFLdEUsY0FBYyxPQUFBc0UsTUFBQSxDQUFJdUcsZUFBZSxDQUFFO3NCQUMxQzNCLElBQUksRUFBRSxRQUFRO3NCQUNkaUMsSUFBSSxFQUFFLFFBQVE7c0JBQ2R4USxTQUFTLEVBQUU2RSxPQUFPLENBQ2hCLFFBQVEsRUFDUixJQUFBOEksbUJBQU8sRUFDTDBDLE1BQU0sSUFBSXhMLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFDbENzTCxRQUFRLElBQUl0TCxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFDdEN5QyxNQUFNLENBQUNqRyxRQUFRLElBQUl3RCxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFDN0NsQixlQUFlLENBQ2hCLENBQ0Y7c0JBQ0R0QyxRQUFRLEVBQUVpRyxNQUFNLENBQUNqRyxRQUFRO3NCQUN6QixlQUFlLEVBQUU4TyxRQUFRO3NCQUN6Qk0sT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdoRyxLQUF5QyxFQUFJO3dCQUNyREEsS0FBSyxDQUFDeUIsY0FBYyxDQUFBLENBQUU7d0JBQ3RCZCxrQkFBa0IsQ0FBQzlELE1BQU0sQ0FBQztzQkFDNUIsQ0FBQztzQkFDRG9KLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO3dCQUFBLE9BQVFyRSxvQkFBb0IsQ0FBQzZELGVBQWUsQ0FBQztzQkFBQTtzQkFDekQ5TCxNQUFNLEVBQUU0RztvQkRsU1ksQ0NtU3JCLENBQUMsRUFBQTtzQkFBQXFELFFBQUEsRUFFRC9KLFlBQVksR0FDWEEsWUFBWSxDQUFDZ0QsTUFBTSxFQUFFZ0osVUFBVSxDQUFDLEdBRWhDLElBQUE3QixlQUFBLEVBQUNrQywrQkFBbUIsRUFBQTt3QkFDbEI5TCxPQUFPLEVBQUVBLE9BQU87d0JBQ2hCeUMsTUFBTSxFQUFFQSxNQUFNO3dCQUNkNkksUUFBUSxFQUFFQSxRQUFRO3dCQUNsQnBQLElBQUksRUFBRXVGLGNBQWM7d0JBQ3BCc0ssT0FBTyxFQUFFck0sbUJBQW1CLEtBQUEsSUFBQSxJQUFuQkEsbUJBQW1CLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQW5CQSxtQkFBbUIsQ0FBRytDLE1BQU0sRUFBRWdKLFVBQVU7c0JBQUMsQ0FBQTtvQkFFckQsQ0FBQSxDQUFBLEtBQUEzRyxNQUFBLENBckNPbUcsS0FBSyxDQUFDaEUsR0FBRyxPQUFBbkMsTUFBQSxDQUFJckMsTUFBTSxDQUFDMUcsS0FBSyxDQUFFLENBc0M1QjtrQkFFYixDQUFDLENBQUM7Z0JBQUEsQ0FBQSxFQWxFTWtQLEtBQUssQ0FBQ2hFLEdBQUcsQ0FtRWI7Y0FBQSxDQUNQLENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSDtVQUFBLENBQUEsQ0FDRyxFQUNMNUksV0FBVyxJQUFJLElBQUksSUFDbEIsSUFBQXVMLGVBQUEsRUFBQSxLQUFBLEVBQUE7WUFBS3pPLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFBQXdKLFFBQUEsRUFBR25MO1VBQVcsQ0FBQSxDQUN0RDtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FFVDtNQUVELE9BQU9LLE1BQU0sR0FBRyxJQUFBa0wsZUFBQSxFQUFDb0MscUJBQWMsRUFBQTtRQUFBeEMsUUFBQSxFQUFFYTtNQUFTLENBQUEsQ0FBa0IsR0FBR0EsU0FBUztJQUMxRSxDQUFDLENBQUMsQ0FBRTtFQUFBLENBQUEsQ0FDYTtBQUV2QixDQUFDO0FBRUR2UCxNQUFNLENBQUNtUixXQUFXLEdBQUcsUUFBUTtBQUFDLElBQUFDLFFBQUEsR0FBQW5SLE9BQUEsMkJBRWYsSUFBQW9SLFlBQUksRUFBQ3JSLE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgRmxvYXRpbmdGb2N1c01hbmFnZXIsIEZsb2F0aW5nUG9ydGFsLCB1c2VJbnRlcmFjdGlvbnMsIHVzZUxpc3ROYXZpZ2F0aW9uLCB1c2VUeXBlYWhlYWQsIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IG1lbW8sIHVzZUVmZmVjdCwgdXNlSWQsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyB1c2VGb3JtQ29udHJvbFNpemUgfSBmcm9tICcuLi9Gb3JtTGF5b3V0L2NvbnRleHQnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IFNlbGVjdE9wdGlvbkNvbnRlbnQgZnJvbSAnLi9TZWxlY3RPcHRpb25Db250ZW50JztcbmltcG9ydCBTZWxlY3RTZWFyY2hDb250cm9sIGZyb20gJy4vU2VsZWN0U2VhcmNoQ29udHJvbCc7XG5pbXBvcnQgU2VsZWN0VmFsdWVDb250ZW50IGZyb20gJy4vU2VsZWN0VmFsdWVDb250ZW50JztcbmltcG9ydCB7IHVzZVNlbGVjdFNoZWxsIH0gZnJvbSAnLi91c2VTZWxlY3RTaGVsbCc7XG5pbXBvcnQgeyBLRVlCT0FSRCwgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0T3B0aW9uVGV4dCwgZmlsdGVyT3B0aW9uR3JvdXBzLCBmbGF0dGVuT3B0aW9uR3JvdXBzLCBnZXRNdWx0aXBsZVZhbHVlLCBnZXRGb250U2l6ZSwgZ2V0T3B0aW9uc0J5VmFsdWVzLCBnZXRTZWxlY3RlZE9wdGlvbnMsIGlzT3B0aW9uU2VsZWN0ZWQsIG5vcm1hbGl6ZVNpemUsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcywgcmVtb3ZlTXVsdGlwbGVWYWx1ZSwgdG9nZ2xlTXVsdGlwbGVWYWx1ZSwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHBsYWNlaG9sZGVyID0gJ1ZhbHVlJywgb3B0aW9ucyA9IFtdLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBzaXplOiBzaXplUHJvcCwgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIHJlYWRPbmx5ID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbXVsdGlwbGUgPSBmYWxzZSwgbWF4VmlzaWJsZVZhbHVlcywgc2VhcmNoYWJsZSA9IGZhbHNlLCBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnLCBzZWFyY2hWYWx1ZSwgZGVmYXVsdFNlYXJjaFZhbHVlID0gJycsIGZpbHRlcklucHV0QXV0b0ZvY3VzID0gdHJ1ZSwgbGFiZWwsIGxhYmVsQ2xhc3NOYW1lLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gdHJ1ZSwgcHJlZml4LCBlbXB0eUNvbnRlbnQgPSAnTm8gb3B0aW9ucycsIHBhbmVsSGVhZGVyLCBwYW5lbEZvb3Rlciwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgcG9ydGFsID0gdHJ1ZSwgYWxsb3dEZXNlbGVjdCA9IGZhbHNlLCBwYW5lbENsYXNzTmFtZSwgb3B0aW9uQ2xhc3NOYW1lLCBncm91cExhYmVsQ2xhc3NOYW1lLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9NQVhfSEVJR0hULCBvZmZzZXQsIGFuaW1hdGlvbiwgb25DaGFuZ2UsIG9uT3BlbkNoYW5nZSwgb25TZWFyY2hDaGFuZ2UsIG9uQmx1ciwgZmlsdGVyT3B0aW9uLCByZW5kZXJPcHRpb24sIHJlbmRlck9wdGlvbkNvbnRlbnQsIHJlbmRlclZhbHVlLCByZWYsIH0gPSBwcm9wcztcbiAgICAvLyBCYXJlLWNvbnRyb2wgc2l6ZSBkZWZhdWx0OiBhbiBleHBsaWNpdCBgc2l6ZWAgd2luczsgaW5zaWRlIGEgRm9ybUxheW91dFxuICAgIC8vIHRoZSB2YXJpYW50J3MgY29udHJvbFNpemUgYXBwbGllczsgZWxzZXdoZXJlICdsYXJnZScuXG4gICAgY29uc3QgY29udGV4dFNpemUgPSB1c2VGb3JtQ29udHJvbFNpemUoKTtcbiAgICBjb25zdCBzaXplID0gKF9hID0gc2l6ZVByb3AgIT09IG51bGwgJiYgc2l6ZVByb3AgIT09IHZvaWQgMCA/IHNpemVQcm9wIDogY29udGV4dFNpemUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdsYXJnZSc7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBpbnRlcmFjdGl2ZSA9ICFkaXNhYmxlZCAmJiAhcmVhZE9ubHk7XG4gICAgY29uc3QgY2xhc3NlcyA9IHJvb3RDbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCB0cmlnZ2VySWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgbGFiZWxJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZmVlZGJhY2tJZCA9IHVzZUlkKCk7XG4gICAgY29uc3Qgb3B0aW9uSWRQcmVmaXggPSB1c2VJZCgpO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB2b2lkIDAgPyBkZWZhdWx0VmFsdWUgOiAobXVsdGlwbGUgPyBbXSA6IHVuZGVmaW5lZCksIHZhbHVlKTtcbiAgICBjb25zdCBbaW5uZXJTZWFyY2hWYWx1ZSwgc2V0SW5uZXJTZWFyY2hWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFNlYXJjaFZhbHVlLCBzZWFyY2hWYWx1ZSk7XG4gICAgY29uc3QgW2FjdGl2ZUluZGV4LCBzZXRBY3RpdmVJbmRleF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2l6ZSA9IG5vcm1hbGl6ZVNpemUoc2l6ZSk7XG4gICAgY29uc3QgYWxsT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiBub3JtYWxpemVPcHRpb25Hcm91cHMob3B0aW9ucyksIFtvcHRpb25zXSk7XG4gICAgY29uc3QgYWxsRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHZpc2libGVPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IChzZWFyY2hhYmxlXG4gICAgICAgID8gZmlsdGVyT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcywgaW5uZXJTZWFyY2hWYWx1ZSwgZmlsdGVyT3B0aW9uKVxuICAgICAgICA6IGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHMsIGZpbHRlck9wdGlvbiwgaW5uZXJTZWFyY2hWYWx1ZSwgc2VhcmNoYWJsZV0pO1xuICAgIGNvbnN0IHZpc2libGVGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3Vwcyh2aXNpYmxlT3B0aW9uR3JvdXBzKSwgW3Zpc2libGVPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGdldFNlbGVjdGVkT3B0aW9ucyhhbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGUpLCBbYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF0Y2hlZEluZGV4ID0gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHNlbGVjdGVkT3B0aW9uc1swXS52YWx1ZSk7XG4gICAgICAgIHJldHVybiBtYXRjaGVkSW5kZXggPj0gMCA/IG1hdGNoZWRJbmRleCA6IG51bGw7XG4gICAgfSwgW3NlbGVjdGVkT3B0aW9ucywgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgY29uc3QgaGFzU2VsZWN0aW9uID0gc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgbGlzdENvbnRlbnRSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGZsb2F0aW5nUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRyaWdnZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlclJlZiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgcmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgeyBpc09wZW46IGlubmVyT3Blbiwgc2V0T3BlbjogaGFuZGxlT3BlbkNoYW5nZSwgcmVmcywgY29udGV4dCwgZmxvYXRpbmdTdHlsZXMsIHRyYW5zaXRpb25TdHlsZXMsIGlzTW91bnRlZCwgYmFzZUludGVyYWN0aW9ucywgfSA9IHVzZVNlbGVjdFNoZWxsKHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgZGVmYXVsdE9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHJlYWRPbmx5LFxuICAgICAgICBsaXN0TWF4SGVpZ2h0LFxuICAgICAgICBhbmltYXRpb24sXG4gICAgICAgIG9mZnNldCxcbiAgICB9KTtcbiAgICBjb25zdCBzZXRSZWZlcmVuY2UgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0UmVmZXJlbmNlKG5vZGUpO1xuICAgICAgICBoYW5kbGVUcmlnZ2VyUmVmKG5vZGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldEZsb2F0aW5nID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldEZsb2F0aW5nKG5vZGUpO1xuICAgICAgICBmbG9hdGluZ1JlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBsaXN0TmF2aWdhdGlvbiA9IHVzZUxpc3ROYXZpZ2F0aW9uKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIG9uTmF2aWdhdGU6IHNldEFjdGl2ZUluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4sXG4gICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgIHZpcnR1YWw6IHNlYXJjaGFibGUsXG4gICAgfSk7XG4gICAgY29uc3QgdHlwZWFoZWFkID0gdXNlVHlwZWFoZWFkKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZjogbGlzdENvbnRlbnRSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4gJiYgIXNlYXJjaGFibGUsXG4gICAgICAgIG9uTWF0Y2g6IHNldEFjdGl2ZUluZGV4LFxuICAgIH0pO1xuICAgIGNvbnN0IHsgZ2V0UmVmZXJlbmNlUHJvcHMsIGdldEZsb2F0aW5nUHJvcHMsIGdldEl0ZW1Qcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKFtcbiAgICAgICAgLi4uYmFzZUludGVyYWN0aW9ucyxcbiAgICAgICAgbGlzdE5hdmlnYXRpb24sXG4gICAgICAgIHR5cGVhaGVhZCxcbiAgICBdKTtcbiAgICBjb25zdCBmaXJzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiAhb3B0aW9uLmRpc2FibGVkKSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghaW5uZXJPcGVuKSB7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRBY3RpdmVJbmRleCgocHJldikgPT4ge1xuICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwgJiYgdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdICYmICF2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZpcnN0RW5hYmxlZEluZGV4ID49IDAgPyBmaXJzdEVuYWJsZWRJbmRleCA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0sIFtmaXJzdEVuYWJsZWRJbmRleCwgaW5uZXJPcGVuLCBzZWxlY3RlZEluZGV4LCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghaW5uZXJPcGVuIHx8IGFjdGl2ZUluZGV4ID09PSBudWxsIHx8IHNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAoX2EgPSBsaXN0UmVmLmN1cnJlbnRbYWN0aXZlSW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0sIFthY3RpdmVJbmRleCwgaW5uZXJPcGVuLCBzZWFyY2hhYmxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGlzdFJlZi5jdXJyZW50ID0gbGlzdFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgICAgICBsaXN0Q29udGVudFJlZi5jdXJyZW50ID0gbGlzdENvbnRlbnRSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICB9LCBbdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aF0pO1xuICAgIGNvbnN0IHNldFNlYXJjaElucHV0UmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICBzZWFyY2hJbnB1dFJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgaWYgKG5vZGUgJiYgaW5uZXJPcGVuICYmIGZpbHRlcklucHV0QXV0b0ZvY3VzKSB7XG4gICAgICAgICAgICBub2RlLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IG5vdGlmeUJsdXJJZk91dHNpZGUgPSB1c2VFdmVudENhbGxiYWNrKChyZWxhdGVkVGFyZ2V0LCBldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBuZXh0VGFyZ2V0ID0gcmVsYXRlZFRhcmdldDtcbiAgICAgICAgY29uc3Qgd2l0aGluVHJpZ2dlciA9ICEhKG5leHRUYXJnZXQgJiYgKChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGNvbnN0IHdpdGhpbkZsb2F0aW5nID0gISEobmV4dFRhcmdldCAmJiAoKF9iID0gZmxvYXRpbmdSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGlmICghd2l0aGluVHJpZ2dlciAmJiAhd2l0aGluRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihldmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZU9wdGlvbkJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBjb21taXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0VmFsdWUsIG5leHRPcHRpb24pID0+IHtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9uLCBuYW1lKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSB1c2VFdmVudENhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKG9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdG9nZ2xlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsbG93RGVzZWxlY3QgJiYgaW5uZXJWYWx1ZSA9PT0gb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb21taXRDaGFuZ2Uob3B0aW9uLnZhbHVlLCBvcHRpb24pO1xuICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgIChfYiA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFtdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZ2V0TXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlKS5pbmNsdWRlcyhvcHRpb25WYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSByZW1vdmVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvblZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghaW50ZXJhY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELlNQQUNFKSB7XG4gICAgICAgICAgICBpZiAoaW5uZXJPcGVuICYmXG4gICAgICAgICAgICAgICAgYWN0aXZlSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbih2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSghaW5uZXJPcGVuKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJdGVtTW91c2VFbnRlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlQ2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBfZXZlbnQpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBmaW5kRW5hYmxlZEluZGV4ID0gdXNlRXZlbnRDYWxsYmFjaygoY3VycmVudCwgZGlyZWN0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aDtcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQgIT09IHZvaWQgMCA/IGN1cnJlbnQgOiAoZGlyZWN0aW9uID09PSAxID8gLTEgOiBsZW5ndGgpO1xuICAgICAgICBmb3IgKGxldCBzdGVwID0gMTsgc3RlcCA8PSBsZW5ndGg7IHN0ZXAgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlID0gKChzdGFydCArIGRpcmVjdGlvbiAqIHN0ZXApICUgbGVuZ3RoICsgbGVuZ3RoKSAlIGxlbmd0aDtcbiAgICAgICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tjYW5kaWRhdGVdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IGZpbmRFbmFibGVkSW5kZXgoYWN0aXZlSW5kZXgsIDEpO1xuICAgICAgICAgICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVJbmRleChuZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19VUCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXYgPSBmaW5kRW5hYmxlZEluZGV4KGFjdGl2ZUluZGV4LCAtMSk7XG4gICAgICAgICAgICBpZiAocHJldiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KHByZXYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVOVEVSKSB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbih2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FU0NBUEUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHJlbmRlclZhbHVlTWV0YSA9IHtcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHJlYWRPbmx5LFxuICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyxcbiAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICBwbGFjZWhvbGRlcjogIWhhc1NlbGVjdGlvbixcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLFxuICAgICAgICBzaXplOiBub3JtYWxpemVkU2l6ZSxcbiAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCA9IChtdWx0aXBsZSAmJlxuICAgICAgICBoYXNTZWxlY3Rpb24gJiZcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgIC8vIEEgY3VzdG9tIGByZW5kZXJWYWx1ZWAgcHJvZHVjZXMgaXRzIG93biBzaW5nbGUtbGluZSBzdW1tYXJ5LCBzbyB0aGVcbiAgICAgICAgLy8gbXVsdGktdmFsdWUgY2hpcCBsYXlvdXQgKGhlaWdodDphdXRvICsgdmVydGljYWwgcGFkZGluZyArIGZsZXgtd3JhcClcbiAgICAgICAgLy8gbXVzdCBub3Qga2ljayBpbiBhbmQgaW5mbGF0ZSB0aGUgdHJpZ2dlciBoZWlnaHQuXG4gICAgICAgICFyZW5kZXJWYWx1ZSk7XG4gICAgY29uc3QgdHJpZ2dlckNsYXNzTmFtZSA9IGNsYXNzZXMoJ3RyaWdnZXInLCBqb2luQ2xzKGNsYXNzZXMoYHRyaWdnZXItJHtub3JtYWxpemVkU2l6ZX1gKSwgY2xhc3NlcyhgdHJpZ2dlci0ke3ZhcmlhbnR9YCksIGlubmVyT3BlbiAmJiBjbGFzc2VzKCd0cmlnZ2VyLW9wZW4nKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItbXVsdGlwbGUtZmlsbGVkJyksIGhhc1NlbGVjdGlvbiA/IGNsYXNzZXMoJ3RyaWdnZXItZmlsbGVkJykgOiBjbGFzc2VzKCd0cmlnZ2VyLXBsYWNlaG9sZGVyJyksIHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYHRyaWdnZXItJHtzdGF0dXN9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItZGlzYWJsZWQnKSwgcmVhZE9ubHkgJiYgIWRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItcmVhZG9ubHknKSkpO1xuICAgIGNvbnN0IGljb25TaXplID0gbm9ybWFsaXplZFNpemUgPT09ICdsYXJnZScgPyAyMCA6IDE2O1xuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbklkID0gc2VhcmNoYWJsZSAmJiBpbm5lck9wZW4gJiYgYWN0aXZlSW5kZXggIT09IG51bGxcbiAgICAgICAgPyBgJHtvcHRpb25JZFByZWZpeH0tJHthY3RpdmVJbmRleH1gXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnkgPSBhcmlhTGFiZWxsZWRCeSAhPT0gbnVsbCAmJiBhcmlhTGFiZWxsZWRCeSAhPT0gdm9pZCAwID8gYXJpYUxhYmVsbGVkQnkgOiAobGFiZWwgPyBsYWJlbElkIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkcyA9IFtcbiAgICAgICAgZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbklkIDogbnVsbCxcbiAgICAgICAgZmVlZGJhY2sgPyBmZWVkYmFja0lkIDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiAoX2pzeHMoU2VsZWN0RmllbGRTaGVsbCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgc2l6ZTogbm9ybWFsaXplZFNpemUsIHZhcmlhbnQ6IHZhcmlhbnQsIHN0YXR1czogc3RhdHVzLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAnYXJpYS1yZWFkb25seSc6IHJlYWRPbmx5IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVUcmlnZ2VyS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZVRyaWdnZXJCbHVyLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVkQnlJZHMsXG4gICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZhbHVlTGFiZWxDbGFzcywgam9pbkNscyhjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tJHtub3JtYWxpemVkU2l6ZX1gKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1tdWx0aXBsZWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogX2pzeChTZWxlY3RWYWx1ZUNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3NlcywgaGFzU2VsZWN0aW9uOiBoYXNTZWxlY3Rpb24sIG11bHRpcGxlOiBtdWx0aXBsZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIHJlbmRlclZhbHVlTWV0YTogcmVuZGVyVmFsdWVNZXRhLCBzZWxlY3RlZE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucywgbWF4VmlzaWJsZVZhbHVlczogbWF4VmlzaWJsZVZhbHVlcywgb25SZW1vdmU6IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUsIG9uUmVtb3ZlQ2xpY2s6IGhhbmRsZVRhZ1JlbW92ZUNsaWNrLCBvblJlbW92ZU1vdXNlRG93bjogaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIH0pIH0pXSB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9qc3goU3Bpbm5lciwgeyBzaXplOiBpY29uU2l6ZSwgc3Ryb2tlV2lkdGg6IDIgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogaW5uZXJPcGVuID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSldIH0pKSwgaXNNb3VudGVkICYmIGludGVyYWN0aXZlICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCB0cmFuc2l0aW9uU3R5bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtzZWFyY2hhYmxlICYmIChfanN4KFNlbGVjdFNlYXJjaENvbnRyb2wsIHsgcmVmOiBzZXRTZWFyY2hJbnB1dFJlZiwgY2xhc3NlczogY2xhc3NlcywgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNpemU9e25vcm1hbGl6ZWRTaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBcInNtYWxsXCIsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIGFjdGl2ZURlc2NlbmRhbnQ6IGFjdGl2ZU9wdGlvbklkLCBvbkJsdXI6IGhhbmRsZVNlYXJjaEJsdXIsIG9uQ2hhbmdlOiBoYW5kbGVTZWFyY2hDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlU2VhcmNoS2V5RG93biB9KSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiBbcGFuZWxIZWFkZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBwYW5lbEhlYWRlciB9KSksIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggPT09IDAgPyAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZW1wdHknKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuc2l6ZSwgY29sb3I6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LmNvbG9yLCBjaGlsZHJlbjogZW1wdHlDb250ZW50IH0pIH0pKSA6ICgoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmbGF0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnLCBncm91cExhYmVsQ2xhc3NOYW1lKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uRmxhdEluZGV4ID0gZmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBhY3RpdmVJbmRleCA9PT0gb3B0aW9uRmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICEhb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtvcHRpb25JZFByZWZpeH0tJHtvcHRpb25GbGF0SW5kZXh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbicsIGpvaW5DbHMoYWN0aXZlICYmIGNsYXNzZXMoJ29wdGlvbi1hY3RpdmUnKSwgc2VsZWN0ZWQgJiYgY2xhc3Nlcygnb3B0aW9uLXNlbGVjdGVkJyksIG9wdGlvbi5kaXNhYmxlZCAmJiBjbGFzc2VzKCdvcHRpb24tZGlzYWJsZWQnKSwgb3B0aW9uQ2xhc3NOYW1lKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUl0ZW1Nb3VzZUVudGVyKG9wdGlvbkZsYXRJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlT3B0aW9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCwgc2l6ZTogbm9ybWFsaXplZFNpemUsIGNvbnRlbnQ6IHJlbmRlck9wdGlvbkNvbnRlbnQgPT09IG51bGwgfHwgcmVuZGVyT3B0aW9uQ29udGVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVuZGVyT3B0aW9uQ29udGVudChvcHRpb24sIG9wdGlvbk1ldGEpIH0pKSB9KSwgYCR7Z3JvdXAua2V5fS0ke29wdGlvbi52YWx1ZX1gKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSldIH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsID8gX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogcGFuZWxOb2RlIH0pIDogcGFuZWxOb2RlO1xuICAgICAgICAgICAgfSkoKV0gfSkpO1xufTtcblNlbGVjdC5kaXNwbGF5TmFtZSA9ICdTZWxlY3QnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
594
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl91c2VDb250cm9sbGVkU3RhdGU1IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX2NvbnRleHQiLCJfSWNvbnMiLCJfU3Bpbm5lciIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9TZWxlY3RGaWVsZFNoZWxsIiwiX1NlbGVjdE9wdGlvbkNvbnRlbnQiLCJfU2VsZWN0U2VhcmNoQ29udHJvbCIsIl9TZWxlY3RWYWx1ZUNvbnRlbnQiLCJfdXNlU2VsZWN0U2hlbGwyIiwiX2NvbnN0YW50cyIsIl91dGlscyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwiZXhwb3J0cyIsInByb3BzIiwiX2EiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRvcHRpb25zIiwib3B0aW9ucyIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwic2l6ZVByb3AiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiZGlzYWJsZWRQcm9wIiwiX3Byb3BzJHJlYWRPbmx5IiwicmVhZE9ubHkiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwiX3Byb3BzJGZpbHRlcklucHV0QXV0IiwiZmlsdGVySW5wdXRBdXRvRm9jdXMiLCJsYWJlbCIsImxhYmVsQ2xhc3NOYW1lIiwiaW5mbyIsImRlc2NyaXB0aW9uIiwiZmVlZGJhY2siLCJfcHJvcHMkcmVxdWlyZWQiLCJyZXF1aXJlZCIsInByZWZpeCIsIl9wcm9wcyRlbXB0eUNvbnRlbnQiLCJlbXB0eUNvbnRlbnQiLCJwYW5lbEhlYWRlciIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJHBvcnRhbCIsInBvcnRhbCIsIl9wcm9wcyRhbGxvd0Rlc2VsZWN0IiwiYWxsb3dEZXNlbGVjdCIsInBhbmVsQ2xhc3NOYW1lIiwib3B0aW9uQ2xhc3NOYW1lIiwiZ3JvdXBMYWJlbENsYXNzTmFtZSIsIl9wcm9wcyRsaXN0TWF4SGVpZ2h0IiwibGlzdE1heEhlaWdodCIsIm9mZnNldCIsImFuaW1hdGlvbiIsIm9uQ2hhbmdlIiwib25PcGVuQ2hhbmdlIiwib25TZWFyY2hDaGFuZ2UiLCJvbkJsdXIiLCJmaWx0ZXJPcHRpb24iLCJyZW5kZXJPcHRpb24iLCJyZW5kZXJPcHRpb25Db250ZW50IiwicmVuZGVyVmFsdWUiLCJyZWYiLCJjb250ZXh0U2l6ZSIsInVzZUZvcm1Db250cm9sU2l6ZSIsImludGVyYWN0aXZlIiwiY2xhc3NlcyIsInJvb3RDbGFzc25hbWVzIiwiYXV0b0lkIiwidXNlSWQiLCJ0cmlnZ2VySWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJvcHRpb25JZFByZWZpeCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1bmRlZmluZWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTMiLCJfdXNlQ29udHJvbGxlZFN0YXRlNCIsImlubmVyU2VhcmNoVmFsdWUiLCJzZXRJbm5lclNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiYWN0aXZlSW5kZXgiLCJzZXRBY3RpdmVJbmRleCIsIm5vcm1hbGl6ZWRTaXplIiwibm9ybWFsaXplU2l6ZSIsImFsbE9wdGlvbkdyb3VwcyIsInVzZU1lbW8iLCJub3JtYWxpemVPcHRpb25Hcm91cHMiLCJhbGxGbGF0T3B0aW9ucyIsImZsYXR0ZW5PcHRpb25Hcm91cHMiLCJ2aXNpYmxlT3B0aW9uR3JvdXBzIiwiZmlsdGVyT3B0aW9uR3JvdXBzIiwidmlzaWJsZUZsYXRPcHRpb25zIiwic2VsZWN0ZWRPcHRpb25zIiwiZ2V0U2VsZWN0ZWRPcHRpb25zIiwic2VsZWN0ZWRJbmRleCIsImxlbmd0aCIsIm1hdGNoZWRJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImhhc1NlbGVjdGlvbiIsImxpc3RSZWYiLCJ1c2VSZWYiLCJsaXN0Q29udGVudFJlZiIsImZsb2F0aW5nUmVmIiwidHJpZ2dlclJlZiIsInNlYXJjaElucHV0UmVmIiwiaGFuZGxlVHJpZ2dlclJlZiIsInVzZUV2ZW50Q2FsbGJhY2siLCJub2RlIiwiY3VycmVudCIsIl91c2VTZWxlY3RTaGVsbCIsInVzZVNlbGVjdFNoZWxsIiwiaW5uZXJPcGVuIiwiaXNPcGVuIiwiaGFuZGxlT3BlbkNoYW5nZSIsInNldE9wZW4iLCJyZWZzIiwiY29udGV4dCIsImZsb2F0aW5nU3R5bGVzIiwidHJhbnNpdGlvblN0eWxlcyIsImlzTW91bnRlZCIsImJhc2VJbnRlcmFjdGlvbnMiLCJzZXRSZWZlcmVuY2UiLCJzZXRGbG9hdGluZyIsImxpc3ROYXZpZ2F0aW9uIiwidXNlTGlzdE5hdmlnYXRpb24iLCJvbk5hdmlnYXRlIiwiZW5hYmxlZCIsImxvb3AiLCJ2aXJ0dWFsIiwidHlwZWFoZWFkIiwidXNlVHlwZWFoZWFkIiwib25NYXRjaCIsIl91c2VJbnRlcmFjdGlvbnMiLCJ1c2VJbnRlcmFjdGlvbnMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiZ2V0SXRlbVByb3BzIiwiZmlyc3RFbmFibGVkSW5kZXgiLCJ1c2VFZmZlY3QiLCJwcmV2IiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwic2xpY2UiLCJzZXRTZWFyY2hJbnB1dFJlZiIsIm5vdGlmeUJsdXJJZk91dHNpZGUiLCJyZWxhdGVkVGFyZ2V0IiwiZXZlbnQiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiaGFuZGxlT3B0aW9uQmx1ciIsImNvbW1pdENoYW5nZSIsIm5leHRWYWx1ZSIsIm5leHRPcHRpb24iLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwibmV4dE9wdGlvbnMiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJnZXRNdWx0aXBsZVZhbHVlIiwiaW5jbHVkZXMiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwiaGFuZGxlVHJpZ2dlcktleURvd24iLCJrZXkiLCJLRVlCT0FSRCIsIkVOVEVSIiwiU1BBQ0UiLCJwcmV2ZW50RGVmYXVsdCIsIkFSUk9XX0RPV04iLCJBUlJPV19VUCIsImhhbmRsZUl0ZW1Nb3VzZUVudGVyIiwiaW5kZXgiLCJoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYWdSZW1vdmVDbGljayIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJfZXZlbnQiLCJmaW5kRW5hYmxlZEluZGV4IiwiZGlyZWN0aW9uIiwic3RhcnQiLCJzdGVwIiwiY2FuZGlkYXRlIiwiaGFuZGxlU2VhcmNoS2V5RG93biIsIm5leHQiLCJFU0NBUEUiLCJyZW5kZXJWYWx1ZU1ldGEiLCJmb250U2l6ZSIsImdldEZvbnRTaXplIiwidmFsdWVMYWJlbENsYXNzIiwiaXNNdWx0aXBsZVZhbHVlRmlsbGVkIiwidHJpZ2dlckNsYXNzTmFtZSIsImpvaW5DbHMiLCJpY29uU2l6ZSIsImFjdGl2ZU9wdGlvbklkIiwiZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSIsImRlc2NyaWJlZEJ5SWRzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJfanN4cyIsIlNlbGVjdEZpZWxkU2hlbGwiLCJjaGlsZHJlbiIsImFzc2lnbiIsInR5cGUiLCJvbktleURvd24iLCJfanN4IiwiU2VsZWN0VmFsdWVDb250ZW50Iiwib25SZW1vdmUiLCJvblJlbW92ZUNsaWNrIiwib25SZW1vdmVNb3VzZURvd24iLCJTcGlubmVyIiwic3Ryb2tlV2lkdGgiLCJJY29ucyIsImNvbG9yIiwicGFuZWxOb2RlIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiU2VsZWN0U2VhcmNoQ29udHJvbCIsImFjdGl2ZURlc2NlbmRhbnQiLCJUeXBvZ3JhcGh5Qm9keSIsIlNFTEVDVF9UWVBPR1JBUEhZIiwiZW1wdHkiLCJmbGF0SW5kZXgiLCJtYXAiLCJncm91cCIsIlR5cG9ncmFwaHlMYWJlbCIsImdyb3VwTGFiZWwiLCJzdHJvbmciLCJvcHRpb25GbGF0SW5kZXgiLCJzZWxlY3RlZCIsImlzT3B0aW9uU2VsZWN0ZWQiLCJhY3RpdmUiLCJvcHRpb25NZXRhIiwiZXh0cmFjdE9wdGlvblRleHQiLCJyb2xlIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsIlNlbGVjdE9wdGlvbkNvbnRlbnQiLCJjb250ZW50IiwiRmxvYXRpbmdQb3J0YWwiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQU9BLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsUUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBWCxPQUFBO0FBZ0JBLElBQUFZLGlCQUFBLEdBQUFSLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBYSxvQkFBQSxHQUFBVCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQWMsb0JBQUEsR0FBQVYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFlLG1CQUFBLEdBQUFYLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBZ0IsZ0JBQUEsR0FBQWhCLE9BQUE7QUFDQSxJQUFBaUIsVUFBQSxHQUFBakIsT0FBQTtBQUNBLElBQUFrQixNQUFBLEdBQUFsQixPQUFBO0FBY0FBLE9BQUE7QUFBaUIsU0FBQVcsd0JBQUFRLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFWLHVCQUFBLFlBQUFBLHdCQUFBUSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxjQUFBTSxFQUFBLElBQUFkLENBQUEsZ0JBQUFjLEVBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxJQUFBRCxDQUFBLEdBQUFXLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFuQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQU0sRUFBQSxFQUFBUCxDQUFBLElBQUFDLENBQUEsQ0FBQU0sRUFBQSxJQUFBZCxDQUFBLENBQUFjLEVBQUEsV0FBQU4sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUE7QUFFakIsSUFBTW1CLGtCQUFrQixHQUFHLEdBQUc7QUFFdkIsSUFBTUMsTUFBTSxHQUFBQyxPQUFBLENBQUFELE1BQUEsR0FBb0IsU0FBMUJBLE1BQU1BLENBQXFCRSxLQUFLLEVBQUk7RURsQzdDLElBQUlDLEVBQUU7RUNtQ1IsSUFBQUMsZ0JBQUEsR0FzRElGLEtBQUssQ0FyRFBHLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFBQUUsZ0JBQUEsR0FxRFpKLEtBQUssQ0FwRFBLLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLFFBQVEsR0FBQUEsZ0JBQUE7SUFDcEJFLEtBQUssR0FtREhOLEtBQUssQ0FuRFBNLEtBQUs7SUFDTEMsRUFBRSxHQWtEQVAsS0FBSyxDQWxEUE8sRUFBRTtJQUNGQyxJQUFJLEdBaURGUixLQUFLLENBakRQUSxJQUFJO0lBQ1VDLFNBQVMsR0FnRHJCVCxLQUFLLENBaERQLFlBQVk7SUFDT1UsY0FBYyxHQStDL0JWLEtBQUssQ0EvQ1AsaUJBQWlCO0lBQUFXLGtCQUFBLEdBK0NmWCxLQUFLLENBOUNQWSxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxPQUFPLEdBQUFBLGtCQUFBO0lBQUFFLGNBQUEsR0E4Q25CYixLQUFLLENBN0NQYyxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLEVBQUUsR0FBQUEsY0FBQTtJQUNaRSxLQUFLLEdBNENIZixLQUFLLENBNUNQZSxLQUFLO0lBQ0xDLFlBQVksR0EyQ1ZoQixLQUFLLENBM0NQZ0IsWUFBWTtJQUNOQyxRQUFRLEdBMENaakIsS0FBSyxDQTFDUGtCLElBQUk7SUFBQUMsYUFBQSxHQTBDRm5CLEtBQUssQ0F6Q1BvQixNQUFNO0lBQU5BLE1BQU0sR0FBQUQsYUFBQSxjQUFHLFNBQVMsR0FBQUEsYUFBQTtJQUFBRSxjQUFBLEdBeUNoQnJCLEtBQUssQ0F4Q1BzQixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLE1BQU0sR0FBQUEsY0FBQTtJQUFBRSxlQUFBLEdBd0NkdkIsS0FBSyxDQXZDUHdCLFFBQVE7SUFBRUMsWUFBWSxHQUFBRixlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFHLGVBQUEsR0F1QzVCMUIsS0FBSyxDQXRDUDJCLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFFLGNBQUEsR0FzQ2Q1QixLQUFLLENBckNQNkIsT0FBTztJQUFQQSxPQUFPLEdBQUFELGNBQUEsY0FBRyxLQUFLLEdBQUFBLGNBQUE7SUFBQUUsZUFBQSxHQXFDYjlCLEtBQUssQ0FwQ1ArQixRQUFRO0lBQVJBLFFBQVEsR0FBQUQsZUFBQSxjQUFHLEtBQUssR0FBQUEsZUFBQTtJQUNoQkUsZ0JBQWdCLEdBbUNkaEMsS0FBSyxDQW5DUGdDLGdCQUFnQjtJQUFBQyxpQkFBQSxHQW1DZGpDLEtBQUssQ0FsQ1BrQyxVQUFVO0lBQVZBLFVBQVUsR0FBQUQsaUJBQUEsY0FBRyxLQUFLLEdBQUFBLGlCQUFBO0lBQUFFLHFCQUFBLEdBa0NoQm5DLEtBQUssQ0FqQ1BvQyxpQkFBaUI7SUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHLFFBQVEsR0FBQUEscUJBQUE7SUFDNUJFLFdBQVcsR0FnQ1RyQyxLQUFLLENBaENQcUMsV0FBVztJQUFBQyxxQkFBQSxHQWdDVHRDLEtBQUssQ0EvQlB1QyxrQkFBa0I7SUFBbEJBLGtCQUFrQixHQUFBRCxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7SUFBQUUscUJBQUEsR0ErQnJCeEMsS0FBSyxDQTlCUHlDLG9CQUFvQjtJQUFwQkEsb0JBQW9CLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtJQUMzQkUsS0FBSyxHQTZCSDFDLEtBQUssQ0E3QlAwQyxLQUFLO0lBQ0xDLGNBQWMsR0E0QlozQyxLQUFLLENBNUJQMkMsY0FBYztJQUNkQyxJQUFJLEdBMkJGNUMsS0FBSyxDQTNCUDRDLElBQUk7SUFDSkMsV0FBVyxHQTBCVDdDLEtBQUssQ0ExQlA2QyxXQUFXO0lBQ1hDLFFBQVEsR0F5Qk45QyxLQUFLLENBekJQOEMsUUFBUTtJQUFBQyxlQUFBLEdBeUJOL0MsS0FBSyxDQXhCUGdELFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsSUFBSSxHQUFBQSxlQUFBO0lBQ2ZFLE1BQU0sR0F1QkpqRCxLQUFLLENBdkJQaUQsTUFBTTtJQUFBQyxtQkFBQSxHQXVCSmxELEtBQUssQ0F0QlBtRCxZQUFZO0lBQVpBLFlBQVksR0FBQUQsbUJBQUEsY0FBRyxZQUFZLEdBQUFBLG1CQUFBO0lBQzNCRSxXQUFXLEdBcUJUcEQsS0FBSyxDQXJCUG9ELFdBQVc7SUFDWEMsV0FBVyxHQW9CVHJELEtBQUssQ0FwQlBxRCxXQUFXO0lBQ1hDLElBQUksR0FtQkZ0RCxLQUFLLENBbkJQc0QsSUFBSTtJQUFBQyxrQkFBQSxHQW1CRnZELEtBQUssQ0FsQlB3RCxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lBQUFFLGFBQUEsR0FrQmpCekQsS0FBSyxDQWpCUDBELE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsSUFBSSxHQUFBQSxhQUFBO0lBQUFFLG9CQUFBLEdBaUJYM0QsS0FBSyxDQWhCUDRELGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxvQkFBQSxjQUFHLEtBQUssR0FBQUEsb0JBQUE7SUFDckJFLGNBQWMsR0FlWjdELEtBQUssQ0FmUDZELGNBQWM7SUFDZEMsZUFBZSxHQWNiOUQsS0FBSyxDQWRQOEQsZUFBZTtJQUNmQyxtQkFBbUIsR0FhakIvRCxLQUFLLENBYlArRCxtQkFBbUI7SUFBQUMsb0JBQUEsR0FhakJoRSxLQUFLLENBWlBpRSxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsb0JBQUEsY0FBR25FLGtCQUFrQixHQUFBbUUsb0JBQUE7SUFDbENFLE1BQU0sR0FXSmxFLEtBQUssQ0FYUGtFLE1BQU07SUFDTkMsU0FBUyxHQVVQbkUsS0FBSyxDQVZQbUUsU0FBUztJQUNUQyxRQUFRLEdBU05wRSxLQUFLLENBVFBvRSxRQUFRO0lBQ1JDLFlBQVksR0FRVnJFLEtBQUssQ0FSUHFFLFlBQVk7SUFDWkMsY0FBYyxHQU9adEUsS0FBSyxDQVBQc0UsY0FBYztJQUNkQyxNQUFNLEdBTUp2RSxLQUFLLENBTlB1RSxNQUFNO0lBQ05DLFlBQVksR0FLVnhFLEtBQUssQ0FMUHdFLFlBQVk7SUFDWkMsWUFBWSxHQUlWekUsS0FBSyxDQUpQeUUsWUFBWTtJQUNaQyxtQkFBbUIsR0FHakIxRSxLQUFLLENBSFAwRSxtQkFBbUI7SUFDbkJDLFdBQVcsR0FFVDNFLEtBQUssQ0FGUDJFLFdBQVc7SUFDWEMsR0FBRyxHQUNENUUsS0FBSyxDQURQNEUsR0FBRztFQUVMO0VBQ0E7RUFDQSxJQUFNQyxXQUFXLEdBQUcsSUFBQUMsMkJBQWtCLEVBQUEsQ0FBRTtFQUN4QyxJQUFNNUQsSUFBSSxHQUFHLENBQUFqQixFQUFBLEdBQUFnQixRQUFRLEtBQUEsSUFBQSxJQUFSQSxRQUFRLEtBQUEsS0FBQSxDQUFBLEdBQVJBLFFBQVEsR0FBSTRELFdBQVcsTUFBQSxJQUFBLElBQUE1RSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxPQUFPO0VBQy9DLElBQU11QixRQUFRLEdBQUdDLFlBQVksSUFBSUksT0FBTztFQUN4QyxJQUFNa0QsV0FBVyxHQUFHLENBQUN2RCxRQUFRLElBQUksQ0FBQ0csUUFBUTtFQUUxQyxJQUFNcUQsT0FBTyxHQUFHLElBQUFDLHNCQUFjLEVBQUM1RSxTQUFTLENBQUM7RUFDekMsSUFBTTZFLE1BQU0sR0FBRyxJQUFBQyxhQUFLLEVBQUEsQ0FBRTtFQUN0QixJQUFNQyxTQUFTLEdBQUc3RSxFQUFFLEtBQUEsSUFBQSxJQUFGQSxFQUFFLEtBQUEsS0FBQSxDQUFBLEdBQUZBLEVBQUUsR0FBSTJFLE1BQU07RUFDOUIsSUFBTUcsT0FBTyxHQUFHLElBQUFGLGFBQUssRUFBQSxDQUFFO0VBQ3ZCLElBQU1HLGFBQWEsR0FBRyxJQUFBSCxhQUFLLEVBQUEsQ0FBRTtFQUM3QixJQUFNSSxVQUFVLEdBQUcsSUFBQUosYUFBSyxFQUFBLENBQUU7RUFDMUIsSUFBTUssY0FBYyxHQUFHLElBQUFMLGFBQUssRUFBQSxDQUFFO0VBQzlCLElBQUFNLG1CQUFBLEdBQW9DLElBQUFDLCtCQUFrQixFQUNwRDFFLFlBQVksS0FBQSxJQUFBLElBQVpBLFlBQVksS0FBQSxLQUFBLENBQUEsR0FBWkEsWUFBWSxHQUFLZSxRQUFRLEdBQUcsRUFBRSxHQUFHNEQsU0FBVSxFQUMzQzVFLEtBQUssQ0FDTjtJQUFBNkUsb0JBQUEsT0FBQUMsZUFBQSxhQUFBSixtQkFBQTtJQUhNSyxVQUFVLEdBQUFGLG9CQUFBO0lBQUVHLGFBQWEsR0FBQUgsb0JBQUE7RUFJaEMsSUFBQUksb0JBQUEsR0FBZ0QsSUFBQU4sK0JBQWtCLEVBQ2hFbkQsa0JBQWtCLEVBQ2xCRixXQUFXLENBQ1o7SUFBQTRELG9CQUFBLE9BQUFKLGVBQUEsYUFBQUcsb0JBQUE7SUFITUUsZ0JBQWdCLEdBQUFELG9CQUFBO0lBQUVFLG1CQUFtQixHQUFBRixvQkFBQTtFQUk1QyxJQUFBRyxTQUFBLEdBQXNDLElBQUFDLGdCQUFRLEVBQWdCLElBQUksQ0FBQztJQUFBQyxVQUFBLE9BQUFULGVBQUEsYUFBQU8sU0FBQTtJQUE1REcsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUVsQyxJQUFNRyxjQUFjLEdBQUcsSUFBQUMsb0JBQWEsRUFBQ3hGLElBQUksQ0FBQztFQUMxQyxJQUFNeUYsZUFBZSxHQUFHLElBQUFDLGVBQU8sRUFDN0I7SUFBQSxPQUFNLElBQUFDLDRCQUFxQixFQUFDL0YsT0FBTyxDQUFDO0VBQUEsR0FDcEMsQ0FBQ0EsT0FBTyxDQUFDLENBQ1Y7RUFDRCxJQUFNZ0csY0FBYyxHQUFHLElBQUFGLGVBQU8sRUFDNUI7SUFBQSxPQUFNLElBQUFHLDBCQUFtQixFQUFDSixlQUFlLENBQUM7RUFBQSxHQUMxQyxDQUFDQSxlQUFlLENBQUMsQ0FDbEI7RUFDRCxJQUFNSyxtQkFBbUIsR0FBRyxJQUFBSixlQUFPLEVBQ2pDO0lBQUEsT0FDRTFFLFVBQVUsR0FDTixJQUFBK0UseUJBQWtCLEVBQUNOLGVBQWUsRUFBRVQsZ0JBQWdCLEVBQUUxQixZQUFZLENBQUMsR0FDbkVtQyxlQUFlO0VBQUEsQ0FDcEIsRUFDRCxDQUFDQSxlQUFlLEVBQUVuQyxZQUFZLEVBQUUwQixnQkFBZ0IsRUFBRWhFLFVBQVUsQ0FBQyxDQUM5RDtFQUNELElBQU1nRixrQkFBa0IsR0FBRyxJQUFBTixlQUFPLEVBQ2hDO0lBQUEsT0FBTSxJQUFBRywwQkFBbUIsRUFBQ0MsbUJBQW1CLENBQUM7RUFBQSxHQUM5QyxDQUFDQSxtQkFBbUIsQ0FBQyxDQUN0QjtFQUNELElBQU1HLGVBQWUsR0FBRyxJQUFBUCxlQUFPLEVBQzdCO0lBQUEsT0FBTSxJQUFBUSx5QkFBa0IsRUFBQ04sY0FBYyxFQUFFaEIsVUFBVSxFQUFFL0QsUUFBUSxDQUFDO0VBQUEsR0FDOUQsQ0FBQytFLGNBQWMsRUFBRWhCLFVBQVUsRUFBRS9ELFFBQVEsQ0FBQyxDQUN2QztFQUNELElBQU1zRixhQUFhLEdBQUcsSUFBQVQsZUFBTyxFQUFDLFlBQUs7SUFDakMsSUFBSU8sZUFBZSxDQUFDRyxNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ2hDLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBTUMsWUFBWSxHQUFHTCxrQkFBa0IsQ0FBQ00sU0FBUyxDQUMvQyxVQUFDQyxNQUFNO01BQUEsT0FBS0EsTUFBTSxDQUFDMUcsS0FBSyxLQUFLb0csZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDcEcsS0FBSztJQUFBLEVBQ3REO0lBRUQsT0FBT3dHLFlBQVksSUFBSSxDQUFDLEdBQUdBLFlBQVksR0FBRyxJQUFJO0VBQ2hELENBQUMsRUFBRSxDQUFDSixlQUFlLEVBQUVELGtCQUFrQixDQUFDLENBQUM7RUFDekMsSUFBTVEsWUFBWSxHQUFHUCxlQUFlLENBQUNHLE1BQU0sR0FBRyxDQUFDO0VBQy9DLElBQU1LLE9BQU8sR0FBRyxJQUFBQyxjQUFNLEVBQWtDLEVBQUUsQ0FBQztFQUMzRCxJQUFNQyxjQUFjLEdBQUcsSUFBQUQsY0FBTSxFQUF1QixFQUFFLENBQUM7RUFDdkQsSUFBTUUsV0FBVyxHQUFHLElBQUFGLGNBQU0sRUFBd0IsSUFBSSxDQUFDO0VBQ3ZELElBQU1HLFVBQVUsR0FBRyxJQUFBSCxjQUFNLEVBQTJCLElBQUksQ0FBQztFQUN6RCxJQUFNSSxjQUFjLEdBQUcsSUFBQUosY0FBTSxFQUEwQixJQUFJLENBQUM7RUFFNUQsSUFBTUssZ0JBQWdCLEdBQUcsSUFBQUMsNEJBQWdCLEVBQUMsVUFBQ0MsSUFBOEIsRUFBSTtJQUMzRUosVUFBVSxDQUFDSyxPQUFPLEdBQUdELElBQUk7SUFDekIsSUFBSXZELEdBQUcsRUFBRTtNQUNOQSxHQUE2QyxDQUFDd0QsT0FBTyxHQUFHRCxJQUFJO0lBQy9EO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBQUUsZUFBQSxHQVNJLElBQUFDLCtCQUFjLEVBQW9CO01BQ3BDaEYsSUFBSSxFQUFKQSxJQUFJO01BQ0pFLFdBQVcsRUFBWEEsV0FBVztNQUNYYSxZQUFZLEVBQVpBLFlBQVk7TUFDWjdDLFFBQVEsRUFBUkEsUUFBUTtNQUNSRyxRQUFRLEVBQVJBLFFBQVE7TUFDUnNDLGFBQWEsRUFBYkEsYUFBYTtNQUNiRSxTQUFTLEVBQVRBLFNBQVM7TUFDVEQsTUFBTSxFQUFOQTtJRC9IQSxDQ2dJRCxDQUFDO0lBakJRcUUsU0FBUyxHQUFBRixlQUFBLENBQWpCRyxNQUFNO0lBQ0dDLGdCQUFnQixHQUFBSixlQUFBLENBQXpCSyxPQUFPO0lBQ1BDLElBQUksR0FBQU4sZUFBQSxDQUFKTSxJQUFJO0lBQ0pDLE9BQU8sR0FBQVAsZUFBQSxDQUFQTyxPQUFPO0lBQ1BDLGNBQWMsR0FBQVIsZUFBQSxDQUFkUSxjQUFjO0lBQ2RDLGdCQUFnQixHQUFBVCxlQUFBLENBQWhCUyxnQkFBZ0I7SUFDaEJDLFNBQVMsR0FBQVYsZUFBQSxDQUFUVSxTQUFTO0lBQ1RDLGdCQUFnQixHQUFBWCxlQUFBLENBQWhCVyxnQkFBZ0I7RUFZbEIsSUFBTUMsWUFBWSxHQUFHLElBQUFmLDRCQUFnQixFQUFDLFVBQUNDLElBQThCLEVBQUk7SUFDdkVRLElBQUksQ0FBQ00sWUFBWSxDQUFDZCxJQUFJLENBQUM7SUFDdkJGLGdCQUFnQixDQUFDRSxJQUFJLENBQUM7RUFDeEIsQ0FBQyxDQUFDO0VBRUYsSUFBTWUsV0FBVyxHQUFHLElBQUFoQiw0QkFBZ0IsRUFBQyxVQUFDQyxJQUEyQixFQUFJO0lBQ25FUSxJQUFJLENBQUNPLFdBQVcsQ0FBQ2YsSUFBSSxDQUFDO0lBQ3RCTCxXQUFXLENBQUNNLE9BQU8sR0FBR0QsSUFBSTtFQUM1QixDQUFDLENBQUM7RUFFRixJQUFNZ0IsY0FBYyxHQUFHLElBQUFDLHdCQUFpQixFQUFDUixPQUFPLEVBQUU7SUFDaERqQixPQUFPLEVBQVBBLE9BQU87SUFDUHBCLFdBQVcsRUFBWEEsV0FBVztJQUNYYyxhQUFhLEVBQWJBLGFBQWE7SUFDYmdDLFVBQVUsRUFBRTdDLGNBQWM7SUFDMUI4QyxPQUFPLEVBQUVmLFNBQVM7SUFDbEJnQixJQUFJLEVBQUUsSUFBSTtJQUNWQyxPQUFPLEVBQUV0SDtFRGxJVCxDQ21JRCxDQUFDO0VBQ0YsSUFBTXVILFNBQVMsR0FBRyxJQUFBQyxtQkFBWSxFQUFDZCxPQUFPLEVBQUU7SUFDdENqQixPQUFPLEVBQUVFLGNBQWM7SUFDdkJ0QixXQUFXLEVBQVhBLFdBQVc7SUFDWGMsYUFBYSxFQUFiQSxhQUFhO0lBQ2JpQyxPQUFPLEVBQUVmLFNBQVMsSUFBSSxDQUFDckcsVUFBVTtJQUNqQ3lILE9BQU8sRUFBRW5EO0VEbElULENDbUlELENBQUM7RUFDRixJQUFBb0QsZ0JBQUEsR0FBOEQsSUFBQUMsc0JBQWUsS0FBQUMsTUFBQSxLQUFBQyxtQkFBQSxhQUN4RWYsZ0JBQWdCLElBQ25CRyxjQUFjLEVBQ2RNLFNBQVMsRUFDVixDQUFDO0lBSk1PLGlCQUFpQixHQUFBSixnQkFBQSxDQUFqQkksaUJBQWlCO0lBQUVDLGdCQUFnQixHQUFBTCxnQkFBQSxDQUFoQkssZ0JBQWdCO0lBQUVDLFlBQVksR0FBQU4sZ0JBQUEsQ0FBWk0sWUFBWTtFQU16RCxJQUFNQyxpQkFBaUIsR0FBRyxJQUFBdkQsZUFBTyxFQUMvQjtJQUFBLE9BQU1NLGtCQUFrQixDQUFDTSxTQUFTLENBQUMsVUFBQ0MsTUFBTTtNQUFBLE9BQUssQ0FBQ0EsTUFBTSxDQUFDakcsUUFBUTtJQUFBLEVBQUM7RUFBQSxHQUNoRSxDQUFDMEYsa0JBQWtCLENBQUMsQ0FDckI7RUFFRCxJQUFBa0QsaUJBQVMsRUFBQyxZQUFLO0lBQ2IsSUFBSSxDQUFDN0IsU0FBUyxFQUFFO01BQ2QvQixjQUFjLENBQUNhLGFBQWEsQ0FBQztNQUM3QjtJQUNGO0lBRUFiLGNBQWMsQ0FBQyxVQUFDNkQsSUFBSSxFQUFJO01BQ3RCLElBQUlBLElBQUksS0FBSyxJQUFJLElBQUluRCxrQkFBa0IsQ0FBQ21ELElBQUksQ0FBQyxJQUFJLENBQUNuRCxrQkFBa0IsQ0FBQ21ELElBQUksQ0FBQyxDQUFDN0ksUUFBUSxFQUFFO1FBQ25GLE9BQU82SSxJQUFJO01BQ2I7TUFFQSxJQUNFaEQsYUFBYSxLQUFLLElBQUksSUFDdEJILGtCQUFrQixDQUFDRyxhQUFhLENBQUMsSUFDakMsQ0FBQ0gsa0JBQWtCLENBQUNHLGFBQWEsQ0FBQyxDQUFDN0YsUUFBUSxFQUMzQztRQUNBLE9BQU82RixhQUFhO01BQ3RCO01BRUEsT0FBTzhDLGlCQUFpQixJQUFJLENBQUMsR0FBR0EsaUJBQWlCLEdBQUcsSUFBSTtJQUMxRCxDQUFDLENBQUM7RUFDSixDQUFDLEVBQUUsQ0FBQ0EsaUJBQWlCLEVBQUU1QixTQUFTLEVBQUVsQixhQUFhLEVBQUVILGtCQUFrQixDQUFDLENBQUM7RUFFckUsSUFBQWtELGlCQUFTLEVBQUMsWUFBSztJRDdJVCxJQUFJbkssRUFBRTtJQzhJVixJQUFJLENBQUNzSSxTQUFTLElBQUloQyxXQUFXLEtBQUssSUFBSSxJQUFJckUsVUFBVSxFQUFFO01BQ3BEO0lBQ0Y7SUFFQSxDQUFBakMsRUFBQSxHQUFBMEgsT0FBTyxDQUFDUyxPQUFPLENBQUM3QixXQUFXLENBQUMsTUFBQSxJQUFBLElBQUF0RyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXFLLEtBQUssQ0FBQztNQUFFQyxhQUFhLEVBQUU7SUFBSSxDQUFFLENBQUM7RUFDOUQsQ0FBQyxFQUFFLENBQUNoRSxXQUFXLEVBQUVnQyxTQUFTLEVBQUVyRyxVQUFVLENBQUMsQ0FBQztFQUV4QyxJQUFBa0ksaUJBQVMsRUFBQyxZQUFLO0lBQ2J6QyxPQUFPLENBQUNTLE9BQU8sR0FBR1QsT0FBTyxDQUFDUyxPQUFPLENBQUNvQyxLQUFLLENBQUMsQ0FBQyxFQUFFdEQsa0JBQWtCLENBQUNJLE1BQU0sQ0FBQztJQUNyRU8sY0FBYyxDQUFDTyxPQUFPLEdBQUdQLGNBQWMsQ0FBQ08sT0FBTyxDQUFDb0MsS0FBSyxDQUFDLENBQUMsRUFBRXRELGtCQUFrQixDQUFDSSxNQUFNLENBQUM7RUFDckYsQ0FBQyxFQUFFLENBQUNKLGtCQUFrQixDQUFDSSxNQUFNLENBQUMsQ0FBQztFQUUvQixJQUFNbUQsaUJBQWlCLEdBQUcsSUFBQXZDLDRCQUFnQixFQUFDLFVBQUNDLElBQTZCLEVBQUk7SUFDM0VILGNBQWMsQ0FBQ0ksT0FBTyxHQUFHRCxJQUFJO0lBQzdCLElBQUlBLElBQUksSUFBSUksU0FBUyxJQUFJOUYsb0JBQW9CLEVBQUU7TUFDN0MwRixJQUFJLENBQUNtQyxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO0lBQ3JDO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTUcsbUJBQW1CLEdBQUcsSUFBQXhDLDRCQUFnQixFQUFDLFVBQUN5QyxhQUFpQyxFQUFFQyxLQUErQixFQUFJO0lEaEo5RyxJQUFJM0ssRUFBRSxFQUFFNEssRUFBRTtJQ2lKZCxJQUFNQyxVQUFVLEdBQUdILGFBQTRCO0lBQy9DLElBQU1JLGFBQWEsR0FBRyxDQUFDLEVBQUVELFVBQVUsS0FBSSxDQUFBN0ssRUFBQSxHQUFBOEgsVUFBVSxDQUFDSyxPQUFPLE1BQUEsSUFBQSxJQUFBbkksRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUUrSyxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFDaEYsSUFBTUcsY0FBYyxHQUFHLENBQUMsRUFBRUgsVUFBVSxLQUFJLENBQUFELEVBQUEsR0FBQS9DLFdBQVcsQ0FBQ00sT0FBTyxNQUFBLElBQUEsSUFBQXlDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFFbEYsSUFBSSxDQUFDQyxhQUFhLElBQUksQ0FBQ0UsY0FBYyxFQUFFO01BQ3JDMUcsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUdxRyxLQUFLLENBQUM7SUFDakI7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNTSxpQkFBaUIsR0FBRyxJQUFBaEQsNEJBQWdCLEVBQUMsVUFBQzBDLEtBQW9DLEVBQUk7SUFDbEZGLG1CQUFtQixDQUFDRSxLQUFLLENBQUNELGFBQWEsRUFBRUMsS0FBZ0MsQ0FBQztFQUM1RSxDQUFDLENBQUM7RUFFRixJQUFNTyxnQkFBZ0IsR0FBRyxJQUFBakQsNEJBQWdCLEVBQUMsVUFBQzBDLEtBQW9DLEVBQUk7SUFDakZGLG1CQUFtQixDQUFDRSxLQUFLLENBQUNELGFBQWEsRUFBRUMsS0FBZ0MsQ0FBQztFQUM1RSxDQUFDLENBQUM7RUFFRixJQUFNUSxZQUFZLEdBQUcsSUFBQWxELDRCQUFnQixFQUFDLFVBQUNtRCxTQUFzQixFQUFFQyxVQUEwQyxFQUFJO0lBQzNHdkYsYUFBYSxDQUFDc0YsU0FBUyxDQUFDO0lBQ3hCakgsUUFBUSxLQUFBLElBQUEsSUFBUkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUdpSCxTQUFTLEVBQUVDLFVBQVUsRUFBRTlLLElBQUksQ0FBQztFQUN6QyxDQUFDLENBQUM7RUFFRixJQUFNK0ssa0JBQWtCLEdBQUcsSUFBQXJELDRCQUFnQixFQUFDLFVBQUNULE1BQW9CLEVBQUk7SURwSi9ELElBQUl4SCxFQUFFLEVBQUU0SyxFQUFFO0lDcUpkLElBQUlwRCxNQUFNLENBQUNqRyxRQUFRLEVBQUU7TUFDbkI7SUFDRjtJQUVBLElBQUlPLFFBQVEsRUFBRTtNQUNaLElBQU1zSixTQUFTLEdBQUcsSUFBQUcsMEJBQW1CLEVBQUMxRixVQUFVLEVBQUUyQixNQUFNLENBQUMxRyxLQUFLLENBQUM7TUFDL0QsSUFBTTBLLFdBQVcsR0FBRyxJQUFBQyx5QkFBa0IsRUFBQzVFLGNBQWMsRUFBRXVFLFNBQVMsQ0FBQztNQUNqRUQsWUFBWSxDQUFDQyxTQUFTLEVBQUVJLFdBQVcsQ0FBQztNQUNwQztJQUNGO0lBRUEsSUFBSTdILGFBQWEsSUFBSWtDLFVBQVUsS0FBSzJCLE1BQU0sQ0FBQzFHLEtBQUssRUFBRTtNQUNoRHFLLFlBQVksQ0FBQ3pGLFNBQVMsRUFBRUEsU0FBUyxDQUFDO01BQ2xDOEMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO01BQ3ZCbEUsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUEsQ0FBSTtNQUNWLENBQUF0RSxFQUFBLEdBQUE4SCxVQUFVLENBQUNLLE9BQU8sTUFBQSxJQUFBLElBQUFuSSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXFLLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7TUFDbEQ7SUFDRjtJQUVBYSxZQUFZLENBQUMzRCxNQUFNLENBQUMxRyxLQUFLLEVBQUUwRyxNQUFNLENBQUM7SUFDbENnQixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDdkJsRSxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO0lBQ1YsQ0FBQXNHLEVBQUEsR0FBQTlDLFVBQVUsQ0FBQ0ssT0FBTyxNQUFBLElBQUEsSUFBQXlDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFUCxLQUFLLENBQUM7TUFBRUMsYUFBYSxFQUFFO0lBQUksQ0FBRSxDQUFDO0VBQ3BELENBQUMsQ0FBQztFQUVGLElBQU1vQix5QkFBeUIsR0FBRyxJQUFBekQsNEJBQWdCLEVBQUMsVUFBQzBELFdBQThCLEVBQUk7SUFDcEYsSUFBSSxDQUFDN0osUUFBUSxFQUFFO01BQ2I7SUFDRjtJQUVBLElBQUksQ0FBQyxJQUFBOEosdUJBQWdCLEVBQUMvRixVQUFVLENBQUMsQ0FBQ2dHLFFBQVEsQ0FBQ0YsV0FBVyxDQUFDLEVBQUU7TUFDdkQ7SUFDRjtJQUVBLElBQU1QLFNBQVMsR0FBRyxJQUFBVSwwQkFBbUIsRUFBQ2pHLFVBQVUsRUFBRThGLFdBQVcsQ0FBQztJQUM5RCxJQUFNSCxXQUFXLEdBQUcsSUFBQUMseUJBQWtCLEVBQUM1RSxjQUFjLEVBQUV1RSxTQUFTLENBQUM7SUFDakVELFlBQVksQ0FBQ0MsU0FBUyxFQUFFSSxXQUFXLENBQUM7RUFDdEMsQ0FBQyxDQUFDO0VBRUYsSUFBTU8sb0JBQW9CLEdBQUcsSUFBQTlELDRCQUFnQixFQUFDLFVBQUMwQyxLQUE0QyxFQUFJO0lBQzdGLElBQUksQ0FBQzdGLFdBQVcsRUFBRTtNQUNoQjtJQUNGO0lBRUEsSUFBSTZGLEtBQUssQ0FBQ3FCLEdBQUcsS0FBS0MsbUJBQVEsQ0FBQ0MsS0FBSyxJQUFJdkIsS0FBSyxDQUFDcUIsR0FBRyxLQUFLQyxtQkFBUSxDQUFDRSxLQUFLLEVBQUU7TUFDaEUsSUFDRTdELFNBQVMsSUFDVGhDLFdBQVcsS0FBSyxJQUFJLElBQ3BCVyxrQkFBa0IsQ0FBQ1gsV0FBVyxDQUFDLElBQy9CLENBQUNXLGtCQUFrQixDQUFDWCxXQUFXLENBQUMsQ0FBQy9FLFFBQVEsRUFDekM7UUFDQW9KLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO1FBQ3RCZCxrQkFBa0IsQ0FBQ3JFLGtCQUFrQixDQUFDWCxXQUFXLENBQUMsQ0FBQztRQUNuRDtNQUNGO01BQ0FxRSxLQUFLLENBQUN5QixjQUFjLENBQUEsQ0FBRTtNQUN0QjVELGdCQUFnQixDQUFDLENBQUNGLFNBQVMsQ0FBQztNQUM1QjtJQUNGO0lBRUEsSUFBSXFDLEtBQUssQ0FBQ3FCLEdBQUcsS0FBS0MsbUJBQVEsQ0FBQ0ksVUFBVSxJQUFJMUIsS0FBSyxDQUFDcUIsR0FBRyxLQUFLQyxtQkFBUSxDQUFDSyxRQUFRLEVBQUU7TUFDeEUzQixLQUFLLENBQUN5QixjQUFjLENBQUEsQ0FBRTtNQUN0QixJQUFJLENBQUM5RCxTQUFTLEVBQUU7UUFDZEUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO01BQ3hCO0lBQ0Y7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNK0Qsb0JBQW9CLEdBQUcsSUFBQXRFLDRCQUFnQixFQUFDLFVBQUN1RSxLQUFhLEVBQUk7SUQvSjFELElBQUl4TSxFQUFFO0lDZ0tWLElBQUksRUFBQyxDQUFBQSxFQUFBLEdBQUFpSCxrQkFBa0IsQ0FBQ3VGLEtBQUssQ0FBQyxNQUFBLElBQUEsSUFBQXhNLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFdUIsUUFBUSxDQUFBLEVBQUU7TUFDeENnRixjQUFjLENBQUNpRyxLQUFLLENBQUM7SUFDdkI7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNQyx3QkFBd0IsR0FBRyxJQUFBeEUsNEJBQWdCLEVBQUMsVUFBQzBDLEtBQXVDLEVBQUk7SUFDNUZBLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO0lBQ3RCekIsS0FBSyxDQUFDK0IsZUFBZSxDQUFBLENBQUU7RUFDekIsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsb0JBQW9CLEdBQUcsSUFBQTFFLDRCQUFnQixFQUFDLFVBQUMwQyxLQUF1QyxFQUFJO0lBQ3hGQSxLQUFLLENBQUN5QixjQUFjLENBQUEsQ0FBRTtJQUN0QnpCLEtBQUssQ0FBQytCLGVBQWUsQ0FBQSxDQUFFO0VBQ3pCLENBQUMsQ0FBQztFQUVGLElBQU1FLGdCQUFnQixHQUFHLElBQUEzRSw0QkFBZ0IsRUFBQyxVQUFDMEMsS0FBbUMsRUFBSTtJQUNoRkYsbUJBQW1CLENBQUNFLEtBQUssQ0FBQ0QsYUFBYSxFQUFFQyxLQUFnQyxDQUFDO0VBQzVFLENBQUMsQ0FBQztFQUVGLElBQU1rQyxrQkFBa0IsR0FBRyxJQUFBNUUsNEJBQWdCLEVBQUMsVUFBQ21ELFNBQWlCLEVBQUUwQixNQUFxQyxFQUFJO0lBQ3ZHNUcsbUJBQW1CLENBQUNrRixTQUFTLENBQUM7SUFDOUIvRyxjQUFjLEtBQUEsSUFBQSxJQUFkQSxjQUFjLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWRBLGNBQWMsQ0FBRytHLFNBQVMsQ0FBQztFQUM3QixDQUFDLENBQUM7RUFFRixJQUFNMkIsZ0JBQWdCLEdBQUcsSUFBQTlFLDRCQUFnQixFQUFDLFVBQUNFLE9BQXNCLEVBQUU2RSxTQUFpQixFQUFtQjtJRG5LakcsSUFBSWhOLEVBQUU7SUNvS1YsSUFBTXFILE1BQU0sR0FBR0osa0JBQWtCLENBQUNJLE1BQU07SUFDeEMsSUFBSUEsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUNoQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQU00RixLQUFLLEdBQUc5RSxPQUFPLEtBQUEsSUFBQSxJQUFQQSxPQUFPLEtBQUEsS0FBQSxDQUFBLEdBQVBBLE9BQU8sR0FBSzZFLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUczRixNQUFPO0lBQ3hELEtBQUssSUFBSTZGLElBQUksR0FBRyxDQUFDLEVBQUVBLElBQUksSUFBSTdGLE1BQU0sRUFBRTZGLElBQUksSUFBSSxDQUFDLEVBQUU7TUFDNUMsSUFBTUMsU0FBUyxHQUFHLENBQUMsQ0FBQ0YsS0FBSyxHQUFHRCxTQUFTLEdBQUdFLElBQUksSUFBSTdGLE1BQU0sR0FBR0EsTUFBTSxJQUFJQSxNQUFNO01BQ3pFLElBQUksRUFBQyxDQUFBckgsRUFBQSxHQUFBaUgsa0JBQWtCLENBQUNrRyxTQUFTLENBQUMsTUFBQSxJQUFBLElBQUFuTixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXVCLFFBQVEsQ0FBQSxFQUFFO1FBQzVDLE9BQU80TCxTQUFTO01BQ2xCO0lBQ0Y7SUFDQSxPQUFPLElBQUk7RUFDYixDQUFDLENBQUM7RUFFRixJQUFNQyxtQkFBbUIsR0FBRyxJQUFBbkYsNEJBQWdCLEVBQUMsVUFBQzBDLEtBQTJDLEVBQUk7SURwS3ZGLElBQUkzSyxFQUFFO0lDcUtWLElBQUkySyxLQUFLLENBQUNxQixHQUFHLEtBQUtDLG1CQUFRLENBQUNJLFVBQVUsRUFBRTtNQUNyQzFCLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLElBQU1pQixJQUFJLEdBQUdOLGdCQUFnQixDQUFDekcsV0FBVyxFQUFFLENBQUMsQ0FBQztNQUM3QyxJQUFJK0csSUFBSSxLQUFLLElBQUksRUFBRTtRQUNqQjlHLGNBQWMsQ0FBQzhHLElBQUksQ0FBQztNQUN0QjtNQUNBO0lBQ0Y7SUFFQSxJQUFJMUMsS0FBSyxDQUFDcUIsR0FBRyxLQUFLQyxtQkFBUSxDQUFDSyxRQUFRLEVBQUU7TUFDbkMzQixLQUFLLENBQUN5QixjQUFjLENBQUEsQ0FBRTtNQUN0QixJQUFNaEMsSUFBSSxHQUFHMkMsZ0JBQWdCLENBQUN6RyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7TUFDOUMsSUFBSThELElBQUksS0FBSyxJQUFJLEVBQUU7UUFDakI3RCxjQUFjLENBQUM2RCxJQUFJLENBQUM7TUFDdEI7TUFDQTtJQUNGO0lBRUEsSUFBSU8sS0FBSyxDQUFDcUIsR0FBRyxLQUFLQyxtQkFBUSxDQUFDQyxLQUFLLEVBQUU7TUFDaEMsSUFDRTVGLFdBQVcsS0FBSyxJQUFJLElBQ3BCVyxrQkFBa0IsQ0FBQ1gsV0FBVyxDQUFDLElBQy9CLENBQUNXLGtCQUFrQixDQUFDWCxXQUFXLENBQUMsQ0FBQy9FLFFBQVEsRUFDekM7UUFDQW9KLEtBQUssQ0FBQ3lCLGNBQWMsQ0FBQSxDQUFFO1FBQ3RCZCxrQkFBa0IsQ0FBQ3JFLGtCQUFrQixDQUFDWCxXQUFXLENBQUMsQ0FBQztNQUNyRDtNQUNBO0lBQ0Y7SUFFQSxJQUFJcUUsS0FBSyxDQUFDcUIsR0FBRyxLQUFLQyxtQkFBUSxDQUFDcUIsTUFBTSxFQUFFO01BQ2pDM0MsS0FBSyxDQUFDeUIsY0FBYyxDQUFBLENBQUU7TUFDdEI1RCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFDdkIsQ0FBQXhJLEVBQUEsR0FBQThILFVBQVUsQ0FBQ0ssT0FBTyxNQUFBLElBQUEsSUFBQW5JLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFcUssS0FBSyxDQUFDO1FBQUVDLGFBQWEsRUFBRTtNQUFJLENBQUUsQ0FBQztJQUNwRDtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU1pRCxlQUFlLEdBQTBCO0lBQzdDaE0sUUFBUSxFQUFSQSxRQUFRO0lBQ1JHLFFBQVEsRUFBUkEsUUFBUTtJQUNSSSxRQUFRLEVBQVJBLFFBQVE7SUFDUkMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJzQixJQUFJLEVBQUVpRixTQUFTO0lBQ2YzSCxXQUFXLEVBQUUsQ0FBQzhHLFlBQVk7SUFDMUJQLGVBQWUsRUFBZkEsZUFBZTtJQUNmakcsSUFBSSxFQUFFdUYsY0FBYztJQUNwQmdILFFBQVEsRUFBRSxJQUFBQyxrQkFBVyxFQUFDakgsY0FBYztFRHpLcEMsQ0MwS0Q7RUFDRCxJQUFNa0gsZUFBZSxHQUFHakcsWUFBWSxHQUFHLE9BQU8sR0FBRyxhQUFhO0VBQzlELElBQU1rRyxxQkFBcUIsR0FDekI3TCxRQUFRLElBQ1IyRixZQUFZLElBQ1oxRixnQkFBZ0IsS0FBSzJELFNBQVM7RUFDOUI7RUFDQTtFQUNBO0VBQ0EsQ0FBQ2hCLFdBQ0Y7RUFDRCxJQUFNa0osZ0JBQWdCLEdBQUc3SSxPQUFPLENBQzlCLFNBQVMsRUFDVCxJQUFBOEksbUJBQU8sRUFDTDlJLE9BQU8sWUFBQThFLE1BQUEsQ0FBWXJELGNBQWMsQ0FBRSxDQUFDLEVBQ3BDekIsT0FBTyxZQUFBOEUsTUFBQSxDQUFZeEksT0FBTyxDQUFFLENBQUMsRUFDN0JpSCxTQUFTLElBQUl2RCxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQ3BDNEkscUJBQXFCLElBQUk1SSxPQUFPLENBQUMseUJBQXlCLENBQUMsRUFDM0QwQyxZQUFZLEdBQUcxQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBR0EsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3pFNUQsTUFBTSxLQUFLLFNBQVMsSUFBSTRELE9BQU8sWUFBQThFLE1BQUEsQ0FBWTFJLE1BQU0sQ0FBRSxDQUFDLEVBQ3BESSxRQUFRLElBQUl3RCxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDdkNyRCxRQUFRLElBQUksQ0FBQ0gsUUFBUSxJQUFJd0QsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQ3JELENBQ0Y7RUFDRCxJQUFNK0ksUUFBUSxHQUFHdEgsY0FBYyxLQUFLLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNyRCxJQUFNdUgsY0FBYyxHQUNsQjlMLFVBQVUsSUFBSXFHLFNBQVMsSUFBSWhDLFdBQVcsS0FBSyxJQUFJLE1BQUF1RCxNQUFBLENBQ3hDdEUsY0FBYyxPQUFBc0UsTUFBQSxDQUFJdkQsV0FBVyxJQUNoQ1osU0FBUztFQUNmLElBQU1zSSxzQkFBc0IsR0FBR3ZOLGNBQWMsS0FBQSxJQUFBLElBQWRBLGNBQWMsS0FBQSxLQUFBLENBQUEsR0FBZEEsY0FBYyxHQUFLZ0MsS0FBSyxHQUFHMkMsT0FBTyxHQUFHTSxTQUFVO0VBQzlFLElBQU11SSxjQUFjLEdBQUcsQ0FDckJyTCxXQUFXLEdBQUd5QyxhQUFhLEdBQUcsSUFBSSxFQUNsQ3hDLFFBQVEsR0FBR3lDLFVBQVUsR0FBRyxJQUFJLENBQzdCLENBQUM0SSxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFDQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUkxSSxTQUFTO0VBRXhDLE9BQ0UsSUFBQTJJLGdCQUFBLEVBQUNDLDRCQUFnQixFQUFBO0lBQ2Z2SixPQUFPLEVBQUVBLE9BQU87SUFDaEI3RSxTQUFTLEVBQUVBLFNBQVM7SUFDcEJlLElBQUksRUFBRXVGLGNBQWM7SUFDcEJuRixPQUFPLEVBQUVBLE9BQU87SUFDaEJGLE1BQU0sRUFBRUEsTUFBTTtJQUNkSSxRQUFRLEVBQUVBLFFBQVE7SUFDbEJHLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkUsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCYSxLQUFLLEVBQUVBLEtBQUs7SUFDWkMsY0FBYyxFQUFFQSxjQUFjO0lBQzlCQyxJQUFJLEVBQUVBLElBQUk7SUFDVkMsV0FBVyxFQUFFQSxXQUFXO0lBQ3hCQyxRQUFRLEVBQUVBLFFBQVE7SUFDbEJFLFFBQVEsRUFBRUEsUUFBUTtJQUNsQnFDLE9BQU8sRUFBRUEsT0FBTztJQUNoQkMsYUFBYSxFQUFFQSxhQUFhO0lBQzVCQyxVQUFVLEVBQUVBLFVBQVU7SUFBQWlKLFFBQUEsRUFBQSxDQUV0QixJQUFBRixnQkFBQSxFQUFBLFFBQUEsRUFBQTVPLE1BQUEsQ0FBQStPLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTXpFLGlCQUFpQixDQUFDO01BQ3BCcEYsR0FBRyxFQUFFcUUsWUFBWTtNQUNqQjFJLEVBQUUsRUFBRTZFLFNBQVM7TUFDYnNKLElBQUksRUFBRSxRQUFRO01BQ2RsTyxJQUFJLEVBQUpBLElBQUk7TUFDSmdCLFFBQVEsRUFBUkEsUUFBUTtNQUNSLGVBQWUsRUFBRUcsUUFBUSxJQUFJZ0UsU0FBUztNQUN0Q3hGLFNBQVMsRUFBRTBOLGdCQUFnQjtNQUMzQmMsU0FBUyxFQUFFM0Msb0JBQW9CO01BQy9CekgsTUFBTSxFQUFFMkcsaUJBQWlCO01BQ3pCLFlBQVksRUFBRXpLLFNBQVM7TUFDdkIsaUJBQWlCLEVBQUV3TixzQkFBc0I7TUFDekMsa0JBQWtCLEVBQUVDO0lEOU1sQixDQytNSCxDQUFDLEVBQUE7TUFBQU0sUUFBQSxFQUFBLENBRUYsSUFBQUYsZ0JBQUEsRUFBQSxNQUFBLEVBQUE7UUFBTW5PLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFBQXdKLFFBQUEsRUFBQSxDQUNoQ3ZMLE1BQU0sSUFBSSxJQUFBMkwsZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUFNek8sU0FBUyxFQUFFNkUsT0FBTyxDQUFDLFFBQVEsQ0FBQztVQUFBd0osUUFBQSxFQUFHdkw7UUFBTSxDQUFBLENBQVEsRUFDOUQsSUFBQTJMLGVBQUEsRUFBQSxNQUFBLEVBQUE7VUFDRXpPLFNBQVMsRUFBRTZFLE9BQU8sQ0FDaEIySSxlQUFlLEVBQ2YsSUFBQUcsbUJBQU8sRUFDTDlJLE9BQU8sSUFBQThFLE1BQUEsQ0FBSTZELGVBQWUsT0FBQTdELE1BQUEsQ0FBSXJELGNBQWMsQ0FBRSxDQUFDLEVBQy9DbUgscUJBQXFCLElBQUk1SSxPQUFPLElBQUE4RSxNQUFBLENBQUk2RCxlQUFlLGNBQVcsQ0FBQyxFQUMvRG5NLFFBQVEsSUFBSXdELE9BQU8sSUFBQThFLE1BQUEsQ0FBSTZELGVBQWUsY0FBVyxDQUFDLENBQ25ELENBQ0Y7VUFBQWEsUUFBQSxFQUVELElBQUFJLGVBQUEsRUFBQ0MsOEJBQWtCLEVBQUE7WUFDakI3SixPQUFPLEVBQUVBLE9BQU87WUFDaEIwQyxZQUFZLEVBQUVBLFlBQVk7WUFDMUIzRixRQUFRLEVBQUVBLFFBQVE7WUFDbEJuQixXQUFXLEVBQUVBLFdBQVc7WUFDeEIrRCxXQUFXLEVBQUVBLFdBQVc7WUFDeEI2SSxlQUFlLEVBQUVBLGVBQWU7WUFDaENyRyxlQUFlLEVBQUVBLGVBQWU7WUFDaENuRixnQkFBZ0IsRUFBRUEsZ0JBQWdCO1lBQ2xDOE0sUUFBUSxFQUFFbkQseUJBQXlCO1lBQ25Db0QsYUFBYSxFQUFFbkMsb0JBQW9CO1lBQ25Db0MsaUJBQWlCLEVBQUV0QztVQUF3QixDQUFBO1FBQzNDLENBQUEsQ0FDRztNQUFBLENBQUEsQ0FDRixFQUNQLElBQUFrQyxlQUFBLEVBQUEsTUFBQSxFQUFBO1FBQU16TyxTQUFTLEVBQUU2RSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQUF3SixRQUFBLEVBRTVCM00sT0FBTyxHQUNGLElBQUErTSxlQUFBLEVBQUNLLGdCQUFPLEVBQUE7VUFBQy9OLElBQUksRUFBRTZNLFFBQVE7VUFBRW1CLFdBQVcsRUFBRTtRQUFDLENBQUEsQ0FBSSxHQUM1Q3ZOLFFBQVEsR0FDTCxJQUFJLEdBQ0osSUFBQWlOLGVBQUEsRUFBQ08sWUFBSyxFQUFBO1VBQUUzTyxJQUFJLEVBQUUrSCxTQUFTLEdBQUcsV0FBVyxHQUFHLGFBQWE7VUFBRXJILElBQUksRUFBRTZNLFFBQVE7VUFBR3FCLEtBQUssRUFBQztRQUFjLENBQUE7TUFBRSxDQUFBLENBRWxHO0lBQUEsQ0FBQSxDQUFBLENBQ0EsRUFFUnJHLFNBQVMsSUFBSWhFLFdBQVcsSUFBSyxZQUFLO01BQ2pDLElBQU1zSyxTQUFTLEdBQ2IsSUFBQVQsZUFBQSxFQUFDVSwyQkFBb0IsRUFBQTtRQUFDMUcsT0FBTyxFQUFFQSxPQUFPO1FBQUUyRyxLQUFLLEVBQUUsS0FBSztRQUFFQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQUVDLFdBQVcsRUFBRSxLQUFLO1FBQUFqQixRQUFBLEVBQ3hGLElBQUFGLGdCQUFBLEVBQUEsS0FBQSxFQUFBNU8sTUFBQSxDQUFBK08sTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNeEUsZ0JBQWdCLENBQUM7VUFDbkJyRixHQUFHLEVBQUVzRSxXQUFXO1VBQ2hCL0ksU0FBUyxFQUFFLElBQUEyTixtQkFBTyxFQUFDOUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFbkIsY0FBYyxDQUFDO1VBQ3BEdkQsS0FBSyxFQUFBWixNQUFBLENBQUErTyxNQUFBLENBQUEvTyxNQUFBLENBQUErTyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU81RixjQUFjLENBQUEsRUFBS0MsZ0JBQWdCO1FEclAzQyxDQ3NQTCxDQUFDLEVBQUE7VUFBQTBGLFFBQUEsRUFBQSxDQUVEdE0sVUFBVSxJQUNULElBQUEwTSxlQUFBLEVBQUNjLCtCQUFtQixFQUFBO1lBQ2xCOUssR0FBRyxFQUFFNkYsaUJBQWlCO1lBQ3RCekYsT0FBTyxFQUFFQSxPQUFPO1lBQ2hCO1lBQ0E5RCxJQUFJLEVBQUMsT0FBTztZQUNaTixXQUFXLEVBQUV3QixpQkFBaUI7WUFDOUJyQixLQUFLLEVBQUVtRixnQkFBZ0I7WUFDdkJ5SixnQkFBZ0IsRUFBRTNCLGNBQWM7WUFDaEN6SixNQUFNLEVBQUVzSSxnQkFBZ0I7WUFDeEJ6SSxRQUFRLEVBQUUwSSxrQkFBa0I7WUFDNUI2QixTQUFTLEVBQUV0QjtVQUFtQixDQUFBLENBRWpDLEVBQ0QsSUFBQWlCLGdCQUFBLEVBQUEsS0FBQSxFQUFBO1lBQUtuTyxTQUFTLEVBQUU2RSxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQUF3SixRQUFBLEVBQUEsQ0FDbENwTCxXQUFXLElBQUksSUFBSSxJQUNsQixJQUFBd0wsZUFBQSxFQUFBLEtBQUEsRUFBQTtjQUFLek8sU0FBUyxFQUFFNkUsT0FBTyxDQUFDLGNBQWMsQ0FBQztjQUFBd0osUUFBQSxFQUFHcEw7WUFBVyxDQUFBLENBQ3RELEVBQ0E4RCxrQkFBa0IsQ0FBQ0ksTUFBTSxLQUFLLENBQUMsR0FDOUIsSUFBQXNILGVBQUEsRUFBQSxLQUFBLEVBQUE7Y0FBS3pPLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxPQUFPLENBQUM7Y0FBQXdKLFFBQUEsRUFDOUIsSUFBQUksZUFBQSxFQUFDZ0IsMEJBQWMsRUFBQTtnQkFBQzFPLElBQUksRUFBRTJPLDRCQUFpQixDQUFDQyxLQUFLLENBQUM1TyxJQUFJO2dCQUFFa08sS0FBSyxFQUFFUyw0QkFBaUIsQ0FBQ0MsS0FBSyxDQUFDVixLQUFLO2dCQUFBWixRQUFBLEVBQUdyTDtjQUFZLENBQUE7WUFBa0IsQ0FBQSxDQUNySCxHQUVMLFlBQUs7Y0FDSixJQUFJNE0sU0FBUyxHQUFHLENBQUM7Y0FFakIsT0FBTy9JLG1CQUFtQixDQUFDZ0osR0FBRyxDQUFDLFVBQUNDLEtBQUs7Z0JBQUEsT0FDbkMsSUFBQTNCLGdCQUFBLEVBQUEsS0FBQSxFQUFBO2tCQUFxQm5PLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxPQUFPLENBQUM7a0JBQUF3SixRQUFBLEVBQUEsQ0FDN0N5QixLQUFLLENBQUN2TixLQUFLLElBQ1YsSUFBQWtNLGVBQUEsRUFBQSxLQUFBLEVBQUE7b0JBQUt6TyxTQUFTLEVBQUU2RSxPQUFPLENBQUMsYUFBYSxFQUFFakIsbUJBQW1CLENBQUM7b0JBQUF5SyxRQUFBLEVBQ3pELElBQUFJLGVBQUEsRUFBQ3NCLDJCQUFlLEVBQUE7c0JBQUNoUCxJQUFJLEVBQUUyTyw0QkFBaUIsQ0FBQ00sVUFBVSxDQUFDalAsSUFBSTtzQkFBRWtQLE1BQU0sRUFBQSxJQUFBO3NCQUFBNUIsUUFBQSxFQUFFeUIsS0FBSyxDQUFDdk47b0JBQUssQ0FBQTtrQkFBbUIsQ0FBQSxDQUVuRyxFQUNBdU4sS0FBSyxDQUFDblAsT0FBTyxDQUFDa1AsR0FBRyxDQUFDLFVBQUN2SSxNQUFNLEVBQUk7b0JBQzVCLElBQU00SSxlQUFlLEdBQUdOLFNBQVM7b0JBQ2pDQSxTQUFTLElBQUksQ0FBQztvQkFFZCxJQUFNTyxRQUFRLEdBQUcsSUFBQUMsdUJBQWdCLEVBQUN6SyxVQUFVLEVBQUUvRCxRQUFRLEVBQUUwRixNQUFNLENBQUMxRyxLQUFLLENBQUM7b0JBQ3JFLElBQU15UCxNQUFNLEdBQUdqSyxXQUFXLEtBQUs4SixlQUFlO29CQUM5QyxJQUFNSSxVQUFVLEdBQTJCO3NCQUN6Q0QsTUFBTSxFQUFOQSxNQUFNO3NCQUNOaFAsUUFBUSxFQUFFLENBQUMsQ0FBQ2lHLE1BQU0sQ0FBQ2pHLFFBQVE7c0JBQzNCaUwsS0FBSyxFQUFFNEQsZUFBZTtzQkFDdEJ0TyxRQUFRLEVBQVJBLFFBQVE7c0JBQ1J1QixJQUFJLEVBQUVpRixTQUFTO3NCQUNmK0gsUUFBUSxFQUFSQSxRQUFRO3NCQUNSN0MsUUFBUSxFQUFFLElBQUFDLGtCQUFXLEVBQUNqSCxjQUFjO29CRHJSWixDQ3NSekI7b0JBRURvQixjQUFjLENBQUNPLE9BQU8sQ0FBQ2lJLGVBQWUsQ0FBQyxHQUFHLElBQUFLLHdCQUFpQixFQUFDakosTUFBTSxDQUFDO29CQUVuRSxPQUNFLElBQUFtSCxlQUFBLEVBQUEsUUFBQSxFQUFBbFAsTUFBQSxDQUFBK08sTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUVNdkUsWUFBWSxDQUFDO3NCQUNmdEYsR0FBRyxXQUFIQSxHQUFHQSxDQUFDdUQsSUFBOEIsRUFBQTt3QkFDaENSLE9BQU8sQ0FBQ1MsT0FBTyxDQUFDaUksZUFBZSxDQUFDLEdBQUdsSSxJQUFJO3NCQUN6QyxDQUFDO3NCQUNENUgsRUFBRSxLQUFBdUosTUFBQSxDQUFLdEUsY0FBYyxPQUFBc0UsTUFBQSxDQUFJdUcsZUFBZSxDQUFFO3NCQUMxQzNCLElBQUksRUFBRSxRQUFRO3NCQUNkaUMsSUFBSSxFQUFFLFFBQVE7c0JBQ2R4USxTQUFTLEVBQUU2RSxPQUFPLENBQ2hCLFFBQVEsRUFDUixJQUFBOEksbUJBQU8sRUFDTDBDLE1BQU0sSUFBSXhMLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFDbENzTCxRQUFRLElBQUl0TCxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFDdEN5QyxNQUFNLENBQUNqRyxRQUFRLElBQUl3RCxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFDN0NsQixlQUFlLENBQ2hCLENBQ0Y7c0JBQ0R0QyxRQUFRLEVBQUVpRyxNQUFNLENBQUNqRyxRQUFRO3NCQUN6QixlQUFlLEVBQUU4TyxRQUFRO3NCQUN6Qk0sT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdoRyxLQUF5QyxFQUFJO3dCQUNyREEsS0FBSyxDQUFDeUIsY0FBYyxDQUFBLENBQUU7d0JBQ3RCZCxrQkFBa0IsQ0FBQzlELE1BQU0sQ0FBQztzQkFDNUIsQ0FBQztzQkFDRG9KLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO3dCQUFBLE9BQVFyRSxvQkFBb0IsQ0FBQzZELGVBQWUsQ0FBQztzQkFBQTtzQkFDekQ5TCxNQUFNLEVBQUU0RztvQkRsU1ksQ0NtU3JCLENBQUMsRUFBQTtzQkFBQXFELFFBQUEsRUFFRC9KLFlBQVksR0FDWEEsWUFBWSxDQUFDZ0QsTUFBTSxFQUFFZ0osVUFBVSxDQUFDLEdBRWhDLElBQUE3QixlQUFBLEVBQUNrQywrQkFBbUIsRUFBQTt3QkFDbEI5TCxPQUFPLEVBQUVBLE9BQU87d0JBQ2hCeUMsTUFBTSxFQUFFQSxNQUFNO3dCQUNkNkksUUFBUSxFQUFFQSxRQUFRO3dCQUNsQnBQLElBQUksRUFBRXVGLGNBQWM7d0JBQ3BCc0ssT0FBTyxFQUFFck0sbUJBQW1CLEtBQUEsSUFBQSxJQUFuQkEsbUJBQW1CLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQW5CQSxtQkFBbUIsQ0FBRytDLE1BQU0sRUFBRWdKLFVBQVU7c0JBQUMsQ0FBQTtvQkFFckQsQ0FBQSxDQUFBLEtBQUEzRyxNQUFBLENBckNPbUcsS0FBSyxDQUFDaEUsR0FBRyxPQUFBbkMsTUFBQSxDQUFJckMsTUFBTSxDQUFDMUcsS0FBSyxDQUFFLENBc0M1QjtrQkFFYixDQUFDLENBQUM7Z0JBQUEsQ0FBQSxFQWxFTWtQLEtBQUssQ0FBQ2hFLEdBQUcsQ0FtRWI7Y0FBQSxDQUNQLENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSDtVQUFBLENBQUEsQ0FDRyxFQUNMNUksV0FBVyxJQUFJLElBQUksSUFDbEIsSUFBQXVMLGVBQUEsRUFBQSxLQUFBLEVBQUE7WUFBS3pPLFNBQVMsRUFBRTZFLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFBQXdKLFFBQUEsRUFBR25MO1VBQVcsQ0FBQSxDQUN0RDtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FFVDtNQUVELE9BQU9LLE1BQU0sR0FBRyxJQUFBa0wsZUFBQSxFQUFDb0MscUJBQWMsRUFBQTtRQUFBeEMsUUFBQSxFQUFFYTtNQUFTLENBQUEsQ0FBa0IsR0FBR0EsU0FBUztJQUMxRSxDQUFDLENBQUMsQ0FBRTtFQUFBLENBQUEsQ0FDYTtBQUV2QixDQUFDO0FBRUR2UCxNQUFNLENBQUNtUixXQUFXLEdBQUcsUUFBUTtBQUFDLElBQUFDLFFBQUEsR0FBQW5SLE9BQUEsMkJBRWYsSUFBQW9SLFlBQUksRUFBQ3JSLE1BQU0sQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgRmxvYXRpbmdGb2N1c01hbmFnZXIsIEZsb2F0aW5nUG9ydGFsLCB1c2VJbnRlcmFjdGlvbnMsIHVzZUxpc3ROYXZpZ2F0aW9uLCB1c2VUeXBlYWhlYWQsIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IG1lbW8sIHVzZUVmZmVjdCwgdXNlSWQsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyB1c2VGb3JtQ29udHJvbFNpemUgfSBmcm9tICcuLi9Gb3JtTGF5b3V0L2NvbnRleHQnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IFNlbGVjdE9wdGlvbkNvbnRlbnQgZnJvbSAnLi9TZWxlY3RPcHRpb25Db250ZW50JztcbmltcG9ydCBTZWxlY3RTZWFyY2hDb250cm9sIGZyb20gJy4vU2VsZWN0U2VhcmNoQ29udHJvbCc7XG5pbXBvcnQgU2VsZWN0VmFsdWVDb250ZW50IGZyb20gJy4vU2VsZWN0VmFsdWVDb250ZW50JztcbmltcG9ydCB7IHVzZVNlbGVjdFNoZWxsIH0gZnJvbSAnLi91c2VTZWxlY3RTaGVsbCc7XG5pbXBvcnQgeyBLRVlCT0FSRCwgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0T3B0aW9uVGV4dCwgZmlsdGVyT3B0aW9uR3JvdXBzLCBmbGF0dGVuT3B0aW9uR3JvdXBzLCBnZXRNdWx0aXBsZVZhbHVlLCBnZXRGb250U2l6ZSwgZ2V0T3B0aW9uc0J5VmFsdWVzLCBnZXRTZWxlY3RlZE9wdGlvbnMsIGlzT3B0aW9uU2VsZWN0ZWQsIG5vcm1hbGl6ZVNpemUsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcywgcmVtb3ZlTXVsdGlwbGVWYWx1ZSwgdG9nZ2xlTXVsdGlwbGVWYWx1ZSwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHBsYWNlaG9sZGVyID0gJ1ZhbHVlJywgb3B0aW9ucyA9IFtdLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBzaXplOiBzaXplUHJvcCwgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIHJlYWRPbmx5ID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbXVsdGlwbGUgPSBmYWxzZSwgbWF4VmlzaWJsZVZhbHVlcywgc2VhcmNoYWJsZSA9IGZhbHNlLCBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnLCBzZWFyY2hWYWx1ZSwgZGVmYXVsdFNlYXJjaFZhbHVlID0gJycsIGZpbHRlcklucHV0QXV0b0ZvY3VzID0gdHJ1ZSwgbGFiZWwsIGxhYmVsQ2xhc3NOYW1lLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gdHJ1ZSwgcHJlZml4LCBlbXB0eUNvbnRlbnQgPSAnTm8gb3B0aW9ucycsIHBhbmVsSGVhZGVyLCBwYW5lbEZvb3Rlciwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgcG9ydGFsID0gdHJ1ZSwgYWxsb3dEZXNlbGVjdCA9IGZhbHNlLCBwYW5lbENsYXNzTmFtZSwgb3B0aW9uQ2xhc3NOYW1lLCBncm91cExhYmVsQ2xhc3NOYW1lLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9NQVhfSEVJR0hULCBvZmZzZXQsIGFuaW1hdGlvbiwgb25DaGFuZ2UsIG9uT3BlbkNoYW5nZSwgb25TZWFyY2hDaGFuZ2UsIG9uQmx1ciwgZmlsdGVyT3B0aW9uLCByZW5kZXJPcHRpb24sIHJlbmRlck9wdGlvbkNvbnRlbnQsIHJlbmRlclZhbHVlLCByZWYsIH0gPSBwcm9wcztcbiAgICAvLyBCYXJlLWNvbnRyb2wgc2l6ZSBkZWZhdWx0OiBhbiBleHBsaWNpdCBgc2l6ZWAgd2luczsgaW5zaWRlIGEgRm9ybUxheW91dFxuICAgIC8vIHRoZSB2YXJpYW50J3MgY29udHJvbFNpemUgYXBwbGllczsgZWxzZXdoZXJlICdsYXJnZScuXG4gICAgY29uc3QgY29udGV4dFNpemUgPSB1c2VGb3JtQ29udHJvbFNpemUoKTtcbiAgICBjb25zdCBzaXplID0gKF9hID0gc2l6ZVByb3AgIT09IG51bGwgJiYgc2l6ZVByb3AgIT09IHZvaWQgMCA/IHNpemVQcm9wIDogY29udGV4dFNpemUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdsYXJnZSc7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBpbnRlcmFjdGl2ZSA9ICFkaXNhYmxlZCAmJiAhcmVhZE9ubHk7XG4gICAgY29uc3QgY2xhc3NlcyA9IHJvb3RDbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCB0cmlnZ2VySWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgbGFiZWxJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZmVlZGJhY2tJZCA9IHVzZUlkKCk7XG4gICAgY29uc3Qgb3B0aW9uSWRQcmVmaXggPSB1c2VJZCgpO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB2b2lkIDAgPyBkZWZhdWx0VmFsdWUgOiAobXVsdGlwbGUgPyBbXSA6IHVuZGVmaW5lZCksIHZhbHVlKTtcbiAgICBjb25zdCBbaW5uZXJTZWFyY2hWYWx1ZSwgc2V0SW5uZXJTZWFyY2hWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFNlYXJjaFZhbHVlLCBzZWFyY2hWYWx1ZSk7XG4gICAgY29uc3QgW2FjdGl2ZUluZGV4LCBzZXRBY3RpdmVJbmRleF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2l6ZSA9IG5vcm1hbGl6ZVNpemUoc2l6ZSk7XG4gICAgY29uc3QgYWxsT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiBub3JtYWxpemVPcHRpb25Hcm91cHMob3B0aW9ucyksIFtvcHRpb25zXSk7XG4gICAgY29uc3QgYWxsRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHZpc2libGVPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IChzZWFyY2hhYmxlXG4gICAgICAgID8gZmlsdGVyT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcywgaW5uZXJTZWFyY2hWYWx1ZSwgZmlsdGVyT3B0aW9uKVxuICAgICAgICA6IGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHMsIGZpbHRlck9wdGlvbiwgaW5uZXJTZWFyY2hWYWx1ZSwgc2VhcmNoYWJsZV0pO1xuICAgIGNvbnN0IHZpc2libGVGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3Vwcyh2aXNpYmxlT3B0aW9uR3JvdXBzKSwgW3Zpc2libGVPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGdldFNlbGVjdGVkT3B0aW9ucyhhbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGUpLCBbYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF0Y2hlZEluZGV4ID0gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHNlbGVjdGVkT3B0aW9uc1swXS52YWx1ZSk7XG4gICAgICAgIHJldHVybiBtYXRjaGVkSW5kZXggPj0gMCA/IG1hdGNoZWRJbmRleCA6IG51bGw7XG4gICAgfSwgW3NlbGVjdGVkT3B0aW9ucywgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgY29uc3QgaGFzU2VsZWN0aW9uID0gc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgbGlzdENvbnRlbnRSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGZsb2F0aW5nUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRyaWdnZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlclJlZiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgcmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgeyBpc09wZW46IGlubmVyT3Blbiwgc2V0T3BlbjogaGFuZGxlT3BlbkNoYW5nZSwgcmVmcywgY29udGV4dCwgZmxvYXRpbmdTdHlsZXMsIHRyYW5zaXRpb25TdHlsZXMsIGlzTW91bnRlZCwgYmFzZUludGVyYWN0aW9ucywgfSA9IHVzZVNlbGVjdFNoZWxsKHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgZGVmYXVsdE9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHJlYWRPbmx5LFxuICAgICAgICBsaXN0TWF4SGVpZ2h0LFxuICAgICAgICBhbmltYXRpb24sXG4gICAgICAgIG9mZnNldCxcbiAgICB9KTtcbiAgICBjb25zdCBzZXRSZWZlcmVuY2UgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0UmVmZXJlbmNlKG5vZGUpO1xuICAgICAgICBoYW5kbGVUcmlnZ2VyUmVmKG5vZGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldEZsb2F0aW5nID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldEZsb2F0aW5nKG5vZGUpO1xuICAgICAgICBmbG9hdGluZ1JlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBsaXN0TmF2aWdhdGlvbiA9IHVzZUxpc3ROYXZpZ2F0aW9uKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIG9uTmF2aWdhdGU6IHNldEFjdGl2ZUluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4sXG4gICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgIHZpcnR1YWw6IHNlYXJjaGFibGUsXG4gICAgfSk7XG4gICAgY29uc3QgdHlwZWFoZWFkID0gdXNlVHlwZWFoZWFkKGNvbnRleHQsIHtcbiAgICAgICAgbGlzdFJlZjogbGlzdENvbnRlbnRSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBlbmFibGVkOiBpbm5lck9wZW4gJiYgIXNlYXJjaGFibGUsXG4gICAgICAgIG9uTWF0Y2g6IHNldEFjdGl2ZUluZGV4LFxuICAgIH0pO1xuICAgIGNvbnN0IHsgZ2V0UmVmZXJlbmNlUHJvcHMsIGdldEZsb2F0aW5nUHJvcHMsIGdldEl0ZW1Qcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKFtcbiAgICAgICAgLi4uYmFzZUludGVyYWN0aW9ucyxcbiAgICAgICAgbGlzdE5hdmlnYXRpb24sXG4gICAgICAgIHR5cGVhaGVhZCxcbiAgICBdKTtcbiAgICBjb25zdCBmaXJzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiAhb3B0aW9uLmRpc2FibGVkKSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghaW5uZXJPcGVuKSB7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRBY3RpdmVJbmRleCgocHJldikgPT4ge1xuICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwgJiYgdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdICYmICF2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZpcnN0RW5hYmxlZEluZGV4ID49IDAgPyBmaXJzdEVuYWJsZWRJbmRleCA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0sIFtmaXJzdEVuYWJsZWRJbmRleCwgaW5uZXJPcGVuLCBzZWxlY3RlZEluZGV4LCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghaW5uZXJPcGVuIHx8IGFjdGl2ZUluZGV4ID09PSBudWxsIHx8IHNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAoX2EgPSBsaXN0UmVmLmN1cnJlbnRbYWN0aXZlSW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0sIFthY3RpdmVJbmRleCwgaW5uZXJPcGVuLCBzZWFyY2hhYmxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGlzdFJlZi5jdXJyZW50ID0gbGlzdFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgICAgICBsaXN0Q29udGVudFJlZi5jdXJyZW50ID0gbGlzdENvbnRlbnRSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICB9LCBbdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aF0pO1xuICAgIGNvbnN0IHNldFNlYXJjaElucHV0UmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICBzZWFyY2hJbnB1dFJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgaWYgKG5vZGUgJiYgaW5uZXJPcGVuICYmIGZpbHRlcklucHV0QXV0b0ZvY3VzKSB7XG4gICAgICAgICAgICBub2RlLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IG5vdGlmeUJsdXJJZk91dHNpZGUgPSB1c2VFdmVudENhbGxiYWNrKChyZWxhdGVkVGFyZ2V0LCBldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBuZXh0VGFyZ2V0ID0gcmVsYXRlZFRhcmdldDtcbiAgICAgICAgY29uc3Qgd2l0aGluVHJpZ2dlciA9ICEhKG5leHRUYXJnZXQgJiYgKChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGNvbnN0IHdpdGhpbkZsb2F0aW5nID0gISEobmV4dFRhcmdldCAmJiAoKF9iID0gZmxvYXRpbmdSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGlmICghd2l0aGluVHJpZ2dlciAmJiAhd2l0aGluRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihldmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZU9wdGlvbkJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBjb21taXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0VmFsdWUsIG5leHRPcHRpb24pID0+IHtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9uLCBuYW1lKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSB1c2VFdmVudENhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKG9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdG9nZ2xlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsbG93RGVzZWxlY3QgJiYgaW5uZXJWYWx1ZSA9PT0gb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb21taXRDaGFuZ2Uob3B0aW9uLnZhbHVlLCBvcHRpb24pO1xuICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgIChfYiA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFtdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZ2V0TXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlKS5pbmNsdWRlcyhvcHRpb25WYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSByZW1vdmVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvblZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghaW50ZXJhY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELlNQQUNFKSB7XG4gICAgICAgICAgICBpZiAoaW5uZXJPcGVuICYmXG4gICAgICAgICAgICAgICAgYWN0aXZlSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbih2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSghaW5uZXJPcGVuKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJdGVtTW91c2VFbnRlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlQ2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBfZXZlbnQpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBmaW5kRW5hYmxlZEluZGV4ID0gdXNlRXZlbnRDYWxsYmFjaygoY3VycmVudCwgZGlyZWN0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aDtcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQgIT09IHZvaWQgMCA/IGN1cnJlbnQgOiAoZGlyZWN0aW9uID09PSAxID8gLTEgOiBsZW5ndGgpO1xuICAgICAgICBmb3IgKGxldCBzdGVwID0gMTsgc3RlcCA8PSBsZW5ndGg7IHN0ZXAgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlID0gKChzdGFydCArIGRpcmVjdGlvbiAqIHN0ZXApICUgbGVuZ3RoICsgbGVuZ3RoKSAlIGxlbmd0aDtcbiAgICAgICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tjYW5kaWRhdGVdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IGZpbmRFbmFibGVkSW5kZXgoYWN0aXZlSW5kZXgsIDEpO1xuICAgICAgICAgICAgaWYgKG5leHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVJbmRleChuZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19VUCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXYgPSBmaW5kRW5hYmxlZEluZGV4KGFjdGl2ZUluZGV4LCAtMSk7XG4gICAgICAgICAgICBpZiAocHJldiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KHByZXYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVOVEVSKSB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbih2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FU0NBUEUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHJlbmRlclZhbHVlTWV0YSA9IHtcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHJlYWRPbmx5LFxuICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyxcbiAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICBwbGFjZWhvbGRlcjogIWhhc1NlbGVjdGlvbixcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLFxuICAgICAgICBzaXplOiBub3JtYWxpemVkU2l6ZSxcbiAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCA9IChtdWx0aXBsZSAmJlxuICAgICAgICBoYXNTZWxlY3Rpb24gJiZcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgIC8vIEEgY3VzdG9tIGByZW5kZXJWYWx1ZWAgcHJvZHVjZXMgaXRzIG93biBzaW5nbGUtbGluZSBzdW1tYXJ5LCBzbyB0aGVcbiAgICAgICAgLy8gbXVsdGktdmFsdWUgY2hpcCBsYXlvdXQgKGhlaWdodDphdXRvICsgdmVydGljYWwgcGFkZGluZyArIGZsZXgtd3JhcClcbiAgICAgICAgLy8gbXVzdCBub3Qga2ljayBpbiBhbmQgaW5mbGF0ZSB0aGUgdHJpZ2dlciBoZWlnaHQuXG4gICAgICAgICFyZW5kZXJWYWx1ZSk7XG4gICAgY29uc3QgdHJpZ2dlckNsYXNzTmFtZSA9IGNsYXNzZXMoJ3RyaWdnZXInLCBqb2luQ2xzKGNsYXNzZXMoYHRyaWdnZXItJHtub3JtYWxpemVkU2l6ZX1gKSwgY2xhc3NlcyhgdHJpZ2dlci0ke3ZhcmlhbnR9YCksIGlubmVyT3BlbiAmJiBjbGFzc2VzKCd0cmlnZ2VyLW9wZW4nKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItbXVsdGlwbGUtZmlsbGVkJyksIGhhc1NlbGVjdGlvbiA/IGNsYXNzZXMoJ3RyaWdnZXItZmlsbGVkJykgOiBjbGFzc2VzKCd0cmlnZ2VyLXBsYWNlaG9sZGVyJyksIHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYHRyaWdnZXItJHtzdGF0dXN9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItZGlzYWJsZWQnKSwgcmVhZE9ubHkgJiYgIWRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItcmVhZG9ubHknKSkpO1xuICAgIGNvbnN0IGljb25TaXplID0gbm9ybWFsaXplZFNpemUgPT09ICdsYXJnZScgPyAyMCA6IDE2O1xuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbklkID0gc2VhcmNoYWJsZSAmJiBpbm5lck9wZW4gJiYgYWN0aXZlSW5kZXggIT09IG51bGxcbiAgICAgICAgPyBgJHtvcHRpb25JZFByZWZpeH0tJHthY3RpdmVJbmRleH1gXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnkgPSBhcmlhTGFiZWxsZWRCeSAhPT0gbnVsbCAmJiBhcmlhTGFiZWxsZWRCeSAhPT0gdm9pZCAwID8gYXJpYUxhYmVsbGVkQnkgOiAobGFiZWwgPyBsYWJlbElkIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkcyA9IFtcbiAgICAgICAgZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbklkIDogbnVsbCxcbiAgICAgICAgZmVlZGJhY2sgPyBmZWVkYmFja0lkIDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiAoX2pzeHMoU2VsZWN0RmllbGRTaGVsbCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgc2l6ZTogbm9ybWFsaXplZFNpemUsIHZhcmlhbnQ6IHZhcmlhbnQsIHN0YXR1czogc3RhdHVzLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAnYXJpYS1yZWFkb25seSc6IHJlYWRPbmx5IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVUcmlnZ2VyS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZVRyaWdnZXJCbHVyLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVkQnlJZHMsXG4gICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZhbHVlTGFiZWxDbGFzcywgam9pbkNscyhjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tJHtub3JtYWxpemVkU2l6ZX1gKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1tdWx0aXBsZWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogX2pzeChTZWxlY3RWYWx1ZUNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3NlcywgaGFzU2VsZWN0aW9uOiBoYXNTZWxlY3Rpb24sIG11bHRpcGxlOiBtdWx0aXBsZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIHJlbmRlclZhbHVlTWV0YTogcmVuZGVyVmFsdWVNZXRhLCBzZWxlY3RlZE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucywgbWF4VmlzaWJsZVZhbHVlczogbWF4VmlzaWJsZVZhbHVlcywgb25SZW1vdmU6IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUsIG9uUmVtb3ZlQ2xpY2s6IGhhbmRsZVRhZ1JlbW92ZUNsaWNrLCBvblJlbW92ZU1vdXNlRG93bjogaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIH0pIH0pXSB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9qc3goU3Bpbm5lciwgeyBzaXplOiBpY29uU2l6ZSwgc3Ryb2tlV2lkdGg6IDIgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogaW5uZXJPcGVuID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSldIH0pKSwgaXNNb3VudGVkICYmIGludGVyYWN0aXZlICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCB0cmFuc2l0aW9uU3R5bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtzZWFyY2hhYmxlICYmIChfanN4KFNlbGVjdFNlYXJjaENvbnRyb2wsIHsgcmVmOiBzZXRTZWFyY2hJbnB1dFJlZiwgY2xhc3NlczogY2xhc3NlcywgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNpemU9e25vcm1hbGl6ZWRTaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBcInNtYWxsXCIsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIGFjdGl2ZURlc2NlbmRhbnQ6IGFjdGl2ZU9wdGlvbklkLCBvbkJsdXI6IGhhbmRsZVNlYXJjaEJsdXIsIG9uQ2hhbmdlOiBoYW5kbGVTZWFyY2hDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlU2VhcmNoS2V5RG93biB9KSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiBbcGFuZWxIZWFkZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBwYW5lbEhlYWRlciB9KSksIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggPT09IDAgPyAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZW1wdHknKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuc2l6ZSwgY29sb3I6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LmNvbG9yLCBjaGlsZHJlbjogZW1wdHlDb250ZW50IH0pIH0pKSA6ICgoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmbGF0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnLCBncm91cExhYmVsQ2xhc3NOYW1lKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uRmxhdEluZGV4ID0gZmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBhY3RpdmVJbmRleCA9PT0gb3B0aW9uRmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICEhb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtvcHRpb25JZFByZWZpeH0tJHtvcHRpb25GbGF0SW5kZXh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbicsIGpvaW5DbHMoYWN0aXZlICYmIGNsYXNzZXMoJ29wdGlvbi1hY3RpdmUnKSwgc2VsZWN0ZWQgJiYgY2xhc3Nlcygnb3B0aW9uLXNlbGVjdGVkJyksIG9wdGlvbi5kaXNhYmxlZCAmJiBjbGFzc2VzKCdvcHRpb24tZGlzYWJsZWQnKSwgb3B0aW9uQ2xhc3NOYW1lKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUl0ZW1Nb3VzZUVudGVyKG9wdGlvbkZsYXRJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlT3B0aW9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCwgc2l6ZTogbm9ybWFsaXplZFNpemUsIGNvbnRlbnQ6IHJlbmRlck9wdGlvbkNvbnRlbnQgPT09IG51bGwgfHwgcmVuZGVyT3B0aW9uQ29udGVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVuZGVyT3B0aW9uQ29udGVudChvcHRpb24sIG9wdGlvbk1ldGEpIH0pKSB9KSwgYCR7Z3JvdXAua2V5fS0ke29wdGlvbi52YWx1ZX1gKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSldIH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsID8gX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogcGFuZWxOb2RlIH0pIDogcGFuZWxOb2RlO1xuICAgICAgICAgICAgfSkoKV0gfSkpO1xufTtcblNlbGVjdC5kaXNwbGF5TmFtZSA9ICdTZWxlY3QnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -17,8 +17,7 @@ var _SelectFieldShell = _interopRequireDefault(require("./SelectFieldShell"));
|
|
|
17
17
|
var _useSelectShell2 = require("./useSelectShell");
|
|
18
18
|
var _utils = require("./utils");
|
|
19
19
|
require("./style");
|
|
20
|
-
function
|
|
21
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
20
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
22
21
|
var DEFAULT_MAX_HEIGHT = 320;
|
|
23
22
|
var isRenderableTemplate = function isRenderableTemplate(value) {
|
|
24
23
|
return value !== null && value !== undefined && value !== false;
|
|
@@ -245,4 +244,4 @@ var SelectCustom = exports.SelectCustom = function SelectCustom(props) {
|
|
|
245
244
|
};
|
|
246
245
|
SelectCustom.displayName = 'SelectCustom';
|
|
247
246
|
var _default = exports["default"] = /*#__PURE__*/(0, _react2.memo)(SelectCustom);
|
|
248
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl91c2VFdmVudENhbGxiYWNrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JY29ucyIsIl9TcGlubmVyIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9TZWxlY3RGaWVsZFNoZWxsIiwiX3VzZVNlbGVjdFNoZWxsMiIsIl91dGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRFRkFVTFRfTUFYX0hFSUdIVCIsImlzUmVuZGVyYWJsZVRlbXBsYXRlIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJTZWxlY3RDdXN0b20iLCJleHBvcnRzIiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJkaXNhYmxlZFByb3AiLCJfcHJvcHMkcmVhZE9ubHkiLCJyZWFkT25seSIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsImxhYmVsIiwibGFiZWxDbGFzc05hbWUiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJzZWxlY3RlZFRlbXBsYXRlIiwiX3Byb3BzJGFycm93IiwiYXJyb3ciLCJvcGVuIiwiX3Byb3BzJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcHJvcHMkcG9ydGFsIiwicG9ydGFsIiwicGFuZWxDbGFzc05hbWUiLCJwYW5lbEZvb3RlciIsIl9wcm9wcyRsaXN0TWF4SGVpZ2h0IiwibGlzdE1heEhlaWdodCIsInBsYWNlbWVudCIsInBhbmVsV2lkdGgiLCJvZmZzZXQiLCJfcHJvcHMkcm9sZSIsInJvbGUiLCJyb2xlUHJvcCIsImFuaW1hdGlvbiIsIm9uT3BlbkNoYW5nZSIsIm9uQmx1ciIsImNoaWxkcmVuIiwicmVmIiwiaW50ZXJhY3RpdmUiLCJjbGFzc2VzIiwicm9vdENsYXNzbmFtZXMiLCJhdXRvSWQiLCJ1c2VJZCIsInRyaWdnZXJJZCIsImxhYmVsSWQiLCJkZXNjcmlwdGlvbklkIiwiZmVlZGJhY2tJZCIsIm5vcm1hbGl6ZWRTaXplIiwibm9ybWFsaXplU2l6ZSIsImZsb2F0aW5nUmVmIiwidXNlUmVmIiwidHJpZ2dlclJlZiIsImhhbmRsZVRyaWdnZXJSZWYiLCJ1c2VFdmVudENhbGxiYWNrIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJ1c2VTZWxlY3RTaGVsbCIsImlzT3BlbiIsInNldE9wZW4iLCJyZWZzIiwiY29udGV4dCIsImZsb2F0aW5nU3R5bGVzIiwidHJhbnNpdGlvblN0eWxlcyIsImlzTW91bnRlZCIsImJhc2VJbnRlcmFjdGlvbnMiLCJzZXRSZWZlcmVuY2UiLCJzZXRGbG9hdGluZyIsIl91c2VJbnRlcmFjdGlvbnMiLCJ1c2VJbnRlcmFjdGlvbnMiLCJnZXRSZWZlcmVuY2VQcm9wcyIsImdldEZsb2F0aW5nUHJvcHMiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2EiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiY2xvc2UiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJ0cmlnZ2VyQ29udGVudCIsImZvbnRTaXplIiwiZ2V0Rm9udFNpemUiLCJoYXNTZWxlY3Rpb24iLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiam9pbkNscyIsImNvbmNhdCIsImljb25TaXplIiwiZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSIsImRlc2NyaWJlZEJ5SWRzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJwYW5lbEN0eCIsInBhbmVsQm9keSIsIl9qc3hzIiwiU2VsZWN0RmllbGRTaGVsbCIsImFzc2lnbiIsInR5cGUiLCJfanN4IiwiU3Bpbm5lciIsInN0cm9rZVdpZHRoIiwiSWNvbnMiLCJjb2xvciIsInBhbmVsTm9kZSIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwibW9kYWwiLCJpbml0aWFsRm9jdXMiLCJyZXR1cm5Gb2N1cyIsIkZsb2F0aW5nUG9ydGFsIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQVIsT0FBQTtBQUdBLElBQUFTLGlCQUFBLEdBQUFMLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVSxnQkFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsTUFBQSxHQUFBWCxPQUFBO0FBQ0FBLE9BQUE7QUFBaUIsU0FBQVkseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFMLHdCQUFBSyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBRWpCLElBQU1XLGtCQUFrQixHQUFHLEdBQUc7QUFFOUIsSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBSUMsS0FBYztFQUFBLE9BQzFDQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsSUFBSUQsS0FBSyxLQUFLLEtBQUs7QUFBQTtBQUVuRCxJQUFNRSxZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFBQSxHQUEwQixTQUF0Q0EsWUFBWUEsQ0FBMkJFLEtBQUssRUFBSTtFQUMzRCxJQUFBQyxnQkFBQSxHQXVDSUQsS0FBSyxDQXRDUEUsU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsRUFBRSxHQUFBQSxnQkFBQTtJQUFBRSxnQkFBQSxHQXNDWkgsS0FBSyxDQXJDUEksU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsUUFBUSxHQUFBQSxnQkFBQTtJQUNwQkUsS0FBSyxHQW9DSEwsS0FBSyxDQXBDUEssS0FBSztJQUNMQyxFQUFFLEdBbUNBTixLQUFLLENBbkNQTSxFQUFFO0lBQ0ZDLElBQUksR0FrQ0ZQLEtBQUssQ0FsQ1BPLElBQUk7SUFDVUMsU0FBUyxHQWlDckJSLEtBQUssQ0FqQ1AsWUFBWTtJQUNPUyxjQUFjLEdBZ0MvQlQsS0FBSyxDQWhDUCxpQkFBaUI7SUFBQVUsV0FBQSxHQWdDZlYsS0FBSyxDQS9CUFcsSUFBSTtJQUFKQSxJQUFJLEdBQUFELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFBQUUsYUFBQSxHQStCWlosS0FBSyxDQTlCUGEsTUFBTTtJQUFOQSxNQUFNLEdBQUFELGFBQUEsY0FBRyxTQUFTLEdBQUFBLGFBQUE7SUFBQUUsY0FBQSxHQThCaEJkLEtBQUssQ0E3QlBlLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsTUFBTSxHQUFBQSxjQUFBO0lBQUFFLGVBQUEsR0E2QmRoQixLQUFLLENBNUJQaUIsUUFBUTtJQUFFQyxZQUFZLEdBQUFGLGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFBQUcsZUFBQSxHQTRCNUJuQixLQUFLLENBM0JQb0IsUUFBUTtJQUFSQSxRQUFRLEdBQUFELGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFBQUUsY0FBQSxHQTJCZHJCLEtBQUssQ0ExQlBzQixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLEtBQUssR0FBQUEsY0FBQTtJQUNmRSxLQUFLLEdBeUJIdkIsS0FBSyxDQXpCUHVCLEtBQUs7SUFDTEMsY0FBYyxHQXdCWnhCLEtBQUssQ0F4QlB3QixjQUFjO0lBQ2RDLElBQUksR0F1QkZ6QixLQUFLLENBdkJQeUIsSUFBSTtJQUNKQyxXQUFXLEdBc0JUMUIsS0FBSyxDQXRCUDBCLFdBQVc7SUFDWEMsUUFBUSxHQXFCTjNCLEtBQUssQ0FyQlAyQixRQUFRO0lBQUFDLGVBQUEsR0FxQk41QixLQUFLLENBcEJQNkIsUUFBUTtJQUFSQSxRQUFRLEdBQUFELGVBQUEsY0FBRyxJQUFJLEdBQUFBLGVBQUE7SUFDZkUsTUFBTSxHQW1CSjlCLEtBQUssQ0FuQlA4QixNQUFNO0lBQUFDLGtCQUFBLEdBbUJKL0IsS0FBSyxDQWxCUGdDLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxrQkFBQSxjQUFHLE9BQU8sR0FBQUEsa0JBQUE7SUFDckJFLGdCQUFnQixHQWlCZGpDLEtBQUssQ0FqQlBpQyxnQkFBZ0I7SUFBQUMsWUFBQSxHQWlCZGxDLEtBQUssQ0FoQlBtQyxLQUFLO0lBQUxBLEtBQUssR0FBQUQsWUFBQSxjQUFHLElBQUksR0FBQUEsWUFBQTtJQUNaRSxJQUFJLEdBZUZwQyxLQUFLLENBZlBvQyxJQUFJO0lBQUFDLGtCQUFBLEdBZUZyQyxLQUFLLENBZFBzQyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lBQUFFLGFBQUEsR0FjakJ2QyxLQUFLLENBYlB3QyxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsYUFBQSxjQUFHLElBQUksR0FBQUEsYUFBQTtJQUNiRSxjQUFjLEdBWVp6QyxLQUFLLENBWlB5QyxjQUFjO0lBQ2RDLFdBQVcsR0FXVDFDLEtBQUssQ0FYUDBDLFdBQVc7SUFBQUMsb0JBQUEsR0FXVDNDLEtBQUssQ0FWUDRDLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxvQkFBQSxjQUFHakQsa0JBQWtCLEdBQUFpRCxvQkFBQTtJQUNsQ0UsU0FBUyxHQVNQN0MsS0FBSyxDQVRQNkMsU0FBUztJQUNUQyxVQUFVLEdBUVI5QyxLQUFLLENBUlA4QyxVQUFVO0lBQ1ZDLE1BQU0sR0FPSi9DLEtBQUssQ0FQUCtDLE1BQU07SUFBQUMsV0FBQSxHQU9KaEQsS0FBSyxDQU5QaUQsSUFBSTtJQUFFQyxRQUFRLEdBQUFGLFdBQUEsY0FBRyxRQUFRLEdBQUFBLFdBQUE7SUFDekJHLFNBQVMsR0FLUG5ELEtBQUssQ0FMUG1ELFNBQVM7SUFDVEMsWUFBWSxHQUlWcEQsS0FBSyxDQUpQb0QsWUFBWTtJQUNaQyxNQUFNLEdBR0pyRCxLQUFLLENBSFBxRCxNQUFNO0lBQ05DLFFBQVEsR0FFTnRELEtBQUssQ0FGUHNELFFBQVE7SUFDUkMsR0FBRyxHQUNEdkQsS0FBSyxDQURQdUQsR0FBRztFQUVMLElBQU10QyxRQUFRLEdBQUdDLFlBQVksSUFBSUksT0FBTztFQUN4QyxJQUFNa0MsV0FBVyxHQUFHLENBQUN2QyxRQUFRLElBQUksQ0FBQ0csUUFBUTtFQUUxQyxJQUFNcUMsT0FBTyxHQUFHLElBQUFDLHNCQUFjLEVBQUN0RCxTQUFTLENBQUM7RUFDekMsSUFBTXVELE1BQU0sR0FBRyxJQUFBQyxhQUFLLEVBQUEsQ0FBRTtFQUN0QixJQUFNQyxTQUFTLEdBQUd2RCxFQUFFLEtBQUEsSUFBQSxJQUFGQSxFQUFFLEtBQUEsS0FBQSxDQUFBLEdBQUZBLEVBQUUsR0FBSXFELE1BQU07RUFDOUIsSUFBTUcsT0FBTyxHQUFHLElBQUFGLGFBQUssRUFBQSxDQUFFO0VBQ3ZCLElBQU1HLGFBQWEsR0FBRyxJQUFBSCxhQUFLLEVBQUEsQ0FBRTtFQUM3QixJQUFNSSxVQUFVLEdBQUcsSUFBQUosYUFBSyxFQUFBLENBQUU7RUFFMUIsSUFBTUssY0FBYyxHQUFHLElBQUFDLG9CQUFhLEVBQUN2RCxJQUFJLENBQUM7RUFDMUMsSUFBTXdELFdBQVcsR0FBRyxJQUFBQyxjQUFNLEVBQXdCLElBQUksQ0FBQztFQUN2RCxJQUFNQyxVQUFVLEdBQUcsSUFBQUQsY0FBTSxFQUEyQixJQUFJLENBQUM7RUFFekQsSUFBTUUsZ0JBQWdCLEdBQUcsSUFBQUMsNEJBQWdCLEVBQUMsVUFBQ0MsSUFBOEIsRUFBSTtJQUMzRUgsVUFBVSxDQUFDSSxPQUFPLEdBQUdELElBQUk7SUFDekIsSUFBSWpCLEdBQUcsRUFBRTtNQUNOQSxHQUE2QyxDQUFDa0IsT0FBTyxHQUFHRCxJQUFJO0lBQy9EO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBQUUsZUFBQSxHQVNJLElBQUFDLCtCQUFjLEVBQW9CO01BQ3BDdkMsSUFBSSxFQUFKQSxJQUFJO01BQ0pFLFdBQVcsRUFBWEEsV0FBVztNQUNYYyxZQUFZLEVBQVpBLFlBQVk7TUFDWm5DLFFBQVEsRUFBUkEsUUFBUTtNQUNSRyxRQUFRLEVBQVJBLFFBQVE7TUFDUnlCLFNBQVMsRUFBVEEsU0FBUztNQUNUQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkYsYUFBYSxFQUFiQSxhQUFhO01BQ2JPLFNBQVMsRUFBVEEsU0FBUztNQUNURixJQUFJLEVBQUVDLFFBQVE7TUFDZEgsTUFBTSxFQUFOQTtJRHhEQSxDQ3lERCxDQUFDO0lBcEJBNkIsTUFBTSxHQUFBRixlQUFBLENBQU5FLE1BQU07SUFDTkMsT0FBTyxHQUFBSCxlQUFBLENBQVBHLE9BQU87SUFDUEMsSUFBSSxHQUFBSixlQUFBLENBQUpJLElBQUk7SUFDSkMsT0FBTyxHQUFBTCxlQUFBLENBQVBLLE9BQU87SUFDUEMsY0FBYyxHQUFBTixlQUFBLENBQWRNLGNBQWM7SUFDZEMsZ0JBQWdCLEdBQUFQLGVBQUEsQ0FBaEJPLGdCQUFnQjtJQUNoQkMsU0FBUyxHQUFBUixlQUFBLENBQVRRLFNBQVM7SUFDVEMsZ0JBQWdCLEdBQUFULGVBQUEsQ0FBaEJTLGdCQUFnQjtFQWVsQixJQUFNQyxZQUFZLEdBQUcsSUFBQWIsNEJBQWdCLEVBQUMsVUFBQ0MsSUFBOEIsRUFBSTtJQUN2RU0sSUFBSSxDQUFDTSxZQUFZLENBQUNaLElBQUksQ0FBQztJQUN2QkYsZ0JBQWdCLENBQUNFLElBQUksQ0FBQztFQUN4QixDQUFDLENBQUM7RUFFRixJQUFNYSxXQUFXLEdBQUcsSUFBQWQsNEJBQWdCLEVBQUMsVUFBQ0MsSUFBMkIsRUFBSTtJQUNuRU0sSUFBSSxDQUFDTyxXQUFXLENBQUNiLElBQUksQ0FBQztJQUN0QkwsV0FBVyxDQUFDTSxPQUFPLEdBQUdELElBQUk7RUFDNUIsQ0FBQyxDQUFDO0VBRUYsSUFBQWMsZ0JBQUEsR0FBZ0QsSUFBQUMsc0JBQWUsRUFBQ0osZ0JBQWdCLENBQUM7SUFBekVLLGlCQUFpQixHQUFBRixnQkFBQSxDQUFqQkUsaUJBQWlCO0lBQUVDLGdCQUFnQixHQUFBSCxnQkFBQSxDQUFoQkcsZ0JBQWdCO0VBRTNDLElBQU1DLG1CQUFtQixHQUFHLElBQUFuQiw0QkFBZ0IsRUFDMUMsVUFBQ29CLGFBQWlDLEVBQUVDLEtBQStCLEVBQUk7SUQ3RG5FLElBQUlDLEVBQUUsRUFBRUMsRUFBRTtJQzhEWixJQUFNQyxVQUFVLEdBQUdKLGFBQTRCO0lBQy9DLElBQU1LLGFBQWEsR0FBRyxDQUFDLEVBQUVELFVBQVUsS0FBSSxDQUFBRixFQUFBLEdBQUF4QixVQUFVLENBQUNJLE9BQU8sTUFBQSxJQUFBLElBQUFvQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUksUUFBUSxDQUFDRixVQUFVLENBQUMsQ0FBQSxDQUFDO0lBQ2hGLElBQU1HLGNBQWMsR0FBRyxDQUFDLEVBQUVILFVBQVUsS0FBSSxDQUFBRCxFQUFBLEdBQUEzQixXQUFXLENBQUNNLE9BQU8sTUFBQSxJQUFBLElBQUFxQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUcsUUFBUSxDQUFDRixVQUFVLENBQUMsQ0FBQSxDQUFDO0lBRWxGLElBQUksQ0FBQ0MsYUFBYSxJQUFJLENBQUNFLGNBQWMsRUFBRTtNQUNyQzdDLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFHdUMsS0FBSyxDQUFDO0lBQ2pCO0VBQ0YsQ0FBQyxDQUNGO0VBRUQsSUFBTU8saUJBQWlCLEdBQUcsSUFBQTVCLDRCQUFnQixFQUFDLFVBQUNxQixLQUFvQyxFQUFJO0lBQ2xGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTVEsS0FBSyxHQUFHLElBQUE3Qiw0QkFBZ0IsRUFBQyxZQUFLO0lEaEU5QixJQUFJc0IsRUFBRTtJQ2lFVmhCLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDZCxDQUFBZ0IsRUFBQSxHQUFBeEIsVUFBVSxDQUFDSSxPQUFPLE1BQUEsSUFBQSxJQUFBb0IsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVRLEtBQUssQ0FBQztNQUFFQyxhQUFhLEVBQUU7SUFBSSxDQUFFLENBQUM7RUFDcEQsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsY0FBYyxHQUNsQixPQUFPdEUsZ0JBQWdCLEtBQUssVUFBVSxHQUNsQ0EsZ0JBQWdCLENBQUM7SUFDZkcsSUFBSSxFQUFFd0MsTUFBTTtJQUNaM0QsUUFBUSxFQUFSQSxRQUFRO0lBQ1JHLFFBQVEsRUFBUkEsUUFBUTtJQUNSVCxJQUFJLEVBQUVzRCxjQUFjO0lBQ3BCdUMsUUFBUSxFQUFFLElBQUFDLGtCQUFXLEVBQUN4QyxjQUFjO0VEakV0QyxDQ2tFQyxDQUFDLEdBQ0ZoQyxnQkFBZ0I7RUFDdEIsSUFBTXlFLFlBQVksR0FBRy9HLG9CQUFvQixDQUFDNEcsY0FBYyxDQUFDO0VBRXpELElBQU1JLGVBQWUsR0FBR0QsWUFBWSxHQUFHLE9BQU8sR0FBRyxhQUFhO0VBQzlELElBQU1FLGdCQUFnQixHQUFHbkQsT0FBTyxDQUM5QixTQUFTLEVBQ1QsSUFBQW9ELG1CQUFPLEVBQ0xwRCxPQUFPLFlBQUFxRCxNQUFBLENBQVk3QyxjQUFjLENBQUUsQ0FBQyxFQUNwQ1IsT0FBTyxZQUFBcUQsTUFBQSxDQUFZL0YsT0FBTyxDQUFFLENBQUMsRUFDN0I2RCxNQUFNLElBQUluQixPQUFPLENBQUMsY0FBYyxDQUFDLEVBQ2pDaUQsWUFBWSxHQUFHakQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUdBLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN6RTVDLE1BQU0sS0FBSyxTQUFTLElBQUk0QyxPQUFPLFlBQUFxRCxNQUFBLENBQVlqRyxNQUFNLENBQUUsQ0FBQyxFQUNwREksUUFBUSxJQUFJd0MsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQ3ZDckMsUUFBUSxJQUFJLENBQUNILFFBQVEsSUFBSXdDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUNyRCxDQUNGO0VBQ0QsSUFBTXNELFFBQVEsR0FBRzlDLGNBQWMsS0FBSyxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDckQsSUFBTStDLHNCQUFzQixHQUFHdkcsY0FBYyxLQUFBLElBQUEsSUFBZEEsY0FBYyxLQUFBLEtBQUEsQ0FBQSxHQUFkQSxjQUFjLEdBQUtjLEtBQUssR0FBR3VDLE9BQU8sR0FBR2pFLFNBQVU7RUFDOUUsSUFBTW9ILGNBQWMsR0FDbEIsQ0FBQ3ZGLFdBQVcsR0FBR3FDLGFBQWEsR0FBRyxJQUFJLEVBQUVwQyxRQUFRLEdBQUdxQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQy9Ea0QsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FDZkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJdkgsU0FBUztFQUUzQixJQUFNd0gsUUFBUSxHQUE2QjtJQUN6Q2pCLEtBQUssRUFBTEEsS0FBSztJQUNMaEUsSUFBSSxFQUFFd0MsTUFBTTtJQUNaakUsSUFBSSxFQUFFc0QsY0FBYztJQUNwQnVDLFFBQVEsRUFBRSxJQUFBQyxrQkFBVyxFQUFDeEMsY0FBYztFRC9FcEMsQ0NnRkQ7RUFDRCxJQUFNcUQsU0FBUyxHQUFHLE9BQU9oRSxRQUFRLEtBQUssVUFBVSxHQUFHQSxRQUFRLENBQUMrRCxRQUFRLENBQUMsR0FBRy9ELFFBQVE7RUFFaEYsT0FDRSxJQUFBaUUsZ0JBQUEsRUFBQ0MsNEJBQWdCLEVBQUE7SUFDZi9ELE9BQU8sRUFBRUEsT0FBTztJQUNoQnZELFNBQVMsRUFBRUEsU0FBUztJQUNwQlMsSUFBSSxFQUFFc0QsY0FBYztJQUNwQmxELE9BQU8sRUFBRUEsT0FBTztJQUNoQkYsTUFBTSxFQUFFQSxNQUFNO0lBQ2RJLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkcsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCRSxPQUFPLEVBQUVBLE9BQU87SUFDaEJDLEtBQUssRUFBRUEsS0FBSztJQUNaQyxjQUFjLEVBQUVBLGNBQWM7SUFDOUJDLElBQUksRUFBRUEsSUFBSTtJQUNWQyxXQUFXLEVBQUVBLFdBQVc7SUFDeEJDLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkUsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCaUMsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCQyxhQUFhLEVBQUVBLGFBQWE7SUFDNUJDLFVBQVUsRUFBRUEsVUFBVTtJQUFBVixRQUFBLEVBQUEsQ0FFdEIsSUFBQWlFLGdCQUFBLEVBQUEsUUFBQSxFQUFBckksTUFBQSxDQUFBdUksTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNakMsaUJBQWlCLENBQUM7TUFDcEJqQyxHQUFHLEVBQUU2QixZQUFZO01BQ2pCOUUsRUFBRSxFQUFFdUQsU0FBUztNQUNiNkQsSUFBSSxFQUFFLFFBQVE7TUFDZG5ILElBQUksRUFBSkEsSUFBSTtNQUNKVSxRQUFRLEVBQVJBLFFBQVE7TUFDUixlQUFlLEVBQUVHLFFBQVEsSUFBSXZCLFNBQVM7TUFDdENRLEtBQUssRUFBTEEsS0FBSztNQUNMSCxTQUFTLEVBQUUwRyxnQkFBZ0I7TUFDM0J2RCxNQUFNLEVBQUU4QyxpQkFBaUI7TUFDekIsWUFBWSxFQUFFM0YsU0FBUztNQUN2QixpQkFBaUIsRUFBRXdHLHNCQUFzQjtNQUN6QyxrQkFBa0IsRUFBRUM7SURyR2xCLENDc0dILENBQUMsRUFBQTtNQUFBM0QsUUFBQSxFQUFBLENBRUYsSUFBQWlFLGdCQUFBLEVBQUEsTUFBQSxFQUFBO1FBQU1ySCxTQUFTLEVBQUV1RCxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQUFILFFBQUEsRUFBQSxDQUNoQ3hCLE1BQU0sSUFBSSxJQUFBNkYsZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUFNekgsU0FBUyxFQUFFdUQsT0FBTyxDQUFDLFFBQVEsQ0FBQztVQUFBSCxRQUFBLEVBQUd4QjtRQUFNLENBQUEsQ0FBUSxFQUM5RCxJQUFBNkYsZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUNFekgsU0FBUyxFQUFFdUQsT0FBTyxDQUNoQmtELGVBQWUsRUFDZixJQUFBRSxtQkFBTyxFQUNMcEQsT0FBTyxJQUFBcUQsTUFBQSxDQUFJSCxlQUFlLE9BQUFHLE1BQUEsQ0FBSTdDLGNBQWMsQ0FBRSxDQUFDLEVBQy9DaEQsUUFBUSxJQUFJd0MsT0FBTyxJQUFBcUQsTUFBQSxDQUFJSCxlQUFlLGNBQVcsQ0FBQyxDQUNuRCxDQUNGO1VBQUFyRCxRQUFBLEVBRUFvRCxZQUFZLEdBQUdILGNBQWMsR0FBR3ZFO1FBQVcsQ0FBQSxDQUN2QztNQUFBLENBQUEsQ0FDRixFQUNORyxLQUFLLElBQ0osSUFBQXdGLGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFBTXpILFNBQVMsRUFBRXVELE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBQUgsUUFBQSxFQUU1QmhDLE9BQU8sR0FDSCxJQUFBcUcsZUFBQSxFQUFDQyxnQkFBTyxFQUFBO1VBQUNqSCxJQUFJLEVBQUVvRyxRQUFRO1VBQUVjLFdBQVcsRUFBRTtRQUFDLENBQUEsQ0FBSSxHQUMzQ3pHLFFBQVEsR0FDTixJQUFJLEdBQ0osSUFBQXVHLGVBQUEsRUFBQ0csWUFBSyxFQUFBO1VBQUN2SCxJQUFJLEVBQUVxRSxNQUFNLEdBQUcsV0FBVyxHQUFHLGFBQWE7VUFBRWpFLElBQUksRUFBRW9HLFFBQVE7VUFBRWdCLEtBQUssRUFBQztRQUFjLENBQUE7TUFBRyxDQUFBLENBR3JHO0lBQUEsQ0FBQSxDQUFBLENBQ00sRUFFUjdDLFNBQVMsSUFBSTFCLFdBQVcsSUFBSyxZQUFLO01BQ2pDLElBQU13RSxTQUFTLEdBQ2IsSUFBQUwsZUFBQSxFQUFDTSwyQkFBb0IsRUFBQTtRQUNuQmxELE9BQU8sRUFBRUEsT0FBTztRQUNoQm1ELEtBQUssRUFBRSxLQUFLO1FBQ1pDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEJDLFdBQVcsRUFBRSxLQUFLO1FBQUE5RSxRQUFBLEVBRWxCLElBQUFpRSxnQkFBQSxFQUFBLEtBQUEsRUFBQXJJLE1BQUEsQ0FBQXVJLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTWhDLGdCQUFnQixDQUFDO1VBQ25CbEMsR0FBRyxFQUFFOEIsV0FBVztVQUNoQm5GLFNBQVMsRUFBRSxJQUFBMkcsbUJBQU8sRUFBQ3BELE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRWhCLGNBQWMsQ0FBQztVQUNwRHBDLEtBQUssRUFBQW5CLE1BQUEsQ0FBQXVJLE1BQUEsQ0FBQXZJLE1BQUEsQ0FBQXVJLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBT3pDLGNBQWMsQ0FBQSxFQUFLQyxnQkFBZ0I7UUR0STNDLENDdUlMLENBQUMsRUFBQTtVQUFBM0IsUUFBQSxFQUFBLENBRUYsSUFBQXFFLGVBQUEsRUFBQSxLQUFBLEVBQUE7WUFBS3pILFNBQVMsRUFBRXVELE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFBQUgsUUFBQSxFQUFHZ0U7VUFBUyxDQUFBLENBQU8sRUFDdkQ1RSxXQUFXLElBQUksSUFBSSxJQUNsQixJQUFBaUYsZUFBQSxFQUFBLEtBQUEsRUFBQTtZQUFLekgsU0FBUyxFQUFFdUQsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUFBSCxRQUFBLEVBQUdaO1VBQVcsQ0FBQSxDQUN0RDtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FFVDtNQUVELE9BQU9GLE1BQU0sR0FBRyxJQUFBbUYsZUFBQSxFQUFDVSxxQkFBYyxFQUFBO1FBQUEvRSxRQUFBLEVBQUUwRTtNQUFTLENBQUEsQ0FBa0IsR0FBR0EsU0FBUztJQUMxRSxDQUFDLENBQUMsQ0FBRTtFQUFBLENBQUEsQ0FDYTtBQUV2QixDQUFDO0FBRURsSSxZQUFZLENBQUN3SSxXQUFXLEdBQUcsY0FBYztBQUFDLElBQUFDLFFBQUEsR0FBQXhJLE9BQUEsMkJBRTNCLElBQUF5SSxZQUFJLEVBQUMxSSxZQUFZLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0Q3VzdG9tLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgdXNlSW50ZXJhY3Rpb25zIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IG1lbW8sIHVzZUlkLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IHsgdXNlU2VsZWN0U2hlbGwgfSBmcm9tICcuL3VzZVNlbGVjdFNoZWxsJztcbmltcG9ydCB7IGdldEZvbnRTaXplLCBub3JtYWxpemVTaXplIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgREVGQVVMVF9NQVhfSEVJR0hUID0gMzIwO1xuY29uc3QgaXNSZW5kZXJhYmxlVGVtcGxhdGUgPSAodmFsdWUpID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IGZhbHNlO1xuZXhwb3J0IGNvbnN0IFNlbGVjdEN1c3RvbSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkOiBkaXNhYmxlZFByb3AgPSBmYWxzZSwgcmVhZE9ubHkgPSBmYWxzZSwgbG9hZGluZyA9IGZhbHNlLCBsYWJlbCwgbGFiZWxDbGFzc05hbWUsIGluZm8sIGRlc2NyaXB0aW9uLCBmZWVkYmFjaywgcmVxdWlyZWQgPSB0cnVlLCBwcmVmaXgsIHBsYWNlaG9sZGVyID0gJ1ZhbHVlJywgc2VsZWN0ZWRUZW1wbGF0ZSwgYXJyb3cgPSB0cnVlLCBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBwb3J0YWwgPSB0cnVlLCBwYW5lbENsYXNzTmFtZSwgcGFuZWxGb290ZXIsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIHBsYWNlbWVudCwgcGFuZWxXaWR0aCwgb2Zmc2V0LCByb2xlOiByb2xlUHJvcCA9ICdkaWFsb2cnLCBhbmltYXRpb24sIG9uT3BlbkNoYW5nZSwgb25CbHVyLCBjaGlsZHJlbiwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBpbnRlcmFjdGl2ZSA9ICFkaXNhYmxlZCAmJiAhcmVhZE9ubHk7XG4gICAgY29uc3QgY2xhc3NlcyA9IHJvb3RDbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCB0cmlnZ2VySWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgbGFiZWxJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZmVlZGJhY2tJZCA9IHVzZUlkKCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNpemUgPSBub3JtYWxpemVTaXplKHNpemUpO1xuICAgIGNvbnN0IGZsb2F0aW5nUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRyaWdnZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlclJlZiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgcmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgeyBpc09wZW4sIHNldE9wZW4sIHJlZnMsIGNvbnRleHQsIGZsb2F0aW5nU3R5bGVzLCB0cmFuc2l0aW9uU3R5bGVzLCBpc01vdW50ZWQsIGJhc2VJbnRlcmFjdGlvbnMsIH0gPSB1c2VTZWxlY3RTaGVsbCh7XG4gICAgICAgIG9wZW4sXG4gICAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICByZWFkT25seSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBwYW5lbFdpZHRoLFxuICAgICAgICBsaXN0TWF4SGVpZ2h0LFxuICAgICAgICBhbmltYXRpb24sXG4gICAgICAgIHJvbGU6IHJvbGVQcm9wLFxuICAgICAgICBvZmZzZXQsXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmZXJlbmNlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgaGFuZGxlVHJpZ2dlclJlZihub2RlKTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGbG9hdGluZyA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRGbG9hdGluZyhub2RlKTtcbiAgICAgICAgZmxvYXRpbmdSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKGJhc2VJbnRlcmFjdGlvbnMpO1xuICAgIGNvbnN0IG5vdGlmeUJsdXJJZk91dHNpZGUgPSB1c2VFdmVudENhbGxiYWNrKChyZWxhdGVkVGFyZ2V0LCBldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBuZXh0VGFyZ2V0ID0gcmVsYXRlZFRhcmdldDtcbiAgICAgICAgY29uc3Qgd2l0aGluVHJpZ2dlciA9ICEhKG5leHRUYXJnZXQgJiYgKChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGNvbnN0IHdpdGhpbkZsb2F0aW5nID0gISEobmV4dFRhcmdldCAmJiAoKF9iID0gZmxvYXRpbmdSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGlmICghd2l0aGluVHJpZ2dlciAmJiAhd2l0aGluRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihldmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNsb3NlID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgICBjb25zdCB0cmlnZ2VyQ29udGVudCA9IHR5cGVvZiBzZWxlY3RlZFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gc2VsZWN0ZWRUZW1wbGF0ZSh7XG4gICAgICAgICAgICBvcGVuOiBpc09wZW4sXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgc2l6ZTogbm9ybWFsaXplZFNpemUsXG4gICAgICAgICAgICBmb250U2l6ZTogZ2V0Rm9udFNpemUobm9ybWFsaXplZFNpemUpLFxuICAgICAgICB9KVxuICAgICAgICA6IHNlbGVjdGVkVGVtcGxhdGU7XG4gICAgY29uc3QgaGFzU2VsZWN0aW9uID0gaXNSZW5kZXJhYmxlVGVtcGxhdGUodHJpZ2dlckNvbnRlbnQpO1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IHRyaWdnZXJDbGFzc05hbWUgPSBjbGFzc2VzKCd0cmlnZ2VyJywgam9pbkNscyhjbGFzc2VzKGB0cmlnZ2VyLSR7bm9ybWFsaXplZFNpemV9YCksIGNsYXNzZXMoYHRyaWdnZXItJHt2YXJpYW50fWApLCBpc09wZW4gJiYgY2xhc3NlcygndHJpZ2dlci1vcGVuJyksIGhhc1NlbGVjdGlvbiA/IGNsYXNzZXMoJ3RyaWdnZXItZmlsbGVkJykgOiBjbGFzc2VzKCd0cmlnZ2VyLXBsYWNlaG9sZGVyJyksIHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYHRyaWdnZXItJHtzdGF0dXN9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItZGlzYWJsZWQnKSwgcmVhZE9ubHkgJiYgIWRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItcmVhZG9ubHknKSkpO1xuICAgIGNvbnN0IGljb25TaXplID0gbm9ybWFsaXplZFNpemUgPT09ICdsYXJnZScgPyAyMCA6IDE2O1xuICAgIGNvbnN0IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnkgPSBhcmlhTGFiZWxsZWRCeSAhPT0gbnVsbCAmJiBhcmlhTGFiZWxsZWRCeSAhPT0gdm9pZCAwID8gYXJpYUxhYmVsbGVkQnkgOiAobGFiZWwgPyBsYWJlbElkIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkcyA9IFtkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLCBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBhbmVsQ3R4ID0ge1xuICAgICAgICBjbG9zZSxcbiAgICAgICAgb3BlbjogaXNPcGVuLFxuICAgICAgICBzaXplOiBub3JtYWxpemVkU2l6ZSxcbiAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICB9O1xuICAgIGNvbnN0IHBhbmVsQm9keSA9IHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkcmVuKHBhbmVsQ3R4KSA6IGNoaWxkcmVuO1xuICAgIHJldHVybiAoX2pzeHMoU2VsZWN0RmllbGRTaGVsbCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgc2l6ZTogbm9ybWFsaXplZFNpemUsIHZhcmlhbnQ6IHZhcmlhbnQsIHN0YXR1czogc3RhdHVzLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAnYXJpYS1yZWFkb25seSc6IHJlYWRPbmx5IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1kaXNhYmxlZGApKSksIGNoaWxkcmVuOiBoYXNTZWxlY3Rpb24gPyB0cmlnZ2VyQ29udGVudCA6IHBsYWNlaG9sZGVyIH0pXSB9KSwgYXJyb3cgJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIGNoaWxkcmVuOiBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfanN4KFNwaW5uZXIsIHsgc2l6ZTogaWNvblNpemUsIHN0cm9rZVdpZHRoOiAyIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZWFkT25seVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KEljb25zLCB7IG5hbWU6IGlzT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pIH0pKV0gfSkpLCBpc01vdW50ZWQgJiYgaW50ZXJhY3RpdmUgJiYgKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYW5lbE5vZGUgPSAoX2pzeChGbG9hdGluZ0ZvY3VzTWFuYWdlciwgeyBjb250ZXh0OiBjb250ZXh0LCBtb2RhbDogZmFsc2UsIGluaXRpYWxGb2N1czogLTEsIHJldHVybkZvY3VzOiBmYWxzZSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEZsb2F0aW5nUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBzZXRGbG9hdGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCdwYW5lbCcpLCBwYW5lbENsYXNzTmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBmbG9hdGluZ1N0eWxlcyksIHRyYW5zaXRpb25TdHlsZXMpLFxuICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWJvZHknKSwgY2hpbGRyZW46IHBhbmVsQm9keSB9KSwgcGFuZWxGb290ZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtZm9vdGVyJyksIGNoaWxkcmVuOiBwYW5lbEZvb3RlciB9KSldIH0pKSB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBvcnRhbCA/IF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IHBhbmVsTm9kZSB9KSA6IHBhbmVsTm9kZTtcbiAgICAgICAgICAgIH0pKCldIH0pKTtcbn07XG5TZWxlY3RDdXN0b20uZGlzcGxheU5hbWUgPSAnU2VsZWN0Q3VzdG9tJztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0Q3VzdG9tKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
247
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl91c2VFdmVudENhbGxiYWNrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JY29ucyIsIl9TcGlubmVyIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9TZWxlY3RGaWVsZFNoZWxsIiwiX3VzZVNlbGVjdFNoZWxsMiIsIl91dGlscyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiaXNSZW5kZXJhYmxlVGVtcGxhdGUiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsIlNlbGVjdEN1c3RvbSIsImV4cG9ydHMiLCJwcm9wcyIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic3R5bGUiLCJpZCIsIm5hbWUiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyRzdGF0dXMiLCJzdGF0dXMiLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsImRpc2FibGVkUHJvcCIsIl9wcm9wcyRyZWFkT25seSIsInJlYWRPbmx5IiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwibGFiZWwiLCJsYWJlbENsYXNzTmFtZSIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGVkVGVtcGxhdGUiLCJfcHJvcHMkYXJyb3ciLCJhcnJvdyIsIm9wZW4iLCJfcHJvcHMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIl9wcm9wcyRwb3J0YWwiLCJwb3J0YWwiLCJwYW5lbENsYXNzTmFtZSIsInBhbmVsRm9vdGVyIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0IiwicGxhY2VtZW50IiwicGFuZWxXaWR0aCIsIm9mZnNldCIsIl9wcm9wcyRyb2xlIiwicm9sZSIsInJvbGVQcm9wIiwiYW5pbWF0aW9uIiwib25PcGVuQ2hhbmdlIiwib25CbHVyIiwiY2hpbGRyZW4iLCJyZWYiLCJpbnRlcmFjdGl2ZSIsImNsYXNzZXMiLCJyb290Q2xhc3NuYW1lcyIsImF1dG9JZCIsInVzZUlkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwibm9ybWFsaXplZFNpemUiLCJub3JtYWxpemVTaXplIiwiZmxvYXRpbmdSZWYiLCJ1c2VSZWYiLCJ0cmlnZ2VyUmVmIiwiaGFuZGxlVHJpZ2dlclJlZiIsInVzZUV2ZW50Q2FsbGJhY2siLCJub2RlIiwiY3VycmVudCIsIl91c2VTZWxlY3RTaGVsbCIsInVzZVNlbGVjdFNoZWxsIiwiaXNPcGVuIiwic2V0T3BlbiIsInJlZnMiLCJjb250ZXh0IiwiZmxvYXRpbmdTdHlsZXMiLCJ0cmFuc2l0aW9uU3R5bGVzIiwiaXNNb3VudGVkIiwiYmFzZUludGVyYWN0aW9ucyIsInNldFJlZmVyZW5jZSIsInNldEZsb2F0aW5nIiwiX3VzZUludGVyYWN0aW9ucyIsInVzZUludGVyYWN0aW9ucyIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsIm5vdGlmeUJsdXJJZk91dHNpZGUiLCJyZWxhdGVkVGFyZ2V0IiwiZXZlbnQiLCJfYSIsIl9iIiwibmV4dFRhcmdldCIsIndpdGhpblRyaWdnZXIiLCJjb250YWlucyIsIndpdGhpbkZsb2F0aW5nIiwiaGFuZGxlVHJpZ2dlckJsdXIiLCJjbG9zZSIsImZvY3VzIiwicHJldmVudFNjcm9sbCIsInRyaWdnZXJDb250ZW50IiwiZm9udFNpemUiLCJnZXRGb250U2l6ZSIsImhhc1NlbGVjdGlvbiIsInZhbHVlTGFiZWxDbGFzcyIsInRyaWdnZXJDbGFzc05hbWUiLCJqb2luQ2xzIiwiY29uY2F0IiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhbmVsQ3R4IiwicGFuZWxCb2R5IiwiX2pzeHMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiYXNzaWduIiwidHlwZSIsIl9qc3giLCJTcGlubmVyIiwic3Ryb2tlV2lkdGgiLCJJY29ucyIsImNvbG9yIiwicGFuZWxOb2RlIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiRmxvYXRpbmdQb3J0YWwiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBQyx1QkFBQSxDQUFBUixPQUFBO0FBR0EsSUFBQVMsaUJBQUEsR0FBQUwsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFVLGdCQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxNQUFBLEdBQUFYLE9BQUE7QUFD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LDJCQUUzQixJQUFBeUksWUFBSSxFQUFDMUksWUFBWSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIHVzZUludGVyYWN0aW9ucyB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VJZCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uL1NwaW5uZXInO1xuaW1wb3J0IHsgam9pbkNscywgZGVmYXVsdCBhcyByb290Q2xhc3NuYW1lcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IFNlbGVjdEZpZWxkU2hlbGwgZnJvbSAnLi9TZWxlY3RGaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVNlbGVjdFNoZWxsIH0gZnJvbSAnLi91c2VTZWxlY3RTaGVsbCc7XG5pbXBvcnQgeyBnZXRGb250U2l6ZSwgbm9ybWFsaXplU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IERFRkFVTFRfTUFYX0hFSUdIVCA9IDMyMDtcbmNvbnN0IGlzUmVuZGVyYWJsZVRlbXBsYXRlID0gKHZhbHVlKSA9PiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBmYWxzZTtcbmV4cG9ydCBjb25zdCBTZWxlY3RDdXN0b20gPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgc3R5bGUsIGlkLCBuYW1lLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCwgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LCBzaXplID0gJ2xhcmdlJywgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIHJlYWRPbmx5ID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbGFiZWwsIGxhYmVsQ2xhc3NOYW1lLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gdHJ1ZSwgcHJlZml4LCBwbGFjZWhvbGRlciA9ICdWYWx1ZScsIHNlbGVjdGVkVGVtcGxhdGUsIGFycm93ID0gdHJ1ZSwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgcG9ydGFsID0gdHJ1ZSwgcGFuZWxDbGFzc05hbWUsIHBhbmVsRm9vdGVyLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9NQVhfSEVJR0hULCBwbGFjZW1lbnQsIHBhbmVsV2lkdGgsIG9mZnNldCwgcm9sZTogcm9sZVByb3AgPSAnZGlhbG9nJywgYW5pbWF0aW9uLCBvbk9wZW5DaGFuZ2UsIG9uQmx1ciwgY2hpbGRyZW4sIHJlZiwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGRpc2FibGVkID0gZGlzYWJsZWRQcm9wIHx8IGxvYWRpbmc7XG4gICAgY29uc3QgaW50ZXJhY3RpdmUgPSAhZGlzYWJsZWQgJiYgIXJlYWRPbmx5O1xuICAgIGNvbnN0IGNsYXNzZXMgPSByb290Q2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgdHJpZ2dlcklkID0gaWQgIT09IG51bGwgJiYgaWQgIT09IHZvaWQgMCA/IGlkIDogYXV0b0lkO1xuICAgIGNvbnN0IGxhYmVsSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGZlZWRiYWNrSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRTaXplID0gbm9ybWFsaXplU2l6ZShzaXplKTtcbiAgICBjb25zdCBmbG9hdGluZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0cmlnZ2VyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHsgaXNPcGVuLCBzZXRPcGVuLCByZWZzLCBjb250ZXh0LCBmbG9hdGluZ1N0eWxlcywgdHJhbnNpdGlvblN0eWxlcywgaXNNb3VudGVkLCBiYXNlSW50ZXJhY3Rpb25zLCB9ID0gdXNlU2VsZWN0U2hlbGwoe1xuICAgICAgICBvcGVuLFxuICAgICAgICBkZWZhdWx0T3BlbixcbiAgICAgICAgb25PcGVuQ2hhbmdlLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgcmVhZE9ubHksXG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgcGFuZWxXaWR0aCxcbiAgICAgICAgbGlzdE1heEhlaWdodCxcbiAgICAgICAgYW5pbWF0aW9uLFxuICAgICAgICByb2xlOiByb2xlUHJvcCxcbiAgICAgICAgb2Zmc2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IHsgZ2V0UmVmZXJlbmNlUHJvcHMsIGdldEZsb2F0aW5nUHJvcHMgfSA9IHVzZUludGVyYWN0aW9ucyhiYXNlSW50ZXJhY3Rpb25zKTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBjbG9zZSA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlckNvbnRlbnQgPSB0eXBlb2Ygc2VsZWN0ZWRUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHNlbGVjdGVkVGVtcGxhdGUoe1xuICAgICAgICAgICAgb3BlbjogaXNPcGVuLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgIHNpemU6IG5vcm1hbGl6ZWRTaXplLFxuICAgICAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICAgICAgfSlcbiAgICAgICAgOiBzZWxlY3RlZFRlbXBsYXRlO1xuICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IGlzUmVuZGVyYWJsZVRlbXBsYXRlKHRyaWdnZXJDb250ZW50KTtcbiAgICBjb25zdCB2YWx1ZUxhYmVsQ2xhc3MgPSBoYXNTZWxlY3Rpb24gPyAndmFsdWUnIDogJ3BsYWNlaG9sZGVyJztcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaXNPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBoYXNTZWxlY3Rpb24gPyBjbGFzc2VzKCd0cmlnZ2VyLWZpbGxlZCcpIDogY2xhc3NlcygndHJpZ2dlci1wbGFjZWhvbGRlcicpLCBzdGF0dXMgIT09ICdkZWZhdWx0JyAmJiBjbGFzc2VzKGB0cmlnZ2VyLSR7c3RhdHVzfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLWRpc2FibGVkJyksIHJlYWRPbmx5ICYmICFkaXNhYmxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLXJlYWRvbmx5JykpKTtcbiAgICBjb25zdCBpY29uU2l6ZSA9IG5vcm1hbGl6ZWRTaXplID09PSAnbGFyZ2UnID8gMjAgOiAxNjtcbiAgICBjb25zdCBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5ID0gYXJpYUxhYmVsbGVkQnkgIT09IG51bGwgJiYgYXJpYUxhYmVsbGVkQnkgIT09IHZvaWQgMCA/IGFyaWFMYWJlbGxlZEJ5IDogKGxhYmVsID8gbGFiZWxJZCA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZGVzY3JpYmVkQnlJZHMgPSBbZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbklkIDogbnVsbCwgZmVlZGJhY2sgPyBmZWVkYmFja0lkIDogbnVsbF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpIHx8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwYW5lbEN0eCA9IHtcbiAgICAgICAgY2xvc2UsXG4gICAgICAgIG9wZW46IGlzT3BlbixcbiAgICAgICAgc2l6ZTogbm9ybWFsaXplZFNpemUsXG4gICAgICAgIGZvbnRTaXplOiBnZXRGb250U2l6ZShub3JtYWxpemVkU2l6ZSksXG4gICAgfTtcbiAgICBjb25zdCBwYW5lbEJvZHkgPSB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicgPyBjaGlsZHJlbihwYW5lbEN0eCkgOiBjaGlsZHJlbjtcbiAgICByZXR1cm4gKF9qc3hzKFNlbGVjdEZpZWxkU2hlbGwsIHsgY2xhc3NlczogY2xhc3NlcywgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHNpemU6IG5vcm1hbGl6ZWRTaXplLCB2YXJpYW50OiB2YXJpYW50LCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGRpc2FibGVkLCByZWFkT25seTogcmVhZE9ubHksIGxvYWRpbmc6IGxvYWRpbmcsIGxhYmVsOiBsYWJlbCwgbGFiZWxDbGFzc05hbWU6IGxhYmVsQ2xhc3NOYW1lLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgJ2FyaWEtcmVhZG9ubHknOiByZWFkT25seSB8fCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlVHJpZ2dlckJsdXIsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnksXG4gICAgICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBkZXNjcmliZWRCeUlkcyxcbiAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbcHJlZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwcmVmaXgnKSwgY2hpbGRyZW46IHByZWZpeCB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXModmFsdWVMYWJlbENsYXNzLCBqb2luQ2xzKGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS0ke25vcm1hbGl6ZWRTaXplfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogaGFzU2VsZWN0aW9uID8gdHJpZ2dlckNvbnRlbnQgOiBwbGFjZWhvbGRlciB9KV0gfSksIGFycm93ICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaWNvbicpLCBjaGlsZHJlbjogbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2pzeChTcGlubmVyLCB7IHNpemU6IGljb25TaXplLCBzdHJva2VXaWR0aDogMiB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVhZE9ubHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChJY29ucywgeyBuYW1lOiBpc09wZW4gPyAnY2hldnJvblVwJyA6ICdjaGV2cm9uRG93bicsIHNpemU6IGljb25TaXplLCBjb2xvcjogXCJjdXJyZW50Q29sb3JcIiB9KSB9KSldIH0pKSwgaXNNb3VudGVkICYmIGludGVyYWN0aXZlICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCB0cmFuc2l0aW9uU3R5bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiBwYW5lbEJvZHkgfSksIHBhbmVsRm9vdGVyICE9IG51bGwgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWZvb3RlcicpLCBjaGlsZHJlbjogcGFuZWxGb290ZXIgfSkpXSB9KSkgfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWwgPyBfanN4KEZsb2F0aW5nUG9ydGFsLCB7IGNoaWxkcmVuOiBwYW5lbE5vZGUgfSkgOiBwYW5lbE5vZGU7XG4gICAgICAgICAgICB9KSgpXSB9KSk7XG59O1xuU2VsZWN0Q3VzdG9tLmRpc3BsYXlOYW1lID0gJ1NlbGVjdEN1c3RvbSc7XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdEN1c3RvbSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -7,6 +7,7 @@ exports["default"] = exports.SelectOptionContent = exports.SelectOptionCheck = v
|
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _Icons = require("../Icons");
|
|
10
|
+
var _Tag = require("../Tag");
|
|
10
11
|
var _Typography = require("../Typography");
|
|
11
12
|
var _constants = require("./constants");
|
|
12
13
|
var _utils = require("./utils");
|
|
@@ -28,6 +29,7 @@ var SelectOptionContentBase = function SelectOptionContentBase(_ref2) {
|
|
|
28
29
|
selected = _ref2.selected,
|
|
29
30
|
size = _ref2.size,
|
|
30
31
|
content = _ref2.content;
|
|
32
|
+
var _a;
|
|
31
33
|
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
32
34
|
children: [content !== undefined ? content : (0, _jsxRuntime.jsxs)("span", {
|
|
33
35
|
className: classes('option-content'),
|
|
@@ -42,6 +44,11 @@ var SelectOptionContentBase = function SelectOptionContentBase(_ref2) {
|
|
|
42
44
|
color: _constants.SELECT_TYPOGRAPHY.option.description.color,
|
|
43
45
|
children: option.description
|
|
44
46
|
})]
|
|
47
|
+
}), option.badge && (0, _jsxRuntime.jsx)(_Tag.Tag, {
|
|
48
|
+
className: classes('option-badge'),
|
|
49
|
+
color: (_a = option.badge.color) !== null && _a !== void 0 ? _a : 'neutral',
|
|
50
|
+
size: 'small',
|
|
51
|
+
label: option.badge.label
|
|
45
52
|
}), (0, _jsxRuntime.jsx)(SelectOptionCheck, {
|
|
46
53
|
classes: classes,
|
|
47
54
|
selected: selected
|
|
@@ -50,4 +57,4 @@ var SelectOptionContentBase = function SelectOptionContentBase(_ref2) {
|
|
|
50
57
|
};
|
|
51
58
|
var SelectOptionContent = exports.SelectOptionContent = /*#__PURE__*/(0, _react.memo)(SelectOptionContentBase);
|
|
52
59
|
var _default = exports["default"] = SelectOptionContent;
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdE9wdGlvbkNvbnRlbnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3RPcHRpb25Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfSWNvbnMiLCJfVGFnIiwiX1R5cG9ncmFwaHkiLCJfY29uc3RhbnRzIiwiX3V0aWxzIiwiU2VsZWN0T3B0aW9uQ2hlY2siLCJleHBvcnRzIiwiX3JlZiIsImNsYXNzZXMiLCJzZWxlY3RlZCIsIl9qc3giLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsIkljb25zIiwibmFtZSIsInNpemUiLCJjb2xvciIsIlNlbGVjdE9wdGlvbkNvbnRlbnRCYXNlIiwiX3JlZjIiLCJvcHRpb24iLCJjb250ZW50IiwiX2EiLCJfanN4cyIsIl9GcmFnbWVudCIsInVuZGVmaW5lZCIsIlR5cG9ncmFwaHlCb2R5IiwiZ2V0Rm9udFNpemUiLCJzdHJvbmciLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJiYWRnZSIsIlRhZyIsIlNlbGVjdE9wdGlvbkNvbnRlbnQiLCJtZW1vIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUlBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQU9PLElBQU1PLGlCQUFpQixHQUFBQyxPQUFBLENBQUFELGlCQUFBLEdBQStCLFNBQWhEQSxpQkFBaUJBLENBQUFFLElBQUE7RUFBQSxJQUFrQ0MsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7RUFBQSxPQUMvRSxJQUFBQyxlQUFBLEVBQUEsTUFBQSxFQUFBO0lBQU1DLFNBQVMsRUFBRUgsT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUFBSSxRQUFBLEVBQ3JDSCxRQUFRLElBQUksSUFBQUMsZUFBQSxFQUFDRyxZQUFLLEVBQUE7TUFBQ0MsSUFBSSxFQUFDLE9BQU87TUFBQ0MsSUFBSSxFQUFFLEVBQUU7TUFBRUMsS0FBSyxFQUFDO0lBQWMsQ0FBQTtFQUFHLENBQUEsQ0FDN0Q7QUFBQSxDQUNSO0FBV0QsSUFBTUMsdUJBQXVCLEdBQWlDLFNBQXhEQSx1QkFBdUJBLENBQUFDLEtBQUEsRUFNeEI7RUFBQSxJQUxIVixPQUFPLEdBQUFVLEtBQUEsQ0FBUFYsT0FBTztJQUNQVyxNQUFNLEdBQUFELEtBQUEsQ0FBTkMsTUFBTTtJQUNOVixRQUFRLEdBQUFTLEtBQUEsQ0FBUlQsUUFBUTtJQUNSTSxJQUFJLEdBQUFHLEtBQUEsQ0FBSkgsSUFBSTtJQUNKSyxPQUFPLEdBQUFGLEtBQUEsQ0FBUEUsT0FBTztFRDFCTCxJQUFJQyxFQUFFO0VDMkJKLE9BQ0osSUFBQUMsZ0JBQUEsRUFBQUMsb0JBQUEsRUFBQTtJQUFBWCxRQUFBLEVBQUEsQ0FDR1EsT0FBTyxLQUFLSSxTQUFTLEdBQ3BCSixPQUFPLEdBRVAsSUFBQUUsZ0JBQUEsRUFBQSxNQUFBLEVBQUE7TUFBTVgsU0FBUyxFQUFFSCxPQUFPLENBQUMsZ0JBQWdCLENBQUM7TUFBQUksUUFBQSxFQUFBLENBQ3hDLElBQUFGLGVBQUEsRUFBQ2UsMEJBQWMsRUFBQTtRQUFDZCxTQUFTLEVBQUVILE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFBRU8sSUFBSSxFQUFFLElBQUFXLGtCQUFXLEVBQUNYLElBQUksQ0FBQztRQUFFWSxNQUFNLEVBQUEsSUFBQTtRQUFBZixRQUFBLEVBQUVPLE1BQU0sQ0FBQ1M7TUFBSyxDQUFBLENBQWtCLEVBQ2xIVCxNQUFNLENBQUNVLFdBQVcsSUFDakIsSUFBQW5CLGVBQUEsRUFBQ2UsMEJBQWMsRUFBQTtRQUFDZCxTQUFTLEVBQUVILE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztRQUFFTyxJQUFJLEVBQUVlLDRCQUFpQixDQUFDWCxNQUFNLENBQUNVLFdBQVcsQ0FBQ2QsSUFBSTtRQUFFQyxLQUFLLEVBQUVjLDRCQUFpQixDQUFDWCxNQUFNLENBQUNVLFdBQVcsQ0FBQ2IsS0FBSztRQUFBSixRQUFBLEVBQUdPLE1BQU0sQ0FBQ1U7TUFBVyxDQUFBLENBQ2xMO0lBQUEsQ0FBQSxDQUVKLEVBQ0FWLE1BQU0sQ0FBQ1ksS0FBSyxJQUNYLElBQUFyQixlQUFBLEVBQUNzQixRQUFHLEVBQUE7TUFDRnJCLFNBQVMsRUFBRUgsT0FBTyxDQUFDLGNBQWMsQ0FBQztNQUNsQ1EsS0FBSyxFQUFFLENBQUFLLEVBQUEsR0FBQUYsTUFBTSxDQUFDWSxLQUFLLENBQUNmLEtBQUssTUFBQSxJQUFBLElBQUFLLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLFNBQVM7TUFDdENOLElBQUksRUFBQyxPQUFPO01BQ1phLEtBQUssRUFBRVQsTUFBTSxDQUFDWSxLQUFLLENBQUNIO0lBQUssQ0FBQSxDQUU1QixFQUNELElBQUFsQixlQUFBLEVBQUNMLGlCQUFpQixFQUFBO01BQUNHLE9BQU8sRUFBRUEsT0FBTztNQUFFQyxRQUFRLEVBQUVBO0lBQVEsQ0FBQSxDQUFJO0VBQUEsQ0FBQSxDQUMxRDtBRDlDTCxDQytDQztBQUVNLElBQU13QixtQkFBbUIsR0FBQTNCLE9BQUEsQ0FBQTJCLG1CQUFBLGdCQUFHLElBQUFDLFdBQUksRUFBQ2pCLHVCQUF1QixDQUFDO0FBQUMsSUFBQWtCLFFBQUEsR0FBQTdCLE9BQUEsY0FFbEQyQixtQkFBbUIiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0T3B0aW9uQ29udGVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uL1RhZyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRGb250U2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IGNvbnN0IFNlbGVjdE9wdGlvbkNoZWNrID0gKHsgY2xhc3Nlcywgc2VsZWN0ZWQgfSkgPT4gKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdvcHRpb24tY2hlY2snKSwgY2hpbGRyZW46IHNlbGVjdGVkICYmIF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGVja1wiLCBzaXplOiAxNiwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSkpO1xuY29uc3QgU2VsZWN0T3B0aW9uQ29udGVudEJhc2UgPSAoeyBjbGFzc2VzLCBvcHRpb24sIHNlbGVjdGVkLCBzaXplLCBjb250ZW50LCB9KSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbY29udGVudCAhPT0gdW5kZWZpbmVkID8gKGNvbnRlbnQpIDogKF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uLWNvbnRlbnQnKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uLWxhYmVsJyksIHNpemU6IGdldEZvbnRTaXplKHNpemUpLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBvcHRpb24ubGFiZWwgfSksIG9wdGlvbi5kZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbi1kZXNjcmlwdGlvbicpLCBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5vcHRpb24uZGVzY3JpcHRpb24uc2l6ZSwgY29sb3I6IFNFTEVDVF9UWVBPR1JBUEhZLm9wdGlvbi5kZXNjcmlwdGlvbi5jb2xvciwgY2hpbGRyZW46IG9wdGlvbi5kZXNjcmlwdGlvbiB9KSldIH0pKSwgb3B0aW9uLmJhZGdlICYmIChfanN4KFRhZywgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbi1iYWRnZScpLCBjb2xvcjogKF9hID0gb3B0aW9uLmJhZGdlLmNvbG9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnbmV1dHJhbCcsIHNpemU6ICdzbWFsbCcsIGxhYmVsOiBvcHRpb24uYmFkZ2UubGFiZWwgfSkpLCBfanN4KFNlbGVjdE9wdGlvbkNoZWNrLCB7IGNsYXNzZXM6IGNsYXNzZXMsIHNlbGVjdGVkOiBzZWxlY3RlZCB9KV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3RPcHRpb25Db250ZW50ID0gbWVtbyhTZWxlY3RPcHRpb25Db250ZW50QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBTZWxlY3RPcHRpb25Db250ZW50OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Placement, UseRoleProps } from '@floating-ui/react';
|
|
2
2
|
import type { CSSProperties, FocusEvent, HTMLAttributes, ReactNode, RefObject } from 'react';
|
|
3
3
|
import type { FloatingAnimation } from "../../hooks/useFloatingAnimation";
|
|
4
|
+
import type { TagColor } from "../Tag";
|
|
4
5
|
import type { TypographyBodySize } from "../Typography";
|
|
5
6
|
export type SelectOffset = number | {
|
|
6
7
|
mainAxis?: number;
|
|
@@ -33,12 +34,20 @@ export type SelectOptionValue = string | number;
|
|
|
33
34
|
export type SelectSingleValue = SelectOptionValue | null | undefined;
|
|
34
35
|
export type SelectMultipleValue = SelectOptionValue[];
|
|
35
36
|
export type SelectValue = SelectSingleValue | SelectMultipleValue;
|
|
37
|
+
/** Trailing badge on an option — e.g. why a disabled option cannot be picked. */
|
|
38
|
+
export interface SelectOptionBadge {
|
|
39
|
+
label: string;
|
|
40
|
+
/** @default 'neutral' */
|
|
41
|
+
color?: TagColor;
|
|
42
|
+
}
|
|
36
43
|
export interface SelectOption {
|
|
37
44
|
label: ReactNode;
|
|
38
45
|
value: SelectOptionValue;
|
|
39
46
|
disabled?: boolean;
|
|
40
47
|
description?: ReactNode;
|
|
41
48
|
searchText?: string;
|
|
49
|
+
/** Rendered at the option's trailing edge, before the selected check. */
|
|
50
|
+
badge?: SelectOptionBadge;
|
|
42
51
|
/**
|
|
43
52
|
* Allow consumers to attach arbitrary per-option metadata (icon, badges, etc.)
|
|
44
53
|
* accessible inside `renderOption` / `renderOptionContent` / `renderValue`.
|
|
@@ -7,4 +7,4 @@ exports.SELECT_VARIANTS = exports.SELECT_STATUSES = exports.SELECT_SIZES = void
|
|
|
7
7
|
var SELECT_SIZES = exports.SELECT_SIZES = ['large', 'small', 'extra-small'];
|
|
8
8
|
var SELECT_STATUSES = exports.SELECT_STATUSES = ['default', 'error', 'warning', 'success'];
|
|
9
9
|
var SELECT_VARIANTS = exports.SELECT_VARIANTS = ['fill', 'stroke', 'frameless'];
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2ludGVyZmFjZS50cyJdLCJuYW1lcyI6WyJTRUxFQ1RfU0laRVMiLCJleHBvcnRzIiwiU0VMRUNUX1NUQVRVU0VTIiwiU0VMRUNUX1ZBUklBTlRTIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUE2Qk8sSUFBTUEsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFVO0FBQy9ELElBQU1FLGVBQWUsR0FBQUQsT0FBQSxDQUFBQyxlQUFBLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQVU7QUFDM0UsSUFBTUMsZUFBZSxHQUFBRixPQUFBLENBQUFFLGVBQUEsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFVIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L2ludGVyZmFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -450,6 +450,13 @@
|
|
|
450
450
|
gap: var(--om-spacing-050, 2px);
|
|
451
451
|
min-width: 0;
|
|
452
452
|
}
|
|
453
|
+
.om-component-ui-select-option-badge {
|
|
454
|
+
flex-shrink: 0;
|
|
455
|
+
margin-left: auto;
|
|
456
|
+
}
|
|
457
|
+
.om-component-ui-select-option-disabled .om-component-ui-select-option-check {
|
|
458
|
+
display: none;
|
|
459
|
+
}
|
|
453
460
|
.om-component-ui-select-option-label {
|
|
454
461
|
min-width: 0;
|
|
455
462
|
overflow: hidden;
|