payload 2.21.0 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth.js +1 -1
- package/components/elements.js +1 -1
- package/components/fields/Array.js +1 -1
- package/components/fields/Blocks.js +1 -1
- package/components/fields/Cell.js +1 -1
- package/components/fields/Checkbox.js +1 -1
- package/components/fields/Code.js +1 -1
- package/components/fields/DateTime.js +1 -1
- package/components/fields/Email.js +1 -1
- package/components/fields/Group.js +1 -1
- package/components/fields/Json.js +1 -1
- package/components/fields/Number.js +1 -1
- package/components/fields/Password.js +1 -1
- package/components/fields/RadioGroup/RadioInput.js +1 -1
- package/components/fields/RadioGroup/index.js +1 -1
- package/components/fields/Relationship.js +1 -1
- package/components/fields/RichText.js +1 -1
- package/components/fields/Row.js +1 -1
- package/components/fields/Select.js +1 -1
- package/components/fields/Text.js +1 -1
- package/components/fields/Textarea.js +1 -1
- package/components/fields/Upload.js +1 -1
- package/components/forms.js +1 -1
- package/components/graphics.js +1 -1
- package/components/hooks.js +1 -1
- package/components/icons.js +1 -1
- package/components/index.js +1 -1
- package/components/preferences.js +1 -1
- package/components/root.js +1 -1
- package/components/templates.js +1 -1
- package/components/utilities.js +1 -1
- package/components/views/Cell.js +1 -1
- package/components/views/Dashboard.js +1 -1
- package/components/views/Edit.js +1 -1
- package/components/views/List.js +1 -1
- package/components.js +1 -1
- package/config.js +1 -1
- package/database.js +1 -1
- package/dist/admin/Root.js +1 -1
- package/dist/admin/api.js +1 -1
- package/dist/admin/assets/assets.d.js +1 -1
- package/dist/admin/components/elements/ArrayAction/index.js +1 -1
- package/dist/admin/components/elements/ArrayAction/types.js +1 -1
- package/dist/admin/components/elements/Autosave/index.js +1 -1
- package/dist/admin/components/elements/Autosave/types.js +1 -1
- package/dist/admin/components/elements/Banner/index.js +1 -1
- package/dist/admin/components/elements/Banner/types.js +1 -1
- package/dist/admin/components/elements/Button/index.js +1 -1
- package/dist/admin/components/elements/Button/types.js +1 -1
- package/dist/admin/components/elements/Card/index.js +1 -1
- package/dist/admin/components/elements/Card/types.js +1 -1
- package/dist/admin/components/elements/CodeEditor/CodeEditor.js +1 -1
- package/dist/admin/components/elements/CodeEditor/index.js +1 -1
- package/dist/admin/components/elements/CodeEditor/types.js +1 -1
- package/dist/admin/components/elements/Collapsible/index.js +1 -1
- package/dist/admin/components/elements/Collapsible/provider.js +2 -2
- package/dist/admin/components/elements/Collapsible/types.js +1 -1
- package/dist/admin/components/elements/ColumnSelector/index.js +1 -1
- package/dist/admin/components/elements/ColumnSelector/types.js +1 -1
- package/dist/admin/components/elements/CopyToClipboard/index.js +1 -1
- package/dist/admin/components/elements/CopyToClipboard/types.js +1 -1
- package/dist/admin/components/elements/DatePicker/DatePicker.js +1 -1
- package/dist/admin/components/elements/DatePicker/index.js +1 -1
- package/dist/admin/components/elements/DatePicker/types.js +1 -1
- package/dist/admin/components/elements/DeleteDocument/index.js +1 -1
- package/dist/admin/components/elements/DeleteDocument/types.js +1 -1
- package/dist/admin/components/elements/DeleteMany/index.js +1 -1
- package/dist/admin/components/elements/DeleteMany/types.js +1 -1
- package/dist/admin/components/elements/DocumentControls/index.js +1 -1
- package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +1 -1
- package/dist/admin/components/elements/DocumentDrawer/index.js +1 -1
- package/dist/admin/components/elements/DocumentDrawer/types.js +1 -1
- package/dist/admin/components/elements/DocumentFields/index.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/index.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/types.js +1 -1
- package/dist/admin/components/elements/DocumentHeader/index.js +1 -1
- package/dist/admin/components/elements/DraggableSortable/DraggableSortableItem/index.js +1 -1
- package/dist/admin/components/elements/DraggableSortable/DraggableSortableItem/types.js +1 -1
- package/dist/admin/components/elements/DraggableSortable/index.js +1 -1
- package/dist/admin/components/elements/DraggableSortable/types.js +1 -1
- package/dist/admin/components/elements/DraggableSortable/useDraggableSortable/index.js +1 -1
- package/dist/admin/components/elements/DraggableSortable/useDraggableSortable/types.js +1 -1
- package/dist/admin/components/elements/Drawer/index.js +1 -1
- package/dist/admin/components/elements/Drawer/types.js +1 -1
- package/dist/admin/components/elements/Drawer/useDrawerSlug.js +1 -1
- package/dist/admin/components/elements/Dropzone/index.js +1 -1
- package/dist/admin/components/elements/DuplicateDocument/index.js +1 -1
- package/dist/admin/components/elements/DuplicateDocument/types.js +1 -1
- package/dist/admin/components/elements/EditMany/index.js +1 -1
- package/dist/admin/components/elements/EditMany/types.js +1 -1
- package/dist/admin/components/elements/EditUpload/index.js +1 -1
- package/dist/admin/components/elements/ErrorPill/index.js +1 -1
- package/dist/admin/components/elements/ErrorPill/types.js +1 -1
- package/dist/admin/components/elements/Eyebrow/index.js +1 -1
- package/dist/admin/components/elements/Eyebrow/types.js +1 -1
- package/dist/admin/components/elements/FieldSelect/index.js +1 -1
- package/dist/admin/components/elements/FileDetails/Meta/index.js +1 -1
- package/dist/admin/components/elements/FileDetails/Meta/types.js +1 -1
- package/dist/admin/components/elements/FileDetails/index.js +1 -1
- package/dist/admin/components/elements/FileDetails/types.js +1 -1
- package/dist/admin/components/elements/GenerateConfirmation/index.js +1 -1
- package/dist/admin/components/elements/GenerateConfirmation/types.js +1 -1
- package/dist/admin/components/elements/Gutter/index.js +1 -1
- package/dist/admin/components/elements/Hamburger/index.js +1 -1
- package/dist/admin/components/elements/Header/index.js +1 -1
- package/dist/admin/components/elements/IDLabel/index.js +1 -1
- package/dist/admin/components/elements/ListControls/getTextFieldsToBeSearched.js +1 -1
- package/dist/admin/components/elements/ListControls/index.js +1 -1
- package/dist/admin/components/elements/ListControls/types.js +1 -1
- package/dist/admin/components/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/admin/components/elements/ListDrawer/index.js +1 -1
- package/dist/admin/components/elements/ListDrawer/types.js +1 -1
- package/dist/admin/components/elements/ListSelection/index.js +1 -1
- package/dist/admin/components/elements/Loading/index.js +1 -1
- package/dist/admin/components/elements/Localizer/LocalizerLabel/index.js +1 -1
- package/dist/admin/components/elements/Localizer/index.js +1 -1
- package/dist/admin/components/elements/Logout/index.js +1 -1
- package/dist/admin/components/elements/Nav/NavToggler/index.js +1 -1
- package/dist/admin/components/elements/Nav/context.js +1 -1
- package/dist/admin/components/elements/Nav/index.js +1 -1
- package/dist/admin/components/elements/NavGroup/index.js +1 -1
- package/dist/admin/components/elements/Paginator/ClickableArrow/index.js +1 -1
- package/dist/admin/components/elements/Paginator/ClickableArrow/types.js +1 -1
- package/dist/admin/components/elements/Paginator/Page/index.js +1 -1
- package/dist/admin/components/elements/Paginator/Page/types.js +1 -1
- package/dist/admin/components/elements/Paginator/Separator/index.js +1 -1
- package/dist/admin/components/elements/Paginator/index.js +1 -1
- package/dist/admin/components/elements/Paginator/types.js +1 -1
- package/dist/admin/components/elements/PerPage/index.js +1 -1
- package/dist/admin/components/elements/Pill/index.js +1 -1
- package/dist/admin/components/elements/Pill/types.js +1 -1
- package/dist/admin/components/elements/Popup/PopupButtonList/index.js +1 -1
- package/dist/admin/components/elements/Popup/PopupTrigger/index.js +1 -1
- package/dist/admin/components/elements/Popup/PopupTrigger/types.js +1 -1
- package/dist/admin/components/elements/Popup/index.js +1 -1
- package/dist/admin/components/elements/Popup/types.js +1 -1
- package/dist/admin/components/elements/PreviewButton/index.js +1 -1
- package/dist/admin/components/elements/PreviewSizes/index.js +1 -1
- package/dist/admin/components/elements/Publish/index.js +1 -1
- package/dist/admin/components/elements/PublishMany/index.js +1 -1
- package/dist/admin/components/elements/PublishMany/types.js +1 -1
- package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/Control/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/MultiValue/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/SingleValue/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/ValueContainer/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/index.js +1 -1
- package/dist/admin/components/elements/ReactSelect/types.js +1 -1
- package/dist/admin/components/elements/RenderTitle/index.js +1 -1
- package/dist/admin/components/elements/RenderTitle/types.js +1 -1
- package/dist/admin/components/elements/Save/index.js +1 -1
- package/dist/admin/components/elements/SaveDraft/index.js +1 -1
- package/dist/admin/components/elements/SearchFilter/index.js +1 -1
- package/dist/admin/components/elements/SearchFilter/types.js +1 -1
- package/dist/admin/components/elements/ShimmerEffect/index.js +1 -1
- package/dist/admin/components/elements/SortColumn/index.js +1 -1
- package/dist/admin/components/elements/SortColumn/types.js +1 -1
- package/dist/admin/components/elements/SortComplex/index.js +1 -1
- package/dist/admin/components/elements/SortComplex/types.js +1 -1
- package/dist/admin/components/elements/Status/index.js +1 -1
- package/dist/admin/components/elements/StepNav/index.js +1 -1
- package/dist/admin/components/elements/StepNav/types.js +1 -1
- package/dist/admin/components/elements/Table/index.js +1 -1
- package/dist/admin/components/elements/Table/types.js +1 -1
- package/dist/admin/components/elements/TableColumns/buildColumns.js +1 -1
- package/dist/admin/components/elements/TableColumns/columnReducer.js +1 -1
- package/dist/admin/components/elements/TableColumns/getInitialColumns.js +1 -1
- package/dist/admin/components/elements/TableColumns/index.js +1 -1
- package/dist/admin/components/elements/Thumbnail/index.js +1 -1
- package/dist/admin/components/elements/Thumbnail/types.js +1 -1
- package/dist/admin/components/elements/ThumbnailCard/index.js +1 -1
- package/dist/admin/components/elements/ThumbnailCard/types.js +1 -1
- package/dist/admin/components/elements/Tooltip/index.js +1 -1
- package/dist/admin/components/elements/Tooltip/types.js +1 -1
- package/dist/admin/components/elements/UnpublishMany/index.js +1 -1
- package/dist/admin/components/elements/UnpublishMany/types.js +1 -1
- package/dist/admin/components/elements/ViewDescription/index.js +1 -1
- package/dist/admin/components/elements/ViewDescription/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Date/index.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +21 -14
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +2 -0
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Select/index.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Select/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/index.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/field-types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/index.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/reducer.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/transformWhereQuery.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/types.js +1 -1
- package/dist/admin/components/elements/WhereBuilder/validateWhereQuery.js +1 -1
- package/dist/admin/components/elements/elements.spec.js +1 -1
- package/dist/admin/components/elements/types.js +1 -1
- package/dist/admin/components/forms/Error/index.js +1 -1
- package/dist/admin/components/forms/Error/types.js +1 -1
- package/dist/admin/components/forms/FieldDescription/index.js +1 -1
- package/dist/admin/components/forms/FieldDescription/types.js +1 -1
- package/dist/admin/components/forms/Form/WatchFormErrors.js +1 -1
- package/dist/admin/components/forms/Form/buildFieldSchemaMap.js +1 -1
- package/dist/admin/components/forms/Form/buildInitialState.js +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +11 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.js +1 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +1 -1
- package/dist/admin/components/forms/Form/context.js +1 -1
- package/dist/admin/components/forms/Form/createNestedFieldPath.js +1 -1
- package/dist/admin/components/forms/Form/errorMessages.js +1 -1
- package/dist/admin/components/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/fieldReducer.js +2 -1
- package/dist/admin/components/forms/Form/getDataByPath.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/getDataByPath.js +3 -3
- package/dist/admin/components/forms/Form/getSiblingData.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/getSiblingData.js +3 -5
- package/dist/admin/components/forms/Form/index.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/index.js +2 -1
- package/dist/admin/components/forms/Form/initContextState.js +1 -1
- package/dist/admin/components/forms/Form/reduceFieldsToValues.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/reduceFieldsToValues.js +3 -5
- package/dist/admin/components/forms/Form/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/reduceFieldsToValuesWithValidation.js +3 -11
- package/dist/admin/components/forms/Form/rows.js +1 -1
- package/dist/admin/components/forms/Form/types.d.ts +1 -0
- package/dist/admin/components/forms/Form/types.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/types.js +1 -1
- package/dist/admin/components/forms/Label/index.js +1 -1
- package/dist/admin/components/forms/Label/types.js +1 -1
- package/dist/admin/components/forms/NullifyField/index.js +1 -1
- package/dist/admin/components/forms/RenderFields/filterFields.js +1 -1
- package/dist/admin/components/forms/RenderFields/index.js +1 -1
- package/dist/admin/components/forms/RenderFields/types.js +1 -1
- package/dist/admin/components/forms/RowLabel/index.js +1 -1
- package/dist/admin/components/forms/RowLabel/types.js +1 -1
- package/dist/admin/components/forms/Submit/index.js +1 -1
- package/dist/admin/components/forms/WatchChildErrors/index.js +1 -1
- package/dist/admin/components/forms/field-types/Array/ArrayRow.js +1 -1
- package/dist/admin/components/forms/field-types/Array/index.js +2 -2
- package/dist/admin/components/forms/field-types/Array/types.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockRow.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlocksDrawer/BlockSearch/index.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlocksDrawer/index.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlocksDrawer/types.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/RowActions.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/SectionTitle/index.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/SectionTitle/types.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/index.js +1 -1
- package/dist/admin/components/forms/field-types/Blocks/types.js +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/Input.js +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/index.js +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/types.js +1 -1
- package/dist/admin/components/forms/field-types/Code/index.js +1 -1
- package/dist/admin/components/forms/field-types/Code/types.js +1 -1
- package/dist/admin/components/forms/field-types/Collapsible/index.js +1 -1
- package/dist/admin/components/forms/field-types/Collapsible/types.js +1 -1
- package/dist/admin/components/forms/field-types/ConfirmPassword/index.js +1 -1
- package/dist/admin/components/forms/field-types/ConfirmPassword/types.js +1 -1
- package/dist/admin/components/forms/field-types/DateTime/Input.js +1 -1
- package/dist/admin/components/forms/field-types/DateTime/index.js +1 -1
- package/dist/admin/components/forms/field-types/DateTime/types.js +1 -1
- package/dist/admin/components/forms/field-types/Email/index.js +1 -1
- package/dist/admin/components/forms/field-types/Email/types.js +1 -1
- package/dist/admin/components/forms/field-types/Group/index.js +1 -1
- package/dist/admin/components/forms/field-types/Group/provider.js +1 -1
- package/dist/admin/components/forms/field-types/Group/types.js +1 -1
- package/dist/admin/components/forms/field-types/HiddenInput/index.js +1 -1
- package/dist/admin/components/forms/field-types/HiddenInput/types.js +1 -1
- package/dist/admin/components/forms/field-types/JSON/index.js +1 -1
- package/dist/admin/components/forms/field-types/JSON/types.js +1 -1
- package/dist/admin/components/forms/field-types/Number/index.js +1 -1
- package/dist/admin/components/forms/field-types/Number/types.js +1 -1
- package/dist/admin/components/forms/field-types/Password/index.js +1 -1
- package/dist/admin/components/forms/field-types/Password/types.js +1 -1
- package/dist/admin/components/forms/field-types/Point/index.js +1 -1
- package/dist/admin/components/forms/field-types/Point/types.js +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/Input.js +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.js +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.js +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/index.js +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/types.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/AddNew/index.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/AddNew/types.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/AddNew/useRelatedCollections.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/createRelationMap.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/findOptionsByValue.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/index.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/optionsReducer.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.js +1 -1
- package/dist/admin/components/forms/field-types/Relationship/types.js +1 -1
- package/dist/admin/components/forms/field-types/RichText/index.js +1 -1
- package/dist/admin/components/forms/field-types/RichText/types.js +1 -1
- package/dist/admin/components/forms/field-types/Row/index.js +1 -1
- package/dist/admin/components/forms/field-types/Row/provider.js +1 -1
- package/dist/admin/components/forms/field-types/Row/types.js +1 -1
- package/dist/admin/components/forms/field-types/Select/Input.js +1 -1
- package/dist/admin/components/forms/field-types/Select/index.js +1 -1
- package/dist/admin/components/forms/field-types/Select/types.js +1 -1
- package/dist/admin/components/forms/field-types/Tabs/index.js +1 -1
- package/dist/admin/components/forms/field-types/Tabs/provider.js +1 -1
- package/dist/admin/components/forms/field-types/Tabs/types.js +1 -1
- package/dist/admin/components/forms/field-types/Text/Input.js +1 -1
- package/dist/admin/components/forms/field-types/Text/index.js +1 -1
- package/dist/admin/components/forms/field-types/Text/types.js +1 -1
- package/dist/admin/components/forms/field-types/Textarea/Input.js +1 -1
- package/dist/admin/components/forms/field-types/Textarea/index.js +1 -1
- package/dist/admin/components/forms/field-types/Textarea/types.js +1 -1
- package/dist/admin/components/forms/field-types/UI/index.js +1 -1
- package/dist/admin/components/forms/field-types/Upload/Input.js +1 -1
- package/dist/admin/components/forms/field-types/Upload/index.js +1 -1
- package/dist/admin/components/forms/field-types/Upload/types.js +1 -1
- package/dist/admin/components/forms/field-types/getFilterOptionsQuery.js +1 -1
- package/dist/admin/components/forms/field-types/index.js +1 -1
- package/dist/admin/components/forms/field-types/shared.js +1 -1
- package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
- package/dist/admin/components/forms/useField/index.js +6 -3
- package/dist/admin/components/forms/useField/types.js +1 -1
- package/dist/admin/components/forms/withCondition/WatchCondition.js +1 -1
- package/dist/admin/components/forms/withCondition/index.js +1 -1
- package/dist/admin/components/graphics/Account/Default/index.js +1 -1
- package/dist/admin/components/graphics/Account/Gravatar/index.js +1 -1
- package/dist/admin/components/graphics/Account/index.js +1 -1
- package/dist/admin/components/graphics/DefaultBlockImage/index.js +1 -1
- package/dist/admin/components/graphics/ExternalLink/index.js +1 -1
- package/dist/admin/components/graphics/File/index.js +1 -1
- package/dist/admin/components/graphics/Icon/index.js +1 -1
- package/dist/admin/components/graphics/Logo/index.js +1 -1
- package/dist/admin/components/graphics/Search/index.js +1 -1
- package/dist/admin/components/icons/Calendar/index.js +1 -1
- package/dist/admin/components/icons/Check/index.js +1 -1
- package/dist/admin/components/icons/Chevron/index.js +1 -1
- package/dist/admin/components/icons/CloseMenu/index.js +1 -1
- package/dist/admin/components/icons/CodeBlock/index.js +1 -1
- package/dist/admin/components/icons/Copy/index.js +1 -1
- package/dist/admin/components/icons/Drag/index.js +1 -1
- package/dist/admin/components/icons/Edit/index.js +1 -1
- package/dist/admin/components/icons/Line/index.js +1 -1
- package/dist/admin/components/icons/Link/index.js +1 -1
- package/dist/admin/components/icons/LogOut/index.js +1 -1
- package/dist/admin/components/icons/Menu/index.js +1 -1
- package/dist/admin/components/icons/MinimizeMaximize/index.js +1 -1
- package/dist/admin/components/icons/More/index.js +1 -1
- package/dist/admin/components/icons/Plus/index.js +1 -1
- package/dist/admin/components/icons/Search/index.js +1 -1
- package/dist/admin/components/icons/Swap/index.js +1 -1
- package/dist/admin/components/icons/X/index.js +1 -1
- package/dist/admin/components/index.js +1 -1
- package/dist/admin/components/modals/LeaveWithoutSaving/index.js +1 -1
- package/dist/admin/components/modals/StayLoggedIn/index.js +1 -1
- package/dist/admin/components/modals/StayLoggedIn/types.js +1 -1
- package/dist/admin/components/templates/Default/index.js +1 -1
- package/dist/admin/components/templates/Default/types.js +1 -1
- package/dist/admin/components/templates/Minimal/index.js +1 -1
- package/dist/admin/components/templates/Minimal/types.js +1 -1
- package/dist/admin/components/utilities/ActionsProvider/index.js +1 -1
- package/dist/admin/components/utilities/Auth/index.js +1 -1
- package/dist/admin/components/utilities/Auth/types.js +1 -1
- package/dist/admin/components/utilities/Config/index.js +1 -1
- package/dist/admin/components/utilities/CustomProvider/index.js +1 -1
- package/dist/admin/components/utilities/DocumentEvents/index.js +1 -1
- package/dist/admin/components/utilities/DocumentEvents/types.js +1 -1
- package/dist/admin/components/utilities/DocumentInfo/index.js +1 -1
- package/dist/admin/components/utilities/DocumentInfo/types.js +1 -1
- package/dist/admin/components/utilities/EditDepth/index.js +1 -1
- package/dist/admin/components/utilities/GetFilterOptions/index.js +1 -1
- package/dist/admin/components/utilities/I18n/index.js +1 -1
- package/dist/admin/components/utilities/LanguageWrap/index.js +1 -1
- package/dist/admin/components/utilities/LoadingOverlay/index.js +1 -1
- package/dist/admin/components/utilities/LoadingOverlay/reducer.js +1 -1
- package/dist/admin/components/utilities/LoadingOverlay/types.js +1 -1
- package/dist/admin/components/utilities/Locale/index.js +1 -1
- package/dist/admin/components/utilities/Meta/index.js +1 -1
- package/dist/admin/components/utilities/Meta/types.js +1 -1
- package/dist/admin/components/utilities/OperationProvider/index.js +1 -1
- package/dist/admin/components/utilities/Portal/index.js +1 -1
- package/dist/admin/components/utilities/Preferences/index.js +1 -1
- package/dist/admin/components/utilities/RenderCustomComponent/index.js +1 -1
- package/dist/admin/components/utilities/RenderCustomComponent/types.js +1 -1
- package/dist/admin/components/utilities/SearchParams/index.js +1 -1
- package/dist/admin/components/utilities/Theme/index.js +1 -1
- package/dist/admin/components/utilities/UploadEdits/index.js +1 -1
- package/dist/admin/components/utilities/WithMergedProps/index.js +1 -1
- package/dist/admin/components/views/API/index.js +1 -1
- package/dist/admin/components/views/Account/Default.js +1 -1
- package/dist/admin/components/views/Account/Settings/index.js +1 -1
- package/dist/admin/components/views/Account/ToggleTheme/index.js +1 -1
- package/dist/admin/components/views/Account/index.js +1 -1
- package/dist/admin/components/views/Account/types.js +1 -1
- package/dist/admin/components/views/CreateFirstUser/index.js +1 -1
- package/dist/admin/components/views/CreateFirstUser/types.js +1 -1
- package/dist/admin/components/views/Dashboard/Default.js +1 -1
- package/dist/admin/components/views/Dashboard/index.js +1 -1
- package/dist/admin/components/views/Dashboard/types.js +1 -1
- package/dist/admin/components/views/ForgotPassword/index.js +1 -1
- package/dist/admin/components/views/Global/Default/index.js +1 -1
- package/dist/admin/components/views/Global/Default.js +1 -1
- package/dist/admin/components/views/Global/Routes/CustomComponent.js +1 -1
- package/dist/admin/components/views/Global/Routes/custom.js +1 -1
- package/dist/admin/components/views/Global/Routes/index.js +1 -1
- package/dist/admin/components/views/Global/index.js +1 -1
- package/dist/admin/components/views/Global/types.js +1 -1
- package/dist/admin/components/views/LivePreview/Context/collisionDetection.js +1 -1
- package/dist/admin/components/views/LivePreview/Context/context.js +1 -1
- package/dist/admin/components/views/LivePreview/Context/index.js +1 -1
- package/dist/admin/components/views/LivePreview/Context/sizeReducer.js +1 -1
- package/dist/admin/components/views/LivePreview/Device/index.js +1 -1
- package/dist/admin/components/views/LivePreview/DeviceContainer/index.js +1 -1
- package/dist/admin/components/views/LivePreview/IFrame/index.js +1 -1
- package/dist/admin/components/views/LivePreview/Preview/index.js +1 -1
- package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.js +1 -1
- package/dist/admin/components/views/LivePreview/Toolbar/SizeInput/index.js +1 -1
- package/dist/admin/components/views/LivePreview/Toolbar/index.js +1 -1
- package/dist/admin/components/views/LivePreview/ToolbarArea/index.js +1 -1
- package/dist/admin/components/views/LivePreview/index.js +1 -1
- package/dist/admin/components/views/LivePreview/usePopupWindow.js +1 -1
- package/dist/admin/components/views/Login/index.js +1 -1
- package/dist/admin/components/views/Logout/index.js +1 -1
- package/dist/admin/components/views/NotFound/index.js +1 -1
- package/dist/admin/components/views/ResetPassword/index.js +1 -1
- package/dist/admin/components/views/Routes/collections.js +1 -1
- package/dist/admin/components/views/Routes/custom.js +1 -1
- package/dist/admin/components/views/Routes/globals.js +1 -1
- package/dist/admin/components/views/Routes/index.d.ts.map +1 -1
- package/dist/admin/components/views/Routes/index.js +3 -2
- package/dist/admin/components/views/Unauthorized/index.js +1 -1
- package/dist/admin/components/views/Verify/index.js +1 -1
- package/dist/admin/components/views/Version/Compare/index.js +1 -1
- package/dist/admin/components/views/Version/Compare/types.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/Label/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/diffMethods.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/styles.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/types.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/index.js +1 -1
- package/dist/admin/components/views/Version/RenderFieldsToDiff/types.js +1 -1
- package/dist/admin/components/views/Version/Restore/index.js +1 -1
- package/dist/admin/components/views/Version/Restore/types.js +1 -1
- package/dist/admin/components/views/Version/SelectLocales/index.js +1 -1
- package/dist/admin/components/views/Version/SelectLocales/types.js +1 -1
- package/dist/admin/components/views/Version/Version.js +1 -1
- package/dist/admin/components/views/Version/index.js +1 -1
- package/dist/admin/components/views/Version/types.js +1 -1
- package/dist/admin/components/views/Versions/Default.js +1 -1
- package/dist/admin/components/views/Versions/cells/AutosaveCell.js +1 -1
- package/dist/admin/components/views/Versions/columns.js +1 -1
- package/dist/admin/components/views/Versions/index.js +1 -1
- package/dist/admin/components/views/Versions/types.js +1 -1
- package/dist/admin/components/views/collections/Edit/Auth/APIKey.js +1 -1
- package/dist/admin/components/views/collections/Edit/Auth/index.js +1 -1
- package/dist/admin/components/views/collections/Edit/Auth/types.js +1 -1
- package/dist/admin/components/views/collections/Edit/Default/index.js +1 -1
- package/dist/admin/components/views/collections/Edit/Default.js +1 -1
- package/dist/admin/components/views/collections/Edit/Routes/CustomComponent.js +1 -1
- package/dist/admin/components/views/collections/Edit/Routes/custom.js +1 -1
- package/dist/admin/components/views/collections/Edit/Routes/index.js +1 -1
- package/dist/admin/components/views/collections/Edit/SetStepNav.js +1 -1
- package/dist/admin/components/views/collections/Edit/Upload/index.js +1 -1
- package/dist/admin/components/views/collections/Edit/Upload/types.js +1 -1
- package/dist/admin/components/views/collections/Edit/formatFields.js +1 -1
- package/dist/admin/components/views/collections/Edit/index.js +1 -1
- package/dist/admin/components/views/collections/Edit/types.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/cellTypes.spec.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Array/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Blocks/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Checkbox/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/File/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/JSON/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Select/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Textarea/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/index.js +1 -1
- package/dist/admin/components/views/collections/List/Cell/types.js +1 -1
- package/dist/admin/components/views/collections/List/Default.js +1 -1
- package/dist/admin/components/views/collections/List/RelationshipProvider/index.js +1 -1
- package/dist/admin/components/views/collections/List/RelationshipProvider/reducer.js +1 -1
- package/dist/admin/components/views/collections/List/SelectAll/index.js +1 -1
- package/dist/admin/components/views/collections/List/SelectRow/index.js +1 -1
- package/dist/admin/components/views/collections/List/SelectionProvider/index.js +1 -1
- package/dist/admin/components/views/collections/List/formatFields.js +1 -1
- package/dist/admin/components/views/collections/List/index.js +1 -1
- package/dist/admin/components/views/collections/List/types.js +1 -1
- package/dist/admin/components/views/types.js +1 -1
- package/dist/admin/components.config.js +1 -1
- package/dist/admin/hooks/useDebounce.js +1 -1
- package/dist/admin/hooks/useDebouncedCallback.js +1 -1
- package/dist/admin/hooks/useDelay.js +1 -1
- package/dist/admin/hooks/useDelayedRender.js +1 -1
- package/dist/admin/hooks/useHotkey.js +1 -1
- package/dist/admin/hooks/useIntersect.js +1 -1
- package/dist/admin/hooks/useMountEffect.js +1 -1
- package/dist/admin/hooks/usePayloadAPI.js +1 -1
- package/dist/admin/hooks/useThrottledEffect.js +1 -1
- package/dist/admin/hooks/useThumbnail.js +1 -1
- package/dist/admin/hooks/useTitle.js +1 -1
- package/dist/admin/hooks/useUseAsTitle.js +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/utilities/formatDate/getSupportedDateLocale.js +1 -1
- package/dist/admin/utilities/formatDate/index.js +1 -1
- package/dist/admin/utilities/getOffsetTop.js +1 -1
- package/dist/admin/utilities/getSupportedMonacoLocale.js +1 -1
- package/dist/admin/utilities/groupNavItems.js +1 -1
- package/dist/admin/utilities/scrollToID.js +1 -1
- package/dist/admin/utilities/setsAreEqual.js +1 -1
- package/dist/admin/utilities/unflatten.d.ts +9 -0
- package/dist/admin/utilities/unflatten.d.ts.map +1 -0
- package/dist/admin/utilities/unflatten.js +73 -0
- package/dist/admin/utilities/useResize.js +1 -1
- package/dist/auth/baseFields/accountLock.js +1 -1
- package/dist/auth/baseFields/apiKey.js +1 -1
- package/dist/auth/baseFields/auth.js +1 -1
- package/dist/auth/baseFields/verification.js +1 -1
- package/dist/auth/crypto.js +1 -1
- package/dist/auth/defaultAccess.js +1 -1
- package/dist/auth/defaultUser.js +1 -1
- package/dist/auth/executeAccess.js +1 -1
- package/dist/auth/getExecuteStaticAccess.js +1 -1
- package/dist/auth/getExtractJWT.js +1 -1
- package/dist/auth/graphql/resolvers/access.js +1 -1
- package/dist/auth/graphql/resolvers/forgotPassword.js +1 -1
- package/dist/auth/graphql/resolvers/init.js +1 -1
- package/dist/auth/graphql/resolvers/login.js +1 -1
- package/dist/auth/graphql/resolvers/logout.js +1 -1
- package/dist/auth/graphql/resolvers/me.js +1 -1
- package/dist/auth/graphql/resolvers/refresh.js +1 -1
- package/dist/auth/graphql/resolvers/resetPassword.js +1 -1
- package/dist/auth/graphql/resolvers/unlock.js +1 -1
- package/dist/auth/graphql/resolvers/verifyEmail.js +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/init.js +1 -1
- package/dist/auth/isLocked.js +1 -1
- package/dist/auth/operations/access.js +1 -1
- package/dist/auth/operations/forgotPassword.js +1 -1
- package/dist/auth/operations/getFieldsToSign.js +1 -1
- package/dist/auth/operations/init.js +1 -1
- package/dist/auth/operations/local/forgotPassword.js +1 -1
- package/dist/auth/operations/local/index.js +1 -1
- package/dist/auth/operations/local/login.js +1 -1
- package/dist/auth/operations/local/resetPassword.js +1 -1
- package/dist/auth/operations/local/unlock.js +1 -1
- package/dist/auth/operations/local/verifyEmail.js +1 -1
- package/dist/auth/operations/login.js +1 -1
- package/dist/auth/operations/logout.js +1 -1
- package/dist/auth/operations/me.js +1 -1
- package/dist/auth/operations/refresh.js +1 -1
- package/dist/auth/operations/registerFirstUser.js +1 -1
- package/dist/auth/operations/resetPassword.js +1 -1
- package/dist/auth/operations/unlock.js +1 -1
- package/dist/auth/operations/verifyEmail.js +1 -1
- package/dist/auth/requestHandlers/access.js +1 -1
- package/dist/auth/requestHandlers/forgotPassword.js +1 -1
- package/dist/auth/requestHandlers/init.js +1 -1
- package/dist/auth/requestHandlers/login.js +1 -1
- package/dist/auth/requestHandlers/logout.js +1 -1
- package/dist/auth/requestHandlers/me.js +1 -1
- package/dist/auth/requestHandlers/refresh.js +1 -1
- package/dist/auth/requestHandlers/registerFirstUser.js +1 -1
- package/dist/auth/requestHandlers/resetPassword.js +1 -1
- package/dist/auth/requestHandlers/unlock.js +1 -1
- package/dist/auth/requestHandlers/verifyEmail.js +1 -1
- package/dist/auth/sendVerificationEmail.js +1 -1
- package/dist/auth/strategies/apiKey.js +1 -1
- package/dist/auth/strategies/jwt.js +1 -1
- package/dist/auth/strategies/local/authenticate.js +1 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
- package/dist/auth/strategies/local/register.js +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js +1 -1
- package/dist/auth/types.js +1 -1
- package/dist/bin/build.js +1 -1
- package/dist/bin/generateGraphQLSchema.js +1 -1
- package/dist/bin/generateTypes.js +1 -1
- package/dist/bin/index.js +1 -1
- package/dist/bin/migrate.js +1 -1
- package/dist/bundlers/mocks/db-mongodb.js +1 -1
- package/dist/bundlers/mocks/db-postgres.js +1 -1
- package/dist/bundlers/mocks/dotENV.js +1 -1
- package/dist/bundlers/mocks/emptyModule.js +1 -1
- package/dist/bundlers/mocks/fileMock.js +1 -1
- package/dist/bundlers/types.js +1 -1
- package/dist/collections/bindCollection.js +1 -1
- package/dist/collections/buildEndpoints.js +1 -1
- package/dist/collections/config/build.js +1 -1
- package/dist/collections/config/defaults.js +1 -1
- package/dist/collections/config/sanitize.js +1 -1
- package/dist/collections/config/schema.js +1 -1
- package/dist/collections/config/types.js +1 -1
- package/dist/collections/dataloader.js +1 -1
- package/dist/collections/graphql/init.js +1 -1
- package/dist/collections/graphql/resolvers/count.js +1 -1
- package/dist/collections/graphql/resolvers/create.js +1 -1
- package/dist/collections/graphql/resolvers/delete.js +1 -1
- package/dist/collections/graphql/resolvers/docAccess.js +1 -1
- package/dist/collections/graphql/resolvers/find.js +1 -1
- package/dist/collections/graphql/resolvers/findByID.js +1 -1
- package/dist/collections/graphql/resolvers/findVersionByID.js +1 -1
- package/dist/collections/graphql/resolvers/findVersions.js +1 -1
- package/dist/collections/graphql/resolvers/restoreVersion.js +1 -1
- package/dist/collections/graphql/resolvers/update.js +1 -1
- package/dist/collections/graphql/types.js +1 -1
- package/dist/collections/initHTTP.js +1 -1
- package/dist/collections/initLocal.js +1 -1
- package/dist/collections/operations/count.js +1 -1
- package/dist/collections/operations/create.js +1 -1
- package/dist/collections/operations/delete.js +1 -1
- package/dist/collections/operations/deleteByID.js +1 -1
- package/dist/collections/operations/docAccess.js +1 -1
- package/dist/collections/operations/find.js +1 -1
- package/dist/collections/operations/findByID.js +1 -1
- package/dist/collections/operations/findVersionByID.js +1 -1
- package/dist/collections/operations/findVersions.js +1 -1
- package/dist/collections/operations/local/count.js +1 -1
- package/dist/collections/operations/local/create.js +1 -1
- package/dist/collections/operations/local/delete.js +1 -1
- package/dist/collections/operations/local/find.js +1 -1
- package/dist/collections/operations/local/findByID.js +1 -1
- package/dist/collections/operations/local/findVersionByID.js +1 -1
- package/dist/collections/operations/local/findVersions.js +1 -1
- package/dist/collections/operations/local/index.js +1 -1
- package/dist/collections/operations/local/restoreVersion.js +1 -1
- package/dist/collections/operations/local/update.js +1 -1
- package/dist/collections/operations/restoreVersion.js +1 -1
- package/dist/collections/operations/update.js +1 -1
- package/dist/collections/operations/updateByID.js +1 -1
- package/dist/collections/operations/utils.js +1 -1
- package/dist/collections/requestHandlers/count.js +1 -1
- package/dist/collections/requestHandlers/create.js +1 -1
- package/dist/collections/requestHandlers/delete.js +1 -1
- package/dist/collections/requestHandlers/deleteByID.js +1 -1
- package/dist/collections/requestHandlers/docAccess.js +1 -1
- package/dist/collections/requestHandlers/find.js +1 -1
- package/dist/collections/requestHandlers/findByID.js +1 -1
- package/dist/collections/requestHandlers/findVersionByID.js +1 -1
- package/dist/collections/requestHandlers/findVersions.js +1 -1
- package/dist/collections/requestHandlers/restoreVersion.js +1 -1
- package/dist/collections/requestHandlers/update.js +1 -1
- package/dist/collections/requestHandlers/updateByID.js +1 -1
- package/dist/config/build.js +1 -1
- package/dist/config/clientFiles.js +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/find.js +1 -1
- package/dist/config/load.js +1 -1
- package/dist/config/sanitize.js +1 -1
- package/dist/config/schema.js +1 -1
- package/dist/config/shared/adminViewSchema.js +1 -1
- package/dist/config/shared/componentSchema.js +1 -1
- package/dist/config/types.js +1 -1
- package/dist/config/validate.js +1 -1
- package/dist/database/combineQueries.js +1 -1
- package/dist/database/createDatabaseAdapter.js +1 -1
- package/dist/database/flattenWhereToOperators.js +1 -1
- package/dist/database/getLocalizedPaths.js +1 -1
- package/dist/database/migrations/createMigration.js +1 -1
- package/dist/database/migrations/getMigrations.js +1 -1
- package/dist/database/migrations/migrate.js +1 -1
- package/dist/database/migrations/migrateDown.js +1 -1
- package/dist/database/migrations/migrateRefresh.js +1 -1
- package/dist/database/migrations/migrateReset.js +1 -1
- package/dist/database/migrations/migrateStatus.js +1 -1
- package/dist/database/migrations/migrationTemplate.js +1 -1
- package/dist/database/migrations/migrationsCollection.js +1 -1
- package/dist/database/migrations/readMigrationFiles.js +1 -1
- package/dist/database/queryValidation/types.js +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +1 -1
- package/dist/database/types.js +1 -1
- package/dist/email/build.js +1 -1
- package/dist/email/defaults.js +1 -1
- package/dist/email/mockHandler.js +1 -1
- package/dist/email/sendEmail.js +1 -1
- package/dist/email/types.js +1 -1
- package/dist/errors/APIError.js +1 -1
- package/dist/errors/AuthenticationError.js +1 -1
- package/dist/errors/DuplicateCollection.js +1 -1
- package/dist/errors/DuplicateFieldName.js +1 -1
- package/dist/errors/DuplicateGlobal.js +1 -1
- package/dist/errors/ErrorDeletingFile.js +1 -1
- package/dist/errors/FileRetrievalError.js +1 -1
- package/dist/errors/FileUploadError.js +1 -1
- package/dist/errors/Forbidden.js +1 -1
- package/dist/errors/InvalidConfiguration.js +1 -1
- package/dist/errors/InvalidFieldName.js +1 -1
- package/dist/errors/InvalidFieldRelationship.js +1 -1
- package/dist/errors/InvalidSchema.js +1 -1
- package/dist/errors/LockedAuth.js +1 -1
- package/dist/errors/MissingCollectionLabel.js +1 -1
- package/dist/errors/MissingEditorProps.js +1 -1
- package/dist/errors/MissingFieldInputOptions.js +1 -1
- package/dist/errors/MissingFieldType.js +1 -1
- package/dist/errors/MissingFile.js +1 -1
- package/dist/errors/NotFound.js +1 -1
- package/dist/errors/QueryError.js +1 -1
- package/dist/errors/TimestampsRequired.js +1 -1
- package/dist/errors/UnathorizedError.js +1 -1
- package/dist/errors/ValidationError.js +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/exports/auth.js +1 -1
- package/dist/exports/components/elements.js +1 -1
- package/dist/exports/components/fields/Array.js +1 -1
- package/dist/exports/components/fields/Blocks.js +1 -1
- package/dist/exports/components/fields/Cell.js +1 -1
- package/dist/exports/components/fields/Checkbox.js +1 -1
- package/dist/exports/components/fields/Code.js +1 -1
- package/dist/exports/components/fields/DateTime.js +1 -1
- package/dist/exports/components/fields/Email.js +1 -1
- package/dist/exports/components/fields/Group.js +1 -1
- package/dist/exports/components/fields/Json.js +1 -1
- package/dist/exports/components/fields/Number.js +1 -1
- package/dist/exports/components/fields/Password.js +1 -1
- package/dist/exports/components/fields/RadioGroup/RadioInput.js +1 -1
- package/dist/exports/components/fields/RadioGroup/index.js +1 -1
- package/dist/exports/components/fields/Relationship.js +1 -1
- package/dist/exports/components/fields/RichText.js +1 -1
- package/dist/exports/components/fields/Row.js +1 -1
- package/dist/exports/components/fields/Select.js +1 -1
- package/dist/exports/components/fields/Text.js +1 -1
- package/dist/exports/components/fields/Textarea.js +1 -1
- package/dist/exports/components/fields/Upload.js +1 -1
- package/dist/exports/components/forms.js +1 -1
- package/dist/exports/components/graphics.js +1 -1
- package/dist/exports/components/hooks.js +1 -1
- package/dist/exports/components/icons.js +1 -1
- package/dist/exports/components/preferences.js +1 -1
- package/dist/exports/components/root.js +1 -1
- package/dist/exports/components/templates.js +1 -1
- package/dist/exports/components/utilities.js +1 -1
- package/dist/exports/components/views/Cell.js +1 -1
- package/dist/exports/components/views/Dashboard.js +1 -1
- package/dist/exports/components/views/Edit.js +1 -1
- package/dist/exports/components/views/List.js +1 -1
- package/dist/exports/components.js +1 -1
- package/dist/exports/config.js +1 -1
- package/dist/exports/database.js +1 -1
- package/dist/exports/errors.js +1 -1
- package/dist/exports/fields/validations.js +1 -1
- package/dist/exports/graphql.js +1 -1
- package/dist/exports/types.js +1 -1
- package/dist/exports/utilities.js +1 -1
- package/dist/exports/versions.js +1 -1
- package/dist/express/admin.js +1 -1
- package/dist/express/middleware/authenticate.js +1 -1
- package/dist/express/middleware/convertPayload.js +1 -1
- package/dist/express/middleware/corsHeaders.js +1 -1
- package/dist/express/middleware/defaultPayload.js +1 -1
- package/dist/express/middleware/errorHandler.js +1 -1
- package/dist/express/middleware/i18n.js +1 -1
- package/dist/express/middleware/identifyAPI.js +1 -1
- package/dist/express/middleware/index.js +1 -1
- package/dist/express/mountEndpoints.js +1 -1
- package/dist/express/responses/formatError.js +1 -1
- package/dist/express/responses/formatSuccess.js +1 -1
- package/dist/express/setRequestContext.js +1 -1
- package/dist/express/static.js +1 -1
- package/dist/express/types.js +1 -1
- package/dist/fields/baseFields/baseBlockFields.js +1 -1
- package/dist/fields/baseFields/baseIDField.js +1 -1
- package/dist/fields/config/sanitize.js +1 -1
- package/dist/fields/config/sanitize.spec.js +1 -1
- package/dist/fields/config/schema.js +6 -6
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/getDefaultValue.js +1 -1
- package/dist/fields/hooks/afterChange/index.js +1 -1
- package/dist/fields/hooks/afterChange/promise.js +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js +1 -1
- package/dist/fields/hooks/afterRead/index.js +1 -1
- package/dist/fields/hooks/afterRead/promise.js +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +1 -1
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +1 -1
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +1 -1
- package/dist/fields/hooks/beforeChange/index.js +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +2 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js +1 -1
- package/dist/fields/hooks/beforeValidate/index.js +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js +1 -1
- package/dist/fields/mergeBaseFields.js +1 -1
- package/dist/fields/sortableFieldTypes.js +1 -1
- package/dist/fields/validations.js +1 -1
- package/dist/fields/validations.spec.js +1 -1
- package/dist/globals/buildEndpoints.js +1 -1
- package/dist/globals/config/build.js +1 -1
- package/dist/globals/config/sanitize.js +1 -1
- package/dist/globals/config/schema.js +1 -1
- package/dist/globals/config/types.js +1 -1
- package/dist/globals/graphql/init.js +1 -1
- package/dist/globals/graphql/resolvers/docAccess.js +1 -1
- package/dist/globals/graphql/resolvers/findOne.js +1 -1
- package/dist/globals/graphql/resolvers/findVersionByID.js +1 -1
- package/dist/globals/graphql/resolvers/findVersions.js +1 -1
- package/dist/globals/graphql/resolvers/index.js +1 -1
- package/dist/globals/graphql/resolvers/restoreVersion.js +1 -1
- package/dist/globals/graphql/resolvers/update.js +1 -1
- package/dist/globals/initHTTP.js +1 -1
- package/dist/globals/initLocal.js +1 -1
- package/dist/globals/operations/docAccess.js +1 -1
- package/dist/globals/operations/findOne.js +1 -1
- package/dist/globals/operations/findVersionByID.js +1 -1
- package/dist/globals/operations/findVersions.js +1 -1
- package/dist/globals/operations/local/findOne.js +1 -1
- package/dist/globals/operations/local/findVersionByID.js +1 -1
- package/dist/globals/operations/local/findVersions.js +1 -1
- package/dist/globals/operations/local/index.js +1 -1
- package/dist/globals/operations/local/restoreVersion.js +1 -1
- package/dist/globals/operations/local/update.js +1 -1
- package/dist/globals/operations/restoreVersion.js +1 -1
- package/dist/globals/operations/update.js +1 -1
- package/dist/globals/requestHandlers/docAccess.js +1 -1
- package/dist/globals/requestHandlers/findOne.js +1 -1
- package/dist/globals/requestHandlers/findVersionByID.js +1 -1
- package/dist/globals/requestHandlers/findVersions.js +1 -1
- package/dist/globals/requestHandlers/restoreVersion.js +1 -1
- package/dist/globals/requestHandlers/update.js +1 -1
- package/dist/graphql/errorHandler.js +1 -1
- package/dist/graphql/graphQLHandler.js +1 -1
- package/dist/graphql/initPlayground.js +1 -1
- package/dist/graphql/registerSchema.js +1 -1
- package/dist/graphql/schema/buildFallbackLocaleInputType.js +1 -1
- package/dist/graphql/schema/buildLocaleInputType.js +1 -1
- package/dist/graphql/schema/buildMutationInputType.js +1 -1
- package/dist/graphql/schema/buildObjectType.js +1 -1
- package/dist/graphql/schema/buildPaginatedListType.js +1 -1
- package/dist/graphql/schema/buildPoliciesType.js +1 -1
- package/dist/graphql/schema/buildWhereInputType.js +1 -1
- package/dist/graphql/schema/fieldToWhereInputSchemaMap.js +1 -1
- package/dist/graphql/schema/isFieldNullable.js +1 -1
- package/dist/graphql/schema/operators.js +1 -1
- package/dist/graphql/schema/recursivelyBuildNestedPaths.js +1 -1
- package/dist/graphql/schema/withNullableType.js +1 -1
- package/dist/graphql/schema/withOperators.js +1 -1
- package/dist/graphql/utilities/combineParentName.js +1 -1
- package/dist/graphql/utilities/formatName.js +1 -1
- package/dist/graphql/utilities/formatName.spec.js +1 -1
- package/dist/graphql/utilities/formatOptions.js +1 -1
- package/dist/graphql/utilities/getCheckIfLocaleObject.js +1 -1
- package/dist/graphql/utilities/uppercase.js +1 -1
- package/dist/graphql/utilities/wrapCustomResolver.js +1 -1
- package/dist/index.js +1 -1
- package/dist/initHTTP.js +1 -1
- package/dist/localization/middleware.js +1 -1
- package/dist/localization/sanitizeFallbackLocale.js +1 -1
- package/dist/payload.js +1 -1
- package/dist/preferences/deleteUserPreferences.js +1 -1
- package/dist/preferences/operations/delete.js +1 -1
- package/dist/preferences/operations/findOne.js +1 -1
- package/dist/preferences/operations/update.js +1 -1
- package/dist/preferences/preferencesCollection.js +1 -1
- package/dist/preferences/requestHandlers/delete.js +1 -1
- package/dist/preferences/requestHandlers/findOne.js +1 -1
- package/dist/preferences/requestHandlers/update.js +1 -1
- package/dist/preferences/types.js +1 -1
- package/dist/translations/defaultOptions.js +1 -1
- package/dist/translations/extractTranslations.js +1 -1
- package/dist/translations/index.js +1 -1
- package/dist/translations/init.js +1 -1
- package/dist/translations/type.js +1 -1
- package/dist/types/constants.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/uploads/canResizeImage.js +1 -1
- package/dist/uploads/cropImage.js +1 -1
- package/dist/uploads/deleteAssociatedFiles.js +1 -1
- package/dist/uploads/docWithFilenameExists.js +1 -1
- package/dist/uploads/fileExists.js +1 -1
- package/dist/uploads/formatFilesize.js +1 -1
- package/dist/uploads/generateFileData.js +1 -1
- package/dist/uploads/getBaseFields.js +1 -1
- package/dist/uploads/getExternalFile.js +1 -1
- package/dist/uploads/getFileByPath.js +1 -1
- package/dist/uploads/getImageSize.js +1 -1
- package/dist/uploads/getSafeFilename.js +1 -1
- package/dist/uploads/imageResizer.js +1 -1
- package/dist/uploads/isImage.js +1 -1
- package/dist/uploads/mimeTypeValidator.js +1 -1
- package/dist/uploads/mimeTypeValidator.spec.js +1 -1
- package/dist/uploads/saveBufferToFile.js +1 -1
- package/dist/uploads/types.js +1 -1
- package/dist/uploads/unlinkTempFiles.js +1 -1
- package/dist/uploads/uploadFiles.js +1 -1
- package/dist/utilities/canUseDOM.js +1 -1
- package/dist/utilities/checkDuplicateCollections.js +1 -1
- package/dist/utilities/combineMerge.js +1 -1
- package/dist/utilities/commitTransaction.js +1 -1
- package/dist/utilities/configToJSONSchema.js +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +1 -1
- package/dist/utilities/convertData.js +1 -1
- package/dist/utilities/createArrayFromCommaDelineated.js +1 -1
- package/dist/utilities/createLocalReq.js +1 -1
- package/dist/utilities/deepCopyObject.js +1 -1
- package/dist/utilities/deepMerge.js +1 -1
- package/dist/utilities/fieldSchemaToJSON.js +1 -1
- package/dist/utilities/findLocaleFromCode.js +1 -1
- package/dist/utilities/flattenTopLevelFields.js +1 -1
- package/dist/utilities/formatLabels.js +1 -1
- package/dist/utilities/formatLabels.spec.js +1 -1
- package/dist/utilities/getCSSVariable.js +1 -1
- package/dist/utilities/getCollectionIDFieldTypes.js +1 -1
- package/dist/utilities/getCookieExpiration.js +1 -1
- package/dist/utilities/getEntityPolicies.js +1 -1
- package/dist/utilities/getIDType.js +1 -1
- package/dist/utilities/getObjectDotNotation.js +1 -1
- package/dist/utilities/getTranslation.js +1 -1
- package/dist/utilities/getUniqueListBy.js +1 -1
- package/dist/utilities/groupOrTabHasRequiredSubfield.js +1 -1
- package/dist/utilities/initTransaction.js +1 -1
- package/dist/utilities/isNumber.js +1 -1
- package/dist/utilities/isValidID.js +1 -1
- package/dist/utilities/isolateObjectProperty.js +1 -1
- package/dist/utilities/killTransaction.js +1 -1
- package/dist/utilities/logger.js +1 -1
- package/dist/utilities/mapAsync.js +1 -1
- package/dist/utilities/overwriteMerge.js +1 -1
- package/dist/utilities/parseCookies.js +1 -1
- package/dist/utilities/sanitizeCollectionID.js +1 -1
- package/dist/utilities/sanitizeInternalFields.js +1 -1
- package/dist/utilities/setsAreEqual.js +1 -1
- package/dist/utilities/splitPathByArrayFields.js +1 -1
- package/dist/utilities/telemetry/events/adminInit.js +1 -1
- package/dist/utilities/telemetry/events/serverInit.js +1 -1
- package/dist/utilities/telemetry/index.js +1 -1
- package/dist/utilities/telemetry/oneWayHash.js +1 -1
- package/dist/utilities/timestamp.js +1 -1
- package/dist/utilities/toKebabCase.js +1 -1
- package/dist/utilities/wait.js +1 -1
- package/dist/utilities/wordBoundariesRegex.js +1 -1
- package/dist/versions/baseFields.js +1 -1
- package/dist/versions/buildCollectionFields.js +1 -1
- package/dist/versions/buildGlobalFields.js +1 -1
- package/dist/versions/deleteCollectionVersions.js +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
- package/dist/versions/drafts/getQueryDraftsSort.js +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -1
- package/dist/versions/enforceMaxVersions.js +1 -1
- package/dist/versions/getLatestCollectionVersion.js +1 -1
- package/dist/versions/getLatestGlobalVersion.js +1 -1
- package/dist/versions/getVersionsModelName.js +1 -1
- package/dist/versions/saveVersion.js +1 -1
- package/dist/versions/types.js +1 -1
- package/errors.js +1 -1
- package/graphql.js +1 -1
- package/package.json +3 -3
- package/types.js +1 -1
- package/utilities.js +1 -1
- package/versions.js +1 -1
|
@@ -390,4 +390,4 @@ describe('sanitizeFields', ()=>{
|
|
|
390
390
|
});
|
|
391
391
|
});
|
|
392
392
|
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3Nhbml0aXplLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9jayxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgRmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBUZXh0RmllbGQsXG59IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBJbnZhbGlkRmllbGROYW1lLCBJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXAsIE1pc3NpbmdGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJy4vc2FuaXRpemUnXG5pbXBvcnQgeyBEYXRhYmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLidcblxuY29uc3QgZHVtbXlDb25maWc6IENvbmZpZyA9IHtcbiAgY29sbGVjdGlvbnM6IFtdLFxuICBkYjogKCkgPT4gKHt9KSBhcyBEYXRhYmFzZUFkYXB0ZXIsXG59XG5cbmRlc2NyaWJlKCdzYW5pdGl6ZUZpZWxkcycsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBtaXNzaW5nIHR5cGUgZmllbGQnLCAoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnc29tZS1jb2xsZWN0aW9uJyxcbiAgICAgICAgbmFtZTogJ1NvbWUgQ29sbGVjdGlvbicsXG4gICAgICB9LFxuICAgIF1cbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgIH0pLnRvVGhyb3coTWlzc2luZ0ZpZWxkVHlwZSlcbiAgfSlcbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBpbnZhbGlkIGZpZWxkIG5hbWUnLCAoKSA9PiB7XG4gICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ3NvbWUuY29sbGVjdGlvbicsXG4gICAgICAgIG5hbWU6ICdzb21lLmNvbGxlY3Rpb24nLFxuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB9LFxuICAgIF1cbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgIH0pLnRvVGhyb3coSW52YWxpZEZpZWxkTmFtZSlcbiAgfSlcblxuICBkZXNjcmliZSgnYXV0by1sYWJlbGluZycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHBvcHVsYXRlIGxhYmVsIGlmIG1pc3NpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnc29tZUZpZWxkJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlbMF0gYXMgVGV4dEZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnc29tZUZpZWxkJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbCgnU29tZSBGaWVsZCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgndGV4dCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IGF1dG8tbGFiZWwgb3ZlcnJpZGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0RvIG5vdCBsYWJlbCcsXG4gICAgICAgICAgbmFtZTogJ3NvbWVGaWVsZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgIH0pWzBdIGFzIFRleHRGaWVsZFxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NvbWVGaWVsZCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoJ0RvIG5vdCBsYWJlbCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgndGV4dCcpXG4gICAgfSlcblxuICAgIGRlc2NyaWJlKCdvcHQtb3V0JywgKCkgPT4ge1xuICAgICAgaXQoJ3Nob3VsZCBhbGxvdyBsYWJlbCBvcHQtb3V0JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgbmFtZTogJ3NvbWVGaWVsZCcsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgICB9KVswXSBhcyBUZXh0RmllbGRcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NvbWVGaWVsZCcpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbChmYWxzZSlcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ3RleHQnKVxuICAgICAgfSlcblxuICAgICAgaXQoJ3Nob3VsZCBhbGxvdyBsYWJlbCBvcHQtb3V0IGZvciBhcnJheXMnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFycmF5RmllbGQ6IEFycmF5RmllbGQgPSB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpdGVtTmFtZScsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBsYWJlbDogZmFsc2UsXG4gICAgICAgICAgbmFtZTogJ2l0ZW1zJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgICAgZmllbGRzOiBbYXJyYXlGaWVsZF0sXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgICAgfSlbMF0gYXMgQXJyYXlGaWVsZFxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnaXRlbXMnKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoZmFsc2UpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC50eXBlKS50b1N0cmljdEVxdWFsKCdhcnJheScpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvQmVVbmRlZmluZWQoKVxuICAgICAgfSlcbiAgICAgIGl0KCdzaG91bGQgYWxsb3cgbGFiZWwgb3B0LW91dCBmb3IgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmxvY2tzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rlc3ROdW1iZXInLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBzbHVnOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsYWJlbDogZmFsc2UsXG4gICAgICAgICAgICBuYW1lOiAnbm9MYWJlbEJsb2NrJyxcbiAgICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgICAgfSlbMF0gYXMgQmxvY2tGaWVsZFxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnbm9MYWJlbEJsb2NrJylcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKGZhbHNlKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYmxvY2tzJylcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVscykudG9CZVVuZGVmaW5lZCgpXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGxhYmVsIGFycmF5cyB3aXRoIHBsdXJhbCBhbmQgc2luZ3VsYXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2l0ZW1OYW1lJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5hbWU6ICdpdGVtcycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBBcnJheUZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnaXRlbXMnKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKCdJdGVtcycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYXJyYXknKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVscykudG9NYXRjaE9iamVjdCh7IHBsdXJhbDogJ0l0ZW1zJywgc2luZ3VsYXI6ICdJdGVtJyB9KVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGxhYmVsIGJsb2NrcyB3aXRoIHBsdXJhbCBhbmQgc2luZ3VsYXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBibG9ja3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbeyBuYW1lOiAndGVzdE51bWJlcicsIHR5cGU6ICdudW1iZXInIH1dLFxuICAgICAgICAgICAgICBzbHVnOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBuYW1lOiAnc3BlY2lhbEJsb2NrJyxcbiAgICAgICAgICB0eXBlOiAnYmxvY2tzJyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBCbG9ja0ZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnc3BlY2lhbEJsb2NrJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbCgnU3BlY2lhbCBCbG9jaycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYmxvY2tzJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgICBwbHVyYWw6ICdTcGVjaWFsIEJsb2NrcycsXG4gICAgICAgIHNpbmd1bGFyOiAnU3BlY2lhbCBCbG9jaycsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KChzYW5pdGl6ZWRGaWVsZC5ibG9ja3NbMF0uZmllbGRzWzBdIGFzIE51bWJlckZpZWxkKS5sYWJlbCkudG9TdHJpY3RFcXVhbCgnVGVzdCBOdW1iZXInKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3JlbGF0aW9uc2hpcHMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgb24gdmFsaWQgcmVsYXRpb25zaGlwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdzb21lLWNvbGxlY3Rpb24nLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkubm90LnRvVGhyb3coKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIG5vdCB0aHJvdyBvbiB2YWxpZCByZWxhdGlvbnNoaXAgLSBtdWx0aXBsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJywgJ2Fub3RoZXItY29sbGVjdGlvbiddXG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgcmVsYXRpb25UbzogWydzb21lLWNvbGxlY3Rpb24nLCAnYW5vdGhlci1jb2xsZWN0aW9uJ10sXG4gICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICBzYW5pdGl6ZUZpZWxkcyh7IGNvbmZpZzogZHVtbXlDb25maWcsIGZpZWxkcywgdmFsaWRSZWxhdGlvbnNoaXBzIH0pXG4gICAgICB9KS5ub3QudG9UaHJvdygpXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgbm90IHRocm93IG9uIHZhbGlkIHJlbGF0aW9uc2hpcCBpbnNpZGUgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQmxvY2s6IEJsb2NrID0ge1xuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICAgIHJlbGF0aW9uVG86ICdzb21lLWNvbGxlY3Rpb24nLFxuICAgICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2x1ZzogJ3JlbGF0aW9uc2hpcEJsb2NrJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrczogW3JlbGF0aW9uc2hpcEJsb2NrXSxcbiAgICAgICAgICBsYWJlbDogJ0xheW91dCBCbG9ja3MnLFxuICAgICAgICAgIG5hbWU6ICdsYXlvdXQnLFxuICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkubm90LnRvVGhyb3coKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHRocm93IG9uIGludmFsaWQgcmVsYXRpb25zaGlwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdub3QtdmFsaWQnLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkudG9UaHJvdyhJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXApXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gaW52YWxpZCByZWxhdGlvbnNoaXAgLSBtdWx0aXBsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJywgJ2Fub3RoZXItY29sbGVjdGlvbiddXG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgcmVsYXRpb25UbzogWydzb21lLWNvbGxlY3Rpb24nLCAnbm90LXZhbGlkJ10sXG4gICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICBzYW5pdGl6ZUZpZWxkcyh7IGNvbmZpZzogZHVtbXlDb25maWcsIGZpZWxkcywgdmFsaWRSZWxhdGlvbnNoaXBzIH0pXG4gICAgICB9KS50b1Rocm93KEludmFsaWRGaWVsZFJlbGF0aW9uc2hpcClcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBpbnZhbGlkIHJlbGF0aW9uc2hpcCBpbnNpZGUgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQmxvY2s6IEJsb2NrID0ge1xuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICAgIHJlbGF0aW9uVG86ICdub3QtdmFsaWQnLFxuICAgICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2x1ZzogJ3JlbGF0aW9uc2hpcEJsb2NrJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrczogW3JlbGF0aW9uc2hpcEJsb2NrXSxcbiAgICAgICAgICBsYWJlbDogJ0xheW91dCBCbG9ja3MnLFxuICAgICAgICAgIG5hbWU6ICdsYXlvdXQnLFxuICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkudG9UaHJvdyhJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXApXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgZGVmYXVsdFZhbHVlIG9mIGNoZWNrYm94IHRvIGZhbHNlIGlmIHJlcXVpcmVkIGFuZCB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnTXkgQ2hlY2tib3gnLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBDaGVja2JveEZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQuZGVmYXVsdFZhbHVlKS50b1N0cmljdEVxdWFsKGZhbHNlKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBlbXB0eSBmaWVsZCBhcnJheSBpZiBubyBmaWVsZHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgIGZpZWxkczogW10sXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkcykudG9TdHJpY3RFcXVhbChbXSlcbiAgICB9KVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJkdW1teUNvbmZpZyIsImNvbGxlY3Rpb25zIiwiZGIiLCJkZXNjcmliZSIsIml0IiwiZmllbGRzIiwibGFiZWwiLCJuYW1lIiwiZXhwZWN0Iiwic2FuaXRpemVGaWVsZHMiLCJjb25maWciLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJ0b1Rocm93IiwiTWlzc2luZ0ZpZWxkVHlwZSIsInR5cGUiLCJJbnZhbGlkRmllbGROYW1lIiwic2FuaXRpemVkRmllbGQiLCJ0b1N0cmljdEVxdWFsIiwiYXJyYXlGaWVsZCIsImxhYmVscyIsInRvQmVVbmRlZmluZWQiLCJibG9ja3MiLCJzbHVnIiwidG9NYXRjaE9iamVjdCIsInBsdXJhbCIsInNpbmd1bGFyIiwicmVsYXRpb25UbyIsIm5vdCIsInJlbGF0aW9uc2hpcEJsb2NrIiwiSW52YWxpZEZpZWxkUmVsYXRpb25zaGlwIiwicmVxdWlyZWQiLCJkZWZhdWx0VmFsdWUiLCJzYW5pdGl6ZWRGaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7d0JBVTZFOzBCQUM5QztBQUcvQixNQUFNQSxjQUFzQjtJQUMxQkMsYUFBYSxFQUFFO0lBQ2ZDLElBQUksSUFBTyxDQUFBLENBQUMsQ0FBQTtBQUNkO0FBRUFDLFNBQVMsa0JBQWtCO0lBQ3pCQyxHQUFHLHNDQUFzQztRQUN2Qyw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLE1BQU1DLFNBQWtCO1lBQ3RCO2dCQUNFQyxPQUFPO2dCQUNQQyxNQUFNO1lBQ1I7U0FDRDtRQUNEQyxPQUFPO1lBQ0wsNkRBQTZEO1lBQzdELGFBQWE7WUFDYkMsSUFBQUEsd0JBQWMsRUFBQztnQkFDYkMsUUFBUVY7Z0JBQ1JLO2dCQUNBTSxvQkFBb0IsRUFBRTtZQUN4QjtRQUNGLEdBQUdDLE9BQU8sQ0FBQ0Msd0JBQWdCO0lBQzdCO0lBQ0FULEdBQUcsc0NBQXNDO1FBQ3ZDLE1BQU1DLFNBQWtCO1lBQ3RCO2dCQUNFQyxPQUFPO2dCQUNQQyxNQUFNO2dCQUNOTyxNQUFNO1lBQ1I7U0FDRDtRQUNETixPQUFPO1lBQ0xDLElBQUFB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
|
|
393
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3Nhbml0aXplLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9jayxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgRmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBUZXh0RmllbGQsXG59IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBJbnZhbGlkRmllbGROYW1lLCBJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXAsIE1pc3NpbmdGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJy4vc2FuaXRpemUnXG5pbXBvcnQgeyBEYXRhYmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLidcblxuY29uc3QgZHVtbXlDb25maWc6IENvbmZpZyA9IHtcbiAgY29sbGVjdGlvbnM6IFtdLFxuICBkYjogKCkgPT4gKHt9KSBhcyBEYXRhYmFzZUFkYXB0ZXIsXG59XG5cbmRlc2NyaWJlKCdzYW5pdGl6ZUZpZWxkcycsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBtaXNzaW5nIHR5cGUgZmllbGQnLCAoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnc29tZS1jb2xsZWN0aW9uJyxcbiAgICAgICAgbmFtZTogJ1NvbWUgQ29sbGVjdGlvbicsXG4gICAgICB9LFxuICAgIF1cbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgIH0pLnRvVGhyb3coTWlzc2luZ0ZpZWxkVHlwZSlcbiAgfSlcbiAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBpbnZhbGlkIGZpZWxkIG5hbWUnLCAoKSA9PiB7XG4gICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ3NvbWUuY29sbGVjdGlvbicsXG4gICAgICAgIG5hbWU6ICdzb21lLmNvbGxlY3Rpb24nLFxuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB9LFxuICAgIF1cbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgIH0pLnRvVGhyb3coSW52YWxpZEZpZWxkTmFtZSlcbiAgfSlcblxuICBkZXNjcmliZSgnYXV0by1sYWJlbGluZycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHBvcHVsYXRlIGxhYmVsIGlmIG1pc3NpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnc29tZUZpZWxkJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgfSlbMF0gYXMgVGV4dEZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnc29tZUZpZWxkJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbCgnU29tZSBGaWVsZCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgndGV4dCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IGF1dG8tbGFiZWwgb3ZlcnJpZGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0RvIG5vdCBsYWJlbCcsXG4gICAgICAgICAgbmFtZTogJ3NvbWVGaWVsZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgIH0pWzBdIGFzIFRleHRGaWVsZFxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NvbWVGaWVsZCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoJ0RvIG5vdCBsYWJlbCcpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgndGV4dCcpXG4gICAgfSlcblxuICAgIGRlc2NyaWJlKCdvcHQtb3V0JywgKCkgPT4ge1xuICAgICAgaXQoJ3Nob3VsZCBhbGxvdyBsYWJlbCBvcHQtb3V0JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IGZhbHNlLFxuICAgICAgICAgICAgbmFtZTogJ3NvbWVGaWVsZCcsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZCA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICB2YWxpZFJlbGF0aW9uc2hpcHM6IFtdLFxuICAgICAgICB9KVswXSBhcyBUZXh0RmllbGRcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLm5hbWUpLnRvU3RyaWN0RXF1YWwoJ3NvbWVGaWVsZCcpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbChmYWxzZSlcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLnR5cGUpLnRvU3RyaWN0RXF1YWwoJ3RleHQnKVxuICAgICAgfSlcblxuICAgICAgaXQoJ3Nob3VsZCBhbGxvdyBsYWJlbCBvcHQtb3V0IGZvciBhcnJheXMnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFycmF5RmllbGQ6IEFycmF5RmllbGQgPSB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpdGVtTmFtZScsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBsYWJlbDogZmFsc2UsXG4gICAgICAgICAgbmFtZTogJ2l0ZW1zJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgICAgZmllbGRzOiBbYXJyYXlGaWVsZF0sXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgICAgfSlbMF0gYXMgQXJyYXlGaWVsZFxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnaXRlbXMnKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubGFiZWwpLnRvU3RyaWN0RXF1YWwoZmFsc2UpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC50eXBlKS50b1N0cmljdEVxdWFsKCdhcnJheScpXG4gICAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvQmVVbmRlZmluZWQoKVxuICAgICAgfSlcbiAgICAgIGl0KCdzaG91bGQgYWxsb3cgbGFiZWwgb3B0LW91dCBmb3IgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYmxvY2tzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rlc3ROdW1iZXInLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBzbHVnOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsYWJlbDogZmFsc2UsXG4gICAgICAgICAgICBuYW1lOiAnbm9MYWJlbEJsb2NrJyxcbiAgICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgICAgY29uc3Qgc2FuaXRpemVkRmllbGQgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgICAgY29uZmlnOiBkdW1teUNvbmZpZyxcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgdmFsaWRSZWxhdGlvbnNoaXBzOiBbXSxcbiAgICAgICAgfSlbMF0gYXMgQmxvY2tGaWVsZFxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnbm9MYWJlbEJsb2NrJylcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKGZhbHNlKVxuICAgICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYmxvY2tzJylcbiAgICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVscykudG9CZVVuZGVmaW5lZCgpXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGxhYmVsIGFycmF5cyB3aXRoIHBsdXJhbCBhbmQgc2luZ3VsYXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2l0ZW1OYW1lJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5hbWU6ICdpdGVtcycsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBBcnJheUZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnaXRlbXMnKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVsKS50b1N0cmljdEVxdWFsKCdJdGVtcycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYXJyYXknKVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkLmxhYmVscykudG9NYXRjaE9iamVjdCh7IHBsdXJhbDogJ0l0ZW1zJywgc2luZ3VsYXI6ICdJdGVtJyB9KVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIGxhYmVsIGJsb2NrcyB3aXRoIHBsdXJhbCBhbmQgc2luZ3VsYXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBibG9ja3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbeyBuYW1lOiAndGVzdE51bWJlcicsIHR5cGU6ICdudW1iZXInIH1dLFxuICAgICAgICAgICAgICBzbHVnOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBuYW1lOiAnc3BlY2lhbEJsb2NrJyxcbiAgICAgICAgICB0eXBlOiAnYmxvY2tzJyxcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBCbG9ja0ZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQubmFtZSkudG9TdHJpY3RFcXVhbCgnc3BlY2lhbEJsb2NrJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbCkudG9TdHJpY3RFcXVhbCgnU3BlY2lhbCBCbG9jaycpXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQudHlwZSkudG9TdHJpY3RFcXVhbCgnYmxvY2tzJylcbiAgICAgIGV4cGVjdChzYW5pdGl6ZWRGaWVsZC5sYWJlbHMpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgICBwbHVyYWw6ICdTcGVjaWFsIEJsb2NrcycsXG4gICAgICAgIHNpbmd1bGFyOiAnU3BlY2lhbCBCbG9jaycsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KChzYW5pdGl6ZWRGaWVsZC5ibG9ja3NbMF0uZmllbGRzWzBdIGFzIE51bWJlckZpZWxkKS5sYWJlbCkudG9TdHJpY3RFcXVhbCgnVGVzdCBOdW1iZXInKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3JlbGF0aW9uc2hpcHMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgb24gdmFsaWQgcmVsYXRpb25zaGlwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdzb21lLWNvbGxlY3Rpb24nLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkubm90LnRvVGhyb3coKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIG5vdCB0aHJvdyBvbiB2YWxpZCByZWxhdGlvbnNoaXAgLSBtdWx0aXBsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJywgJ2Fub3RoZXItY29sbGVjdGlvbiddXG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgcmVsYXRpb25UbzogWydzb21lLWNvbGxlY3Rpb24nLCAnYW5vdGhlci1jb2xsZWN0aW9uJ10sXG4gICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICBzYW5pdGl6ZUZpZWxkcyh7IGNvbmZpZzogZHVtbXlDb25maWcsIGZpZWxkcywgdmFsaWRSZWxhdGlvbnNoaXBzIH0pXG4gICAgICB9KS5ub3QudG9UaHJvdygpXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgbm90IHRocm93IG9uIHZhbGlkIHJlbGF0aW9uc2hpcCBpbnNpZGUgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQmxvY2s6IEJsb2NrID0ge1xuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICAgIHJlbGF0aW9uVG86ICdzb21lLWNvbGxlY3Rpb24nLFxuICAgICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2x1ZzogJ3JlbGF0aW9uc2hpcEJsb2NrJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrczogW3JlbGF0aW9uc2hpcEJsb2NrXSxcbiAgICAgICAgICBsYWJlbDogJ0xheW91dCBCbG9ja3MnLFxuICAgICAgICAgIG5hbWU6ICdsYXlvdXQnLFxuICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkubm90LnRvVGhyb3coKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHRocm93IG9uIGludmFsaWQgcmVsYXRpb25zaGlwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgZmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdteS1yZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIG5hbWU6ICdNeSBSZWxhdGlvbnNoaXAnLFxuICAgICAgICAgIHJlbGF0aW9uVG86ICdub3QtdmFsaWQnLFxuICAgICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkudG9UaHJvdyhJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXApXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgb24gaW52YWxpZCByZWxhdGlvbnNoaXAgLSBtdWx0aXBsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IFsnc29tZS1jb2xsZWN0aW9uJywgJ2Fub3RoZXItY29sbGVjdGlvbiddXG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgbmFtZTogJ015IFJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgcmVsYXRpb25UbzogWydzb21lLWNvbGxlY3Rpb24nLCAnbm90LXZhbGlkJ10sXG4gICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICBzYW5pdGl6ZUZpZWxkcyh7IGNvbmZpZzogZHVtbXlDb25maWcsIGZpZWxkcywgdmFsaWRSZWxhdGlvbnNoaXBzIH0pXG4gICAgICB9KS50b1Rocm93KEludmFsaWRGaWVsZFJlbGF0aW9uc2hpcClcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBvbiBpbnZhbGlkIHJlbGF0aW9uc2hpcCBpbnNpZGUgYmxvY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gWydzb21lLWNvbGxlY3Rpb24nXVxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwQmxvY2s6IEJsb2NrID0ge1xuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ215LXJlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgICBuYW1lOiAnTXkgUmVsYXRpb25zaGlwJyxcbiAgICAgICAgICAgIHJlbGF0aW9uVG86ICdub3QtdmFsaWQnLFxuICAgICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2x1ZzogJ3JlbGF0aW9uc2hpcEJsb2NrJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrczogW3JlbGF0aW9uc2hpcEJsb2NrXSxcbiAgICAgICAgICBsYWJlbDogJ0xheW91dCBCbG9ja3MnLFxuICAgICAgICAgIG5hbWU6ICdsYXlvdXQnLFxuICAgICAgICAgIHR5cGU6ICdibG9ja3MnLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgc2FuaXRpemVGaWVsZHMoeyBjb25maWc6IGR1bW15Q29uZmlnLCBmaWVsZHMsIHZhbGlkUmVsYXRpb25zaGlwcyB9KVxuICAgICAgfSkudG9UaHJvdyhJbnZhbGlkRmllbGRSZWxhdGlvbnNoaXApXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgZGVmYXVsdFZhbHVlIG9mIGNoZWNrYm94IHRvIGZhbHNlIGlmIHJlcXVpcmVkIGFuZCB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnTXkgQ2hlY2tib3gnLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IHNhbml0aXplZEZpZWxkID0gc2FuaXRpemVGaWVsZHMoe1xuICAgICAgICBjb25maWc6IGR1bW15Q29uZmlnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVswXSBhcyBDaGVja2JveEZpZWxkXG4gICAgICBleHBlY3Qoc2FuaXRpemVkRmllbGQuZGVmYXVsdFZhbHVlKS50b1N0cmljdEVxdWFsKGZhbHNlKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBlbXB0eSBmaWVsZCBhcnJheSBpZiBubyBmaWVsZHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzYW5pdGl6ZWRGaWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogZHVtbXlDb25maWcsXG4gICAgICAgIGZpZWxkczogW10sXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwczogW10sXG4gICAgICB9KVxuICAgICAgZXhwZWN0KHNhbml0aXplZEZpZWxkcykudG9TdHJpY3RFcXVhbChbXSlcbiAgICB9KVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJkdW1teUNvbmZpZyIsImNvbGxlY3Rpb25zIiwiZGIiLCJkZXNjcmliZSIsIml0IiwiZmllbGRzIiwibGFiZWwiLCJuYW1lIiwiZXhwZWN0Iiwic2FuaXRpemVGaWVsZHMiLCJjb25maWciLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJ0b1Rocm93IiwiTWlzc2luZ0ZpZWxkVHlwZSIsInR5cGUiLCJJbnZhbGlkRmllbGROYW1lIiwic2FuaXRpemVkRmllbGQiLCJ0b1N0cmljdEVxdWFsIiwiYXJyYXlGaWVsZCIsImxhYmVscyIsInRvQmVVbmRlZmluZWQiLCJibG9ja3MiLCJzbHVnIiwidG9NYXRjaE9iamVjdCIsInBsdXJhbCIsInNpbmd1bGFyIiwicmVsYXRpb25UbyIsIm5vdCIsInJlbGF0aW9uc2hpcEJsb2NrIiwiSW52YWxpZEZpZWxkUmVsYXRpb25zaGlwIiwicmVxdWlyZWQiLCJkZWZhdWx0VmFsdWUiLCJzYW5pdGl6ZWRGaWVsZHMiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7O3dCQVU2RTswQkFDOUM7QUFHL0IsTUFBTUEsY0FBc0I7SUFDMUJDLGFB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
|
|
@@ -165,7 +165,7 @@ const text = baseField.keys({
|
|
|
165
165
|
]), _joi.default.string()),
|
|
166
166
|
rtl: _joi.default.boolean()
|
|
167
167
|
}),
|
|
168
|
-
defaultValue: _joi.default.alternatives().try(_joi.default.string(), _joi.default.func()),
|
|
168
|
+
defaultValue: _joi.default.alternatives().try(_joi.default.string().allow(''), _joi.default.func()),
|
|
169
169
|
hasMany: _joi.default.boolean().default(false),
|
|
170
170
|
maxLength: _joi.default.number(),
|
|
171
171
|
maxRows: _joi.default.number().when('hasMany', {
|
|
@@ -228,7 +228,7 @@ const textarea = baseField.keys({
|
|
|
228
228
|
rows: _joi.default.number(),
|
|
229
229
|
rtl: _joi.default.boolean()
|
|
230
230
|
}),
|
|
231
|
-
defaultValue: _joi.default.alternatives().try(_joi.default.string(), _joi.default.func()),
|
|
231
|
+
defaultValue: _joi.default.alternatives().try(_joi.default.string().allow(''), _joi.default.func()),
|
|
232
232
|
maxLength: _joi.default.number(),
|
|
233
233
|
minLength: _joi.default.number()
|
|
234
234
|
});
|
|
@@ -245,7 +245,7 @@ const email = baseField.keys({
|
|
|
245
245
|
}),
|
|
246
246
|
placeholder: _joi.default.string()
|
|
247
247
|
}),
|
|
248
|
-
defaultValue: _joi.default.alternatives().try(_joi.default.string(), _joi.default.func()),
|
|
248
|
+
defaultValue: _joi.default.alternatives().try(_joi.default.string().allow(''), _joi.default.func()),
|
|
249
249
|
maxLength: _joi.default.number(),
|
|
250
250
|
minLength: _joi.default.number()
|
|
251
251
|
});
|
|
@@ -260,7 +260,7 @@ const code = baseField.keys({
|
|
|
260
260
|
editorOptions: _joi.default.object().unknown(),
|
|
261
261
|
language: _joi.default.string()
|
|
262
262
|
}),
|
|
263
|
-
defaultValue: _joi.default.alternatives().try(_joi.default.string(), _joi.default.func())
|
|
263
|
+
defaultValue: _joi.default.alternatives().try(_joi.default.string().allow(''), _joi.default.func())
|
|
264
264
|
});
|
|
265
265
|
const json = baseField.keys({
|
|
266
266
|
name: _joi.default.string().required(),
|
|
@@ -272,7 +272,7 @@ const json = baseField.keys({
|
|
|
272
272
|
}),
|
|
273
273
|
editorOptions: _joi.default.object().unknown()
|
|
274
274
|
}),
|
|
275
|
-
defaultValue: _joi.default.alternatives().try(_joi.default.array(), _joi.default.object()),
|
|
275
|
+
defaultValue: _joi.default.alternatives().try(_joi.default.array(), _joi.default.func(), _joi.default.object()),
|
|
276
276
|
jsonSchema: _joi.default.object().unknown()
|
|
277
277
|
});
|
|
278
278
|
const select = baseField.keys({
|
|
@@ -579,4 +579,4 @@ const ui = _joi.default.object().keys({
|
|
|
579
579
|
const fieldSchema = _joi.default.alternatives().try(text, number, textarea, email, code, json, select, group, array, row, collapsible, tabs, radio, relationship, checkbox, upload, richText, blocks, date, point, ui).id('field');
|
|
580
580
|
const _default = fieldSchema;
|
|
581
581
|
|
|
582
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3NjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSdcblxuaW1wb3J0IHsgY29tcG9uZW50U2NoZW1hIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NoYXJlZC9jb21wb25lbnRTY2hlbWEnXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMgPSBqb2lcbiAgLm9iamVjdCgpXG4gIC5rZXlzKHtcbiAgICBDZWxsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgRmllbGQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICBGaWx0ZXI6IGNvbXBvbmVudFNjaGVtYSxcbiAgfSlcbiAgLmRlZmF1bHQoe30pXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5GaWVsZHMgPSBqb2kub2JqZWN0KCkua2V5cyh7XG4gIGNsYXNzTmFtZTogam9pLnN0cmluZygpLFxuICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMsXG4gIGNvbmRpdGlvbjogam9pLmZ1bmMoKSxcbiAgZGVzY3JpcHRpb246IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgZGlzYWJsZUJ1bGtFZGl0OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBkaXNhYmxlTGlzdENvbHVtbjogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgZGlzYWJsZUxpc3RGaWx0ZXI6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIGRpc2FibGVkOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBoaWRkZW46IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIGluaXRDb2xsYXBzZWQ6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIHBvc2l0aW9uOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3NpZGViYXInKSxcbiAgcmVhZE9ubHk6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIHN0eWxlOiBqb2kub2JqZWN0KCkudW5rbm93bigpLFxuICB3aWR0aDogam9pLnN0cmluZygpLFxufSlcblxuZXhwb3J0IGNvbnN0IGJhc2VGaWVsZCA9IGpvaVxuICAub2JqZWN0KClcbiAgLmtleXMoe1xuICAgIGFjY2Vzczogam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgY3JlYXRlOiBqb2kuZnVuYygpLFxuICAgICAgcmVhZDogam9pLmZ1bmMoKSxcbiAgICAgIHVwZGF0ZTogam9pLmZ1bmMoKSxcbiAgICB9KSxcbiAgICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmRlZmF1bHQoKSxcbiAgICBjdXN0b206IGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgam9pLmFueSgpKSxcbiAgICBoaWRkZW46IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgaG9va3M6IGpvaVxuICAgICAgLm9iamVjdCgpXG4gICAgICAua2V5cyh7XG4gICAgICAgIGFmdGVyQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgICAgYWZ0ZXJSZWFkOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgICAgYmVmb3JlQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgICAgYmVmb3JlVmFsaWRhdGU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLmRlZmF1bHQoW10pLFxuICAgICAgfSlcbiAgICAgIC5kZWZhdWx0KCksXG4gICAgaW5kZXg6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgbGFiZWw6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pLCBqb2kuc3RyaW5nKCksIGpvaS52YWxpZChmYWxzZSkpLFxuICAgIGxvY2FsaXplZDogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICByZXF1aXJlZDogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICBzYXZlVG9KV1Q6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmJvb2xlYW4oKSwgam9pLnN0cmluZygpKS5kZWZhdWx0KGZhbHNlKSxcbiAgICB1bmlxdWU6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgdmFsaWRhdGU6IGpvaS5mdW5jKCksXG4gIH0pXG4gIC5kZWZhdWx0KClcblxuZXhwb3J0IGNvbnN0IGlkRmllbGQgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS52YWxpZCgnaWQnKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd0ZXh0JywgJ251bWJlcicpLFxuICBsb2NhbGl6ZWQ6IGpvaS5pbnZhbGlkKHRydWUpLFxuICByZXF1aXJlZDogam9pLm5vdChmYWxzZSwgMCkuZGVmYXVsdCh0cnVlKSxcbn0pXG5cbmV4cG9ydCBjb25zdCB0ZXh0ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd0ZXh0JykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBhdXRvQ29tcGxldGU6IGpvaS5zdHJpbmcoKSxcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgICBwbGFjZWhvbGRlcjogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSksIGpvaS5zdHJpbmcoKSksXG4gICAgcnRsOiBqb2kuYm9vbGVhbigpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgam9pLmZ1bmMoKSksXG4gIGhhc01hbnk6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIG1heExlbmd0aDogam9pLm51bWJlcigpLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgbWluTGVuZ3RoOiBqb2kubnVtYmVyKCksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKS53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxufSlcblxuZXhwb3J0IGNvbnN0IG51bWJlciA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnbnVtYmVyJykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBhdXRvQ29tcGxldGU6IGpvaS5zdHJpbmcoKSxcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaVxuICAgICAgICAuYXJyYXkoKVxuICAgICAgICAuaXRlbXMoY29tcG9uZW50U2NoZW1hKVxuICAgICAgICAud2hlbignaGFzTWFueScsIHsgbm90OiB0cnVlLCBvdGhlcndpc2U6IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2lcbiAgICAgICAgLmFycmF5KClcbiAgICAgICAgLml0ZW1zKGNvbXBvbmVudFNjaGVtYSlcbiAgICAgICAgLndoZW4oJ2hhc01hbnknLCB7IG5vdDogdHJ1ZSwgb3RoZXJ3aXNlOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaS5zdHJpbmcoKSxcbiAgICBzdGVwOiBqb2kubnVtYmVyKCksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoXG4gICAgICBqb2kubnVtYmVyKCksXG4gICAgICBqb2kuZnVuYygpLFxuICAgICAgam9pLmFycmF5KCkud2hlbignaGFzTWFueScsIHsgbm90OiB0cnVlLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gICAgKSxcbiAgaGFzTWFueTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgbWF4OiBqb2kubnVtYmVyKCksXG4gIG1heFJvd3M6IGpvaS5udW1iZXIoKS53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxuICBtaW46IGpvaS5udW1iZXIoKSxcbiAgbWluUm93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG59KVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWEgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3RleHRhcmVhJykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgICBwbGFjZWhvbGRlcjogam9pLnN0cmluZygpLFxuICAgIHJvd3M6IGpvaS5udW1iZXIoKSxcbiAgICBydGw6IGpvaS5ib29sZWFuKCksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgbWF4TGVuZ3RoOiBqb2kubnVtYmVyKCksXG4gIG1pbkxlbmd0aDogam9pLm51bWJlcigpLFxufSlcblxuZXhwb3J0IGNvbnN0IGVtYWlsID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdlbWFpbCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgYXV0b0NvbXBsZXRlOiBqb2kuc3RyaW5nKCksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICBtYXhMZW5ndGg6IGpvaS5udW1iZXIoKSxcbiAgbWluTGVuZ3RoOiBqb2kubnVtYmVyKCksXG59KVxuXG5leHBvcnQgY29uc3QgY29kZSA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnY29kZScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgZWRpdG9yT3B0aW9uczogam9pLm9iamVjdCgpLnVua25vd24oKSwgLy8gRWRpdG9yWydvcHRpb25zJ10gQG1vbmFjby1lZGl0b3IvcmVhY3RcbiAgICBsYW5ndWFnZTogam9pLnN0cmluZygpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgam9pLmZ1bmMoKSksXG59KVxuXG5leHBvcnQgY29uc3QganNvbiA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnanNvbicpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgZWRpdG9yT3B0aW9uczogam9pLm9iamVjdCgpLnVua25vd24oKSwgLy8gRWRpdG9yWydvcHRpb25zJ10gQG1vbmFjby1lZGl0b3IvcmVhY3RcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYXJyYXkoKSwgam9pLm9iamVjdCgpKSxcbiAganNvblNjaGVtYTogam9pLm9iamVjdCgpLnVua25vd24oKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBzZWxlY3QgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3NlbGVjdCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgaXNDbGVhcmFibGU6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgaXNTb3J0YWJsZTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgfSksXG4gIGRiTmFtZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICBkZWZhdWx0VmFsdWU6IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoam9pLnN0cmluZygpLmFsbG93KCcnKSwgam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpLmFsbG93KCcnKSksIGpvaS5mdW5jKCkpLFxuICBlbnVtTmFtZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICBoYXNNYW55OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBvcHRpb25zOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5taW4oMSlcbiAgICAuaXRlbXMoXG4gICAgICBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kuc3RyaW5nKCksXG4gICAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICAgIGxhYmVsOiBqb2lcbiAgICAgICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICAgICAgICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCkuYWxsb3coJycpLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKVxuICAgIC5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IHJhZGlvID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyYWRpbycpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgbGF5b3V0OiBqb2kuc3RyaW5nKCkudmFsaWQoJ3ZlcnRpY2FsJywgJ2hvcml6b250YWwnKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCkuYWxsb3coJycpLCBqb2kuZnVuYygpKSxcbiAgZW51bU5hbWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgb3B0aW9uczogam9pXG4gICAgLmFycmF5KClcbiAgICAubWluKDEpXG4gICAgLml0ZW1zKFxuICAgICAgam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBsYWJlbDogam9pXG4gICAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSlcbiAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKS5hbGxvdygnJyksXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApXG4gICAgLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3Qgcm93ID0gYmFzZUZpZWxkLmtleXMoe1xuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3JvdycpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMuZGVmYXVsdCgpLFxuICBmaWVsZHM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5saW5rKCcjZmllbGQnKSksXG59KVxuXG5leHBvcnQgY29uc3QgY29sbGFwc2libGUgPSBiYXNlRmllbGQua2V5cyh7XG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnY29sbGFwc2libGUnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmRlZmF1bHQoKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLFxuICBsYWJlbDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGNvbXBvbmVudFNjaGVtYSksXG59KVxuXG5jb25zdCB0YWIgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS53aGVuKCdsb2NhbGl6ZWQnLCB7IGlzOiBqb2kuZXhpc3QoKSwgdGhlbjogam9pLnJlcXVpcmVkKCkgfSksXG4gIGRlc2NyaXB0aW9uOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLnJlcXVpcmVkKCksXG4gIGludGVyZmFjZU5hbWU6IGpvaS5zdHJpbmcoKS53aGVuKCduYW1lJywgeyBub3Q6IGpvaS5leGlzdCgpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIGxhYmVsOiBqb2lcbiAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpXG4gICAgLndoZW4oJ25hbWUnLCB7IGlzOiBqb2kubm90KCksIHRoZW46IGpvaS5yZXF1aXJlZCgpIH0pLFxuICBsb2NhbGl6ZWQ6IGpvaS5ib29sZWFuKCksXG4gIHNhdmVUb0pXVDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYm9vbGVhbigpLCBqb2kuc3RyaW5nKCkpLFxufSlcblxuZXhwb3J0IGNvbnN0IHRhYnMgPSBiYXNlRmllbGQua2V5cyh7XG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgndGFicycpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgZGVzY3JpcHRpb246IGpvaS5mb3JiaWRkZW4oKSxcbiAgfSksXG4gIGZpZWxkczogam9pLmZvcmJpZGRlbigpLFxuICBsb2NhbGl6ZWQ6IGpvaS5mb3JiaWRkZW4oKSxcbiAgdGFiczogam9pLmFycmF5KCkuaXRlbXModGFiKS5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IGdyb3VwID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdncm91cCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgaGlkZUd1dHRlcjogam9pLmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKSwgam9pLmZ1bmMoKSksXG4gIGZpZWxkczogam9pLmFycmF5KCkuaXRlbXMoam9pLmxpbmsoJyNmaWVsZCcpKSxcbiAgaW50ZXJmYWNlTmFtZTogam9pLnN0cmluZygpLFxufSlcblxuZXhwb3J0IGNvbnN0IGFycmF5ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdhcnJheScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHNcbiAgICAua2V5cyh7XG4gICAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHNcbiAgICAgICAgLmtleXMoe1xuICAgICAgICAgIFJvd0xhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgIH0pXG4gICAgICAgIC5kZWZhdWx0KHt9KSxcbiAgICAgIGlzU29ydGFibGU6IGpvaS5ib29sZWFuKCksXG4gICAgfSlcbiAgICAuZGVmYXVsdCh7fSksXG4gIGRiTmFtZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCkuaXRlbXMoam9pLm9iamVjdCgpKSwgam9pLmZ1bmMoKSksXG4gIGZpZWxkczogam9pLmFycmF5KCkuaXRlbXMoam9pLmxpbmsoJyNmaWVsZCcpKS5yZXF1aXJlZCgpLFxuICBpbnRlcmZhY2VOYW1lOiBqb2kuc3RyaW5nKCksXG4gIGxhYmVsczogam9pLm9iamVjdCh7XG4gICAgcGx1cmFsOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICBzaW5ndWxhcjogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gIH0pLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCB1cGxvYWQgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3VwbG9hZCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLm9iamVjdCgpLCBqb2kuZnVuYygpKSxcbiAgZmlsdGVyT3B0aW9uczogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kub2JqZWN0KCksIGpvaS5mdW5jKCkpLFxuICBtYXhEZXB0aDogam9pLm51bWJlcigpLFxuICByZWxhdGlvblRvOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBjaGVja2JveCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnY2hlY2tib3gnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5mdW5jKCkpLFxufSlcblxuZXhwb3J0IGNvbnN0IHBvaW50ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdwb2ludCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCkuaXRlbXMoam9pLm51bWJlcigpKS5tYXgoMikubWluKDIpLCBqb2kuZnVuYygpKSxcbn0pXG5cbmV4cG9ydCBjb25zdCByZWxhdGlvbnNoaXAgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3JlbGF0aW9uc2hpcCcpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgYWxsb3dDcmVhdGU6IGpvaS5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICB9KSxcbiAgICBpc1NvcnRhYmxlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIHNvcnRPcHRpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkuY29uZGl0aW9uYWwoam9pLnJlZignLi4ucmVsYXRpb25UbycpLCB7XG4gICAgICBpczogam9pLnN0cmluZygpLFxuICAgICAgb3RoZXJ3aXNlOiBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIGpvaS5zdHJpbmcoKSksXG4gICAgICB0aGVuOiBqb2kuc3RyaW5nKCksXG4gICAgfSksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmZ1bmMoKSksXG4gIGZpbHRlck9wdGlvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLm9iamVjdCgpLCBqb2kuZnVuYygpKSxcbiAgaGFzTWFueTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgbWF4OiBqb2lcbiAgICAubnVtYmVyKClcbiAgICAud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KVxuICAgIC53YXJuaW5nKCdkZXByZWNhdGVkJywgeyBtZXNzYWdlOiAnVXNlIG1heFJvd3MgaW5zdGVhZC4nIH0pLFxuICBtYXhEZXB0aDogam9pLm51bWJlcigpLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgbWluOiBqb2lcbiAgICAubnVtYmVyKClcbiAgICAud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KVxuICAgIC53YXJuaW5nKCdkZXByZWNhdGVkJywgeyBtZXNzYWdlOiAnVXNlIG1pblJvd3MgaW5zdGVhZC4nIH0pLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgcmVsYXRpb25Ubzogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSwgam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSksXG59KVxuXG5leHBvcnQgY29uc3QgYmxvY2tzID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdibG9ja3MnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzXG4gICAgLmtleXMoe1xuICAgICAgaXNTb3J0YWJsZTogam9pLmJvb2xlYW4oKSxcbiAgICB9KVxuICAgIC5kZWZhdWx0KHt9KSxcbiAgYmxvY2tzOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5pdGVtcyhcbiAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICBzbHVnOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICAgICAgY3VzdG9tOiBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIGpvaS5hbnkoKSksXG4gICAgICAgIGRiTmFtZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxuICAgICAgICBmaWVsZHM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5saW5rKCcjZmllbGQnKSksXG4gICAgICAgIGdyYXBoUUw6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgICBzaW5ndWxhck5hbWU6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgfSksXG4gICAgICAgIGltYWdlQWx0VGV4dDogam9pLnN0cmluZygpLFxuICAgICAgICBpbWFnZVVSTDogam9pLnN0cmluZygpLFxuICAgICAgICBpbnRlcmZhY2VOYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICAgIGxhYmVsczogam9pLm9iamVjdCh7XG4gICAgICAgICAgcGx1cmFsOiBqb2lcbiAgICAgICAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICAgICAgICBzaW5ndWxhcjogam9pXG4gICAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgICAgIH0pLFxuICAgICAgfSksXG4gICAgKVxuICAgIC5yZXF1aXJlZCgpLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCkuaXRlbXMoam9pLm9iamVjdCgpKSwgam9pLmZ1bmMoKSksXG4gIGxhYmVsczogam9pLm9iamVjdCh7XG4gICAgcGx1cmFsOiBqb2lcbiAgICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKSxcbiAgICBzaW5ndWxhcjogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gIH0pLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCByaWNoVGV4dCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgncmljaFRleHQnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5hcnJheSgpLml0ZW1zKGpvaS5vYmplY3QoKSksIGpvaS5mdW5jKCksIGpvaS5vYmplY3QoKSksXG4gIGVkaXRvcjogam9pXG4gICAgLm9iamVjdCgpXG4gICAgLmtleXMoe1xuICAgICAgQ2VsbENvbXBvbmVudDogY29tcG9uZW50U2NoZW1hLm9wdGlvbmFsKCksXG4gICAgICBGaWVsZENvbXBvbmVudDogY29tcG9uZW50U2NoZW1hLm9wdGlvbmFsKCksXG4gICAgICBMYXp5Q2VsbENvbXBvbmVudDogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgTGF6eUZpZWxkQ29tcG9uZW50OiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICBhZnRlclJlYWRQcm9taXNlOiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICBvdXRwdXRTY2hlbWE6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIHBvcHVsYXRpb25Qcm9taXNlOiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICB2YWxpZGF0ZTogam9pLmZ1bmMoKS5yZXF1aXJlZCgpLFxuICAgIH0pXG4gICAgLnVua25vd24oKSxcbiAgbWF4RGVwdGg6IGpvaS5udW1iZXIoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBkYXRlID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdkYXRlJykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgICBkYXRlOiBqb2kub2JqZWN0KHtcbiAgICAgIGRpc3BsYXlGb3JtYXQ6IGpvaS5zdHJpbmcoKSxcbiAgICAgIG1heERhdGU6IGpvaS5kYXRlKCksXG4gICAgICBtYXhUaW1lOiBqb2kuZGF0ZSgpLFxuICAgICAgbWluRGF0ZTogam9pLmRhdGUoKSxcbiAgICAgIG1pblRpbWU6IGpvaS5kYXRlKCksXG4gICAgICBtb250aHNUb1Nob3c6IGpvaS5udW1iZXIoKSxcbiAgICAgIG92ZXJyaWRlczogam9pLm9iamVjdCgpLnVua25vd24oKSxcbiAgICAgIHBpY2tlckFwcGVhcmFuY2U6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHRpbWVGb3JtYXQ6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHRpbWVJbnRlcnZhbHM6IGpvaS5udW1iZXIoKSxcbiAgICB9KSxcbiAgICBwbGFjZWhvbGRlcjogam9pLnN0cmluZygpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgam9pLmZ1bmMoKSksXG59KVxuXG5leHBvcnQgY29uc3QgdWkgPSBqb2kub2JqZWN0KCkua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3VpJykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGpvaVxuICAgIC5vYmplY3QoKVxuICAgIC5rZXlzKHtcbiAgICAgIGNvbXBvbmVudHM6IGpvaVxuICAgICAgICAub2JqZWN0KClcbiAgICAgICAgLmtleXMoe1xuICAgICAgICAgIENlbGw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgICBGaWVsZDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgICB9KVxuICAgICAgICAuZGVmYXVsdCh7fSksXG4gICAgICBjb25kaXRpb246IGpvaS5mdW5jKCksXG4gICAgICBkaXNhYmxlTGlzdENvbHVtbjogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICAgIHBvc2l0aW9uOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3NpZGViYXInKSxcbiAgICAgIHdpZHRoOiBqb2kuc3RyaW5nKCksXG4gICAgfSlcbiAgICAuZGVmYXVsdCgpLFxuICBjdXN0b206IGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgam9pLmFueSgpKSxcbiAgbGFiZWw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG59KVxuXG5jb25zdCBmaWVsZFNjaGVtYSA9IGpvaVxuICAuYWx0ZXJuYXRpdmVzKClcbiAgLnRyeShcbiAgICB0ZXh0LFxuICAgIG51bWJlcixcbiAgICB0ZXh0YXJlYSxcbiAgICBlbWFpbCxcbiAgICBjb2RlLFxuICAgIGpzb24sXG4gICAgc2VsZWN0LFxuICAgIGdyb3VwLFxuICAgIGFycmF5LFxuICAgIHJvdyxcbiAgICBjb2xsYXBzaWJsZSxcbiAgICB0YWJzLFxuICAgIHJhZGlvLFxuICAgIHJlbGF0aW9uc2hpcCxcbiAgICBjaGVja2JveCxcbiAgICB1cGxvYWQsXG4gICAgcmljaFRleHQsXG4gICAgYmxvY2tzLFxuICAgIGRhdGUsXG4gICAgcG9pbnQsXG4gICAgdWksXG4gIClcbiAgLmlkKCdmaWVsZCcpXG5cbmV4cG9ydCBkZWZhdWx0IGZpZWxkU2NoZW1hXG4iXSwibmFtZXMiOlsiYXJyYXkiLCJiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMiLCJiYXNlQWRtaW5GaWVsZHMiLCJiYXNlRmllbGQiLCJibG9ja3MiLCJjaGVja2JveCIsImNvZGUiLCJjb2xsYXBzaWJsZSIsImRhdGUiLCJlbWFpbCIsImdyb3VwIiwiaWRGaWVsZCIsImpzb24iLCJudW1iZXIiLCJwb2ludCIsInJhZGlvIiwicmVsYXRpb25zaGlwIiwicmljaFRleHQiLCJyb3ciLCJzZWxlY3QiLCJ0YWJzIiwidGV4dCIsInRleHRhcmVhIiwidWkiLCJ1cGxvYWQiLCJqb2kiLCJvYmplY3QiLCJrZXlzIiwiQ2VsbCIsImNvbXBvbmVudFNjaGVtYSIsIkZpZWxkIiwiRmlsdGVyIiwiZGVmYXVsdCIsImNsYXNzTmFtZSIsInN0cmluZyIsImNvbXBvbmVudHMiLCJjb25kaXRpb24iLCJmdW5jIiwiZGVzY3JpcHRpb24iLCJhbHRlcm5hdGl2ZXMiLCJ0cnkiLCJwYXR0ZXJuIiwiZGlzYWJsZUJ1bGtFZGl0IiwiYm9vbGVhbiIsImRpc2FibGVMaXN0Q29sdW1uIiwiZGlzYWJsZUxpc3RGaWx0ZXIiLCJkaXNhYmxlZCIsImhpZGRlbiIsImluaXRDb2xsYXBzZWQiLCJwb3NpdGlvbiIsInZhbGlkIiwicmVhZE9ubHkiLCJzdHlsZSIsInVua25vd24iLCJ3aWR0aCIsImFjY2VzcyIsImNyZWF0ZSIsInJlYWQiLCJ1cGRhdGUiLCJhZG1pbiIsImN1c3RvbSIsImFueSIsImhvb2tzIiwiYWZ0ZXJDaGFuZ2UiLCJpdGVtcyIsImFmdGVyUmVhZCIsImJlZm9yZUNoYW5nZSIsImJlZm9yZVZhbGlkYXRlIiwiaW5kZXgiLCJsYWJlbCIsImxvY2FsaXplZCIsInJlcXVpcmVkIiwic2F2ZVRvSldUIiwidW5pcXVlIiwidmFsaWRhdGUiLCJuYW1lIiwidHlwZSIsImludmFsaWQiLCJub3QiLCJhdXRvQ29tcGxldGUiLCJFcnJvciIsIkxhYmVsIiwiYWZ0ZXJJbnB1dCIsImJlZm9yZUlucHV0IiwicGxhY2Vob2xkZXIiLCJydGwiLCJkZWZhdWx0VmFsdWUiLCJoYXNNYW55IiwibWF4TGVuZ3RoIiwibWF4Um93cyIsIndoZW4iLCJpcyIsInRoZW4iLCJmb3JiaWRkZW4iLCJtaW5MZW5ndGgiLCJtaW5Sb3dzIiwib3RoZXJ3aXNlIiwic3RlcCIsIm1heCIsIm1pbiIsInJvd3MiLCJlZGl0b3JPcHRpb25zIiwibGFuZ3VhZ2UiLCJqc29uU2NoZW1hIiwiaXNDbGVhcmFibGUiLCJpc1NvcnRhYmxlIiwiZGJOYW1lIiwiYWxsb3ciLCJlbnVtTmFtZSIsIm9wdGlvbnMiLCJ2YWx1ZSIsImxheW91dCIsImZpZWxkcyIsImxpbmsiLCJ0YWIiLCJleGlzdCIsImludGVyZmFjZU5hbWUiLCJoaWRlR3V0dGVyIiwiUm93TGFiZWwiLCJsYWJlbHMiLCJwbHVyYWwiLCJzaW5ndWxhciIsImZpbHRlck9wdGlvbnMiLCJtYXhEZXB0aCIsInJlbGF0aW9uVG8iLCJhbGxvd0NyZWF0ZSIsInNvcnRPcHRpb25zIiwiY29uZGl0aW9uYWwiLCJyZWYiLCJ3YXJuaW5nIiwibWVzc2FnZSIsInNsdWciLCJncmFwaFFMIiwic2luZ3VsYXJOYW1lIiwiaW1hZ2VBbHRUZXh0IiwiaW1hZ2VVUkwiLCJlZGl0b3IiLCJDZWxsQ29tcG9uZW50Iiwib3B0aW9uYWwiLCJGaWVsZENvbXBvbmVudCIsIkxhenlDZWxsQ29tcG9uZW50IiwiTGF6eUZpZWxkQ29tcG9uZW50IiwiYWZ0ZXJSZWFkUHJvbWlzZSIsIm91dHB1dFNjaGVtYSIsInBvcHVsYXRpb25Qcm9taXNlIiwiZGlzcGxheUZvcm1hdCIsIm1heERhdGUiLCJtYXhUaW1lIiwibWluRGF0ZSIsIm1pblRpbWUiLCJtb250aHNUb1Nob3ciLCJvdmVycmlkZXMiLCJwaWNrZXJBcHBlYXJhbmNlIiwidGltZUZvcm1hdCIsInRpbWVJbnRlcnZhbHMiLCJmaWVsZFNjaGVtYSIsImlkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWlUYUEsS0FBSztlQUFMQTs7SUE3U0FDLHdCQUF3QjtlQUF4QkE7O0lBU0FDLGVBQWU7ZUFBZkE7O0lBbUJBQyxTQUFTO2VBQVRBOztJQTBYQUMsTUFBTTtlQUFOQTs7SUE3REFDLFFBQVE7ZUFBUkE7O0lBdkxBQyxJQUFJO2VBQUpBOztJQWtHQUMsV0FBVztlQUFYQTs7SUEwTkFDLElBQUk7ZUFBSkE7O0lBNkViLE9BQTBCO2VBQTFCOztJQTNaYUMsS0FBSztlQUFMQTs7SUFrSkFDLEtBQUs7ZUFBTEE7O0lBdE9BQyxPQUFPO2VBQVBBOztJQW9IQUMsSUFBSTtlQUFKQTs7SUFyRkFDLE1BQU07ZUFBTkE7O0lBNFFBQyxLQUFLO2VBQUxBOztJQXZJQUMsS0FBSztlQUFMQTs7SUFxSkFDLFlBQVk7ZUFBWkE7O0lBK0VBQyxRQUFRO2VBQVJBOztJQXRNQUMsR0FBRztlQUFIQTs7SUFoRUFDLE1BQU07ZUFBTkE7O0lBMEZBQyxJQUFJO2VBQUpBOztJQXJOQUMsSUFBSTtlQUFKQTs7SUEwREFDLFFBQVE7ZUFBUkE7O0lBNFhBQyxFQUFFO2VBQUZBOztJQS9LQUMsTUFBTTtlQUFOQTs7OzREQTlVRztpQ0FFZ0I7Ozs7OztBQUV6QixNQUFNdkIsMkJBQTJCd0IsWUFBRyxDQUN4Q0MsTUFBTSxHQUNOQyxJQUFJLENBQUM7SUFDSkMsTUFBTUMsZ0NBQWU7SUFDckJDLE9BQU9ELGdDQUFlO0lBQ3RCRSxRQUFRRixnQ0FBZTtBQUN6QixHQUNDRyxPQUFPLENBQUMsQ0FBQztBQUVMLE1BQU05QixrQkFBa0J1QixZQUFHLENBQUNDLE1BQU0sR0FBR0MsSUFBSSxDQUFDO0lBQy9DTSxXQUFXUixZQUFHLENBQUNTLE1BQU07SUFDckJD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
|
|
582
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3NjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSdcblxuaW1wb3J0IHsgY29tcG9uZW50U2NoZW1hIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NoYXJlZC9jb21wb25lbnRTY2hlbWEnXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMgPSBqb2lcbiAgLm9iamVjdCgpXG4gIC5rZXlzKHtcbiAgICBDZWxsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgRmllbGQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICBGaWx0ZXI6IGNvbXBvbmVudFNjaGVtYSxcbiAgfSlcbiAgLmRlZmF1bHQoe30pXG5cbmV4cG9ydCBjb25zdCBiYXNlQWRtaW5GaWVsZHMgPSBqb2kub2JqZWN0KCkua2V5cyh7XG4gIGNsYXNzTmFtZTogam9pLnN0cmluZygpLFxuICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMsXG4gIGNvbmRpdGlvbjogam9pLmZ1bmMoKSxcbiAgZGVzY3JpcHRpb246IGpvaVxuICAgIC5hbHRlcm5hdGl2ZXMoKVxuICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSwgY29tcG9uZW50U2NoZW1hKSxcbiAgZGlzYWJsZUJ1bGtFZGl0OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBkaXNhYmxlTGlzdENvbHVtbjogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgZGlzYWJsZUxpc3RGaWx0ZXI6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIGRpc2FibGVkOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBoaWRkZW46IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIGluaXRDb2xsYXBzZWQ6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIHBvc2l0aW9uOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3NpZGViYXInKSxcbiAgcmVhZE9ubHk6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIHN0eWxlOiBqb2kub2JqZWN0KCkudW5rbm93bigpLFxuICB3aWR0aDogam9pLnN0cmluZygpLFxufSlcblxuZXhwb3J0IGNvbnN0IGJhc2VGaWVsZCA9IGpvaVxuICAub2JqZWN0KClcbiAgLmtleXMoe1xuICAgIGFjY2Vzczogam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgY3JlYXRlOiBqb2kuZnVuYygpLFxuICAgICAgcmVhZDogam9pLmZ1bmMoKSxcbiAgICAgIHVwZGF0ZTogam9pLmZ1bmMoKSxcbiAgICB9KSxcbiAgICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmRlZmF1bHQoKSxcbiAgICBjdXN0b206IGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgam9pLmFueSgpKSxcbiAgICBoaWRkZW46IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgaG9va3M6IGpvaVxuICAgICAgLm9iamVjdCgpXG4gICAgICAua2V5cyh7XG4gICAgICAgIGFmdGVyQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgICAgYWZ0ZXJSZWFkOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgICAgYmVmb3JlQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKS5kZWZhdWx0KFtdKSxcbiAgICAgICAgYmVmb3JlVmFsaWRhdGU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLmRlZmF1bHQoW10pLFxuICAgICAgfSlcbiAgICAgIC5kZWZhdWx0KCksXG4gICAgaW5kZXg6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgbGFiZWw6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pLCBqb2kuc3RyaW5nKCksIGpvaS52YWxpZChmYWxzZSkpLFxuICAgIGxvY2FsaXplZDogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICByZXF1aXJlZDogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICBzYXZlVG9KV1Q6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmJvb2xlYW4oKSwgam9pLnN0cmluZygpKS5kZWZhdWx0KGZhbHNlKSxcbiAgICB1bmlxdWU6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgdmFsaWRhdGU6IGpvaS5mdW5jKCksXG4gIH0pXG4gIC5kZWZhdWx0KClcblxuZXhwb3J0IGNvbnN0IGlkRmllbGQgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS52YWxpZCgnaWQnKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd0ZXh0JywgJ251bWJlcicpLFxuICBsb2NhbGl6ZWQ6IGpvaS5pbnZhbGlkKHRydWUpLFxuICByZXF1aXJlZDogam9pLm5vdChmYWxzZSwgMCkuZGVmYXVsdCh0cnVlKSxcbn0pXG5cbmV4cG9ydCBjb25zdCB0ZXh0ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd0ZXh0JykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBhdXRvQ29tcGxldGU6IGpvaS5zdHJpbmcoKSxcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgICBwbGFjZWhvbGRlcjogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSksIGpvaS5zdHJpbmcoKSksXG4gICAgcnRsOiBqb2kuYm9vbGVhbigpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKS5hbGxvdygnJyksIGpvaS5mdW5jKCkpLFxuICBoYXNNYW55OiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICBtYXhMZW5ndGg6IGpvaS5udW1iZXIoKSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIG1pbkxlbmd0aDogam9pLm51bWJlcigpLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbn0pXG5cbmV4cG9ydCBjb25zdCBudW1iZXIgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ251bWJlcicpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgYXV0b0NvbXBsZXRlOiBqb2kuc3RyaW5nKCksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2lcbiAgICAgICAgLmFycmF5KClcbiAgICAgICAgLml0ZW1zKGNvbXBvbmVudFNjaGVtYSlcbiAgICAgICAgLndoZW4oJ2hhc01hbnknLCB7IG5vdDogdHJ1ZSwgb3RoZXJ3aXNlOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pXG4gICAgICAgIC5hcnJheSgpXG4gICAgICAgIC5pdGVtcyhjb21wb25lbnRTY2hlbWEpXG4gICAgICAgIC53aGVuKCdoYXNNYW55JywgeyBub3Q6IHRydWUsIG90aGVyd2lzZTogam9pLmZvcmJpZGRlbigpIH0pLFxuICAgIH0pLFxuICAgIHBsYWNlaG9sZGVyOiBqb2kuc3RyaW5nKCksXG4gICAgc3RlcDogam9pLm51bWJlcigpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2lcbiAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAudHJ5KFxuICAgICAgam9pLm51bWJlcigpLFxuICAgICAgam9pLmZ1bmMoKSxcbiAgICAgIGpvaS5hcnJheSgpLndoZW4oJ2hhc01hbnknLCB7IG5vdDogdHJ1ZSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxuICAgICksXG4gIGhhc01hbnk6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIG1heDogam9pLm51bWJlcigpLFxuICBtYXhSb3dzOiBqb2kubnVtYmVyKCkud2hlbignaGFzTWFueScsIHsgaXM6IGpvaS5ub3QodHJ1ZSksIHRoZW46IGpvaS5mb3JiaWRkZW4oKSB9KSxcbiAgbWluOiBqb2kubnVtYmVyKCksXG4gIG1pblJvd3M6IGpvaS5udW1iZXIoKS53aGVuKCdoYXNNYW55JywgeyBpczogam9pLm5vdCh0cnVlKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxufSlcblxuZXhwb3J0IGNvbnN0IHRleHRhcmVhID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd0ZXh0YXJlYScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaS5zdHJpbmcoKSxcbiAgICByb3dzOiBqb2kubnVtYmVyKCksXG4gICAgcnRsOiBqb2kuYm9vbGVhbigpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKS5hbGxvdygnJyksIGpvaS5mdW5jKCkpLFxuICBtYXhMZW5ndGg6IGpvaS5udW1iZXIoKSxcbiAgbWluTGVuZ3RoOiBqb2kubnVtYmVyKCksXG59KVxuXG5leHBvcnQgY29uc3QgZW1haWwgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2VtYWlsJykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBhdXRvQ29tcGxldGU6IGpvaS5zdHJpbmcoKSxcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgICBwbGFjZWhvbGRlcjogam9pLnN0cmluZygpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKS5hbGxvdygnJyksIGpvaS5mdW5jKCkpLFxuICBtYXhMZW5ndGg6IGpvaS5udW1iZXIoKSxcbiAgbWluTGVuZ3RoOiBqb2kubnVtYmVyKCksXG59KVxuXG5leHBvcnQgY29uc3QgY29kZSA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnY29kZScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgZWRpdG9yT3B0aW9uczogam9pLm9iamVjdCgpLnVua25vd24oKSwgLy8gRWRpdG9yWydvcHRpb25zJ10gQG1vbmFjby1lZGl0b3IvcmVhY3RcbiAgICBsYW5ndWFnZTogam9pLnN0cmluZygpLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKS5hbGxvdygnJyksIGpvaS5mdW5jKCkpLFxufSlcblxuZXhwb3J0IGNvbnN0IGpzb24gPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2pzb24nKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGVkaXRvck9wdGlvbnM6IGpvaS5vYmplY3QoKS51bmtub3duKCksIC8vIEVkaXRvclsnb3B0aW9ucyddIEBtb25hY28tZWRpdG9yL3JlYWN0XG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmFycmF5KCksIGpvaS5mdW5jKCksIGpvaS5vYmplY3QoKSksXG4gIGpzb25TY2hlbWE6IGpvaS5vYmplY3QoKS51bmtub3duKCksXG59KVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0ID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdzZWxlY3QnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGlzQ2xlYXJhYmxlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQoZmFsc2UpLFxuICAgIGlzU29ydGFibGU6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIH0pLFxuICBkYk5hbWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgZGVmYXVsdFZhbHVlOiBqb2lcbiAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAudHJ5KGpvaS5zdHJpbmcoKS5hbGxvdygnJyksIGpvaS5hcnJheSgpLml0ZW1zKGpvaS5zdHJpbmcoKS5hbGxvdygnJykpLCBqb2kuZnVuYygpKSxcbiAgZW51bU5hbWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgaGFzTWFueTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgb3B0aW9uczogam9pXG4gICAgLmFycmF5KClcbiAgICAubWluKDEpXG4gICAgLml0ZW1zKFxuICAgICAgam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBsYWJlbDogam9pXG4gICAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgICAgICAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLmFsbG93KCcnKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCByYWRpbyA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgncmFkaW8nKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICAgIGxheW91dDogam9pLnN0cmluZygpLnZhbGlkKCd2ZXJ0aWNhbCcsICdob3Jpem9udGFsJyksXG4gIH0pLFxuICBkZWZhdWx0VmFsdWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLmFsbG93KCcnKSwgam9pLmZ1bmMoKSksXG4gIGVudW1OYW1lOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgam9pLmZ1bmMoKSksXG4gIG9wdGlvbnM6IGpvaVxuICAgIC5hcnJheSgpXG4gICAgLm1pbigxKVxuICAgIC5pdGVtcyhcbiAgICAgIGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgIGpvaS5zdHJpbmcoKSxcbiAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgbGFiZWw6IGpvaVxuICAgICAgICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAgICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpXG4gICAgICAgICAgICAucmVxdWlyZWQoKSxcbiAgICAgICAgICB2YWx1ZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCkuYWxsb3coJycpLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKVxuICAgIC5yZXF1aXJlZCgpLFxufSlcblxuZXhwb3J0IGNvbnN0IHJvdyA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyb3cnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmRlZmF1bHQoKSxcbiAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLFxufSlcblxuZXhwb3J0IGNvbnN0IGNvbGxhcHNpYmxlID0gYmFzZUZpZWxkLmtleXMoe1xuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2NvbGxhcHNpYmxlJykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5kZWZhdWx0KCksXG4gIGZpZWxkczogam9pLmFycmF5KCkuaXRlbXMoam9pLmxpbmsoJyNmaWVsZCcpKSxcbiAgbGFiZWw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBjb21wb25lbnRTY2hlbWEpLFxufSlcblxuY29uc3QgdGFiID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkud2hlbignbG9jYWxpemVkJywgeyBpczogam9pLmV4aXN0KCksIHRoZW46IGpvaS5yZXF1aXJlZCgpIH0pLFxuICBkZXNjcmlwdGlvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGNvbXBvbmVudFNjaGVtYSksXG4gIGZpZWxkczogam9pLmFycmF5KCkuaXRlbXMoam9pLmxpbmsoJyNmaWVsZCcpKS5yZXF1aXJlZCgpLFxuICBpbnRlcmZhY2VOYW1lOiBqb2kuc3RyaW5nKCkud2hlbignbmFtZScsIHsgbm90OiBqb2kuZXhpc3QoKSwgdGhlbjogam9pLmZvcmJpZGRlbigpIH0pLFxuICBsYWJlbDogam9pXG4gICAgLmFsdGVybmF0aXZlcygpXG4gICAgLnRyeShqb2kuc3RyaW5nKCksIGpvaS5vYmplY3QoKS5wYXR0ZXJuKGpvaS5zdHJpbmcoKSwgW2pvaS5zdHJpbmcoKV0pKVxuICAgIC53aGVuKCduYW1lJywgeyBpczogam9pLm5vdCgpLCB0aGVuOiBqb2kucmVxdWlyZWQoKSB9KSxcbiAgbG9jYWxpemVkOiBqb2kuYm9vbGVhbigpLFxuICBzYXZlVG9KV1Q6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLmJvb2xlYW4oKSwgam9pLnN0cmluZygpKSxcbn0pXG5cbmV4cG9ydCBjb25zdCB0YWJzID0gYmFzZUZpZWxkLmtleXMoe1xuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3RhYnMnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGRlc2NyaXB0aW9uOiBqb2kuZm9yYmlkZGVuKCksXG4gIH0pLFxuICBmaWVsZHM6IGpvaS5mb3JiaWRkZW4oKSxcbiAgbG9jYWxpemVkOiBqb2kuZm9yYmlkZGVuKCksXG4gIHRhYnM6IGpvaS5hcnJheSgpLml0ZW1zKHRhYikucmVxdWlyZWQoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBncm91cCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnZ3JvdXAnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGhpZGVHdXR0ZXI6IGpvaS5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kub2JqZWN0KCksIGpvaS5mdW5jKCkpLFxuICBmaWVsZHM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5saW5rKCcjZmllbGQnKSksXG4gIGludGVyZmFjZU5hbWU6IGpvaS5zdHJpbmcoKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBhcnJheSA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnYXJyYXknKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzXG4gICAgLmtleXMoe1xuICAgICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzXG4gICAgICAgIC5rZXlzKHtcbiAgICAgICAgICBSb3dMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgICB9KVxuICAgICAgICAuZGVmYXVsdCh7fSksXG4gICAgICBpc1NvcnRhYmxlOiBqb2kuYm9vbGVhbigpLFxuICAgIH0pXG4gICAgLmRlZmF1bHQoe30pLFxuICBkYk5hbWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5hcnJheSgpLml0ZW1zKGpvaS5vYmplY3QoKSksIGpvaS5mdW5jKCkpLFxuICBmaWVsZHM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5saW5rKCcjZmllbGQnKSkucmVxdWlyZWQoKSxcbiAgaW50ZXJmYWNlTmFtZTogam9pLnN0cmluZygpLFxuICBsYWJlbHM6IGpvaS5vYmplY3Qoe1xuICAgIHBsdXJhbDogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgc2luZ3VsYXI6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICB9KSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCksXG59KVxuXG5leHBvcnQgY29uc3QgdXBsb2FkID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd1cGxvYWQnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKSwgam9pLmZ1bmMoKSksXG4gIGZpbHRlck9wdGlvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLm9iamVjdCgpLCBqb2kuZnVuYygpKSxcbiAgbWF4RGVwdGg6IGpvaS5udW1iZXIoKSxcbiAgcmVsYXRpb25Ubzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG59KVxuXG5leHBvcnQgY29uc3QgY2hlY2tib3ggPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ2NoZWNrYm94JykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIGFmdGVySW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBiZWZvcmVJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICB9KSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYm9vbGVhbigpLCBqb2kuZnVuYygpKSxcbn0pXG5cbmV4cG9ydCBjb25zdCBwb2ludCA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgncG9pbnQnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGNvbXBvbmVudHM6IGJhc2VBZG1pbkNvbXBvbmVudEZpZWxkcy5rZXlzKHtcbiAgICAgIEVycm9yOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBMYWJlbDogY29tcG9uZW50U2NoZW1hLFxuICAgICAgYWZ0ZXJJbnB1dDogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50U2NoZW1hKSxcbiAgICAgIGJlZm9yZUlucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5hcnJheSgpLml0ZW1zKGpvaS5udW1iZXIoKSkubWF4KDIpLm1pbigyKSwgam9pLmZ1bmMoKSksXG59KVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwID0gYmFzZUZpZWxkLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCdyZWxhdGlvbnNoaXAnKS5yZXF1aXJlZCgpLFxuICBhZG1pbjogYmFzZUFkbWluRmllbGRzLmtleXMoe1xuICAgIGFsbG93Q3JlYXRlOiBqb2kuYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgfSksXG4gICAgaXNTb3J0YWJsZTogam9pLmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcbiAgICBzb3J0T3B0aW9uczogam9pLmFsdGVybmF0aXZlcygpLmNvbmRpdGlvbmFsKGpvaS5yZWYoJy4uLnJlbGF0aW9uVG8nKSwge1xuICAgICAgaXM6IGpvaS5zdHJpbmcoKSxcbiAgICAgIG90aGVyd2lzZTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuc3RyaW5nKCkpLFxuICAgICAgdGhlbjogam9pLnN0cmluZygpLFxuICAgIH0pLFxuICB9KSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5mdW5jKCkpLFxuICBmaWx0ZXJPcHRpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKSwgam9pLmZ1bmMoKSksXG4gIGhhc01hbnk6IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gIG1heDogam9pXG4gICAgLm51bWJlcigpXG4gICAgLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSlcbiAgICAud2FybmluZygnZGVwcmVjYXRlZCcsIHsgbWVzc2FnZTogJ1VzZSBtYXhSb3dzIGluc3RlYWQuJyB9KSxcbiAgbWF4RGVwdGg6IGpvaS5udW1iZXIoKSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIG1pbjogam9pXG4gICAgLm51bWJlcigpXG4gICAgLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSlcbiAgICAud2FybmluZygnZGVwcmVjYXRlZCcsIHsgbWVzc2FnZTogJ1VzZSBtaW5Sb3dzIGluc3RlYWQuJyB9KSxcbiAgbWluUm93czogam9pLm51bWJlcigpLndoZW4oJ2hhc01hbnknLCB7IGlzOiBqb2kubm90KHRydWUpLCB0aGVuOiBqb2kuZm9yYmlkZGVuKCkgfSksXG4gIHJlbGF0aW9uVG86IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLnJlcXVpcmVkKCksIGpvaS5hcnJheSgpLml0ZW1zKGpvaS5zdHJpbmcoKSkpLFxufSlcblxuZXhwb3J0IGNvbnN0IGJsb2NrcyA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnYmxvY2tzJykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkc1xuICAgIC5rZXlzKHtcbiAgICAgIGlzU29ydGFibGU6IGpvaS5ib29sZWFuKCksXG4gICAgfSlcbiAgICAuZGVmYXVsdCh7fSksXG4gIGJsb2Nrczogam9pXG4gICAgLmFycmF5KClcbiAgICAuaXRlbXMoXG4gICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgc2x1Zzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgICAgIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICAgICAgICBkYk5hbWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgICAgICAgZmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubGluaygnI2ZpZWxkJykpLFxuICAgICAgICBncmFwaFFMOiBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICAgICAgc2luZ3VsYXJOYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICAgIH0pLFxuICAgICAgICBpbWFnZUFsdFRleHQ6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgaW1hZ2VVUkw6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgaW50ZXJmYWNlTmFtZTogam9pLnN0cmluZygpLFxuICAgICAgICBsYWJlbHM6IGpvaS5vYmplY3Qoe1xuICAgICAgICAgIHBsdXJhbDogam9pXG4gICAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgICAgICAgc2luZ3VsYXI6IGpvaVxuICAgICAgICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAgICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbiAgZGVmYXVsdFZhbHVlOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5hcnJheSgpLml0ZW1zKGpvaS5vYmplY3QoKSksIGpvaS5mdW5jKCkpLFxuICBsYWJlbHM6IGpvaS5vYmplY3Qoe1xuICAgIHBsdXJhbDogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgc2luZ3VsYXI6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICB9KSxcbiAgbWF4Um93czogam9pLm51bWJlcigpLFxuICBtaW5Sb3dzOiBqb2kubnVtYmVyKCksXG59KVxuXG5leHBvcnQgY29uc3QgcmljaFRleHQgPSBiYXNlRmllbGQua2V5cyh7XG4gIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICB0eXBlOiBqb2kuc3RyaW5nKCkudmFsaWQoJ3JpY2hUZXh0JykucmVxdWlyZWQoKSxcbiAgYWRtaW46IGJhc2VBZG1pbkZpZWxkcy5rZXlzKHtcbiAgICBjb21wb25lbnRzOiBiYXNlQWRtaW5Db21wb25lbnRGaWVsZHMua2V5cyh7XG4gICAgICBFcnJvcjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgTGFiZWw6IGNvbXBvbmVudFNjaGVtYSxcbiAgICB9KSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYXJyYXkoKS5pdGVtcyhqb2kub2JqZWN0KCkpLCBqb2kuZnVuYygpLCBqb2kub2JqZWN0KCkpLFxuICBlZGl0b3I6IGpvaVxuICAgIC5vYmplY3QoKVxuICAgIC5rZXlzKHtcbiAgICAgIENlbGxDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYS5vcHRpb25hbCgpLFxuICAgICAgRmllbGRDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYS5vcHRpb25hbCgpLFxuICAgICAgTGF6eUNlbGxDb21wb25lbnQ6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIExhenlGaWVsZENvbXBvbmVudDogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgYWZ0ZXJSZWFkUHJvbWlzZTogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgb3V0cHV0U2NoZW1hOiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICBwb3B1bGF0aW9uUHJvbWlzZTogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgdmFsaWRhdGU6IGpvaS5mdW5jKCkucmVxdWlyZWQoKSxcbiAgICB9KVxuICAgIC51bmtub3duKCksXG4gIG1heERlcHRoOiBqb2kubnVtYmVyKCksXG59KVxuXG5leHBvcnQgY29uc3QgZGF0ZSA9IGJhc2VGaWVsZC5rZXlzKHtcbiAgbmFtZTogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIHR5cGU6IGpvaS5zdHJpbmcoKS52YWxpZCgnZGF0ZScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBiYXNlQWRtaW5GaWVsZHMua2V5cyh7XG4gICAgY29tcG9uZW50czogYmFzZUFkbWluQ29tcG9uZW50RmllbGRzLmtleXMoe1xuICAgICAgRXJyb3I6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgIExhYmVsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICBhZnRlcklucHV0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgYmVmb3JlSW5wdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgfSksXG4gICAgZGF0ZTogam9pLm9iamVjdCh7XG4gICAgICBkaXNwbGF5Rm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgICBtYXhEYXRlOiBqb2kuZGF0ZSgpLFxuICAgICAgbWF4VGltZTogam9pLmRhdGUoKSxcbiAgICAgIG1pbkRhdGU6IGpvaS5kYXRlKCksXG4gICAgICBtaW5UaW1lOiBqb2kuZGF0ZSgpLFxuICAgICAgbW9udGhzVG9TaG93OiBqb2kubnVtYmVyKCksXG4gICAgICBvdmVycmlkZXM6IGpvaS5vYmplY3QoKS51bmtub3duKCksXG4gICAgICBwaWNrZXJBcHBlYXJhbmNlOiBqb2kuc3RyaW5nKCksXG4gICAgICB0aW1lRm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgICB0aW1lSW50ZXJ2YWxzOiBqb2kubnVtYmVyKCksXG4gICAgfSksXG4gICAgcGxhY2Vob2xkZXI6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIGRlZmF1bHRWYWx1ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxufSlcblxuZXhwb3J0IGNvbnN0IHVpID0gam9pLm9iamVjdCgpLmtleXMoe1xuICBuYW1lOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgdHlwZTogam9pLnN0cmluZygpLnZhbGlkKCd1aScpLnJlcXVpcmVkKCksXG4gIGFkbWluOiBqb2lcbiAgICAub2JqZWN0KClcbiAgICAua2V5cyh7XG4gICAgICBjb21wb25lbnRzOiBqb2lcbiAgICAgICAgLm9iamVjdCgpXG4gICAgICAgIC5rZXlzKHtcbiAgICAgICAgICBDZWxsOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgICAgRmllbGQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgfSlcbiAgICAgICAgLmRlZmF1bHQoe30pLFxuICAgICAgY29uZGl0aW9uOiBqb2kuZnVuYygpLFxuICAgICAgZGlzYWJsZUxpc3RDb2x1bW46IGpvaS5ib29sZWFuKCkuZGVmYXVsdChmYWxzZSksXG4gICAgICBwb3NpdGlvbjogam9pLnN0cmluZygpLnZhbGlkKCdzaWRlYmFyJyksXG4gICAgICB3aWR0aDogam9pLnN0cmluZygpLFxuICAgIH0pXG4gICAgLmRlZmF1bHQoKSxcbiAgY3VzdG9tOiBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIGpvaS5hbnkoKSksXG4gIGxhYmVsOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxufSlcblxuY29uc3QgZmllbGRTY2hlbWEgPSBqb2lcbiAgLmFsdGVybmF0aXZlcygpXG4gIC50cnkoXG4gICAgdGV4dCxcbiAgICBudW1iZXIsXG4gICAgdGV4dGFyZWEsXG4gICAgZW1haWwsXG4gICAgY29kZSxcbiAgICBqc29uLFxuICAgIHNlbGVjdCxcbiAgICBncm91cCxcbiAgICBhcnJheSxcbiAgICByb3csXG4gICAgY29sbGFwc2libGUsXG4gICAgdGFicyxcbiAgICByYWRpbyxcbiAgICByZWxhdGlvbnNoaXAsXG4gICAgY2hlY2tib3gsXG4gICAgdXBsb2FkLFxuICAgIHJpY2hUZXh0LFxuICAgIGJsb2NrcyxcbiAgICBkYXRlLFxuICAgIHBvaW50LFxuICAgIHVpLFxuICApXG4gIC5pZCgnZmllbGQnKVxuXG5leHBvcnQgZGVmYXVsdCBmaWVsZFNjaGVtYVxuIl0sIm5hbWVzIjpbImFycmF5IiwiYmFzZUFkbWluQ29tcG9uZW50RmllbGRzIiwiYmFzZUFkbWluRmllbGRzIiwiYmFzZUZpZWxkIiwiYmxvY2tzIiwiY2hlY2tib3giLCJjb2RlIiwiY29sbGFwc2libGUiLCJkYXRlIiwiZW1haWwiLCJncm91cCIsImlkRmllbGQiLCJqc29uIiwibnVtYmVyIiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsInJpY2hUZXh0Iiwicm93Iiwic2VsZWN0IiwidGFicyIsInRleHQiLCJ0ZXh0YXJlYSIsInVpIiwidXBsb2FkIiwiam9pIiwib2JqZWN0Iiwia2V5cyIsIkNlbGwiLCJjb21wb25lbnRTY2hlbWEiLCJGaWVsZCIsIkZpbHRlciIsImRlZmF1bHQiLCJjbGFzc05hbWUiLCJzdHJpbmciLCJjb21wb25lbnRzIiwiY29uZGl0aW9uIiwiZnVuYyIsImRlc2NyaXB0aW9uIiwiYWx0ZXJuYXRpdmVzIiwidHJ5IiwicGF0dGVybiIsImRpc2FibGVCdWxrRWRpdCIsImJvb2xlYW4iLCJkaXNhYmxlTGlzdENvbHVtbiIsImRpc2FibGVMaXN0RmlsdGVyIiwiZGlzYWJsZWQiLCJoaWRkZW4iLCJpbml0Q29sbGFwc2VkIiwicG9zaXRpb24iLCJ2YWxpZCIsInJlYWRPbmx5Iiwic3R5bGUiLCJ1bmtub3duIiwid2lkdGgiLCJhY2Nlc3MiLCJjcmVhdGUiLCJyZWFkIiwidXBkYXRlIiwiYWRtaW4iLCJjdXN0b20iLCJhbnkiLCJob29rcyIsImFmdGVyQ2hhbmdlIiwiaXRlbXMiLCJhZnRlclJlYWQiLCJiZWZvcmVDaGFuZ2UiLCJiZWZvcmVWYWxpZGF0ZSIsImluZGV4IiwibGFiZWwiLCJsb2NhbGl6ZWQiLCJyZXF1aXJlZCIsInNhdmVUb0pXVCIsInVuaXF1ZSIsInZhbGlkYXRlIiwibmFtZSIsInR5cGUiLCJpbnZhbGlkIiwibm90IiwiYXV0b0NvbXBsZXRlIiwiRXJyb3IiLCJMYWJlbCIsImFmdGVySW5wdXQiLCJiZWZvcmVJbnB1dCIsInBsYWNlaG9sZGVyIiwicnRsIiwiZGVmYXVsdFZhbHVlIiwiYWxsb3ciLCJoYXNNYW55IiwibWF4TGVuZ3RoIiwibWF4Um93cyIsIndoZW4iLCJpcyIsInRoZW4iLCJmb3JiaWRkZW4iLCJtaW5MZW5ndGgiLCJtaW5Sb3dzIiwib3RoZXJ3aXNlIiwic3RlcCIsIm1heCIsIm1pbiIsInJvd3MiLCJlZGl0b3JPcHRpb25zIiwibGFuZ3VhZ2UiLCJqc29uU2NoZW1hIiwiaXNDbGVhcmFibGUiLCJpc1NvcnRhYmxlIiwiZGJOYW1lIiwiZW51bU5hbWUiLCJvcHRpb25zIiwidmFsdWUiLCJsYXlvdXQiLCJmaWVsZHMiLCJsaW5rIiwidGFiIiwiZXhpc3QiLCJpbnRlcmZhY2VOYW1lIiwiaGlkZUd1dHRlciIsIlJvd0xhYmVsIiwibGFiZWxzIiwicGx1cmFsIiwic2luZ3VsYXIiLCJmaWx0ZXJPcHRpb25zIiwibWF4RGVwdGgiLCJyZWxhdGlvblRvIiwiYWxsb3dDcmVhdGUiLCJzb3J0T3B0aW9ucyIsImNvbmRpdGlvbmFsIiwicmVmIiwid2FybmluZyIsIm1lc3NhZ2UiLCJzbHVnIiwiZ3JhcGhRTCIsInNpbmd1bGFyTmFtZSIsImltYWdlQWx0VGV4dCIsImltYWdlVVJMIiwiZWRpdG9yIiwiQ2VsbENvbXBvbmVudCIsIm9wdGlvbmFsIiwiRmllbGRDb21wb25lbnQiLCJMYXp5Q2VsbENvbXBvbmVudCIsIkxhenlGaWVsZENvbXBvbmVudCIsImFmdGVyUmVhZFByb21pc2UiLCJvdXRwdXRTY2hlbWEiLCJwb3B1bGF0aW9uUHJvbWlzZSIsImRpc3BsYXlGb3JtYXQiLCJtYXhEYXRlIiwibWF4VGltZSIsIm1pbkRhdGUiLCJtaW5UaW1lIiwibW9udGhzVG9TaG93Iiwib3ZlcnJpZGVzIiwicGlja2VyQXBwZWFyYW5jZSIsInRpbWVGb3JtYXQiLCJ0aW1lSW50ZXJ2YWxzIiwiZmllbGRTY2hlbWEiLCJpZCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBaVRhQSxLQUFLO2VBQUxBOztJQTdTQUMsd0JBQXdCO2VBQXhCQTs7SUFTQUMsZUFBZTtlQUFmQTs7SUFtQkFDLFNBQVM7ZUFBVEE7O0lBMFhBQyxNQUFNO2VBQU5BOztJQTdEQUMsUUFBUTtlQUFSQTs7SUF2TEFDLElBQUk7ZUFBSkE7O0lBa0dBQyxXQUFXO2VBQVhBOztJQTBOQUMsSUFBSTtlQUFKQTs7SUE2RWIsT0FBMEI7ZUFBMUI7O0lBM1phQyxLQUFLO2VBQUxBOztJQWtKQUMsS0FBSztlQUFMQTs7SUF0T0FDLE9BQU87ZUFBUEE7O0lBb0hBQyxJQUFJO2VBQUpBOztJQXJGQUMsTUFBTTtlQUFOQTs7SUE0UUFDLEtBQUs7ZUFBTEE7O0lBdklBQyxLQUFLO2VBQUxBOztJQXFKQUMsWUFBWTtlQUFaQTs7SUErRUFDLFFBQVE7ZUFBUkE7O0lBdE1BQyxHQUFHO2VBQUhBOztJQWhFQUMsTUFBTTtlQUFOQTs7SUEwRkFDLElBQUk7ZUFBSkE7O0lBck5BQyxJQUFJO2VBQUpBOztJQTBEQUMsUUFBUTtlQUFSQTs7SUE0WEFDLEVBQUU7ZUFBRkE7O0lBL0tBQyxNQUFNO2VBQU5BOzs7NERBOVVHO2lDQUVnQjs7Ozs7O0FBRXpCLE1BQU12QiwyQkFBMkJ3QixZQUFHLENBQ3hDQyxNQUFNLEdBQ05DLElBQUksQ0FBQztJQUNKQyxNQUFNQyxnQ0FBZTtJQUNyQkMsT0FBT0QsZ0NBQWU7SUFDdEJFLFFBQVFGLGdDQUFlO0FBQ3pCLEdBQ0NHLE9BQU8sQ0FBQyxDQUFDO0FBRUwsTUFBTTlCLGtCQUFrQnVCLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHQyxJQUFJLENBQUM7SUFDL0NNLFdBQVdSLFlBQUcsQ0FBQ1MsTUFBTTtJQUNyQkMsWUFBWWxDO0lBQ1ptQyxXQUFXWCxZQUFHLENBQUNZLElBQUk7SUFDbkJDLGFBQWFiLFlBQUcsQ0FDYmMsWUFBWSxHQUNaQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJVCxZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUk7UUFBQ1QsWUFBRyxDQUFDUyxNQUFNO0tBQUcsR0FBR0wsZ0NBQWU7SUFDeEZhLGlCQUFpQmpCLFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQ3ZDWSxtQkFBbUJuQixZQUFHLENBQUNrQixPQUFPLEdBQUdYLE9BQU8sQ0FBQztJQUN6Q2EsbUJBQW1CcEIsWUFBRyxDQUFDa0IsT0FBTyxHQUFHWCxPQUFPLENBQUM7SUFDekNjLFVBQVVyQixZQUFHLENBQUNrQixPQUFPLEdBQUdYLE9BQU8sQ0FBQztJQUNoQ2UsUUFBUXRCLFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQzlCZ0IsZUFBZXZCLFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQ3JDaUIsVUFBVXhCLFlBQUcsQ0FBQ1MsTUFBTSxHQUFHZ0IsS0FBSyxDQUFDO0lBQzdCQyxVQUFVMUIsWUFBRyxDQUFDa0IsT0FBTyxHQUFHWCxPQUFPLENBQUM7SUFDaENvQixPQUFPM0IsWUFBRyxDQUFDQyxNQUFNLEdBQUcyQixPQUFPO0lBQzNCQyxPQUFPN0IsWUFBRyxDQUFDUyxNQUFNO0FBQ25CO0FBRU8sTUFBTS9CLFlBQVlzQixZQUFHLENBQ3pCQyxNQUFNLEdBQ05DLElBQUksQ0FBQztJQUNKNEIsUUFBUTlCLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHQyxJQUFJLENBQUM7UUFDeEI2QixRQUFRL0IsWUFBRyxDQUFDWSxJQUFJO1FBQ2hCb0IsTUFBTWhDLFlBQUcsQ0FBQ1ksSUFBSTtRQUNkcUIsUUFBUWpDLFlBQUcsQ0FBQ1ksSUFBSTtJQUNsQjtJQUNBc0IsT0FBT3pELGdCQUFnQjhCLE9BQU87SUFDOUI0QixRQUFRbkMsWUFBRyxDQUFDQyxNQUFNLEdBQUdlLE9BQU8sQ0FBQ2hCLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJVCxZQUFHLENBQUNvQyxHQUFHO0lBQ2xEZCxRQUFRdEIsWUFBRyxDQUFDa0IsT0FBTyxHQUFHWCxPQUFPLENBQUM7SUFDOUI4QixPQUFPckMsWUFBRyxDQUNQQyxNQUFNLEdBQ05DLElBQUksQ0FBQztRQUNKb0MsYUFBYXRDLFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ3ZDLFlBQUcsQ0FBQ1ksSUFBSSxJQUFJTCxPQUFPLENBQUMsRUFBRTtRQUNyRGlDLFdBQVd4QyxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUN2QyxZQUFHLENBQUNZLElBQUksSUFBSUwsT0FBTyxDQUFDLEVBQUU7UUFDbkRrQyxjQUFjekMsWUFBRyxDQUFDekIsS0FBSyxHQUFHZ0UsS0FBSyxDQUFDdkMsWUFBRyxDQUFDWSxJQUFJLElBQUlMLE9BQU8sQ0FBQyxFQUFFO1FBQ3REbUMsZ0JBQWdCMUMsWUFBRyxDQUFDekIsS0FBSyxHQUFHZ0UsS0FBSyxDQUFDdkMsWUFBRyxDQUFDWSxJQUFJLElBQUlMLE9BQU8sQ0FBQyxFQUFFO0lBQzFELEdBQ0NBLE9BQU87SUFDVm9DLE9BQU8zQyxZQUFHLENBQUNrQixPQUFPLEdBQUdYLE9BQU8sQ0FBQztJQUM3QnFDLE9BQU81QyxZQUFHLENBQ1BjLFlBQVksR0FDWkMsR0FBRyxDQUFDZixZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUk7UUFBQ1QsWUFBRyxDQUFDUyxNQUFNO0tBQUcsR0FBR1QsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ3lCLEtBQUssQ0FBQztJQUNuRm9CLFdBQVc3QyxZQUFHLENBQUNrQixPQUFPLEdBQUdYLE9BQU8sQ0FBQztJQUNqQ3VDLFVBQVU5QyxZQUFHLENBQUNrQixPQUFPLEdBQUdYLE9BQU8sQ0FBQztJQUNoQ3dDLFdBQVcvQyxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUNrQixPQUFPLElBQUlsQixZQUFHLENBQUNTLE1BQU0sSUFBSUYsT0FBTyxDQUFDO0lBQ3ZFeUMsUUFBUWhELFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQzlCMEMsVUFBVWpELFlBQUcsQ0FBQ1ksSUFBSTtBQUNwQixHQUNDTCxPQUFPO0FBRUgsTUFBTXJCLFVBQVVSLFVBQVV3QixJQUFJLENBQUM7SUFDcENnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUM7SUFDekIwQixNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsUUFBUTtJQUNqQ29CLFdBQVc3QyxZQUFHLENBQUNvRCxPQUFPLENBQUM7SUFDdkJOLFVBQVU5QyxZQUFHLENBQUNxRCxHQUFHLENBQUMsT0FBTyxHQUFHOUMsT0FBTyxDQUFDO0FBQ3RDO0FBRU8sTUFBTVgsT0FBT2xCLFVBQVV3QixJQUFJLENBQUM7SUFDakNnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUdxQyxRQUFRO0lBQzNCSyxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsUUFBUXFCLFFBQVE7SUFDekNaLE9BQU96RCxnQkFBZ0J5QixJQUFJLENBQUM7UUFDMUJvRCxjQUFjdEQsWUFBRyxDQUFDUyxNQUFNO1FBQ3hCQyxZQUFZbEMseUJBQXlCMEIsSUFBSSxDQUFDO1lBQ3hDcUQsT0FBT25ELGdDQUFlO1lBQ3RCb0QsT0FBT3BELGdDQUFlO1lBQ3RCcUQsWUFBWXpELFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ25DLGdDQUFlO1lBQzdDc0QsYUFBYTFELFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ25DLGdDQUFlO1FBQ2hEO1FBQ0F1RCxhQUFhM0QsWUFBRyxDQUNiYyxZQUFZLEdBQ1pDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDQyxNQUFNLEdBQUdlLE9BQU8sQ0FBQ2hCLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJO1lBQUNULFlBQUcsQ0FBQ1MsTUFBTTtTQUFHLEdBQUdULFlBQUcsQ0FBQ1MsTUFBTTtRQUNyRW1ELEtBQUs1RCxZQUFHLENBQUNrQixPQUFPO0lBQ2xCO0lBQ0EyQyxjQUFjN0QsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLEdBQUdxRCxLQUFLLENBQUMsS0FBSzlELFlBQUcsQ0FBQ1ksSUFBSTtJQUNyRW1ELFNBQVMvRCxZQUFHLENBQUNrQixPQUFPLEdBQUdYLE9BQU8sQ0FBQztJQUMvQnlELFdBQVdoRSxZQUFHLENBQUNaLE1BQU07SUFDckI2RSxTQUFTakUsWUFBRyxDQUFDWixNQUFNLEdBQUc4RSxJQUFJLENBQUMsV0FBVztRQUFFQyxJQUFJbkUsWUFBRyxDQUFDcUQsR0FBRyxDQUFDO1FBQU9lLE1BQU1wRSxZQUFHLENBQUNxRSxTQUFTO0lBQUc7SUFDakZDLFdBQVd0RSxZQUFHLENBQUNaLE1BQU07SUFDckJtRixTQUFTdkUsWUFBRyxDQUFDWixNQUFNLEdBQUc4RSxJQUFJLENBQUMsV0FBVztRQUFFQyxJQUFJbkUsWUFBRyxDQUFDcUQsR0FBRyxDQUFDO1FBQU9lLE1BQU1wRSxZQUFHLENBQUNxRSxTQUFTO0lBQUc7QUFDbkY7QUFFTyxNQUFNakYsU0FBU1YsVUFBVXdCLElBQUksQ0FBQztJQUNuQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxVQUFVcUIsUUFBUTtJQUMzQ1osT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQm9ELGNBQWN0RCxZQUFHLENBQUNTLE1BQU07UUFDeEJDLFlBQVlsQyx5QkFBeUIwQixJQUFJLENBQUM7WUFDeENxRCxPQUFPbkQsZ0NBQWU7WUFDdEJvRCxPQUFPcEQsZ0NBQWU7WUFDdEJxRCxZQUFZekQsWUFBRyxDQUNaekIsS0FBSyxHQUNMZ0UsS0FBSyxDQUFDbkMsZ0NBQWUsRUFDckI4RCxJQUFJLENBQUMsV0FBVztnQkFBRWIsS0FBSztnQkFBTW1CLFdBQVd4RSxZQUFHLENBQUNxRSxTQUFTO1lBQUc7WUFDM0RYLGFBQWExRCxZQUFHLENBQ2J6QixLQUFLLEdBQ0xnRSxLQUFLLENBQUNuQyxnQ0FBZSxFQUNyQjhELElBQUksQ0FBQyxXQUFXO2dCQUFFYixLQUFLO2dCQUFNbUIsV0FBV3hFLFlBQUcsQ0FBQ3FFLFNBQVM7WUFBRztRQUM3RDtRQUNBVixhQUFhM0QsWUFBRyxDQUFDUyxNQUFNO1FBQ3ZCZ0UsTUFBTXpFLFlBQUcsQ0FBQ1osTUFBTTtJQUNsQjtJQUNBeUUsY0FBYzdELFlBQUcsQ0FDZGMsWUFBWSxHQUNaQyxHQUFHLENBQ0ZmLFlBQUcsQ0FBQ1osTUFBTSxJQUNWWSxZQUFHLENBQUNZLElBQUksSUFDUlosWUFBRyxDQUFDekIsS0FBSyxHQUFHMkYsSUFBSSxDQUFDLFdBQVc7UUFBRWIsS0FBSztRQUFNZSxNQUFNcEUsWUFBRyxDQUFDcUUsU0FBUztJQUFHO0lBRW5FTixTQUFTL0QsWUFBRyxDQUFDa0IsT0FBTyxHQUFHWCxPQUFPLENBQUM7SUFDL0JtRSxLQUFLMUUsWUFBRyxDQUFDWixNQUFNO0lBQ2Y2RSxTQUFTakUsWUFBRyxDQUFDWixNQUFNLEdBQUc4RSxJQUFJLENBQUMsV0FBVztRQUFFQyxJQUFJbkUsWUFBRyxDQUFDcUQsR0FBRyxDQUFDO1FBQU9lLE1BQU1wRSxZQUFHLENBQUNxRSxTQUFTO0lBQUc7SUFDakZNLEtBQUszRSxZQUFHLENBQUNaLE1BQU07SUFDZm1GLFNBQVN2RSxZQUFHLENBQUNaLE1BQU0sR0FBRzhFLElBQUksQ0FBQyxXQUFXO1FBQUVDLElBQUluRSxZQUFHLENBQUNxRCxHQUFHLENBQUM7UUFBT2UsTUFBTXBFLFlBQUcsQ0FBQ3FFLFNBQVM7SUFBRztBQUNuRjtBQUVPLE1BQU14RSxXQUFXbkIsVUFBVXdCLElBQUksQ0FBQztJQUNyQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxZQUFZcUIsUUFBUTtJQUM3Q1osT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQlEsWUFBWWxDLHlCQUF5QjBCLElBQUksQ0FBQztZQUN4Q3FELE9BQU9uRCxnQ0FBZTtZQUN0Qm9ELE9BQU9wRCxnQ0FBZTtZQUN0QnFELFlBQVl6RCxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUNuQyxnQ0FBZTtZQUM3Q3NELGFBQWExRCxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUNuQyxnQ0FBZTtRQUNoRDtRQUNBdUQsYUFBYTNELFlBQUcsQ0FBQ1MsTUFBTTtRQUN2Qm1FLE1BQU01RSxZQUFHLENBQUNaLE1BQU07UUFDaEJ3RSxLQUFLNUQsWUFBRyxDQUFDa0IsT0FBTztJQUNsQjtJQUNBMkMsY0FBYzdELFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxHQUFHcUQsS0FBSyxDQUFDLEtBQUs5RCxZQUFHLENBQUNZLElBQUk7SUFDckVvRCxXQUFXaEUsWUFBRyxDQUFDWixNQUFNO0lBQ3JCa0YsV0FBV3RFLFlBQUcsQ0FBQ1osTUFBTTtBQUN2QjtBQUVPLE1BQU1KLFFBQVFOLFVBQVV3QixJQUFJLENBQUM7SUFDbENnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUdxQyxRQUFRO0lBQzNCSyxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsU0FBU3FCLFFBQVE7SUFDMUNaLE9BQU96RCxnQkFBZ0J5QixJQUFJLENBQUM7UUFDMUJvRCxjQUFjdEQsWUFBRyxDQUFDUyxNQUFNO1FBQ3hCQyxZQUFZbEMseUJBQXlCMEIsSUFBSSxDQUFDO1lBQ3hDcUQsT0FBT25ELGdDQUFlO1lBQ3RCb0QsT0FBT3BELGdDQUFlO1lBQ3RCcUQsWUFBWXpELFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ25DLGdDQUFlO1lBQzdDc0QsYUFBYTFELFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ25DLGdDQUFlO1FBQ2hEO1FBQ0F1RCxhQUFhM0QsWUFBRyxDQUFDUyxNQUFNO0lBQ3pCO0lBQ0FvRCxjQUFjN0QsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLEdBQUdxRCxLQUFLLENBQUMsS0FBSzlELFlBQUcsQ0FBQ1ksSUFBSTtJQUNyRW9ELFdBQVdoRSxZQUFHLENBQUNaLE1BQU07SUFDckJrRixXQUFXdEUsWUFBRyxDQUFDWixNQUFNO0FBQ3ZCO0FBRU8sTUFBTVAsT0FBT0gsVUFBVXdCLElBQUksQ0FBQztJQUNqQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxRQUFRcUIsUUFBUTtJQUN6Q1osT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQlEsWUFBWWxDLHlCQUF5QjBCLElBQUksQ0FBQztZQUN4Q3FELE9BQU9uRCxnQ0FBZTtZQUN0Qm9ELE9BQU9wRCxnQ0FBZTtRQUN4QjtRQUNBeUUsZUFBZTdFLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHMkIsT0FBTztRQUNuQ2tELFVBQVU5RSxZQUFHLENBQUNTLE1BQU07SUFDdEI7SUFDQW9ELGNBQWM3RCxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sR0FBR3FELEtBQUssQ0FBQyxLQUFLOUQsWUFBRyxDQUFDWSxJQUFJO0FBQ3ZFO0FBRU8sTUFBTXpCLE9BQU9ULFVBQVV3QixJQUFJLENBQUM7SUFDakNnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUdxQyxRQUFRO0lBQzNCSyxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsUUFBUXFCLFFBQVE7SUFDekNaLE9BQU96RCxnQkFBZ0J5QixJQUFJLENBQUM7UUFDMUJRLFlBQVlsQyx5QkFBeUIwQixJQUFJLENBQUM7WUFDeENxRCxPQUFPbkQsZ0NBQWU7WUFDdEJvRCxPQUFPcEQsZ0NBQWU7UUFDeEI7UUFDQXlFLGVBQWU3RSxZQUFHLENBQUNDLE1BQU0sR0FBRzJCLE9BQU87SUFDckM7SUFDQWlDLGNBQWM3RCxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUN6QixLQUFLLElBQUl5QixZQUFHLENBQUNZLElBQUksSUFBSVosWUFBRyxDQUFDQyxNQUFNO0lBQ3hFOEUsWUFBWS9FLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHMkIsT0FBTztBQUNsQztBQUVPLE1BQU1sQyxTQUFTaEIsVUFBVXdCLElBQUksQ0FBQztJQUNuQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxVQUFVcUIsUUFBUTtJQUMzQ1osT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQlEsWUFBWWxDLHlCQUF5QjBCLElBQUksQ0FBQztZQUN4Q3FELE9BQU9uRCxnQ0FBZTtZQUN0Qm9ELE9BQU9wRCxnQ0FBZTtRQUN4QjtRQUNBNEUsYUFBYWhGLFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO1FBQ25DMEUsWUFBWWpGLFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQ3BDO0lBQ0EyRSxRQUFRbEYsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ1ksSUFBSTtJQUNyRGlELGNBQWM3RCxZQUFHLENBQ2RjLFlBQVksR0FDWkMsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sR0FBR3FELEtBQUssQ0FBQyxLQUFLOUQsWUFBRyxDQUFDekIsS0FBSyxHQUFHZ0UsS0FBSyxDQUFDdkMsWUFBRyxDQUFDUyxNQUFNLEdBQUdxRCxLQUFLLENBQUMsTUFBTTlELFlBQUcsQ0FBQ1ksSUFBSTtJQUNsRnVFLFVBQVVuRixZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sSUFBSVQsWUFBRyxDQUFDWSxJQUFJO0lBQ3ZEbUQsU0FBUy9ELFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQy9CNkUsU0FBU3BGLFlBQUcsQ0FDVHpCLEtBQUssR0FDTG9HLEdBQUcsQ0FBQyxHQUNKcEMsS0FBSyxDQUNKdkMsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FDcEJmLFlBQUcsQ0FBQ1MsTUFBTSxJQUNWVCxZQUFHLENBQUNDLE1BQU0sQ0FBQztRQUNUMkMsT0FBTzVDLFlBQUcsQ0FDUGMsWUFBWSxHQUNaQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJVCxZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUk7WUFBQ1QsWUFBRyxDQUFDUyxNQUFNO1NBQUc7UUFDdEU0RSxPQUFPckYsWUFBRyxDQUFDUyxNQUFNLEdBQUdxQyxRQUFRLEdBQUdnQixLQUFLLENBQUM7SUFDdkMsS0FHSGhCLFFBQVE7QUFDYjtBQUVPLE1BQU14RCxRQUFRWixVQUFVd0IsSUFBSSxDQUFDO0lBQ2xDZ0QsTUFBTWxELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHcUMsUUFBUTtJQUMzQkssTUFBTW5ELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHZ0IsS0FBSyxDQUFDLFNBQVNxQixRQUFRO0lBQzFDWixPQUFPekQsZ0JBQWdCeUIsSUFBSSxDQUFDO1FBQzFCUSxZQUFZbEMseUJBQXlCMEIsSUFBSSxDQUFDO1lBQ3hDcUQsT0FBT25ELGdDQUFlO1lBQ3RCb0QsT0FBT3BELGdDQUFlO1FBQ3hCO1FBQ0FrRixRQUFRdEYsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsWUFBWTtJQUN6QztJQUNBb0MsY0FBYzdELFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxHQUFHcUQsS0FBSyxDQUFDLEtBQUs5RCxZQUFHLENBQUNZLElBQUk7SUFDckV1RSxVQUFVbkYsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ1ksSUFBSTtJQUN2RHdFLFNBQVNwRixZQUFHLENBQ1R6QixLQUFLLEdBQ0xvRyxHQUFHLENBQUMsR0FDSnBDLEtBQUssQ0FDSnZDLFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQ3BCZixZQUFHLENBQUNTLE1BQU0sSUFDVlQsWUFBRyxDQUFDQyxNQUFNLENBQUM7UUFDVDJDLE9BQU81QyxZQUFHLENBQ1BjLFlBQVksR0FDWkMsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sSUFBSVQsWUFBRyxDQUFDQyxNQUFNLEdBQUdlLE9BQU8sQ0FBQ2hCLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJO1lBQUNULFlBQUcsQ0FBQ1MsTUFBTTtTQUFHLEdBQ25FcUMsUUFBUTtRQUNYdUMsT0FBT3JGLFlBQUcsQ0FBQ1MsTUFBTSxHQUFHcUMsUUFBUSxHQUFHZ0IsS0FBSyxDQUFDO0lBQ3ZDLEtBR0hoQixRQUFRO0FBQ2I7QUFFTyxNQUFNckQsTUFBTWYsVUFBVXdCLElBQUksQ0FBQztJQUNoQ2lELE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxPQUFPcUIsUUFBUTtJQUN4Q1osT0FBT3pELGdCQUFnQjhCLE9BQU87SUFDOUJnRixRQUFRdkYsWUFBRyxDQUFDekIsS0FBSyxHQUFHZ0UsS0FBSyxDQUFDdkMsWUFBRyxDQUFDd0YsSUFBSSxDQUFDO0FBQ3JDO0FBRU8sTUFBTTFHLGNBQWNKLFVBQVV3QixJQUFJLENBQUM7SUFDeENpRCxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsZUFBZXFCLFFBQVE7SUFDaERaLE9BQU96RCxnQkFBZ0I4QixPQUFPO0lBQzlCZ0YsUUFBUXZGLFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ3ZDLFlBQUcsQ0FBQ3dGLElBQUksQ0FBQztJQUNuQzVDLE9BQU81QyxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sSUFBSUwsZ0NBQWU7QUFDN0Q7QUFFQSxNQUFNcUYsTUFBTS9HLFVBQVV3QixJQUFJLENBQUM7SUFDekJnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUd5RCxJQUFJLENBQUMsYUFBYTtRQUFFQyxJQUFJbkUsWUFBRyxDQUFDMEYsS0FBSztRQUFJdEIsTUFBTXBFLFlBQUcsQ0FBQzhDLFFBQVE7SUFBRztJQUM3RWpDLGFBQWFiLFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJTCxnQ0FBZTtJQUNqRW1GLFFBQVF2RixZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUN2QyxZQUFHLENBQUN3RixJQUFJLENBQUMsV0FBVzFDLFFBQVE7SUFDdEQ2QyxlQUFlM0YsWUFBRyxDQUFDUyxNQUFNLEdBQUd5RCxJQUFJLENBQUMsUUFBUTtRQUFFYixLQUFLckQsWUFBRyxDQUFDMEYsS0FBSztRQUFJdEIsTUFBTXBFLFlBQUcsQ0FBQ3FFLFNBQVM7SUFBRztJQUNuRnpCLE9BQU81QyxZQUFHLENBQ1BjLFlBQVksR0FDWkMsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sSUFBSVQsWUFBRyxDQUFDQyxNQUFNLEdBQUdlLE9BQU8sQ0FBQ2hCLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJO1FBQUNULFlBQUcsQ0FBQ1MsTUFBTTtLQUFHLEdBQ25FeUQsSUFBSSxDQUFDLFFBQVE7UUFBRUMsSUFBSW5FLFlBQUcsQ0FBQ3FELEdBQUc7UUFBSWUsTUFBTXBFLFlBQUcsQ0FBQzhDLFFBQVE7SUFBRztJQUN0REQsV0FBVzdDLFlBQUcsQ0FBQ2tCLE9BQU87SUFDdEI2QixXQUFXL0MsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDa0IsT0FBTyxJQUFJbEIsWUFBRyxDQUFDUyxNQUFNO0FBQzdEO0FBRU8sTUFBTWQsT0FBT2pCLFVBQVV3QixJQUFJLENBQUM7SUFDakNpRCxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsUUFBUXFCLFFBQVE7SUFDekNaLE9BQU96RCxnQkFBZ0J5QixJQUFJLENBQUM7UUFDMUJXLGFBQWFiLFlBQUcsQ0FBQ3FFLFNBQVM7SUFDNUI7SUFDQWtCLFFBQVF2RixZQUFHLENBQUNxRSxTQUFTO0lBQ3JCeEIsV0FBVzdDLFlBQUcsQ0FBQ3FFLFNBQVM7SUFDeEIxRSxNQUFNSyxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUNrRCxLQUFLM0MsUUFBUTtBQUN2QztBQUVPLE1BQU03RCxRQUFRUCxVQUFVd0IsSUFBSSxDQUFDO0lBQ2xDZ0QsTUFBTWxELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHcUMsUUFBUTtJQUMzQkssTUFBTW5ELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHZ0IsS0FBSyxDQUFDLFNBQVNxQixRQUFRO0lBQzFDWixPQUFPekQsZ0JBQWdCeUIsSUFBSSxDQUFDO1FBQzFCMEYsWUFBWTVGLFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQ3BDO0lBQ0FzRCxjQUFjN0QsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDQyxNQUFNLElBQUlELFlBQUcsQ0FBQ1ksSUFBSTtJQUMzRDJFLFFBQVF2RixZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUN2QyxZQUFHLENBQUN3RixJQUFJLENBQUM7SUFDbkNHLGVBQWUzRixZQUFHLENBQUNTLE1BQU07QUFDM0I7QUFFTyxNQUFNbEMsUUFBUUcsVUFBVXdCLElBQUksQ0FBQztJQUNsQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxTQUFTcUIsUUFBUTtJQUMxQ1osT0FBT3pELGdCQUNKeUIsSUFBSSxDQUFDO1FBQ0pRLFlBQVlsQyx5QkFDVDBCLElBQUksQ0FBQztZQUNKMkYsVUFBVXpGLGdDQUFlO1FBQzNCLEdBQ0NHLE9BQU8sQ0FBQyxDQUFDO1FBQ1owRSxZQUFZakYsWUFBRyxDQUFDa0IsT0FBTztJQUN6QixHQUNDWCxPQUFPLENBQUMsQ0FBQztJQUNaMkUsUUFBUWxGLFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJVCxZQUFHLENBQUNZLElBQUk7SUFDckRpRCxjQUFjN0QsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDekIsS0FBSyxHQUFHZ0UsS0FBSyxDQUFDdkMsWUFBRyxDQUFDQyxNQUFNLEtBQUtELFlBQUcsQ0FBQ1ksSUFBSTtJQUM5RTJFLFFBQVF2RixZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUN2QyxZQUFHLENBQUN3RixJQUFJLENBQUMsV0FBVzFDLFFBQVE7SUFDdEQ2QyxlQUFlM0YsWUFBRyxDQUFDUyxNQUFNO0lBQ3pCcUYsUUFBUTlGLFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO1FBQ2pCOEYsUUFBUS9GLFlBQUcsQ0FDUmMsWUFBWSxHQUNaQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJVCxZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUk7WUFBQ1QsWUFBRyxDQUFDUyxNQUFNO1NBQUc7UUFDdEV1RixVQUFVaEcsWUFBRyxDQUNWYyxZQUFZLEdBQ1pDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ0MsTUFBTSxHQUFHZSxPQUFPLENBQUNoQixZQUFHLENBQUNTLE1BQU0sSUFBSTtZQUFDVCxZQUFHLENBQUNTLE1BQU07U0FBRztJQUN4RTtJQUNBd0QsU0FBU2pFLFlBQUcsQ0FBQ1osTUFBTTtJQUNuQm1GLFNBQVN2RSxZQUFHLENBQUNaLE1BQU07QUFDckI7QUFFTyxNQUFNVyxTQUFTckIsVUFBVXdCLElBQUksQ0FBQztJQUNuQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxVQUFVcUIsUUFBUTtJQUMzQ1osT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQlEsWUFBWWxDLHlCQUF5QjBCLElBQUksQ0FBQztZQUN4Q3FELE9BQU9uRCxnQ0FBZTtZQUN0Qm9ELE9BQU9wRCxnQ0FBZTtRQUN4QjtJQUNGO0lBQ0F5RCxjQUFjN0QsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDQyxNQUFNLElBQUlELFlBQUcsQ0FBQ1ksSUFBSTtJQUMzRHFGLGVBQWVqRyxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUNDLE1BQU0sSUFBSUQsWUFBRyxDQUFDWSxJQUFJO0lBQzVEc0YsVUFBVWxHLFlBQUcsQ0FBQ1osTUFBTTtJQUNwQitHLFlBQVluRyxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7QUFDbkM7QUFFTyxNQUFNbEUsV0FBV0YsVUFBVXdCLElBQUksQ0FBQztJQUNyQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxZQUFZcUIsUUFBUTtJQUM3Q1osT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQlEsWUFBWWxDLHlCQUF5QjBCLElBQUksQ0FBQztZQUN4Q3FELE9BQU9uRCxnQ0FBZTtZQUN0Qm9ELE9BQU9wRCxnQ0FBZTtZQUN0QnFELFlBQVl6RCxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUNuQyxnQ0FBZTtZQUM3Q3NELGFBQWExRCxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUNuQyxnQ0FBZTtRQUNoRDtJQUNGO0lBQ0F5RCxjQUFjN0QsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDa0IsT0FBTyxJQUFJbEIsWUFBRyxDQUFDWSxJQUFJO0FBQzlEO0FBRU8sTUFBTXZCLFFBQVFYLFVBQVV3QixJQUFJLENBQUM7SUFDbENnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUdxQyxRQUFRO0lBQzNCSyxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsU0FBU3FCLFFBQVE7SUFDMUNaLE9BQU96RCxnQkFBZ0J5QixJQUFJLENBQUM7UUFDMUJRLFlBQVlsQyx5QkFBeUIwQixJQUFJLENBQUM7WUFDeENxRCxPQUFPbkQsZ0NBQWU7WUFDdEJvRCxPQUFPcEQsZ0NBQWU7WUFDdEJxRCxZQUFZekQsWUFBRyxDQUFDekIsS0FBSyxHQUFHZ0UsS0FBSyxDQUFDbkMsZ0NBQWU7WUFDN0NzRCxhQUFhMUQsWUFBRyxDQUFDekIsS0FBSyxHQUFHZ0UsS0FBSyxDQUFDbkMsZ0NBQWU7UUFDaEQ7SUFDRjtJQUNBeUQsY0FBYzdELFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ3ZDLFlBQUcsQ0FBQ1osTUFBTSxJQUFJc0YsR0FBRyxDQUFDLEdBQUdDLEdBQUcsQ0FBQyxJQUFJM0UsWUFBRyxDQUFDWSxJQUFJO0FBQzlGO0FBRU8sTUFBTXJCLGVBQWViLFVBQVV3QixJQUFJLENBQUM7SUFDekNnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUdxQyxRQUFRO0lBQzNCSyxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsZ0JBQWdCcUIsUUFBUTtJQUNqRFosT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQmtHLGFBQWFwRyxZQUFHLENBQUNrQixPQUFPLEdBQUdYLE9BQU8sQ0FBQztRQUNuQ0csWUFBWWxDLHlCQUF5QjBCLElBQUksQ0FBQztZQUN4Q3FELE9BQU9uRCxnQ0FBZTtZQUN0Qm9ELE9BQU9wRCxnQ0FBZTtRQUN4QjtRQUNBNkUsWUFBWWpGLFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO1FBQ2xDOEYsYUFBYXJHLFlBQUcsQ0FBQ2MsWUFBWSxHQUFHd0YsV0FBVyxDQUFDdEcsWUFBRyxDQUFDdUcsR0FBRyxDQUFDLGtCQUFrQjtZQUNwRXBDLElBQUluRSxZQUFHLENBQUNTLE1BQU07WUFDZCtELFdBQVd4RSxZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ1MsTUFBTTtZQUN4RDJELE1BQU1wRSxZQUFHLENBQUNTLE1BQU07UUFDbEI7SUFDRjtJQUNBb0QsY0FBYzdELFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1ksSUFBSTtJQUM3Q3FGLGVBQWVqRyxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUNDLE1BQU0sSUFBSUQsWUFBRyxDQUFDWSxJQUFJO0lBQzVEbUQsU0FBUy9ELFlBQUcsQ0FBQ2tCLE9BQU8sR0FBR1gsT0FBTyxDQUFDO0lBQy9CbUUsS0FBSzFFLFlBQUcsQ0FDTFosTUFBTSxHQUNOOEUsSUFBSSxDQUFDLFdBQVc7UUFBRUMsSUFBSW5FLFlBQUcsQ0FBQ3FELEdBQUcsQ0FBQztRQUFPZSxNQUFNcEUsWUFBRyxDQUFDcUUsU0FBUztJQUFHLEdBQzNEbUMsT0FBTyxDQUFDLGNBQWM7UUFBRUMsU0FBUztJQUF1QjtJQUMzRFAsVUFBVWxHLFlBQUcsQ0FBQ1osTUFBTTtJQUNwQjZFLFNBQVNqRSxZQUFHLENBQUNaLE1BQU0sR0FBRzhFLElBQUksQ0FBQyxXQUFXO1FBQUVDLElBQUluRSxZQUFHLENBQUNxRCxHQUFHLENBQUM7UUFBT2UsTUFBTXBFLFlBQUcsQ0FBQ3FFLFNBQVM7SUFBRztJQUNqRk0sS0FBSzNFLFlBQUcsQ0FDTFosTUFBTSxHQUNOOEUsSUFBSSxDQUFDLFdBQVc7UUFBRUMsSUFBSW5FLFlBQUcsQ0FBQ3FELEdBQUcsQ0FBQztRQUFPZSxNQUFNcEUsWUFBRyxDQUFDcUUsU0FBUztJQUFHLEdBQzNEbUMsT0FBTyxDQUFDLGNBQWM7UUFBRUMsU0FBUztJQUF1QjtJQUMzRGxDLFNBQVN2RSxZQUFHLENBQUNaLE1BQU0sR0FBRzhFLElBQUksQ0FBQyxXQUFXO1FBQUVDLElBQUluRSxZQUFHLENBQUNxRCxHQUFHLENBQUM7UUFBT2UsTUFBTXBFLFlBQUcsQ0FBQ3FFLFNBQVM7SUFBRztJQUNqRjhCLFlBQVluRyxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVEsSUFBSTlDLFlBQUcsQ0FBQ3pCLEtBQUssR0FBR2dFLEtBQUssQ0FBQ3ZDLFlBQUcsQ0FBQ1MsTUFBTTtBQUMxRjtBQUVPLE1BQU05QixTQUFTRCxVQUFVd0IsSUFBSSxDQUFDO0lBQ25DZ0QsTUFBTWxELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHcUMsUUFBUTtJQUMzQkssTUFBTW5ELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHZ0IsS0FBSyxDQUFDLFVBQVVxQixRQUFRO0lBQzNDWixPQUFPekQsZ0JBQ0p5QixJQUFJLENBQUM7UUFDSitFLFlBQVlqRixZQUFHLENBQUNrQixPQUFPO0lBQ3pCLEdBQ0NYLE9BQU8sQ0FBQyxDQUFDO0lBQ1o1QixRQUFRcUIsWUFBRyxDQUNSekIsS0FBSyxHQUNMZ0UsS0FBSyxDQUNKdkMsWUFBRyxDQUFDQyxNQUFNLENBQUM7UUFDVHlHLE1BQU0xRyxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7UUFDM0JYLFFBQVFuQyxZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ29DLEdBQUc7UUFDbEQ4QyxRQUFRbEYsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ1ksSUFBSTtRQUNyRDJFLFFBQVF2RixZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUN2QyxZQUFHLENBQUN3RixJQUFJLENBQUM7UUFDbkNtQixTQUFTM0csWUFBRyxDQUFDQyxNQUFNLEdBQUdDLElBQUksQ0FBQztZQUN6QjBHLGNBQWM1RyxZQUFHLENBQUNTLE1BQU07UUFDMUI7UUFDQW9HLGNBQWM3RyxZQUFHLENBQUNTLE1BQU07UUFDeEJxRyxVQUFVOUcsWUFBRyxDQUFDUyxNQUFNO1FBQ3BCa0YsZUFBZTNGLFlBQUcsQ0FBQ1MsTUFBTTtRQUN6QnFGLFFBQVE5RixZQUFHLENBQUNDLE1BQU0sQ0FBQztZQUNqQjhGLFFBQVEvRixZQUFHLENBQ1JjLFlBQVksR0FDWkMsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sSUFBSVQsWUFBRyxDQUFDQyxNQUFNLEdBQUdlLE9BQU8sQ0FBQ2hCLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJO2dCQUFDVCxZQUFHLENBQUNTLE1BQU07YUFBRztZQUN0RXVGLFVBQVVoRyxZQUFHLENBQ1ZjLFlBQVksR0FDWkMsR0FBRyxDQUFDZixZQUFHLENBQUNTLE1BQU0sSUFBSVQsWUFBRyxDQUFDQyxNQUFNLEdBQUdlLE9BQU8sQ0FBQ2hCLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJO2dCQUFDVCxZQUFHLENBQUNTLE1BQU07YUFBRztRQUN4RTtJQUNGLElBRURxQyxRQUFRO0lBQ1hlLGNBQWM3RCxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUN2QyxZQUFHLENBQUNDLE1BQU0sS0FBS0QsWUFBRyxDQUFDWSxJQUFJO0lBQzlFa0YsUUFBUTlGLFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO1FBQ2pCOEYsUUFBUS9GLFlBQUcsQ0FDUmMsWUFBWSxHQUNaQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJVCxZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUk7WUFBQ1QsWUFBRyxDQUFDUyxNQUFNO1NBQUc7UUFDdEV1RixVQUFVaEcsWUFBRyxDQUNWYyxZQUFZLEdBQ1pDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ0MsTUFBTSxHQUFHZSxPQUFPLENBQUNoQixZQUFHLENBQUNTLE1BQU0sSUFBSTtZQUFDVCxZQUFHLENBQUNTLE1BQU07U0FBRztJQUN4RTtJQUNBd0QsU0FBU2pFLFlBQUcsQ0FBQ1osTUFBTTtJQUNuQm1GLFNBQVN2RSxZQUFHLENBQUNaLE1BQU07QUFDckI7QUFFTyxNQUFNSSxXQUFXZCxVQUFVd0IsSUFBSSxDQUFDO0lBQ3JDZ0QsTUFBTWxELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHcUMsUUFBUTtJQUMzQkssTUFBTW5ELFlBQUcsQ0FBQ1MsTUFBTSxHQUFHZ0IsS0FBSyxDQUFDLFlBQVlxQixRQUFRO0lBQzdDWixPQUFPekQsZ0JBQWdCeUIsSUFBSSxDQUFDO1FBQzFCUSxZQUFZbEMseUJBQXlCMEIsSUFBSSxDQUFDO1lBQ3hDcUQsT0FBT25ELGdDQUFlO1lBQ3RCb0QsT0FBT3BELGdDQUFlO1FBQ3hCO0lBQ0Y7SUFDQXlELGNBQWM3RCxZQUFHLENBQUNjLFlBQVksR0FBR0MsR0FBRyxDQUFDZixZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUN2QyxZQUFHLENBQUNDLE1BQU0sS0FBS0QsWUFBRyxDQUFDWSxJQUFJLElBQUlaLFlBQUcsQ0FBQ0MsTUFBTTtJQUM1RjhHLFFBQVEvRyxZQUFHLENBQ1JDLE1BQU0sR0FDTkMsSUFBSSxDQUFDO1FBQ0o4RyxlQUFlNUcsZ0NBQWUsQ0FBQzZHLFFBQVE7UUFDdkNDLGdCQUFnQjlHLGdDQUFlLENBQUM2RyxRQUFRO1FBQ3hDRSxtQkFBbUJuSCxZQUFHLENBQUNZLElBQUksR0FBR3FHLFFBQVE7UUFDdENHLG9CQUFvQnBILFlBQUcsQ0FBQ1ksSUFBSSxHQUFHcUcsUUFBUTtRQUN2Q0ksa0JBQWtCckgsWUFBRyxDQUFDWSxJQUFJLEdBQUdxRyxRQUFRO1FBQ3JDSyxjQUFjdEgsWUFBRyxDQUFDWSxJQUFJLEdBQUdxRyxRQUFRO1FBQ2pDTSxtQkFBbUJ2SCxZQUFHLENBQUNZLElBQUksR0FBR3FHLFFBQVE7UUFDdENoRSxVQUFVakQsWUFBRyxDQUFDWSxJQUFJLEdBQUdrQyxRQUFRO0lBQy9CLEdBQ0NsQixPQUFPO0lBQ1ZzRSxVQUFVbEcsWUFBRyxDQUFDWixNQUFNO0FBQ3RCO0FBRU8sTUFBTUwsT0FBT0wsVUFBVXdCLElBQUksQ0FBQztJQUNqQ2dELE1BQU1sRCxZQUFHLENBQUNTLE1BQU0sR0FBR3FDLFFBQVE7SUFDM0JLLE1BQU1uRCxZQUFHLENBQUNTLE1BQU0sR0FBR2dCLEtBQUssQ0FBQyxRQUFRcUIsUUFBUTtJQUN6Q1osT0FBT3pELGdCQUFnQnlCLElBQUksQ0FBQztRQUMxQlEsWUFBWWxDLHlCQUF5QjBCLElBQUksQ0FBQztZQUN4Q3FELE9BQU9uRCxnQ0FBZTtZQUN0Qm9ELE9BQU9wRCxnQ0FBZTtZQUN0QnFELFlBQVl6RCxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUNuQyxnQ0FBZTtZQUM3Q3NELGFBQWExRCxZQUFHLENBQUN6QixLQUFLLEdBQUdnRSxLQUFLLENBQUNuQyxnQ0FBZTtRQUNoRDtRQUNBckIsTUFBTWlCLFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO1lBQ2Z1SCxlQUFleEgsWUFBRyxDQUFDUyxNQUFNO1lBQ3pCZ0gsU0FBU3pILFlBQUcsQ0FBQ2pCLElBQUk7WUFDakIySSxTQUFTMUgsWUFBRyxDQUFDakIsSUFBSTtZQUNqQjRJLFNBQVMzSCxZQUFHLENBQUNqQixJQUFJO1lBQ2pCNkksU0FBUzVILFlBQUcsQ0FBQ2pCLElBQUk7WUFDakI4SSxjQUFjN0gsWUFBRyxDQUFDWixNQUFNO1lBQ3hCMEksV0FBVzlILFlBQUcsQ0FBQ0MsTUFBTSxHQUFHMkIsT0FBTztZQUMvQm1HLGtCQUFrQi9ILFlBQUcsQ0FBQ1MsTUFBTTtZQUM1QnVILFlBQVloSSxZQUFHLENBQUNTLE1BQU07WUFDdEJ3SCxlQUFlakksWUFBRyxDQUFDWixNQUFNO1FBQzNCO1FBQ0F1RSxhQUFhM0QsWUFBRyxDQUFDUyxNQUFNO0lBQ3pCO0lBQ0FvRCxjQUFjN0QsWUFBRyxDQUFDYyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ2YsWUFBRyxDQUFDUyxNQUFNLElBQUlULFlBQUcsQ0FBQ1ksSUFBSTtBQUM3RDtBQUVPLE1BQU1kLEtBQUtFLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHQyxJQUFJLENBQUM7SUFDbENnRCxNQUFNbEQsWUFBRyxDQUFDUyxNQUFNLEdBQUdxQyxRQUFRO0lBQzNCSyxNQUFNbkQsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUMsTUFBTXFCLFFBQVE7SUFDdkNaLE9BQU9sQyxZQUFHLENBQ1BDLE1BQU0sR0FDTkMsSUFBSSxDQUFDO1FBQ0pRLFlBQVlWLFlBQUcsQ0FDWkMsTUFBTSxHQUNOQyxJQUFJLENBQUM7WUFDSkMsTUFBTUMsZ0NBQWU7WUFDckJDLE9BQU9ELGdDQUFlO1FBQ3hCLEdBQ0NHLE9BQU8sQ0FBQyxDQUFDO1FBQ1pJLFdBQVdYLFlBQUcsQ0FBQ1ksSUFBSTtRQUNuQk8sbUJBQW1CbkIsWUFBRyxDQUFDa0IsT0FBTyxHQUFHWCxPQUFPLENBQUM7UUFDekNpQixVQUFVeEIsWUFBRyxDQUFDUyxNQUFNLEdBQUdnQixLQUFLLENBQUM7UUFDN0JJLE9BQU83QixZQUFHLENBQUNTLE1BQU07SUFDbkIsR0FDQ0YsT0FBTztJQUNWNEIsUUFBUW5DLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHZSxPQUFPLENBQUNoQixZQUFHLENBQUNTLE1BQU0sSUFBSVQsWUFBRyxDQUFDb0MsR0FBRztJQUNsRFEsT0FBTzVDLFlBQUcsQ0FBQ2MsWUFBWSxHQUFHQyxHQUFHLENBQUNmLFlBQUcsQ0FBQ1MsTUFBTSxJQUFJVCxZQUFHLENBQUNDLE1BQU0sR0FBR2UsT0FBTyxDQUFDaEIsWUFBRyxDQUFDUyxNQUFNLElBQUk7UUFBQ1QsWUFBRyxDQUFDUyxNQUFNO0tBQUc7QUFDL0Y7QUFFQSxNQUFNeUgsY0FBY2xJLFlBQUcsQ0FDcEJjLFlBQVksR0FDWkMsR0FBRyxDQUNGbkIsTUFDQVIsUUFDQVMsVUFDQWIsT0FDQUgsTUFDQU0sTUFDQU8sUUFDQVQsT0FDQVYsT0FDQWtCLEtBQ0FYLGFBQ0FhLE1BQ0FMLE9BQ0FDLGNBQ0FYLFVBQ0FtQixRQUNBUCxVQUNBYixRQUNBSSxNQUNBTSxPQUNBUyxJQUVEcUksRUFBRSxDQUFDO01BRU4sV0FBZUQifQ==
|
|
@@ -95,4 +95,4 @@ function fieldIsLocalized(field) {
|
|
|
95
95
|
return 'localized' in field && field.localized;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IG1vbmFjb2VkaXRvciBmcm9tICdtb25hY28tZWRpdG9yJyAvLyBJTVBPUlRBTlQgLSBETyBOT1QgUkVNT1ZFOiBUaGlzIGlzIHJlcXVpcmVkIGZvciBwbnBtJ3MgZGVmYXVsdCBpc29sYXRlZCBtb2RlIHRvIHdvcmsgLSBldmVuIHRob3VnaCB0aGUgaW1wb3J0IGlzIG5vdCB1c2VkLiBUaGlzIGlzIGR1ZSB0byBhIHR5cGVzY3JpcHQgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQ3NjYzI2lzc3VlY29tbWVudC0xNTE5MTM4MTg5LiAodHNidWdpc29sYXRlZG1vZGUpXG5pbXBvcnQgdHlwZSBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBDb25kaXRpb25hbERhdGVQcm9wcyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZWxlbWVudHMvRGF0ZVBpY2tlci90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgYXMgRXJyb3JQcm9wcyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRXJyb3IvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9GaWVsZERlc2NyaXB0aW9uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcm9wcyBhcyBMYWJlbFByb3BzIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9MYWJlbC90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL1Jvd0xhYmVsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEQklkZW50aWZpZXJOYW1lIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uLy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgT3BlcmF0aW9uLCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2tBcmdzPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IHtcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoZSBmaWVsZCBiZWxvbmdzIHRvLiBJZiB0aGUgZmllbGQgYmVsb25ncyB0byBhIGdsb2JhbCwgdGhpcyB3aWxsIGJlIG51bGwuICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIC8qKiBUaGUgZGF0YSBwYXNzZWQgdG8gdXBkYXRlIHRoZSBkb2N1bWVudCB3aXRoaW4gY3JlYXRlIGFuZCB1cGRhdGUgb3BlcmF0aW9ucywgYW5kIHRoZSBmdWxsIGRvY3VtZW50IGl0c2VsZiBpbiB0aGUgYWZ0ZXJSZWFkIGhvb2suICovXG4gIGRhdGE/OiBQYXJ0aWFsPFQ+XG4gIC8qKiBUaGUgZmllbGQgd2hpY2ggdGhlIGhvb2sgaXMgcnVubmluZyBhZ2FpbnN0LiAqL1xuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIC8qKiBCb29sZWFuIHRvIGRlbm90ZSBpZiB0aGlzIGhvb2sgaXMgcnVubmluZyBhZ2FpbnN0IGZpbmRpbmcgb25lLCBvciBmaW5kaW5nIG1hbnkgd2l0aGluIHRoZSBhZnRlclJlYWQgaG9vay4gKi9cbiAgZmluZE1hbnk/OiBib29sZWFuXG4gIC8qKiBUaGUgZ2xvYmFsIHdoaWNoIHRoZSBmaWVsZCBiZWxvbmdzIHRvLiBJZiB0aGUgZmllbGQgYmVsb25ncyB0byBhIGNvbGxlY3Rpb24sIHRoaXMgd2lsbCBiZSBudWxsLiAqL1xuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgLyoqIEEgc3RyaW5nIHJlbGF0aW5nIHRvIHdoaWNoIG9wZXJhdGlvbiB0aGUgZmllbGQgdHlwZSBpcyBjdXJyZW50bHkgZXhlY3V0aW5nIHdpdGhpbi4gVXNlZnVsIHdpdGhpbiBiZWZvcmVWYWxpZGF0ZSwgYmVmb3JlQ2hhbmdlLCBhbmQgYWZ0ZXJDaGFuZ2UgaG9va3MgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMuICovXG4gIG9wZXJhdGlvbj86ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAndXBkYXRlJ1xuICAvKiogVGhlIGZ1bGwgb3JpZ2luYWwgZG9jdW1lbnQgaW4gYHVwZGF0ZWAgb3BlcmF0aW9ucy4gSW4gdGhlIGBhZnRlckNoYW5nZWAgaG9vaywgdGhpcyBpcyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IG9mIHRoZSBvcGVyYXRpb24uICovXG4gIG9yaWdpbmFsRG9jPzogVFxuICAvKiogVGhlIGRvY3VtZW50IGJlZm9yZSBjaGFuZ2VzIHdlcmUgYXBwbGllZCwgb25seSBpbiBgYWZ0ZXJDaGFuZ2VgIGhvb2tzLiAqL1xuICBwcmV2aW91c0RvYz86IFRcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgb2YgdGhlIGRvY3VtZW50IGJlZm9yZSBjaGFuZ2VzIGJlaW5nIGFwcGxpZWQsIG9ubHkgaW4gYGJlZm9yZUNoYW5nZWAgYW5kIGBhZnRlckNoYW5nZWAgaG9vay4gKi9cbiAgcHJldmlvdXNTaWJsaW5nRG9jPzogVFxuICAvKiogVGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBmaWVsZCwgYmVmb3JlIGNoYW5nZXMsIG9ubHkgaW4gYGJlZm9yZUNoYW5nZWAgYW5kIGBhZnRlckNoYW5nZWAgaG9va3MuICovXG4gIHByZXZpb3VzVmFsdWU/OiBQXG4gIC8qKiBUaGUgRXhwcmVzcyByZXF1ZXN0IG9iamVjdC4gSXQgaXMgbW9ja2VkIGZvciBMb2NhbCBBUEkgb3BlcmF0aW9ucy4gKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAvKiogVGhlIHNpYmxpbmcgZGF0YSBwYXNzZWQgdG8gYSBmaWVsZCB0aGF0IHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8Uz5cbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gIHZhbHVlPzogUFxufVxuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFMgPSBhbnk+ID0gKFxuICBhcmdzOiBGaWVsZEhvb2tBcmdzPFQsIFAsIFM+LFxuKSA9PiBQIHwgUHJvbWlzZTxQPlxuXG5leHBvcnQgdHlwZSBGaWVsZEFjY2VzczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgVSA9IGFueT4gPSAoYXJnczoge1xuICAvKipcbiAgICogVGhlIGluY29taW5nIGRhdGEgdXNlZCB0byBgY3JlYXRlYCBvciBgdXBkYXRlYCB0aGUgZG9jdW1lbnQgd2l0aC4gYGRhdGFgIGlzIHVuZGVmaW5lZCBkdXJpbmcgdGhlIGByZWFkYCBvcGVyYXRpb24uXG4gICAqL1xuICBkYXRhPzogUGFydGlhbDxUPlxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIGRhdGEgb2YgdGhlIGRvY3VtZW50IGJlZm9yZSB0aGUgYHVwZGF0ZWAgaXMgYXBwbGllZC4gYGRvY2AgaXMgdW5kZWZpbmVkIGR1cmluZyB0aGUgYGNyZWF0ZWAgb3BlcmF0aW9uLlxuICAgKi9cbiAgZG9jPzogVFxuICAvKipcbiAgICogVGhlIGBpZGAgb2YgdGhlIGN1cnJlbnQgZG9jdW1lbnQgYmVpbmcgcmVhZCBvciB1cGRhdGVkLiBgaWRgIGlzIHVuZGVmaW5lZCBkdXJpbmcgdGhlIGBjcmVhdGVgIG9wZXJhdGlvbi5cbiAgICovXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIC8qKiBUaGUgYEV4cHJlc3NgIHJlcXVlc3Qgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkIGB1c2VyYCAqL1xuICByZXE6IFBheWxvYWRSZXF1ZXN0PFU+XG4gIC8qKlxuICAgKiBJbW1lZGlhdGVseSBhZGphY2VudCBkYXRhIHRvIHRoaXMgZmllbGQuIEZvciBleGFtcGxlLCBpZiB0aGlzIGlzIGEgYGdyb3VwYCBmaWVsZCwgdGhlbiBgc2libGluZ0RhdGFgIHdpbGwgYmUgdGhlIG90aGVyIGZpZWxkcyB3aXRoaW4gdGhlIGdyb3VwLlxuICAgKi9cbiAgc2libGluZ0RhdGE/OiBQYXJ0aWFsPFA+XG59KSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhblxuXG5leHBvcnQgdHlwZSBDb25kaXRpb248VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnk+ID0gKFxuICBkYXRhOiBQYXJ0aWFsPFQ+LFxuICBzaWJsaW5nRGF0YTogUGFydGlhbDxQPixcbiAge1xuICAgIHVzZXIsXG4gIH06IHtcbiAgICB1c2VyOiBVc2VyXG4gIH0sXG4pID0+IGJvb2xlYW5cblxuZXhwb3J0IHR5cGUgRmlsdGVyT3B0aW9uc1Byb3BzPFQgPSBhbnk+ID0ge1xuICBkYXRhOiBUXG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHNpYmxpbmdEYXRhOiB1bmtub3duXG4gIHVzZXI6IFBhcnRpYWw8VXNlcj5cbn1cblxuZXhwb3J0IHR5cGUgRmlsdGVyT3B0aW9uczxUID0gYW55PiA9XG4gIHwgKChvcHRpb25zOiBGaWx0ZXJPcHRpb25zUHJvcHM8VD4pID0+IFByb21pc2U8V2hlcmUgfCBib29sZWFuPiB8IFdoZXJlIHwgYm9vbGVhbilcbiAgfCBXaGVyZVxuICB8IG51bGxcblxudHlwZSBBZG1pbiA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbXBvbmVudHM/OiB7XG4gICAgQ2VsbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIEZpZWxkPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgRmlsdGVyPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gIH1cbiAgLyoqXG4gICAqIFlvdSBjYW4gcHJvZ3JhbW1hdGljYWxseSBzaG93IC8gaGlkZSBmaWVsZHMgYmFzZWQgb24gd2hhdCBvdGhlciBmaWVsZHMgYXJlIGRvaW5nLlxuICAgKiBUaGlzIGlzIGFsc28gcnVuIG9uIHRoZSBzZXJ2ZXIsIHRvIGRldGVybWluZSBpZiB0aGUgZmllbGQgc2hvdWxkIGJlIHZhbGlkYXRlZC5cbiAgICovXG4gIGNvbmRpdGlvbj86IENvbmRpdGlvblxuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGRpc2FibGVCdWxrRWRpdD86IGJvb2xlYW5cbiAgZGlzYWJsZUxpc3RDb2x1bW4/OiBib29sZWFuXG4gIGRpc2FibGVMaXN0RmlsdGVyPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgaGlkZGVuPzogYm9vbGVhblxuICBwb3NpdGlvbj86ICdzaWRlYmFyJ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIHdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIExhYmVscyA9IHtcbiAgcGx1cmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIHNpbmd1bGFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlT3B0aW9uczxURGF0YSwgVFNpYmxpbmdEYXRhLCBURmllbGRDb25maWc+ID0ge1xuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xuICBkYXRhOiBQYXJ0aWFsPFREYXRhPlxuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBvcGVyYXRpb24/OiBPcGVyYXRpb25cbiAgcGF5bG9hZD86IFBheWxvYWRcbiAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8VFNpYmxpbmdEYXRhPlxuICB0OiBURnVuY3Rpb25cbiAgdXNlcj86IFBhcnRpYWw8VXNlcj5cbn0gJiBURmllbGRDb25maWdcblxuLy8gVE9ETzogSGF2aW5nIFRGaWVsZENvbmZpZyBhcyBhbnkgYnJlYWtzIGFsbCB0eXBlIGNoZWNraW5nIC8gYXV0by1jb21wbGV0aW9ucyBmb3IgdGhlIGJhc2UgVmFsaWRhdGVPcHRpb25zIHByb3BlcnRpZXMuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZTxUVmFsdWUgPSBhbnksIFREYXRhID0gYW55LCBUU2libGluZ0RhdGEgPSBhbnksIFRGaWVsZENvbmZpZyA9IGFueT4gPSAoXG4gIHZhbHVlOiBUVmFsdWUsXG4gIG9wdGlvbnM6IFZhbGlkYXRlT3B0aW9uczxURGF0YSwgVFNpYmxpbmdEYXRhLCBURmllbGRDb25maWc+LFxuKSA9PiBQcm9taXNlPHN0cmluZyB8IHRydWU+IHwgc3RyaW5nIHwgdHJ1ZVxuXG5leHBvcnQgdHlwZSBPcHRpb25PYmplY3QgPSB7XG4gIGxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIHZhbHVlOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgT3B0aW9uID0gT3B0aW9uT2JqZWN0IHwgc3RyaW5nXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRCYXNlIHtcbiAgYWNjZXNzPzoge1xuICAgIGNyZWF0ZT86IEZpZWxkQWNjZXNzXG4gICAgcmVhZD86IEZpZWxkQWNjZXNzXG4gICAgdXBkYXRlPzogRmllbGRBY2Nlc3NcbiAgfVxuICBhZG1pbj86IEFkbWluXG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgZGVmYXVsdFZhbHVlPzogYW55XG4gIGhpZGRlbj86IGJvb2xlYW5cbiAgaG9va3M/OiB7XG4gICAgYWZ0ZXJDaGFuZ2U/OiBGaWVsZEhvb2tbXVxuICAgIGFmdGVyUmVhZD86IEZpZWxkSG9va1tdXG4gICAgYmVmb3JlQ2hhbmdlPzogRmllbGRIb29rW11cbiAgICBiZWZvcmVWYWxpZGF0ZT86IEZpZWxkSG9va1tdXG4gIH1cbiAgaW5kZXg/OiBib29sZWFuXG4gIGxhYmVsPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IGZhbHNlIHwgc3RyaW5nXG4gIGxvY2FsaXplZD86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBzYXZlVG9KV1Q/OiBib29sZWFuIHwgc3RyaW5nXG4gIHVuaXF1ZT86IGJvb2xlYW5cbiAgdmFsaWRhdGU/OiBWYWxpZGF0ZVxufVxuXG5leHBvcnQgdHlwZSBOdW1iZXJGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICAvKiogU2V0IHRoaXMgcHJvcGVydHkgdG8gYSBzdHJpbmcgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGJyb3dzZXIgYXV0b2NvbXBsZXRlLiAqL1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIC8qKiBTZXQgdGhpcyBwcm9wZXJ0eSB0byBkZWZpbmUgYSBwbGFjZWhvbGRlciBzdHJpbmcgZm9yIHRoZSBmaWVsZC4gKi9cbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICAvKiogU2V0IGEgdmFsdWUgZm9yIHRoZSBudW1iZXIgZmllbGQgdG8gaW5jcmVtZW50IC8gZGVjcmVtZW50IHVzaW5nIGJyb3dzZXIgY29udHJvbHMuICovXG4gICAgc3RlcD86IG51bWJlclxuICB9XG4gIC8qKiBNYXhpbXVtIHZhbHVlIGFjY2VwdGVkLiBVc2VkIGluIHRoZSBkZWZhdWx0IGB2YWxpZGF0aW9uYCBmdW5jdGlvbi4gKi9cbiAgbWF4PzogbnVtYmVyXG4gIC8qKiBNaW5pbXVtIHZhbHVlIGFjY2VwdGVkLiBVc2VkIGluIHRoZSBkZWZhdWx0IGB2YWxpZGF0aW9uYCBmdW5jdGlvbi4gKi9cbiAgbWluPzogbnVtYmVyXG4gIHR5cGU6ICdudW1iZXInXG59ICYgKFxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIG51bWJlcnMgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIG51bWJlci4gKi9cbiAgICAgICAgaGFzTWFueTogdHJ1ZVxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBudW1iZXJzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBudW1iZXIuICovXG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiB1bmRlZmluZWRcbiAgICAgIH1cbiAgKVxuXG5leHBvcnQgdHlwZSBUZXh0RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgcnRsPzogYm9vbGVhblxuICB9XG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgdHlwZTogJ3RleHQnXG59ICYgKFxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIHN0cmluZy4gKi9cbiAgICAgICAgaGFzTWFueTogdHJ1ZVxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2Ygc3RyaW5ncyBpbiB0aGUgc3RyaW5ncyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBzdHJpbmdzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBzdHJpbmcuICovXG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2Ygc3RyaW5ncyBpbiB0aGUgc3RyaW5ncyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiB1bmRlZmluZWRcbiAgICAgIH1cbiAgKVxuXG5leHBvcnQgdHlwZSBFbWFpbEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdlbWFpbCdcbn1cblxuZXhwb3J0IHR5cGUgVGV4dGFyZWFGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIGFmdGVySW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgYmVmb3JlSW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIH1cbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICByb3dzPzogbnVtYmVyXG4gICAgcnRsPzogYm9vbGVhblxuICB9XG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgdHlwZTogJ3RleHRhcmVhJ1xufVxuXG5leHBvcnQgdHlwZSBDaGVja2JveEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICB9XG4gIHR5cGU6ICdjaGVja2JveCdcbn1cblxuZXhwb3J0IHR5cGUgRGF0ZUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIGRhdGU/OiBDb25kaXRpb25hbERhdGVQcm9wc1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdkYXRlJ1xufVxuXG5leHBvcnQgdHlwZSBHcm91cEZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGhpZGVHdXR0ZXI/OiBib29sZWFuXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKiBDdXN0b21pemUgZ2VuZXJhdGVkIEdyYXBoUUwgYW5kIFR5cGVzY3JpcHQgc2NoZW1hIG5hbWVzLlxuICAgKiBCeSBkZWZhdWx0IGl0IGlzIGJvdW5kIHRvIHRoZSBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICB0eXBlOiAnZ3JvdXAnXG59XG5cbmV4cG9ydCB0eXBlIFJvd0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxuZXhwb3J0IHR5cGUgUm93RmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2FkbWluJyB8ICdsYWJlbCcgfCAnbmFtZSc+ICYge1xuICBhZG1pbj86IFJvd0FkbWluXG4gIGZpZWxkczogRmllbGRbXVxuICB0eXBlOiAncm93J1xufVxuXG5leHBvcnQgdHlwZSBDb2xsYXBzaWJsZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdsYWJlbCcgfCAnbmFtZSc+ICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGluaXRDb2xsYXBzZWQ/OiBib29sZWFuIHwgZmFsc2VcbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgbGFiZWw6IFJvd0xhYmVsXG4gIHR5cGU6ICdjb2xsYXBzaWJsZSdcbn1cblxuZXhwb3J0IHR5cGUgVGFic0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxudHlwZSBUYWJCYXNlID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGZpZWxkczogRmllbGRbXVxuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTmFtZWRUYWIgPSBUYWJCYXNlICYge1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBVbm5hbWVkVGFiID0gT21pdDxUYWJCYXNlLCAnbmFtZSc+ICYge1xuICBpbnRlcmZhY2VOYW1lPzogbmV2ZXJcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogbmV2ZXJcbn1cblxuZXhwb3J0IHR5cGUgVGFiID0gTmFtZWRUYWIgfCBVbm5hbWVkVGFiXG5cbmV4cG9ydCB0eXBlIFRhYnNGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nIHwgJ2xvY2FsaXplZCcgfCAnbmFtZScgfCAnc2F2ZVRvSldUJz4gJiB7XG4gIGFkbWluPzogVGFic0FkbWluXG4gIHRhYnM6IFRhYltdXG4gIHR5cGU6ICd0YWJzJ1xufVxuXG5leHBvcnQgdHlwZSBUYWJBc0ZpZWxkID0gVGFiICYge1xuICBuYW1lPzogc3RyaW5nXG4gIHR5cGU6ICd0YWInXG59XG5cbmV4cG9ydCB0eXBlIFVJRmllbGQgPSB7XG4gIGFkbWluOiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIENlbGw/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpZWxkOiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpbHRlcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIH1cbiAgICBjb25kaXRpb24/OiBDb25kaXRpb25cbiAgICBkaXNhYmxlQnVsa0VkaXQ/OiBib29sZWFuXG4gICAgZGlzYWJsZUxpc3RDb2x1bW4/OiBib29sZWFuXG4gICAgcG9zaXRpb24/OiBzdHJpbmdcbiAgICB3aWR0aD86IHN0cmluZ1xuICB9XG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0eXBlOiAndWknXG59XG5cbmV4cG9ydCB0eXBlIFVwbG9hZEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICB9XG4gIH1cbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHR5cGU6ICd1cGxvYWQnXG59XG5cbnR5cGUgQ29kZUFkbWluID0gQWRtaW4gJiB7XG4gIGNvbXBvbmVudHM/OiB7XG4gICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gIH1cbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbiAgbGFuZ3VhZ2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ29kZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbic+ICYge1xuICBhZG1pbj86IENvZGVBZG1pblxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICdjb2RlJ1xufVxuXG50eXBlIEpTT05BZG1pbiA9IEFkbWluICYge1xuICBjb21wb25lbnRzPzoge1xuICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICB9XG4gIGVkaXRvck9wdGlvbnM/OiBFZGl0b3JQcm9wc1snb3B0aW9ucyddXG59XG5cbmV4cG9ydCB0eXBlIEpTT05GaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBKU09OQWRtaW5cbiAganNvblNjaGVtYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHR5cGU6ICdqc29uJ1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICB9XG4gICAgaXNDbGVhcmFibGU/OiBib29sZWFuXG4gICAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbiAgfVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBTUUwgdGFibGUgbmFtZVxuICAgKi9cbiAgZGJOYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBEQiBlbnVtIG5hbWVcbiAgICovXG4gIGVudW1OYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICBoYXNNYW55PzogYm9vbGVhblxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAnc2VsZWN0J1xufVxuXG50eXBlIFNoYXJlZFJlbGF0aW9uc2hpcFByb3BlcnRpZXMgPSBGaWVsZEJhc2UgJiB7XG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJPcHRpb25zXG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIHR5cGU6ICdyZWxhdGlvbnNoaXAnXG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21heFJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1heD86IG51bWJlclxuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21pblJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1pbj86IG51bWJlclxuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtYXhSb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtYXg/OiB1bmRlZmluZWRcbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtaW5Sb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtaW4/OiB1bmRlZmluZWRcbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbnR5cGUgUmVsYXRpb25zaGlwQWRtaW4gPSBBZG1pbiAmIHtcbiAgYWxsb3dDcmVhdGU/OiBib29sZWFuXG4gIGNvbXBvbmVudHM/OiB7XG4gICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gIH1cbiAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbn1cbmV4cG9ydCB0eXBlIFBvbHltb3JwaGljUmVsYXRpb25zaGlwRmllbGQgPSBTaGFyZWRSZWxhdGlvbnNoaXBQcm9wZXJ0aWVzICYge1xuICBhZG1pbj86IFJlbGF0aW9uc2hpcEFkbWluICYge1xuICAgIHNvcnRPcHRpb25zPzoge1xuICAgICAgW2NvbGxlY3Rpb25TbHVnOiBzdHJpbmddOiBzdHJpbmdcbiAgICB9XG4gIH1cbiAgcmVsYXRpb25Ubzogc3RyaW5nW11cbn1cbmV4cG9ydCB0eXBlIFNpbmdsZVJlbGF0aW9uc2hpcEZpZWxkID0gU2hhcmVkUmVsYXRpb25zaGlwUHJvcGVydGllcyAmIHtcbiAgYWRtaW4/OiBSZWxhdGlvbnNoaXBBZG1pbiAmIHtcbiAgICBzb3J0T3B0aW9ucz86IHN0cmluZ1xuICB9XG4gIHJlbGF0aW9uVG86IHN0cmluZ1xufVxuZXhwb3J0IHR5cGUgUmVsYXRpb25zaGlwRmllbGQgPSBQb2x5bW9ycGhpY1JlbGF0aW9uc2hpcEZpZWxkIHwgU2luZ2xlUmVsYXRpb25zaGlwRmllbGRcblxuZXhwb3J0IHR5cGUgVmFsdWVXaXRoUmVsYXRpb24gPSB7XG4gIHJlbGF0aW9uVG86IHN0cmluZ1xuICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWx1ZUlzVmFsdWVXaXRoUmVsYXRpb24odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBWYWx1ZVdpdGhSZWxhdGlvbiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICdyZWxhdGlvblRvJyBpbiB2YWx1ZSAmJiAndmFsdWUnIGluIHZhbHVlXG59XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uc2hpcFZhbHVlID1cbiAgfCAobnVtYmVyIHwgc3RyaW5nKVtdXG4gIHwgVmFsdWVXaXRoUmVsYXRpb25cbiAgfCBWYWx1ZVdpdGhSZWxhdGlvbltdXG4gIHwgKG51bWJlciB8IHN0cmluZylcblxuZXhwb3J0IHR5cGUgUmljaFRleHRGaWVsZDxcbiAgVmFsdWUgZXh0ZW5kcyBvYmplY3QgPSBhbnksXG4gIEFkYXB0ZXJQcm9wcyA9IGFueSxcbiAgRXh0cmFQcm9wZXJ0aWVzID0ge30sXG4+ID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgfVxuICBlZGl0b3I/OiBSaWNoVGV4dEFkYXB0ZXI8VmFsdWUsIEFkYXB0ZXJQcm9wcywgQWRhcHRlclByb3BzPlxuICAvKipcbiAgICogU2V0cyBhIG1heGltdW0gcG9wdWxhdGlvbiBkZXB0aCBmb3IgdGhpcyBmaWVsZCwgcmVnYXJkbGVzcyBvZiB0aGUgcmVtYWluaW5nIGRlcHRoIHdoZW4gdGhpcyBmaWVsZCBpcyByZWFjaGVkLlxuICAgKi9cbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgdHlwZTogJ3JpY2hUZXh0J1xufSAmIEV4dHJhUHJvcGVydGllc1xuXG5leHBvcnQgdHlwZSBBcnJheUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBSb3dMYWJlbD86IFJvd0xhYmVsXG4gICAgfSAmIEFkbWluWydjb21wb25lbnRzJ11cbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSBkcmFnIGFuZCBkcm9wIHNvcnRpbmdcbiAgICAgKi9cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIFNRTCB0YWJsZSBuYW1lXG4gICAqL1xuICBkYk5hbWU/OiBEQklkZW50aWZpZXJOYW1lXG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogQnkgZGVmYXVsdCBpdCBpcyBib3VuZCB0byB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgbGFiZWxzPzogTGFiZWxzXG4gIG1heFJvd3M/OiBudW1iZXJcbiAgbWluUm93cz86IG51bWJlclxuICB0eXBlOiAnYXJyYXknXG59XG5cbmV4cG9ydCB0eXBlIFJhZGlvRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgfVxuICAgIGxheW91dD86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgfVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBTUUwgdGFibGUgbmFtZVxuICAgKi9cbiAgZGJOYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBEQiBlbnVtIG5hbWVcbiAgICovXG4gIGVudW1OYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAncmFkaW8nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrID0ge1xuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIFNRTCB0YWJsZSBuYW1lXG4gICAqL1xuICBkYk5hbWU/OiBEQklkZW50aWZpZXJOYW1lXG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgbWlncmF0ZSB0byB0aGUgaW50ZXJmYWNlTmFtZSBwcm9wZXJ0eSBpbnN0ZWFkLiAqL1xuICBncmFwaFFMPzoge1xuICAgIHNpbmd1bGFyTmFtZT86IHN0cmluZ1xuICB9XG4gIGltYWdlQWx0VGV4dD86IHN0cmluZ1xuICBpbWFnZVVSTD86IHN0cmluZ1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBsYWJlbHM/OiBMYWJlbHNcbiAgc2x1Zzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaW5pdENvbGxhcHNlZD86IGJvb2xlYW4gfCBmYWxzZVxuICAgIC8qKlxuICAgICAqIERpc2FibGUgZHJhZyBhbmQgZHJvcCBzb3J0aW5nXG4gICAgICovXG4gICAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbiAgfVxuICBibG9ja3M6IEJsb2NrW11cbiAgZGVmYXVsdFZhbHVlPzogdW5rbm93blxuICBsYWJlbHM/OiBMYWJlbHNcbiAgbWF4Um93cz86IG51bWJlclxuICBtaW5Sb3dzPzogbnVtYmVyXG4gIHR5cGU6ICdibG9ja3MnXG59XG5cbmV4cG9ydCB0eXBlIFBvaW50RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIHR5cGU6ICdwb2ludCdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGQgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IENvbGxhcHNpYmxlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBSb3dGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFic0ZpZWxkXG4gIHwgVGV4dEZpZWxkXG4gIHwgVGV4dGFyZWFGaWVsZFxuICB8IFVJRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZEFmZmVjdGluZ0RhdGEgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFiQXNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBOb25QcmVzZW50YXRpb25hbEZpZWxkID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBDb2xsYXBzaWJsZUZpZWxkXG4gIHwgRGF0ZUZpZWxkXG4gIHwgRW1haWxGaWVsZFxuICB8IEdyb3VwRmllbGRcbiAgfCBKU09ORmllbGRcbiAgfCBOdW1iZXJGaWVsZFxuICB8IFBvaW50RmllbGRcbiAgfCBSYWRpb0ZpZWxkXG4gIHwgUmVsYXRpb25zaGlwRmllbGRcbiAgfCBSaWNoVGV4dEZpZWxkXG4gIHwgUm93RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYnNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhQYXRoID0gRmllbGQgJiB7XG4gIHBhdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoU3ViRmllbGRzID0gQXJyYXlGaWVsZCB8IENvbGxhcHNpYmxlRmllbGQgfCBHcm91cEZpZWxkIHwgUm93RmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRQcmVzZW50YXRpb25hbE9ubHkgPSBVSUZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aE1hbnkgPSBSZWxhdGlvbnNoaXBGaWVsZCB8IFNlbGVjdEZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aE1heERlcHRoID0gUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRIYXNTdWJGaWVsZHMoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoU3ViRmllbGRzIHtcbiAgcmV0dXJuIChcbiAgICBmaWVsZC50eXBlID09PSAnZ3JvdXAnIHx8XG4gICAgZmllbGQudHlwZSA9PT0gJ2FycmF5JyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgZmllbGQudHlwZSA9PT0gJ2NvbGxhcHNpYmxlJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzQXJyYXlUeXBlKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEFycmF5RmllbGQge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ2FycmF5J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0Jsb2NrVHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBCbG9ja0ZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdibG9ja3MnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzR3JvdXBUeXBlKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEdyb3VwRmllbGQge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ2dyb3VwJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNPYmplY3Qob3B0aW9uOiBPcHRpb24pOiBvcHRpb24gaXMgT3B0aW9uT2JqZWN0IHtcbiAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25zQXJlT2JqZWN0cyhvcHRpb25zOiBPcHRpb25bXSk6IG9wdGlvbnMgaXMgT3B0aW9uT2JqZWN0W10ge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiB0eXBlb2Ygb3B0aW9ucz8uWzBdID09PSAnb2JqZWN0J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNWYWx1ZShvcHRpb246IE9wdGlvbik6IG9wdGlvbiBpcyBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZydcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkU3VwcG9ydHNNYW55KGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aE1hbnkge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgfHwgZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzTWF4RGVwdGgoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoTWF4RGVwdGgge1xuICByZXR1cm4gKFxuICAgIChmaWVsZC50eXBlID09PSAndXBsb2FkJyB8fCBmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJykgJiYgdHlwZW9mIGZpZWxkLm1heERlcHRoID09PSAnbnVtYmVyJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGQpOiBmaWVsZCBpcyBVSUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICd1aSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZCk6IGZpZWxkIGlzIEZpZWxkQWZmZWN0aW5nRGF0YSB7XG4gIHJldHVybiAnbmFtZScgaW4gZmllbGQgJiYgIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJIYXNOYW1lKHRhYjogVGFiKTogdGFiIGlzIE5hbWVkVGFiIHtcbiAgcmV0dXJuICduYW1lJyBpbiB0YWJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNMb2NhbGl6ZWQoZmllbGQ6IEZpZWxkIHwgVGFiKTogYm9vbGVhbiB7XG4gIHJldHVybiAnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWRcbn1cblxuZXhwb3J0IHR5cGUgSG9va05hbWUgPVxuICB8ICdhZnRlckNoYW5nZSdcbiAgfCAnYWZ0ZXJSZWFkJ1xuICB8ICdiZWZvcmVDaGFuZ2UnXG4gIHwgJ2JlZm9yZVJlYWQnXG4gIHwgJ2JlZm9yZVZhbGlkYXRlJ1xuIl0sIm5hbWVzIjpbImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZEhhc01heERlcHRoIiwiZmllbGRIYXNTdWJGaWVsZHMiLCJmaWVsZElzQXJyYXlUeXBlIiwiZmllbGRJc0Jsb2NrVHlwZSIsImZpZWxkSXNHcm91cFR5cGUiLCJmaWVsZElzTG9jYWxpemVkIiwiZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSIsImZpZWxkU3VwcG9ydHNNYW55Iiwib3B0aW9uSXNPYmplY3QiLCJvcHRpb25Jc1ZhbHVlIiwib3B0aW9uc0FyZU9iamVjdHMiLCJ0YWJIYXNOYW1lIiwidmFsdWVJc1ZhbHVlV2l0aFJlbGF0aW9uIiwidmFsdWUiLCJmaWVsZCIsInR5cGUiLCJvcHRpb24iLCJvcHRpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwibWF4RGVwdGgiLCJ0YWIiLCJsb2NhbGl6ZWQiXSwibWFwcGluZ3MiOiJBQUFBLHVDQUF1Qzs7Ozs7Ozs7Ozs7SUF5d0J2QkEsZ0JBQWdCO2VBQWhCQTs7SUFWQUMsZ0JBQWdCO2VBQWhCQTs7SUFyQ0FDLGlCQUFpQjtlQUFqQkE7O0lBU0FDLGdCQUFnQjtlQUFoQkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7O0lBc0NBQyxnQkFBZ0I7ZUFBaEJBOztJQVpBQyx5QkFBeUI7ZUFBekJBOztJQVZBQyxpQkFBaUI7ZUFBakJBOztJQVpBQyxjQUFjO2VBQWRBOztJQVFBQyxhQUFhO2VBQWJBOztJQUpBQyxpQkFBaUI7ZUFBakJBOztJQTBCQUMsVUFBVTtlQUFWQTs7SUEzUEFDLHdCQUF3QjtlQUF4QkE7OztBQUFULFNBQVNBLHlCQUF5QkMsS0FBYztJQUNyRCxPQUFPQSxVQUFVLFFBQVEsT0FBT0EsVUFBVSxZQUFZLGdCQUFnQkEsU0FBUyxXQUFXQTtBQUM1RjtBQXNNTyxTQUFTWixrQkFBa0JhLEtBQVk7SUFDNUMsT0FDRUEsTUFBTUMsSUFBSSxLQUFLLFdBQ2ZELE1BQU1DLElBQUksS0FBSyxXQUNmRCxNQUFNQyxJQUFJLEtBQUssU0FDZkQsTUFBTUMsSUFBSSxLQUFLO0FBRW5CO0FBRU8sU0FBU2IsaUJBQWlCWSxLQUFZO0lBQzNDLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNaLGlCQUFpQlcsS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFTyxTQUFTWCxpQkFBaUJVLEtBQVk7SUFDM0MsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU1AsZUFBZVEsTUFBYztJQUMzQyxPQUFPLE9BQU9BLFdBQVc7QUFDM0I7QUFFTyxTQUFTTixrQkFBa0JPLE9BQWlCO0lBQ2pELE9BQU9DLE1BQU1DLE9BQU8sQ0FBQ0YsWUFBWSxPQUFPQSxTQUFTLENBQUMsRUFBRSxLQUFLO0FBQzNEO0FBRU8sU0FBU1IsY0FBY08sTUFBYztJQUMxQyxPQUFPLE9BQU9BLFdBQVc7QUFDM0I7QUFFTyxTQUFTVCxrQkFBa0JPLEtBQVk7SUFDNUMsT0FBT0EsTUFBTUMsSUFBSSxLQUFLLFlBQVlELE1BQU1DLElBQUksS0FBSztBQUNuRDtBQUVPLFNBQVNmLGlCQUFpQmMsS0FBWTtJQUMzQyxPQUNFLEFBQUNBLENBQUFBLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUssY0FBYSxLQUFNLE9BQU9ELE1BQU1NLFFBQVEsS0FBSztBQUU1RjtBQUVPLFNBQVNkLDBCQUEwQlEsS0FBeUI7SUFDakUsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU2hCLGlCQUFpQmUsS0FBeUI7SUFDeEQsT0FBTyxVQUFVQSxTQUFTLENBQUNSLDBCQUEwQlE7QUFDdkQ7QUFFTyxTQUFTSCxXQUFXVSxHQUFRO0lBQ2pDLE9BQU8sVUFBVUE7QUFDbkI7QUFFTyxTQUFTaEIsaUJBQWlCUyxLQUFrQjtJQUNqRCxPQUFPLGVBQWVBLFNBQVNBLE1BQU1RLFNBQVM7QUFDaEQifQ==
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9maWVsZHMvY29uZmlnL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEVkaXRvclByb3BzIH0gZnJvbSAnQG1vbmFjby1lZGl0b3IvcmVhY3QnXG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IG1vbmFjb2VkaXRvciBmcm9tICdtb25hY28tZWRpdG9yJyAvLyBJTVBPUlRBTlQgLSBETyBOT1QgUkVNT1ZFOiBUaGlzIGlzIHJlcXVpcmVkIGZvciBwbnBtJ3MgZGVmYXVsdCBpc29sYXRlZCBtb2RlIHRvIHdvcmsgLSBldmVuIHRob3VnaCB0aGUgaW1wb3J0IGlzIG5vdCB1c2VkLiBUaGlzIGlzIGR1ZSB0byBhIHR5cGVzY3JpcHQgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQ3NjYzI2lzc3VlY29tbWVudC0xNTE5MTM4MTg5LiAodHNidWdpc29sYXRlZG1vZGUpXG5pbXBvcnQgdHlwZSBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBDb25kaXRpb25hbERhdGVQcm9wcyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZWxlbWVudHMvRGF0ZVBpY2tlci90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgYXMgRXJyb3JQcm9wcyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRXJyb3IvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9GaWVsZERlc2NyaXB0aW9uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcm9wcyBhcyBMYWJlbFByb3BzIH0gZnJvbSAnLi4vLi4vYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9MYWJlbC90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL1Jvd0xhYmVsL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEQklkZW50aWZpZXJOYW1lIH0gZnJvbSAnLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uLy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgT3BlcmF0aW9uLCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2tBcmdzPFQgZXh0ZW5kcyBUeXBlV2l0aElEID0gYW55LCBQID0gYW55LCBTID0gYW55PiA9IHtcbiAgLyoqIFRoZSBjb2xsZWN0aW9uIHdoaWNoIHRoZSBmaWVsZCBiZWxvbmdzIHRvLiBJZiB0aGUgZmllbGQgYmVsb25ncyB0byBhIGdsb2JhbCwgdGhpcyB3aWxsIGJlIG51bGwuICovXG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIC8qKiBUaGUgZGF0YSBwYXNzZWQgdG8gdXBkYXRlIHRoZSBkb2N1bWVudCB3aXRoaW4gY3JlYXRlIGFuZCB1cGRhdGUgb3BlcmF0aW9ucywgYW5kIHRoZSBmdWxsIGRvY3VtZW50IGl0c2VsZiBpbiB0aGUgYWZ0ZXJSZWFkIGhvb2suICovXG4gIGRhdGE/OiBQYXJ0aWFsPFQ+XG4gIC8qKiBUaGUgZmllbGQgd2hpY2ggdGhlIGhvb2sgaXMgcnVubmluZyBhZ2FpbnN0LiAqL1xuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIC8qKiBCb29sZWFuIHRvIGRlbm90ZSBpZiB0aGlzIGhvb2sgaXMgcnVubmluZyBhZ2FpbnN0IGZpbmRpbmcgb25lLCBvciBmaW5kaW5nIG1hbnkgd2l0aGluIHRoZSBhZnRlclJlYWQgaG9vay4gKi9cbiAgZmluZE1hbnk/OiBib29sZWFuXG4gIC8qKiBUaGUgZ2xvYmFsIHdoaWNoIHRoZSBmaWVsZCBiZWxvbmdzIHRvLiBJZiB0aGUgZmllbGQgYmVsb25ncyB0byBhIGNvbGxlY3Rpb24sIHRoaXMgd2lsbCBiZSBudWxsLiAqL1xuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgLyoqIEEgc3RyaW5nIHJlbGF0aW5nIHRvIHdoaWNoIG9wZXJhdGlvbiB0aGUgZmllbGQgdHlwZSBpcyBjdXJyZW50bHkgZXhlY3V0aW5nIHdpdGhpbi4gVXNlZnVsIHdpdGhpbiBiZWZvcmVWYWxpZGF0ZSwgYmVmb3JlQ2hhbmdlLCBhbmQgYWZ0ZXJDaGFuZ2UgaG9va3MgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMuICovXG4gIG9wZXJhdGlvbj86ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAndXBkYXRlJ1xuICAvKiogVGhlIGZ1bGwgb3JpZ2luYWwgZG9jdW1lbnQgaW4gYHVwZGF0ZWAgb3BlcmF0aW9ucy4gSW4gdGhlIGBhZnRlckNoYW5nZWAgaG9vaywgdGhpcyBpcyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IG9mIHRoZSBvcGVyYXRpb24uICovXG4gIG9yaWdpbmFsRG9jPzogVFxuICAvKiogVGhlIGRvY3VtZW50IGJlZm9yZSBjaGFuZ2VzIHdlcmUgYXBwbGllZCwgb25seSBpbiBgYWZ0ZXJDaGFuZ2VgIGhvb2tzLiAqL1xuICBwcmV2aW91c0RvYz86IFRcbiAgLyoqIFRoZSBzaWJsaW5nIGRhdGEgb2YgdGhlIGRvY3VtZW50IGJlZm9yZSBjaGFuZ2VzIGJlaW5nIGFwcGxpZWQsIG9ubHkgaW4gYGJlZm9yZUNoYW5nZWAgYW5kIGBhZnRlckNoYW5nZWAgaG9vay4gKi9cbiAgcHJldmlvdXNTaWJsaW5nRG9jPzogVFxuICAvKiogVGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBmaWVsZCwgYmVmb3JlIGNoYW5nZXMsIG9ubHkgaW4gYGJlZm9yZUNoYW5nZWAgYW5kIGBhZnRlckNoYW5nZWAgaG9va3MuICovXG4gIHByZXZpb3VzVmFsdWU/OiBQXG4gIC8qKiBUaGUgRXhwcmVzcyByZXF1ZXN0IG9iamVjdC4gSXQgaXMgbW9ja2VkIGZvciBMb2NhbCBBUEkgb3BlcmF0aW9ucy4gKi9cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAvKiogVGhlIHNpYmxpbmcgZGF0YSBwYXNzZWQgdG8gYSBmaWVsZCB0aGF0IHRoZSBob29rIGlzIHJ1bm5pbmcgYWdhaW5zdC4gKi9cbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8Uz5cbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmllbGQuICovXG4gIHZhbHVlPzogUFxufVxuXG5leHBvcnQgdHlwZSBGaWVsZEhvb2s8VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnksIFMgPSBhbnk+ID0gKFxuICBhcmdzOiBGaWVsZEhvb2tBcmdzPFQsIFAsIFM+LFxuKSA9PiBQIHwgUHJvbWlzZTxQPlxuXG5leHBvcnQgdHlwZSBGaWVsZEFjY2VzczxUIGV4dGVuZHMgVHlwZVdpdGhJRCA9IGFueSwgUCA9IGFueSwgVSA9IGFueT4gPSAoYXJnczoge1xuICAvKipcbiAgICogVGhlIGluY29taW5nIGRhdGEgdXNlZCB0byBgY3JlYXRlYCBvciBgdXBkYXRlYCB0aGUgZG9jdW1lbnQgd2l0aC4gYGRhdGFgIGlzIHVuZGVmaW5lZCBkdXJpbmcgdGhlIGByZWFkYCBvcGVyYXRpb24uXG4gICAqL1xuICBkYXRhPzogUGFydGlhbDxUPlxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIGRhdGEgb2YgdGhlIGRvY3VtZW50IGJlZm9yZSB0aGUgYHVwZGF0ZWAgaXMgYXBwbGllZC4gYGRvY2AgaXMgdW5kZWZpbmVkIGR1cmluZyB0aGUgYGNyZWF0ZWAgb3BlcmF0aW9uLlxuICAgKi9cbiAgZG9jPzogVFxuICAvKipcbiAgICogVGhlIGBpZGAgb2YgdGhlIGN1cnJlbnQgZG9jdW1lbnQgYmVpbmcgcmVhZCBvciB1cGRhdGVkLiBgaWRgIGlzIHVuZGVmaW5lZCBkdXJpbmcgdGhlIGBjcmVhdGVgIG9wZXJhdGlvbi5cbiAgICovXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nXG4gIC8qKiBUaGUgYEV4cHJlc3NgIHJlcXVlc3Qgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnRseSBhdXRoZW50aWNhdGVkIGB1c2VyYCAqL1xuICByZXE6IFBheWxvYWRSZXF1ZXN0PFU+XG4gIC8qKlxuICAgKiBJbW1lZGlhdGVseSBhZGphY2VudCBkYXRhIHRvIHRoaXMgZmllbGQuIEZvciBleGFtcGxlLCBpZiB0aGlzIGlzIGEgYGdyb3VwYCBmaWVsZCwgdGhlbiBgc2libGluZ0RhdGFgIHdpbGwgYmUgdGhlIG90aGVyIGZpZWxkcyB3aXRoaW4gdGhlIGdyb3VwLlxuICAgKi9cbiAgc2libGluZ0RhdGE/OiBQYXJ0aWFsPFA+XG59KSA9PiBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhblxuXG5leHBvcnQgdHlwZSBDb25kaXRpb248VCBleHRlbmRzIFR5cGVXaXRoSUQgPSBhbnksIFAgPSBhbnk+ID0gKFxuICBkYXRhOiBQYXJ0aWFsPFQ+LFxuICBzaWJsaW5nRGF0YTogUGFydGlhbDxQPixcbiAge1xuICAgIHVzZXIsXG4gIH06IHtcbiAgICB1c2VyOiBVc2VyXG4gIH0sXG4pID0+IGJvb2xlYW5cblxuZXhwb3J0IHR5cGUgRmlsdGVyT3B0aW9uc1Byb3BzPFQgPSBhbnk+ID0ge1xuICBkYXRhOiBUXG4gIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHNpYmxpbmdEYXRhOiB1bmtub3duXG4gIHVzZXI6IFBhcnRpYWw8VXNlcj5cbn1cblxuZXhwb3J0IHR5cGUgRmlsdGVyT3B0aW9uczxUID0gYW55PiA9XG4gIHwgKChvcHRpb25zOiBGaWx0ZXJPcHRpb25zUHJvcHM8VD4pID0+IFByb21pc2U8V2hlcmUgfCBib29sZWFuPiB8IFdoZXJlIHwgYm9vbGVhbilcbiAgfCBXaGVyZVxuICB8IG51bGxcblxudHlwZSBBZG1pbiA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbXBvbmVudHM/OiB7XG4gICAgQ2VsbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIEZpZWxkPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgRmlsdGVyPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gIH1cbiAgLyoqXG4gICAqIFlvdSBjYW4gcHJvZ3JhbW1hdGljYWxseSBzaG93IC8gaGlkZSBmaWVsZHMgYmFzZWQgb24gd2hhdCBvdGhlciBmaWVsZHMgYXJlIGRvaW5nLlxuICAgKiBUaGlzIGlzIGFsc28gcnVuIG9uIHRoZSBzZXJ2ZXIsIHRvIGRldGVybWluZSBpZiB0aGUgZmllbGQgc2hvdWxkIGJlIHZhbGlkYXRlZC5cbiAgICovXG4gIGNvbmRpdGlvbj86IENvbmRpdGlvblxuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGRpc2FibGVCdWxrRWRpdD86IGJvb2xlYW5cbiAgZGlzYWJsZUxpc3RDb2x1bW4/OiBib29sZWFuXG4gIGRpc2FibGVMaXN0RmlsdGVyPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgaGlkZGVuPzogYm9vbGVhblxuICBwb3NpdGlvbj86ICdzaWRlYmFyJ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIHdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIExhYmVscyA9IHtcbiAgcGx1cmFsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIHNpbmd1bGFyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlT3B0aW9uczxURGF0YSwgVFNpYmxpbmdEYXRhLCBURmllbGRDb25maWc+ID0ge1xuICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xuICBkYXRhOiBQYXJ0aWFsPFREYXRhPlxuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICBvcGVyYXRpb24/OiBPcGVyYXRpb25cbiAgcGF5bG9hZD86IFBheWxvYWRcbiAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgc2libGluZ0RhdGE6IFBhcnRpYWw8VFNpYmxpbmdEYXRhPlxuICB0OiBURnVuY3Rpb25cbiAgdXNlcj86IFBhcnRpYWw8VXNlcj5cbn0gJiBURmllbGRDb25maWdcblxuLy8gVE9ETzogSGF2aW5nIFRGaWVsZENvbmZpZyBhcyBhbnkgYnJlYWtzIGFsbCB0eXBlIGNoZWNraW5nIC8gYXV0by1jb21wbGV0aW9ucyBmb3IgdGhlIGJhc2UgVmFsaWRhdGVPcHRpb25zIHByb3BlcnRpZXMuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZTxUVmFsdWUgPSBhbnksIFREYXRhID0gYW55LCBUU2libGluZ0RhdGEgPSBhbnksIFRGaWVsZENvbmZpZyA9IGFueT4gPSAoXG4gIHZhbHVlOiBUVmFsdWUsXG4gIG9wdGlvbnM6IFZhbGlkYXRlT3B0aW9uczxURGF0YSwgVFNpYmxpbmdEYXRhLCBURmllbGRDb25maWc+LFxuKSA9PiBQcm9taXNlPHN0cmluZyB8IHRydWU+IHwgc3RyaW5nIHwgdHJ1ZVxuXG5leHBvcnQgdHlwZSBPcHRpb25PYmplY3QgPSB7XG4gIGxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIHZhbHVlOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgT3B0aW9uID0gT3B0aW9uT2JqZWN0IHwgc3RyaW5nXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRCYXNlIHtcbiAgYWNjZXNzPzoge1xuICAgIGNyZWF0ZT86IEZpZWxkQWNjZXNzXG4gICAgcmVhZD86IEZpZWxkQWNjZXNzXG4gICAgdXBkYXRlPzogRmllbGRBY2Nlc3NcbiAgfVxuICBhZG1pbj86IEFkbWluXG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgZGVmYXVsdFZhbHVlPzogYW55XG4gIGhpZGRlbj86IGJvb2xlYW5cbiAgaG9va3M/OiB7XG4gICAgYWZ0ZXJDaGFuZ2U/OiBGaWVsZEhvb2tbXVxuICAgIGFmdGVyUmVhZD86IEZpZWxkSG9va1tdXG4gICAgYmVmb3JlQ2hhbmdlPzogRmllbGRIb29rW11cbiAgICBiZWZvcmVWYWxpZGF0ZT86IEZpZWxkSG9va1tdXG4gIH1cbiAgaW5kZXg/OiBib29sZWFuXG4gIGxhYmVsPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IGZhbHNlIHwgc3RyaW5nXG4gIGxvY2FsaXplZD86IGJvb2xlYW5cbiAgbmFtZTogc3RyaW5nXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICBzYXZlVG9KV1Q/OiBib29sZWFuIHwgc3RyaW5nXG4gIHVuaXF1ZT86IGJvb2xlYW5cbiAgdmFsaWRhdGU/OiBWYWxpZGF0ZVxufVxuXG5leHBvcnQgdHlwZSBOdW1iZXJGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICAvKiogU2V0IHRoaXMgcHJvcGVydHkgdG8gYSBzdHJpbmcgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGJyb3dzZXIgYXV0b2NvbXBsZXRlLiAqL1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIC8qKiBTZXQgdGhpcyBwcm9wZXJ0eSB0byBkZWZpbmUgYSBwbGFjZWhvbGRlciBzdHJpbmcgZm9yIHRoZSBmaWVsZC4gKi9cbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICAvKiogU2V0IGEgdmFsdWUgZm9yIHRoZSBudW1iZXIgZmllbGQgdG8gaW5jcmVtZW50IC8gZGVjcmVtZW50IHVzaW5nIGJyb3dzZXIgY29udHJvbHMuICovXG4gICAgc3RlcD86IG51bWJlclxuICB9XG4gIC8qKiBNYXhpbXVtIHZhbHVlIGFjY2VwdGVkLiBVc2VkIGluIHRoZSBkZWZhdWx0IGB2YWxpZGF0aW9uYCBmdW5jdGlvbi4gKi9cbiAgbWF4PzogbnVtYmVyXG4gIC8qKiBNaW5pbXVtIHZhbHVlIGFjY2VwdGVkLiBVc2VkIGluIHRoZSBkZWZhdWx0IGB2YWxpZGF0aW9uYCBmdW5jdGlvbi4gKi9cbiAgbWluPzogbnVtYmVyXG4gIHR5cGU6ICdudW1iZXInXG59ICYgKFxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIG51bWJlcnMgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIG51bWJlci4gKi9cbiAgICAgICAgaGFzTWFueTogdHJ1ZVxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBudW1iZXJzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBudW1iZXIuICovXG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgbnVtYmVycyBpbiB0aGUgbnVtYmVycyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBudW1iZXJzIGluIHRoZSBudW1iZXJzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiB1bmRlZmluZWRcbiAgICAgIH1cbiAgKVxuXG5leHBvcnQgdHlwZSBUZXh0RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgICBhZnRlcklucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIGJlZm9yZUlucHV0PzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG4gICAgcGxhY2Vob2xkZXI/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gICAgcnRsPzogYm9vbGVhblxuICB9XG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgdHlwZTogJ3RleHQnXG59ICYgKFxuICAgIHwge1xuICAgICAgICAvKiogTWFrZXMgdGhpcyBmaWVsZCBhbiBvcmRlcmVkIGFycmF5IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIHN0cmluZy4gKi9cbiAgICAgICAgaGFzTWFueTogdHJ1ZVxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2Ygc3RyaW5ncyBpbiB0aGUgc3RyaW5ncyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgLyoqIE1ha2VzIHRoaXMgZmllbGQgYW4gb3JkZXJlZCBhcnJheSBvZiBzdHJpbmdzIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBzdHJpbmcuICovXG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKiogTWF4aW11bSBudW1iZXIgb2Ygc3RyaW5ncyBpbiB0aGUgc3RyaW5ncyBhcnJheSwgaWYgYGhhc01hbnlgIGlzIHNldCB0byB0cnVlLiAqL1xuICAgICAgICBtYXhSb3dzPzogdW5kZWZpbmVkXG4gICAgICAgIC8qKiBNaW5pbXVtIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSBzdHJpbmdzIGFycmF5LCBpZiBgaGFzTWFueWAgaXMgc2V0IHRvIHRydWUuICovXG4gICAgICAgIG1pblJvd3M/OiB1bmRlZmluZWRcbiAgICAgIH1cbiAgKVxuXG5leHBvcnQgdHlwZSBFbWFpbEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdlbWFpbCdcbn1cblxuZXhwb3J0IHR5cGUgVGV4dGFyZWFGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICAgIGFmdGVySW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgYmVmb3JlSW5wdXQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgIH1cbiAgICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgICByb3dzPzogbnVtYmVyXG4gICAgcnRsPzogYm9vbGVhblxuICB9XG4gIG1heExlbmd0aD86IG51bWJlclxuICBtaW5MZW5ndGg/OiBudW1iZXJcbiAgdHlwZTogJ3RleHRhcmVhJ1xufVxuXG5leHBvcnQgdHlwZSBDaGVja2JveEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICB9XG4gIHR5cGU6ICdjaGVja2JveCdcbn1cblxuZXhwb3J0IHR5cGUgRGF0ZUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgICAgYWZ0ZXJJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICBiZWZvcmVJbnB1dD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuICAgIGRhdGU/OiBDb25kaXRpb25hbERhdGVQcm9wc1xuICAgIHBsYWNlaG9sZGVyPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICB9XG4gIHR5cGU6ICdkYXRlJ1xufVxuXG5leHBvcnQgdHlwZSBHcm91cEZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGhpZGVHdXR0ZXI/OiBib29sZWFuXG4gIH1cbiAgZmllbGRzOiBGaWVsZFtdXG4gIC8qKiBDdXN0b21pemUgZ2VuZXJhdGVkIEdyYXBoUUwgYW5kIFR5cGVzY3JpcHQgc2NoZW1hIG5hbWVzLlxuICAgKiBCeSBkZWZhdWx0IGl0IGlzIGJvdW5kIHRvIHRoZSBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICB0eXBlOiAnZ3JvdXAnXG59XG5cbmV4cG9ydCB0eXBlIFJvd0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxuZXhwb3J0IHR5cGUgUm93RmllbGQgPSBPbWl0PEZpZWxkQmFzZSwgJ2FkbWluJyB8ICdsYWJlbCcgfCAnbmFtZSc+ICYge1xuICBhZG1pbj86IFJvd0FkbWluXG4gIGZpZWxkczogRmllbGRbXVxuICB0eXBlOiAncm93J1xufVxuXG5leHBvcnQgdHlwZSBDb2xsYXBzaWJsZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdsYWJlbCcgfCAnbmFtZSc+ICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGluaXRDb2xsYXBzZWQ/OiBib29sZWFuIHwgZmFsc2VcbiAgfVxuICBmaWVsZHM6IEZpZWxkW11cbiAgbGFiZWw6IFJvd0xhYmVsXG4gIHR5cGU6ICdjb2xsYXBzaWJsZSdcbn1cblxuZXhwb3J0IHR5cGUgVGFic0FkbWluID0gT21pdDxBZG1pbiwgJ2Rlc2NyaXB0aW9uJz5cblxudHlwZSBUYWJCYXNlID0gT21pdDxGaWVsZEJhc2UsICdyZXF1aXJlZCcgfCAndmFsaWRhdGlvbic+ICYge1xuICBkZXNjcmlwdGlvbj86IERlc2NyaXB0aW9uXG4gIGZpZWxkczogRmllbGRbXVxuICBpbnRlcmZhY2VOYW1lPzogc3RyaW5nXG4gIHNhdmVUb0pXVD86IGJvb2xlYW4gfCBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTmFtZWRUYWIgPSBUYWJCYXNlICYge1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBVbm5hbWVkVGFiID0gT21pdDxUYWJCYXNlLCAnbmFtZSc+ICYge1xuICBpbnRlcmZhY2VOYW1lPzogbmV2ZXJcbiAgbGFiZWw6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmdcbiAgbG9jYWxpemVkPzogbmV2ZXJcbn1cblxuZXhwb3J0IHR5cGUgVGFiID0gTmFtZWRUYWIgfCBVbm5hbWVkVGFiXG5cbmV4cG9ydCB0eXBlIFRhYnNGaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nIHwgJ2xvY2FsaXplZCcgfCAnbmFtZScgfCAnc2F2ZVRvSldUJz4gJiB7XG4gIGFkbWluPzogVGFic0FkbWluXG4gIHRhYnM6IFRhYltdXG4gIHR5cGU6ICd0YWJzJ1xufVxuXG5leHBvcnQgdHlwZSBUYWJBc0ZpZWxkID0gVGFiICYge1xuICBuYW1lPzogc3RyaW5nXG4gIHR5cGU6ICd0YWInXG59XG5cbmV4cG9ydCB0eXBlIFVJRmllbGQgPSB7XG4gIGFkbWluOiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIENlbGw/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpZWxkOiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIEZpbHRlcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgIH1cbiAgICBjb25kaXRpb24/OiBDb25kaXRpb25cbiAgICBkaXNhYmxlQnVsa0VkaXQ/OiBib29sZWFuXG4gICAgZGlzYWJsZUxpc3RDb2x1bW4/OiBib29sZWFuXG4gICAgcG9zaXRpb24/OiBzdHJpbmdcbiAgICB3aWR0aD86IHN0cmluZ1xuICB9XG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICB0eXBlOiAndWknXG59XG5cbmV4cG9ydCB0eXBlIFVwbG9hZEZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICB9XG4gIH1cbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnNcbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgcmVsYXRpb25Ubzogc3RyaW5nXG4gIHR5cGU6ICd1cGxvYWQnXG59XG5cbnR5cGUgQ29kZUFkbWluID0gQWRtaW4gJiB7XG4gIGNvbXBvbmVudHM/OiB7XG4gICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gIH1cbiAgZWRpdG9yT3B0aW9ucz86IEVkaXRvclByb3BzWydvcHRpb25zJ11cbiAgbGFuZ3VhZ2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ29kZUZpZWxkID0gT21pdDxGaWVsZEJhc2UsICdhZG1pbic+ICYge1xuICBhZG1pbj86IENvZGVBZG1pblxuICBtYXhMZW5ndGg/OiBudW1iZXJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXG4gIHR5cGU6ICdjb2RlJ1xufVxuXG50eXBlIEpTT05BZG1pbiA9IEFkbWluICYge1xuICBjb21wb25lbnRzPzoge1xuICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICB9XG4gIGVkaXRvck9wdGlvbnM/OiBFZGl0b3JQcm9wc1snb3B0aW9ucyddXG59XG5cbmV4cG9ydCB0eXBlIEpTT05GaWVsZCA9IE9taXQ8RmllbGRCYXNlLCAnYWRtaW4nPiAmIHtcbiAgYWRtaW4/OiBKU09OQWRtaW5cbiAganNvblNjaGVtYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHR5cGU6ICdqc29uJ1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RGaWVsZCA9IEZpZWxkQmFzZSAmIHtcbiAgYWRtaW4/OiBBZG1pbiAmIHtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgICBMYWJlbD86IFJlYWN0LkNvbXBvbmVudFR5cGU8TGFiZWxQcm9wcz5cbiAgICB9XG4gICAgaXNDbGVhcmFibGU/OiBib29sZWFuXG4gICAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbiAgfVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBTUUwgdGFibGUgbmFtZVxuICAgKi9cbiAgZGJOYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBEQiBlbnVtIG5hbWVcbiAgICovXG4gIGVudW1OYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICBoYXNNYW55PzogYm9vbGVhblxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAnc2VsZWN0J1xufVxuXG50eXBlIFNoYXJlZFJlbGF0aW9uc2hpcFByb3BlcnRpZXMgPSBGaWVsZEJhc2UgJiB7XG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJPcHRpb25zXG4gIGhhc01hbnk/OiBib29sZWFuXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIHR5cGU6ICdyZWxhdGlvbnNoaXAnXG59ICYgKFxuICAgIHwge1xuICAgICAgICBoYXNNYW55OiB0cnVlXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21heFJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1heD86IG51bWJlclxuICAgICAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBVc2UgJ21pblJvd3MnIGluc3RlYWRcbiAgICAgICAgICovXG4gICAgICAgIG1pbj86IG51bWJlclxuICAgICAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGhhc01hbnk/OiBmYWxzZSB8IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtYXhSb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtYXg/OiB1bmRlZmluZWRcbiAgICAgICAgbWF4Um93cz86IHVuZGVmaW5lZFxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlICdtaW5Sb3dzJyBpbnN0ZWFkXG4gICAgICAgICAqL1xuICAgICAgICBtaW4/OiB1bmRlZmluZWRcbiAgICAgICAgbWluUm93cz86IHVuZGVmaW5lZFxuICAgICAgfVxuICApXG5cbnR5cGUgUmVsYXRpb25zaGlwQWRtaW4gPSBBZG1pbiAmIHtcbiAgYWxsb3dDcmVhdGU/OiBib29sZWFuXG4gIGNvbXBvbmVudHM/OiB7XG4gICAgRXJyb3I/OiBSZWFjdC5Db21wb25lbnRUeXBlPEVycm9yUHJvcHM+XG4gICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gIH1cbiAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbn1cbmV4cG9ydCB0eXBlIFBvbHltb3JwaGljUmVsYXRpb25zaGlwRmllbGQgPSBTaGFyZWRSZWxhdGlvbnNoaXBQcm9wZXJ0aWVzICYge1xuICBhZG1pbj86IFJlbGF0aW9uc2hpcEFkbWluICYge1xuICAgIHNvcnRPcHRpb25zPzoge1xuICAgICAgW2NvbGxlY3Rpb25TbHVnOiBzdHJpbmddOiBzdHJpbmdcbiAgICB9XG4gIH1cbiAgcmVsYXRpb25Ubzogc3RyaW5nW11cbn1cbmV4cG9ydCB0eXBlIFNpbmdsZVJlbGF0aW9uc2hpcEZpZWxkID0gU2hhcmVkUmVsYXRpb25zaGlwUHJvcGVydGllcyAmIHtcbiAgYWRtaW4/OiBSZWxhdGlvbnNoaXBBZG1pbiAmIHtcbiAgICBzb3J0T3B0aW9ucz86IHN0cmluZ1xuICB9XG4gIHJlbGF0aW9uVG86IHN0cmluZ1xufVxuZXhwb3J0IHR5cGUgUmVsYXRpb25zaGlwRmllbGQgPSBQb2x5bW9ycGhpY1JlbGF0aW9uc2hpcEZpZWxkIHwgU2luZ2xlUmVsYXRpb25zaGlwRmllbGRcblxuZXhwb3J0IHR5cGUgVmFsdWVXaXRoUmVsYXRpb24gPSB7XG4gIHJlbGF0aW9uVG86IHN0cmluZ1xuICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWx1ZUlzVmFsdWVXaXRoUmVsYXRpb24odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBWYWx1ZVdpdGhSZWxhdGlvbiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICdyZWxhdGlvblRvJyBpbiB2YWx1ZSAmJiAndmFsdWUnIGluIHZhbHVlXG59XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uc2hpcFZhbHVlID1cbiAgfCAobnVtYmVyIHwgc3RyaW5nKVtdXG4gIHwgVmFsdWVXaXRoUmVsYXRpb25cbiAgfCBWYWx1ZVdpdGhSZWxhdGlvbltdXG4gIHwgKG51bWJlciB8IHN0cmluZylcblxuZXhwb3J0IHR5cGUgUmljaFRleHRGaWVsZDxcbiAgVmFsdWUgZXh0ZW5kcyBvYmplY3QgPSBhbnksXG4gIEFkYXB0ZXJQcm9wcyA9IGFueSxcbiAgRXh0cmFQcm9wZXJ0aWVzID0ge30sXG4+ID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBFcnJvcj86IFJlYWN0LkNvbXBvbmVudFR5cGU8RXJyb3JQcm9wcz5cbiAgICAgIExhYmVsPzogUmVhY3QuQ29tcG9uZW50VHlwZTxMYWJlbFByb3BzPlxuICAgIH1cbiAgfVxuICBlZGl0b3I/OiBSaWNoVGV4dEFkYXB0ZXI8VmFsdWUsIEFkYXB0ZXJQcm9wcywgQWRhcHRlclByb3BzPlxuICAvKipcbiAgICogU2V0cyBhIG1heGltdW0gcG9wdWxhdGlvbiBkZXB0aCBmb3IgdGhpcyBmaWVsZCwgcmVnYXJkbGVzcyBvZiB0aGUgcmVtYWluaW5nIGRlcHRoIHdoZW4gdGhpcyBmaWVsZCBpcyByZWFjaGVkLlxuICAgKi9cbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgdHlwZTogJ3JpY2hUZXh0J1xufSAmIEV4dHJhUHJvcGVydGllc1xuXG5leHBvcnQgdHlwZSBBcnJheUZpZWxkID0gRmllbGRCYXNlICYge1xuICBhZG1pbj86IEFkbWluICYge1xuICAgIGNvbXBvbmVudHM/OiB7XG4gICAgICBSb3dMYWJlbD86IFJvd0xhYmVsXG4gICAgfSAmIEFkbWluWydjb21wb25lbnRzJ11cbiAgICBpbml0Q29sbGFwc2VkPzogYm9vbGVhbiB8IGZhbHNlXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSBkcmFnIGFuZCBkcm9wIHNvcnRpbmdcbiAgICAgKi9cbiAgICBpc1NvcnRhYmxlPzogYm9vbGVhblxuICB9XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIFNRTCB0YWJsZSBuYW1lXG4gICAqL1xuICBkYk5hbWU/OiBEQklkZW50aWZpZXJOYW1lXG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogQnkgZGVmYXVsdCBpdCBpcyBib3VuZCB0byB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdvdWxkIGxpa2UgdG8gZ2VuZXJhdGUgYSB0b3AgbGV2ZWwgdHlwZSB0byBzaGFyZSBhbW9uZ3N0IGNvbGxlY3Rpb25zL2ZpZWxkcy5cbiAgICogKipOb3RlKio6IFRvcCBsZXZlbCB0eXBlcyBjYW4gY29sbGlkZSwgZW5zdXJlIHRoZXkgYXJlIHVuaXF1ZSBhbW9uZyBjb2xsZWN0aW9ucywgYXJyYXlzLCBncm91cHMsIGJsb2NrcywgdGFicy5cbiAgICovXG4gIGludGVyZmFjZU5hbWU/OiBzdHJpbmdcbiAgbGFiZWxzPzogTGFiZWxzXG4gIG1heFJvd3M/OiBudW1iZXJcbiAgbWluUm93cz86IG51bWJlclxuICB0eXBlOiAnYXJyYXknXG59XG5cbmV4cG9ydCB0eXBlIFJhZGlvRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgIEVycm9yPzogUmVhY3QuQ29tcG9uZW50VHlwZTxFcnJvclByb3BzPlxuICAgICAgTGFiZWw/OiBSZWFjdC5Db21wb25lbnRUeXBlPExhYmVsUHJvcHM+XG4gICAgfVxuICAgIGxheW91dD86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgfVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBTUUwgdGFibGUgbmFtZVxuICAgKi9cbiAgZGJOYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBEQiBlbnVtIG5hbWVcbiAgICovXG4gIGVudW1OYW1lPzogREJJZGVudGlmaWVyTmFtZVxuICBvcHRpb25zOiBPcHRpb25bXVxuICB0eXBlOiAncmFkaW8nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrID0ge1xuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIFNRTCB0YWJsZSBuYW1lXG4gICAqL1xuICBkYk5hbWU/OiBEQklkZW50aWZpZXJOYW1lXG4gIGZpZWxkczogRmllbGRbXVxuICAvKiogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgbWlncmF0ZSB0byB0aGUgaW50ZXJmYWNlTmFtZSBwcm9wZXJ0eSBpbnN0ZWFkLiAqL1xuICBncmFwaFFMPzoge1xuICAgIHNpbmd1bGFyTmFtZT86IHN0cmluZ1xuICB9XG4gIGltYWdlQWx0VGV4dD86IHN0cmluZ1xuICBpbWFnZVVSTD86IHN0cmluZ1xuICAvKiogQ3VzdG9taXplIGdlbmVyYXRlZCBHcmFwaFFMIGFuZCBUeXBlc2NyaXB0IHNjaGVtYSBuYW1lcy5cbiAgICogVGhlIHNsdWcgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd291bGQgbGlrZSB0byBnZW5lcmF0ZSBhIHRvcCBsZXZlbCB0eXBlIHRvIHNoYXJlIGFtb25nc3QgY29sbGVjdGlvbnMvZmllbGRzLlxuICAgKiAqKk5vdGUqKjogVG9wIGxldmVsIHR5cGVzIGNhbiBjb2xsaWRlLCBlbnN1cmUgdGhleSBhcmUgdW5pcXVlIGFtb25nIGNvbGxlY3Rpb25zLCBhcnJheXMsIGdyb3VwcywgYmxvY2tzLCB0YWJzLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZT86IHN0cmluZ1xuICBsYWJlbHM/OiBMYWJlbHNcbiAgc2x1Zzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJsb2NrRmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIGFkbWluPzogQWRtaW4gJiB7XG4gICAgaW5pdENvbGxhcHNlZD86IGJvb2xlYW4gfCBmYWxzZVxuICAgIC8qKlxuICAgICAqIERpc2FibGUgZHJhZyBhbmQgZHJvcCBzb3J0aW5nXG4gICAgICovXG4gICAgaXNTb3J0YWJsZT86IGJvb2xlYW5cbiAgfVxuICBibG9ja3M6IEJsb2NrW11cbiAgZGVmYXVsdFZhbHVlPzogdW5rbm93blxuICBsYWJlbHM/OiBMYWJlbHNcbiAgbWF4Um93cz86IG51bWJlclxuICBtaW5Sb3dzPzogbnVtYmVyXG4gIHR5cGU6ICdibG9ja3MnXG59XG5cbmV4cG9ydCB0eXBlIFBvaW50RmllbGQgPSBGaWVsZEJhc2UgJiB7XG4gIHR5cGU6ICdwb2ludCdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGQgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IENvbGxhcHNpYmxlRmllbGRcbiAgfCBEYXRlRmllbGRcbiAgfCBFbWFpbEZpZWxkXG4gIHwgR3JvdXBGaWVsZFxuICB8IEpTT05GaWVsZFxuICB8IE51bWJlckZpZWxkXG4gIHwgUG9pbnRGaWVsZFxuICB8IFJhZGlvRmllbGRcbiAgfCBSZWxhdGlvbnNoaXBGaWVsZFxuICB8IFJpY2hUZXh0RmllbGRcbiAgfCBSb3dGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFic0ZpZWxkXG4gIHwgVGV4dEZpZWxkXG4gIHwgVGV4dGFyZWFGaWVsZFxuICB8IFVJRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZEFmZmVjdGluZ0RhdGEgPVxuICB8IEFycmF5RmllbGRcbiAgfCBCbG9ja0ZpZWxkXG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvZGVGaWVsZFxuICB8IERhdGVGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBHcm91cEZpZWxkXG4gIHwgSlNPTkZpZWxkXG4gIHwgTnVtYmVyRmllbGRcbiAgfCBQb2ludEZpZWxkXG4gIHwgUmFkaW9GaWVsZFxuICB8IFJlbGF0aW9uc2hpcEZpZWxkXG4gIHwgUmljaFRleHRGaWVsZFxuICB8IFNlbGVjdEZpZWxkXG4gIHwgVGFiQXNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBOb25QcmVzZW50YXRpb25hbEZpZWxkID1cbiAgfCBBcnJheUZpZWxkXG4gIHwgQmxvY2tGaWVsZFxuICB8IENoZWNrYm94RmllbGRcbiAgfCBDb2RlRmllbGRcbiAgfCBDb2xsYXBzaWJsZUZpZWxkXG4gIHwgRGF0ZUZpZWxkXG4gIHwgRW1haWxGaWVsZFxuICB8IEdyb3VwRmllbGRcbiAgfCBKU09ORmllbGRcbiAgfCBOdW1iZXJGaWVsZFxuICB8IFBvaW50RmllbGRcbiAgfCBSYWRpb0ZpZWxkXG4gIHwgUmVsYXRpb25zaGlwRmllbGRcbiAgfCBSaWNoVGV4dEZpZWxkXG4gIHwgUm93RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFRhYnNGaWVsZFxuICB8IFRleHRGaWVsZFxuICB8IFRleHRhcmVhRmllbGRcbiAgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgdHlwZSBGaWVsZFdpdGhQYXRoID0gRmllbGQgJiB7XG4gIHBhdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRmllbGRXaXRoU3ViRmllbGRzID0gQXJyYXlGaWVsZCB8IENvbGxhcHNpYmxlRmllbGQgfCBHcm91cEZpZWxkIHwgUm93RmllbGRcblxuZXhwb3J0IHR5cGUgRmllbGRQcmVzZW50YXRpb25hbE9ubHkgPSBVSUZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aE1hbnkgPSBSZWxhdGlvbnNoaXBGaWVsZCB8IFNlbGVjdEZpZWxkXG5cbmV4cG9ydCB0eXBlIEZpZWxkV2l0aE1heERlcHRoID0gUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRIYXNTdWJGaWVsZHMoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoU3ViRmllbGRzIHtcbiAgcmV0dXJuIChcbiAgICBmaWVsZC50eXBlID09PSAnZ3JvdXAnIHx8XG4gICAgZmllbGQudHlwZSA9PT0gJ2FycmF5JyB8fFxuICAgIGZpZWxkLnR5cGUgPT09ICdyb3cnIHx8XG4gICAgZmllbGQudHlwZSA9PT0gJ2NvbGxhcHNpYmxlJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzQXJyYXlUeXBlKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEFycmF5RmllbGQge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ2FycmF5J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRJc0Jsb2NrVHlwZShmaWVsZDogRmllbGQpOiBmaWVsZCBpcyBCbG9ja0ZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICdibG9ja3MnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzR3JvdXBUeXBlKGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEdyb3VwRmllbGQge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ2dyb3VwJ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNPYmplY3Qob3B0aW9uOiBPcHRpb24pOiBvcHRpb24gaXMgT3B0aW9uT2JqZWN0IHtcbiAgcmV0dXJuIHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25zQXJlT2JqZWN0cyhvcHRpb25zOiBPcHRpb25bXSk6IG9wdGlvbnMgaXMgT3B0aW9uT2JqZWN0W10ge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiB0eXBlb2Ygb3B0aW9ucz8uWzBdID09PSAnb2JqZWN0J1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uSXNWYWx1ZShvcHRpb246IE9wdGlvbik6IG9wdGlvbiBpcyBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZydcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkU3VwcG9ydHNNYW55KGZpZWxkOiBGaWVsZCk6IGZpZWxkIGlzIEZpZWxkV2l0aE1hbnkge1xuICByZXR1cm4gZmllbGQudHlwZSA9PT0gJ3NlbGVjdCcgfHwgZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSGFzTWF4RGVwdGgoZmllbGQ6IEZpZWxkKTogZmllbGQgaXMgRmllbGRXaXRoTWF4RGVwdGgge1xuICByZXR1cm4gKFxuICAgIChmaWVsZC50eXBlID09PSAndXBsb2FkJyB8fCBmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJykgJiYgdHlwZW9mIGZpZWxkLm1heERlcHRoID09PSAnbnVtYmVyJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGQpOiBmaWVsZCBpcyBVSUZpZWxkIHtcbiAgcmV0dXJuIGZpZWxkLnR5cGUgPT09ICd1aSdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQ6IEZpZWxkIHwgVGFiQXNGaWVsZCk6IGZpZWxkIGlzIEZpZWxkQWZmZWN0aW5nRGF0YSB7XG4gIHJldHVybiAnbmFtZScgaW4gZmllbGQgJiYgIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJIYXNOYW1lKHRhYjogVGFiKTogdGFiIGlzIE5hbWVkVGFiIHtcbiAgcmV0dXJuICduYW1lJyBpbiB0YWJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkSXNMb2NhbGl6ZWQoZmllbGQ6IEZpZWxkIHwgVGFiKTogYm9vbGVhbiB7XG4gIHJldHVybiAnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWRcbn1cblxuZXhwb3J0IHR5cGUgSG9va05hbWUgPVxuICB8ICdhZnRlckNoYW5nZSdcbiAgfCAnYWZ0ZXJSZWFkJ1xuICB8ICdiZWZvcmVDaGFuZ2UnXG4gIHwgJ2JlZm9yZVJlYWQnXG4gIHwgJ2JlZm9yZVZhbGlkYXRlJ1xuIl0sIm5hbWVzIjpbImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZEhhc01heERlcHRoIiwiZmllbGRIYXNTdWJGaWVsZHMiLCJmaWVsZElzQXJyYXlUeXBlIiwiZmllbGRJc0Jsb2NrVHlwZSIsImZpZWxkSXNHcm91cFR5cGUiLCJmaWVsZElzTG9jYWxpemVkIiwiZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSIsImZpZWxkU3VwcG9ydHNNYW55Iiwib3B0aW9uSXNPYmplY3QiLCJvcHRpb25Jc1ZhbHVlIiwib3B0aW9uc0FyZU9iamVjdHMiLCJ0YWJIYXNOYW1lIiwidmFsdWVJc1ZhbHVlV2l0aFJlbGF0aW9uIiwidmFsdWUiLCJmaWVsZCIsInR5cGUiLCJvcHRpb24iLCJvcHRpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwibWF4RGVwdGgiLCJ0YWIiLCJsb2NhbGl6ZWQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBLHVDQUF1Qzs7Ozs7Ozs7Ozs7SUF5d0J2QkEsZ0JBQWdCO2VBQWhCQTs7SUFWQUMsZ0JBQWdCO2VBQWhCQTs7SUFyQ0FDLGlCQUFpQjtlQUFqQkE7O0lBU0FDLGdCQUFnQjtlQUFoQkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7O0lBSUFDLGdCQUFnQjtlQUFoQkE7O0lBc0NBQyxnQkFBZ0I7ZUFBaEJBOztJQVpBQyx5QkFBeUI7ZUFBekJBOztJQVZBQyxpQkFBaUI7ZUFBakJBOztJQVpBQyxjQUFjO2VBQWRBOztJQVFBQyxhQUFhO2VBQWJBOztJQUpBQyxpQkFBaUI7ZUFBakJBOztJQTBCQUMsVUFBVTtlQUFWQTs7SUEzUEFDLHdCQUF3QjtlQUF4QkE7OztBQUFULFNBQVNBLHlCQUF5QkMsS0FBYztJQUNyRCxPQUFPQSxVQUFVLFFBQVEsT0FBT0EsVUFBVSxZQUFZLGdCQUFnQkEsU0FBUyxXQUFXQTtBQUM1RjtBQXNNTyxTQUFTWixrQkFBa0JhLEtBQVk7SUFDNUMsT0FDRUEsTUFBTUMsSUFBSSxLQUFLLFdBQ2ZELE1BQU1DLElBQUksS0FBSyxXQUNmRCxNQUFNQyxJQUFJLEtBQUssU0FDZkQsTUFBTUMsSUFBSSxLQUFLO0FBRW5CO0FBRU8sU0FBU2IsaUJBQWlCWSxLQUFZO0lBQzNDLE9BQU9BLE1BQU1DLElBQUksS0FBSztBQUN4QjtBQUVPLFNBQVNaLGlCQUFpQlcsS0FBWTtJQUMzQyxPQUFPQSxNQUFNQyxJQUFJLEtBQUs7QUFDeEI7QUFFTyxTQUFTWCxpQkFBaUJVLEtBQVk7SUFDM0MsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU1AsZUFBZVEsTUFBYztJQUMzQyxPQUFPLE9BQU9BLFdBQVc7QUFDM0I7QUFFTyxTQUFTTixrQkFBa0JPLE9BQWlCO0lBQ2pELE9BQU9DLE1BQU1DLE9BQU8sQ0FBQ0YsWUFBWSxPQUFPQSxTQUFTLENBQUMsRUFBRSxLQUFLO0FBQzNEO0FBRU8sU0FBU1IsY0FBY08sTUFBYztJQUMxQyxPQUFPLE9BQU9BLFdBQVc7QUFDM0I7QUFFTyxTQUFTVCxrQkFBa0JPLEtBQVk7SUFDNUMsT0FBT0EsTUFBTUMsSUFBSSxLQUFLLFlBQVlELE1BQU1DLElBQUksS0FBSztBQUNuRDtBQUVPLFNBQVNmLGlCQUFpQmMsS0FBWTtJQUMzQyxPQUNFLEFBQUNBLENBQUFBLE1BQU1DLElBQUksS0FBSyxZQUFZRCxNQUFNQyxJQUFJLEtBQUssY0FBYSxLQUFNLE9BQU9ELE1BQU1NLFFBQVEsS0FBSztBQUU1RjtBQUVPLFNBQVNkLDBCQUEwQlEsS0FBeUI7SUFDakUsT0FBT0EsTUFBTUMsSUFBSSxLQUFLO0FBQ3hCO0FBRU8sU0FBU2hCLGlCQUFpQmUsS0FBeUI7SUFDeEQsT0FBTyxVQUFVQSxTQUFTLENBQUNSLDBCQUEwQlE7QUFDdkQ7QUFFTyxTQUFTSCxXQUFXVSxHQUFRO0lBQ2pDLE9BQU8sVUFBVUE7QUFDbkI7QUFFTyxTQUFTaEIsaUJBQWlCUyxLQUFrQjtJQUNqRCxPQUFPLGVBQWVBLFNBQVNBLE1BQU1RLFNBQVM7QUFDaEQifQ==
|
|
@@ -22,4 +22,4 @@ const getValueWithDefault = async ({ defaultValue, locale, user, value })=>{
|
|
|
22
22
|
};
|
|
23
23
|
const _default = getValueWithDefault;
|
|
24
24
|
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvZ2V0RGVmYXVsdFZhbHVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4uL2F1dGgnXG5cbnR5cGUgQXJncyA9IHtcbiAgZGVmYXVsdFZhbHVlOiB1bmtub3duXG4gIGxvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHVzZXI6IFVzZXJcbiAgdmFsdWU/
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvZ2V0RGVmYXVsdFZhbHVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4uL2F1dGgnXG5cbnR5cGUgQXJncyA9IHtcbiAgZGVmYXVsdFZhbHVlOiB1bmtub3duXG4gIGxvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHVzZXI6IFVzZXJcbiAgdmFsdWU/OiB1bmtub3duXG59XG5cbmNvbnN0IGdldFZhbHVlV2l0aERlZmF1bHQgPSBhc3luYyAoe1xuICBkZWZhdWx0VmFsdWUsXG4gIGxvY2FsZSxcbiAgdXNlcixcbiAgdmFsdWUsXG59OiBBcmdzKTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBpZiAoZGVmYXVsdFZhbHVlICYmIHR5cGVvZiBkZWZhdWx0VmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlKHsgbG9jYWxlLCB1c2VyIH0pXG4gIH1cblxuICByZXR1cm4gZGVmYXVsdFZhbHVlXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFZhbHVlV2l0aERlZmF1bHRcbiJdLCJuYW1lcyI6WyJnZXRWYWx1ZVdpdGhEZWZhdWx0IiwiZGVmYXVsdFZhbHVlIiwibG9jYWxlIiwidXNlciIsInZhbHVlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBMEJBOzs7ZUFBQTs7O0FBakJBLE1BQU1BLHNCQUFzQixPQUFPLEVBQ2pDQyxZQUFZLEVBQ1pDLE1BQU0sRUFDTkMsSUFBSSxFQUNKQyxLQUFLLEVBQ0E7SUFDTCxJQUFJLE9BQU9BLFVBQVUsYUFBYTtRQUNoQyxPQUFPQTtJQUNUO0lBRUEsSUFBSUgsZ0JBQWdCLE9BQU9BLGlCQUFpQixZQUFZO1FBQ3RELE9BQU9BLGFBQWE7WUFBRUM7WUFBUUM7UUFBSztJQUNyQztJQUVBLE9BQU9GO0FBQ1Q7TUFFQSxXQUFlRCJ9
|
|
@@ -29,4 +29,4 @@ const afterChange = async ({ collection, context, data, doc: incomingDoc, global
|
|
|
29
29
|
return doc;
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJnczxUPiA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBvcGVyYXRpb246ICdjcmVhdGUnIHwgJ3VwZGF0ZSdcbiAgcHJldmlvdXNEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgVFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5cbmV4cG9ydCBjb25zdCBhZnRlckNoYW5nZSA9IGFzeW5jIDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHtcbiAgY29sbGVjdGlvbixcbiAgY29udGV4dCxcbiAgZGF0YSxcblxuICBkb2M6IGluY29taW5nRG9jLFxuICBnbG9iYWwsXG4gIG9wZXJhdGlvbixcbiAgcHJldmlvdXNEb2MsXG4gIHJlcSxcbn06IEFyZ3M8VD4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgZG9jID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdEb2MpXG5cbiAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgIGNvbGxlY3Rpb24sXG4gICAgY29udGV4dCxcbiAgICBkYXRhLFxuICAgIGRvYyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24/LmZpZWxkcyB8fCBnbG9iYWw/
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCwgUmVxdWVzdENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvZGVlcENvcHlPYmplY3QnXG5pbXBvcnQgeyB0cmF2ZXJzZUZpZWxkcyB9IGZyb20gJy4vdHJhdmVyc2VGaWVsZHMnXG5cbnR5cGUgQXJnczxUPiA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IG51bGxcbiAgY29udGV4dDogUmVxdWVzdENvbnRleHRcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBUXG4gIGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnIHwgbnVsbFxuICBvcGVyYXRpb246ICdjcmVhdGUnIHwgJ3VwZGF0ZSdcbiAgcHJldmlvdXNEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgVFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5cbmV4cG9ydCBjb25zdCBhZnRlckNoYW5nZSA9IGFzeW5jIDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHtcbiAgY29sbGVjdGlvbixcbiAgY29udGV4dCxcbiAgZGF0YSxcblxuICBkb2M6IGluY29taW5nRG9jLFxuICBnbG9iYWwsXG4gIG9wZXJhdGlvbixcbiAgcHJldmlvdXNEb2MsXG4gIHJlcSxcbn06IEFyZ3M8VD4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgZG9jID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdEb2MpXG5cbiAgYXdhaXQgdHJhdmVyc2VGaWVsZHMoe1xuICAgIGNvbGxlY3Rpb24sXG4gICAgY29udGV4dCxcbiAgICBkYXRhLFxuICAgIGRvYyxcbiAgICBmaWVsZHM6IGNvbGxlY3Rpb24/LmZpZWxkcyB8fCBnbG9iYWw/LmZpZWxkcyxcbiAgICBnbG9iYWwsXG4gICAgb3BlcmF0aW9uLFxuICAgIHByZXZpb3VzRG9jLFxuICAgIHByZXZpb3VzU2libGluZ0RvYzogcHJldmlvdXNEb2MsXG4gICAgcmVxLFxuICAgIHNpYmxpbmdEYXRhOiBkYXRhLFxuICAgIHNpYmxpbmdEb2M6IGRvYyxcbiAgfSlcblxuICByZXR1cm4gZG9jXG59XG4iXSwibmFtZXMiOlsiYWZ0ZXJDaGFuZ2UiLCJjb2xsZWN0aW9uIiwiY29udGV4dCIsImRhdGEiLCJkb2MiLCJpbmNvbWluZ0RvYyIsImdsb2JhbCIsIm9wZXJhdGlvbiIsInByZXZpb3VzRG9jIiwicmVxIiwiZGVlcENvcHlPYmplY3QiLCJ0cmF2ZXJzZUZpZWxkcyIsImZpZWxkcyIsInByZXZpb3VzU2libGluZ0RvYyIsInNpYmxpbmdEYXRhIiwic2libGluZ0RvYyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQmFBOzs7ZUFBQUE7OztnQ0Fka0I7Z0NBQ0E7QUFheEIsTUFBTUEsY0FBYyxPQUEwQyxFQUNuRUMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLElBQUksRUFFSkMsS0FBS0MsV0FBVyxFQUNoQkMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLFdBQVcsRUFDWEMsR0FBRyxFQUNLO0lBQ1IsTUFBTUwsTUFBTU0sSUFBQUEsOEJBQWMsRUFBQ0w7SUFFM0IsTUFBTU0sSUFBQUEsOEJBQWMsRUFBQztRQUNuQlY7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQVEsUUFBUVgsWUFBWVcsVUFBVU4sUUFBUU07UUFDdENOO1FBQ0FDO1FBQ0FDO1FBQ0FLLG9CQUFvQkw7UUFDcEJDO1FBQ0FLLGFBQWFYO1FBQ2JZLFlBQVlYO0lBQ2Q7SUFFQSxPQUFPQTtBQUNUIn0=
|