@1money/component-ui 0.0.76 → 0.0.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/ProForm/ProForm.d.ts +1 -1
- package/es/components/ProForm/ProForm.js +2 -3
- package/es/components/ProForm/ProFormDependency.d.ts +2 -1
- package/es/components/ProForm/ProFormDependency.js +1 -1
- package/es/components/ProForm/ProFormItem.d.ts +7 -2
- package/es/components/ProForm/ProFormItem.js +1 -1
- package/es/components/ProForm/ProFormList.d.ts +6 -1
- package/es/components/ProForm/ProFormList.js +13 -5
- package/es/components/ProForm/SchemaForm.d.ts +1 -1
- package/es/components/ProForm/SchemaForm.js +8 -5
- package/es/components/ProForm/context.d.ts +8 -7
- package/es/components/ProForm/context.js +1 -1
- package/es/components/ProForm/core/constants.d.ts +1 -1
- package/es/components/ProForm/core/constants.js +2 -2
- package/es/components/ProForm/core/formStore.d.ts +4 -4
- package/es/components/ProForm/core/formStore.js +1 -1
- package/es/components/ProForm/core/hooks/useForm.d.ts +1 -1
- package/es/components/ProForm/core/hooks/useForm.js +34 -9
- package/es/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
- package/es/components/ProForm/core/hooks/useFormCore.js +17 -123
- package/es/components/ProForm/core/interface.d.ts +70 -91
- package/es/components/ProForm/core/namePathType.d.ts +25 -0
- package/es/components/ProForm/core/namePathType.js +2 -0
- package/es/components/ProForm/core/pathUtils.d.ts +5 -3
- package/es/components/ProForm/core/pathUtils.js +19 -1
- package/es/components/ProForm/core/runRules.d.ts +8 -17
- package/es/components/ProForm/core/runRules.js +22 -129
- package/es/components/ProForm/core/useFormItem.d.ts +1 -1
- package/es/components/ProForm/core/useFormItem.js +14 -66
- package/es/components/ProForm/core/validationError.d.ts +2 -2
- package/es/components/ProForm/core/validationError.js +1 -1
- package/es/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
- package/es/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/es/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
- package/es/components/ProForm/fields/ProFormFieldSet.js +5 -7
- package/es/components/ProForm/fields/ProFormPassword.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormRadioGroup.js +1 -1
- package/es/components/ProForm/fields/ProFormSelect.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormSelect.js +1 -1
- package/es/components/ProForm/fields/ProFormSlider.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormText.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormUpload.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormUpload.js +1 -1
- package/es/components/ProForm/fields/createProFormField.d.ts +8 -2
- package/es/components/ProForm/fields/createProFormField.js +3 -3
- package/es/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
- package/es/components/ProForm/hooks/useFieldRequest.js +1 -1
- package/es/components/ProForm/hooks/useUrlSync.d.ts +8 -7
- package/es/components/ProForm/hooks/useUrlSync.js +1 -1
- package/es/components/ProForm/index.d.ts +35 -26
- package/es/components/ProForm/index.js +1 -1
- package/es/components/ProForm/interface.d.ts +96 -91
- package/es/components/ProForm/layouts/DialogForm.d.ts +1 -1
- package/es/components/ProForm/layouts/DialogForm.js +1 -1
- package/es/components/ProForm/layouts/DrawerForm.d.ts +1 -1
- package/es/components/ProForm/layouts/DrawerForm.js +1 -1
- package/es/components/ProForm/layouts/QueryFilter.d.ts +1 -1
- package/es/components/ProForm/layouts/QueryFilter.js +1 -1
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/es/components/ProForm/layouts/useOverlayForm.js +1 -1
- package/es/components/ProForm/utils.d.ts +8 -8
- package/es/components/ProForm/utils.js +1 -1
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/components/ProForm/ProForm.d.ts +1 -1
- package/lib/components/ProForm/ProForm.js +2 -3
- package/lib/components/ProForm/ProFormDependency.d.ts +2 -1
- package/lib/components/ProForm/ProFormDependency.js +1 -1
- package/lib/components/ProForm/ProFormItem.d.ts +7 -2
- package/lib/components/ProForm/ProFormItem.js +1 -1
- package/lib/components/ProForm/ProFormList.d.ts +6 -1
- package/lib/components/ProForm/ProFormList.js +13 -5
- package/lib/components/ProForm/SchemaForm.d.ts +1 -1
- package/lib/components/ProForm/SchemaForm.js +8 -5
- package/lib/components/ProForm/context.d.ts +8 -7
- package/lib/components/ProForm/context.js +1 -1
- package/lib/components/ProForm/core/constants.d.ts +1 -1
- package/lib/components/ProForm/core/constants.js +2 -2
- package/lib/components/ProForm/core/formStore.d.ts +4 -4
- package/lib/components/ProForm/core/formStore.js +1 -1
- package/lib/components/ProForm/core/hooks/useForm.d.ts +1 -1
- package/lib/components/ProForm/core/hooks/useForm.js +34 -9
- package/lib/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
- package/lib/components/ProForm/core/hooks/useFormCore.js +16 -122
- package/lib/components/ProForm/core/interface.d.ts +70 -91
- package/lib/components/ProForm/core/namePathType.d.ts +25 -0
- package/lib/components/ProForm/core/namePathType.js +6 -0
- package/lib/components/ProForm/core/pathUtils.d.ts +5 -3
- package/lib/components/ProForm/core/pathUtils.js +20 -1
- package/lib/components/ProForm/core/runRules.d.ts +8 -17
- package/lib/components/ProForm/core/runRules.js +22 -130
- package/lib/components/ProForm/core/useFormItem.d.ts +1 -1
- package/lib/components/ProForm/core/useFormItem.js +17 -69
- package/lib/components/ProForm/core/validationError.d.ts +2 -2
- package/lib/components/ProForm/core/validationError.js +1 -1
- package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
- package/lib/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/lib/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
- package/lib/components/ProForm/fields/ProFormFieldSet.js +5 -7
- package/lib/components/ProForm/fields/ProFormPassword.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormRadioGroup.js +1 -1
- package/lib/components/ProForm/fields/ProFormSelect.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormSelect.js +1 -1
- package/lib/components/ProForm/fields/ProFormSlider.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormText.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormUpload.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
- package/lib/components/ProForm/fields/createProFormField.d.ts +8 -2
- package/lib/components/ProForm/fields/createProFormField.js +3 -3
- package/lib/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
- package/lib/components/ProForm/hooks/useFieldRequest.js +1 -1
- package/lib/components/ProForm/hooks/useUrlSync.d.ts +8 -7
- package/lib/components/ProForm/hooks/useUrlSync.js +1 -1
- package/lib/components/ProForm/index.d.ts +35 -26
- package/lib/components/ProForm/index.js +1 -1
- package/lib/components/ProForm/interface.d.ts +96 -91
- package/lib/components/ProForm/layouts/DialogForm.d.ts +1 -1
- package/lib/components/ProForm/layouts/DialogForm.js +1 -1
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +1 -1
- package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +1 -1
- package/lib/components/ProForm/layouts/QueryFilter.js +1 -1
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
- package/lib/components/ProForm/utils.d.ts +8 -8
- package/lib/components/ProForm/utils.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +53 -17
- package/scripts/mcp-server/index.generated.json +1734 -160
package/es/index.d.ts
CHANGED
|
@@ -91,4 +91,4 @@ export type { TourProps, TourStep } from './components/Tour';
|
|
|
91
91
|
export type { TooltipProps, TooltipPlacement } from './components/Tooltip';
|
|
92
92
|
export type { TriggerProps, TriggerAction, TriggerContent, TriggerContentContext, TriggerRole, } from './components/Trigger';
|
|
93
93
|
export type { UploadProps, UploadFileBarProps, } from './components/Upload';
|
|
94
|
-
export type { ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormMode, ProFormColProps, ProFormValueType, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormRequestOption, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DialogFormProps, DrawerFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaValueType, SchemaFormProps, UseFormWatch, } from './components/ProForm';
|
|
94
|
+
export type { ProFormSyncToUrl, ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormPathValue, ProFormFieldValueMap, ProFormRecursivePartial, ProFormValuesPatch, ProFormMode, ProFormColProps, ProFormValueType, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormFieldOptionValue, ProFormRequestOption, FormListContextValue, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DialogFormProps, DrawerFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaColumns, ProFormSchemaValueType, SchemaFormProps, UseFormWatch, } from './components/ProForm';
|
package/es/index.js
CHANGED
|
@@ -45,4 +45,4 @@ export { Tooltip } from './components/Tooltip';
|
|
|
45
45
|
export { Trigger } from './components/Trigger';
|
|
46
46
|
export { Upload, UploadFileBar } from './components/Upload';
|
|
47
47
|
export { usePagination } from './components/Pagination';
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbIkFjY29yZGlvbiIsIkFsZXJ0IiwiQnV0dG9uIiwiQ2FsZW5kYXIiLCJDZWxsIiwiQ2Fyb3VzZWwiLCJDaGVja2JveCIsIkNoZWNrYm94R3JvdXAiLCJDb2FjaE1hcmsiLCJDb3B5IiwiQ2xpcGJvYXJkIiwiRGl2aWRlciIsIkVtcHR5IiwiRmxleCIsIkdyaWQiLCJSb3ciLCJDb2wiLCJJY29ucyIsIkljb25XcmFwcGVyIiwiSWNvbkhvdmVyIiwiSW5wdXQiLCJEcmF3ZXIiLCJEcm9wZG93biIsIkxpbmsiLCJEaWFsb2ciLCJOYXZpZ2F0aW9uIiwiTmF2IiwiTmF2aWdhdGlvblN0ZXBwZXIiLCJub3RpZmljYXRpb24iLCJQb3J0YWwiLCJQcm9Gb3JtIiwiUHJvRm9ybUl0ZW0iLCJQcm9Gb3JtRGVwZW5kZW5jeSIsIlByb0Zvcm1MaXN0IiwiUHJvRm9ybUdyb3VwIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiUHJvRm9ybVRleHQiLCJQcm9Gb3JtUGFzc3dvcmQiLCJQcm9Gb3JtVGV4dEFyZWEiLCJQcm9Gb3JtQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlByb0Zvcm1Td2l0Y2giLCJQcm9Gb3JtU2VsZWN0IiwiUHJvRm9ybVJhZGlvR3JvdXAiLCJQcm9Gb3JtU2xpZGVyIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJQcm9Gb3JtVXBsb2FkIiwiUHJvRm9ybUZpZWxkU2V0IiwiU2NoZW1hRm9ybSIsIkRpYWxvZ0Zvcm0iLCJEcmF3ZXJGb3JtIiwiUXVlcnlGaWx0ZXIiLCJ1c2VGb3JtV2F0Y2giLCJQYWdpbmF0aW9uIiwiUG9wY29uZmlybSIsIlByb2dyZXNzIiwiUmFkaW8iLCJSYWRpb0dyb3VwIiwiU2VsZWN0IiwiU2VnbWVudCIsIlNrZWxldG9uIiwiU2xpZGVyIiwiU3BhY2UiLCJTcGlubmVyIiwiU3RlcCIsIlN3aXRjaCIsIlRhYmxlIiwiVmlydHVhbFRhYmxlIiwiU3VtbWFyeSIsIlByb1RhYmxlIiwiVmlydHVhbExpc3QiLCJSZXNpemVPYnNlcnZlciIsInVzZVJlc2l6ZU9ic2VydmVyIiwiVGFicyIsIlRhZyIsIlRvdXIiLCJUeXBvZ3JhcGh5IiwiVG9vbHRpcCIsIlRyaWdnZXIiLCJVcGxvYWQiLCJVcGxvYWRGaWxlQmFyIiwidXNlUGFnaW5hdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBUyxRQUFRLHdCQUF3QjtBQUNsRCxTQUFTQyxLQUFLLFFBQVEsb0JBQW9CO0FBQzFDLFNBQVNDLE1BQU0sUUFBUSxxQkFBcUI7QUFDNUMsU0FBU0MsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxJQUFJLFFBQVEsbUJBQW1CO0FBQ3hDLFNBQVNDLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsUUFBUSxFQUFFQyxhQUFhLFFBQVEsdUJBQXVCO0FBQy9ELFNBQVNDLFNBQVMsUUFBUSx3QkFBd0I7QUFDbEQsU0FBU0MsSUFBSSxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQ25ELFNBQVNDLE9BQU8sUUFBUSxzQkFBc0I7QUFDOUMsU0FBU0MsS0FBSyxRQUFRLG9CQUFvQjtBQUMxQyxTQUFTQyxJQUFJLFFBQVEsbUJBQW1CO0FBQ3hDLFNBQVNDLElBQUksRUFBRUMsR0FBRyxFQUFFQyxHQUFHLFFBQVEsbUJBQW1CO0FBQ2xELFNBQVNDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxTQUFTLFFBQVEsb0JBQW9CO0FBQ2xFLFNBQVNDLEtBQUssUUFBUSxvQkFBb0I7QUFDMUMsU0FBU0MsTUFBTSxRQUFRLHFCQUFxQjtBQUM1QyxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLElBQUksUUFBUSxtQkFBbUI7QUFDeEMsU0FBU0MsTUFBTSxRQUFRLHFCQUFxQjtBQUM1QyxTQUFTQyxVQUFVLEVBQUVDLEdBQUcsRUFBRUMsaUJBQWlCLFFBQVEseUJBQXlCO0FBQzVFLFNBQVNDLFlBQVksUUFBUSwyQkFBMkI7QUFDeEQsU0FDRUMsTUFBTSxRQUNELHFCQUFxQjtBQUM1QixTQUNFQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWEMsaUJBQWlCLEVBQ2pCQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxXQUFXLEVBQ1hDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxlQUFlLEVBQ2ZDLG9CQUFvQixFQUNwQkMsYUFBYSxFQUNiQyxhQUFhLEVBQ2JDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsZUFBZSxFQUNmQyxVQUFVLEVBQ1ZDLFVBQVUsRUFDVkMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFlBQVksUUFDUCxzQkFBc0I7QUFDN0IsU0FBU0MsVUFBVSxRQUFRLHlCQUF5QjtBQUNwRCxTQUFTQyxVQUFVLFFBQVEseUJBQXlCO0FBQ3BELFNBQVNDLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsS0FBSyxFQUFFQyxVQUFVLFFBQVEsb0JBQW9CO0FBQ3RELFNBQVNDLE1BQU0sUUFBUSxxQkFBcUI7QUFDNUMsU0FBU0MsT0FBTyxRQUFRLHNCQUFzQjtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLE1BQU0sUUFBUSxxQkFBcUI7QUFDNUMsU0FBU0MsS0FBSyxRQUFRLG9CQUFvQjtBQUMxQyxTQUFTQyxPQUFPLFFBQVEsc0JBQXNCO0FBQzlDLFNBQVNDLElBQUksUUFBUSxtQkFBbUI7QUFDeEMsU0FBU0MsTUFBTSxRQUFRLHFCQUFxQjtBQUM1QyxTQUFTQyxLQUFLLEVBQUVDLFlBQVksRUFBRUMsT0FBTyxRQUFRLG9CQUFvQjtBQUNqRSxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLFdBQVcsUUFBUSwwQkFBMEI7QUFDdEQsU0FBU0MsY0FBYyxFQUFFQyxpQkFBaUIsUUFBUSw2QkFBNkI7QUFDL0UsU0FBU0MsSUFBSSxRQUFRLG1CQUFtQjtBQUN4QyxTQUFTQyxHQUFHLFFBQVEsa0JBQWtCO0FBQ3RDLFNBQVNDLElBQUksUUFBUSxtQkFBbUI7QUFDeEMsU0FBU0MsVUFBVSxRQUFRLHlCQUF5QjtBQUNwRCxTQUFTQyxPQUFPLFFBQVEsc0JBQXNCO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSxzQkFBc0I7QUFDOUMsU0FBU0MsTUFBTSxFQUFFQyxhQUFhLFFBQVEscUJBQXFCO0FBQzNELFNBQVNDLGFBQWEsUUFBUSx5QkFBeUIiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBY2NvcmRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvQWNjb3JkaW9uJztcbmV4cG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9jb21wb25lbnRzL0FsZXJ0JztcbmV4cG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4vY29tcG9uZW50cy9CdXR0b24nO1xuZXhwb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuZXhwb3J0IHsgQ2VsbCB9IGZyb20gJy4vY29tcG9uZW50cy9DZWxsJztcbmV4cG9ydCB7IENhcm91c2VsIH0gZnJvbSAnLi9jb21wb25lbnRzL0Nhcm91c2VsJztcbmV4cG9ydCB7IENoZWNrYm94LCBDaGVja2JveEdyb3VwIH0gZnJvbSAnLi9jb21wb25lbnRzL0NoZWNrYm94JztcbmV4cG9ydCB7IENvYWNoTWFyayB9IGZyb20gJy4vY29tcG9uZW50cy9Db2FjaE1hcmsnO1xuZXhwb3J0IHsgQ29weSwgQ2xpcGJvYXJkIH0gZnJvbSAnLi9jb21wb25lbnRzL0NvcHknO1xuZXhwb3J0IHsgRGl2aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9EaXZpZGVyJztcbmV4cG9ydCB7IEVtcHR5IH0gZnJvbSAnLi9jb21wb25lbnRzL0VtcHR5JztcbmV4cG9ydCB7IEZsZXggfSBmcm9tICcuL2NvbXBvbmVudHMvRmxleCc7XG5leHBvcnQgeyBHcmlkLCBSb3csIENvbCB9IGZyb20gJy4vY29tcG9uZW50cy9HcmlkJztcbmV4cG9ydCB7IEljb25zLCBJY29uV3JhcHBlciwgSWNvbkhvdmVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0ljb25zJztcbmV4cG9ydCB7IElucHV0IH0gZnJvbSAnLi9jb21wb25lbnRzL0lucHV0JztcbmV4cG9ydCB7IERyYXdlciB9IGZyb20gJy4vY29tcG9uZW50cy9EcmF3ZXInO1xuZXhwb3J0IHsgRHJvcGRvd24gfSBmcm9tICcuL2NvbXBvbmVudHMvRHJvcGRvd24nO1xuZXhwb3J0IHsgTGluayB9IGZyb20gJy4vY29tcG9uZW50cy9MaW5rJztcbmV4cG9ydCB7IERpYWxvZyB9IGZyb20gJy4vY29tcG9uZW50cy9EaWFsb2cnO1xuZXhwb3J0IHsgTmF2aWdhdGlvbiwgTmF2LCBOYXZpZ2F0aW9uU3RlcHBlciB9IGZyb20gJy4vY29tcG9uZW50cy9OYXZpZ2F0aW9uJztcbmV4cG9ydCB7IG5vdGlmaWNhdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9Ob3RpZmljYXRpb24nO1xuZXhwb3J0IHtcbiAgUG9ydGFsLFxufSBmcm9tICcuL2NvbXBvbmVudHMvUG9ydGFsJztcbmV4cG9ydCB7XG4gIFByb0Zvcm0sXG4gIFByb0Zvcm1JdGVtLFxuICBQcm9Gb3JtRGVwZW5kZW5jeSxcbiAgUHJvRm9ybUxpc3QsXG4gIFByb0Zvcm1Hcm91cCxcbiAgY3JlYXRlUHJvRm9ybUZpZWxkLFxuICBQcm9Gb3JtVGV4dCxcbiAgUHJvRm9ybVBhc3N3b3JkLFxuICBQcm9Gb3JtVGV4dEFyZWEsXG4gIFByb0Zvcm1DaGVja2JveCxcbiAgUHJvRm9ybUNoZWNrYm94R3JvdXAsXG4gIFByb0Zvcm1Td2l0Y2gsXG4gIFByb0Zvcm1TZWxlY3QsXG4gIFByb0Zvcm1SYWRpb0dyb3VwLFxuICBQcm9Gb3JtU2xpZGVyLFxuICBQcm9Gb3JtRGF0ZVBpY2tlcixcbiAgUHJvRm9ybVVwbG9hZCxcbiAgUHJvRm9ybUZpZWxkU2V0LFxuICBTY2hlbWFGb3JtLFxuICBEaWFsb2dGb3JtLFxuICBEcmF3ZXJGb3JtLFxuICBRdWVyeUZpbHRlcixcbiAgdXNlRm9ybVdhdGNoLFxufSBmcm9tICcuL2NvbXBvbmVudHMvUHJvRm9ybSc7XG5leHBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1BhZ2luYXRpb24nO1xuZXhwb3J0IHsgUG9wY29uZmlybSB9IGZyb20gJy4vY29tcG9uZW50cy9Qb3Bjb25maXJtJztcbmV4cG9ydCB7IFByb2dyZXNzIH0gZnJvbSAnLi9jb21wb25lbnRzL1Byb2dyZXNzJztcbmV4cG9ydCB7IFJhZGlvLCBSYWRpb0dyb3VwIH0gZnJvbSAnLi9jb21wb25lbnRzL1JhZGlvJztcbmV4cG9ydCB7IFNlbGVjdCB9IGZyb20gJy4vY29tcG9uZW50cy9TZWxlY3QnO1xuZXhwb3J0IHsgU2VnbWVudCB9IGZyb20gJy4vY29tcG9uZW50cy9TZWdtZW50JztcbmV4cG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1NrZWxldG9uJztcbmV4cG9ydCB7IFNsaWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9TbGlkZXInO1xuZXhwb3J0IHsgU3BhY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvU3BhY2UnO1xuZXhwb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9TcGlubmVyJztcbmV4cG9ydCB7IFN0ZXAgfSBmcm9tICcuL2NvbXBvbmVudHMvU3RlcCc7XG5leHBvcnQgeyBTd2l0Y2ggfSBmcm9tICcuL2NvbXBvbmVudHMvU3dpdGNoJztcbmV4cG9ydCB7IFRhYmxlLCBWaXJ0dWFsVGFibGUsIFN1bW1hcnkgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFibGUnO1xuZXhwb3J0IHsgUHJvVGFibGUgfSBmcm9tICcuL2NvbXBvbmVudHMvUHJvVGFibGUnO1xuZXhwb3J0IHsgVmlydHVhbExpc3QgfSBmcm9tICcuL2NvbXBvbmVudHMvVmlydHVhbExpc3QnO1xuZXhwb3J0IHsgUmVzaXplT2JzZXJ2ZXIsIHVzZVJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi9jb21wb25lbnRzL1Jlc2l6ZU9ic2VydmVyJztcbmV4cG9ydCB7IFRhYnMgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFicyc7XG5leHBvcnQgeyBUYWcgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFnJztcbmV4cG9ydCB7IFRvdXIgfSBmcm9tICcuL2NvbXBvbmVudHMvVG91cic7XG5leHBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuZXhwb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4vY29tcG9uZW50cy9Ub29sdGlwJztcbmV4cG9ydCB7IFRyaWdnZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvVHJpZ2dlcic7XG5leHBvcnQgeyBVcGxvYWQsIFVwbG9hZEZpbGVCYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvVXBsb2FkJztcbmV4cG9ydCB7IHVzZVBhZ2luYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvUGFnaW5hdGlvbic7XG5cbmV4cG9ydCB0eXBlIHsgQWNjb3JkaW9uUHJvcHMsIEFjY29yZGlvbkl0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvQWNjb3JkaW9uJztcbmV4cG9ydCB0eXBlIHsgQWxlcnRQcm9wcywgQWxlcnRTdGF0dXMsIEFsZXJ0TGlua0NvbmZpZyB9IGZyb20gJy4vY29tcG9uZW50cy9BbGVydCc7XG5leHBvcnQgdHlwZSB7IEJ1dHRvblByb3BzIH0gZnJvbSAnLi9jb21wb25lbnRzL0J1dHRvbic7XG5leHBvcnQgdHlwZSB7IENhbGVuZGFyUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuZXhwb3J0IHR5cGUgeyBDZWxsUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2VsbCc7XG5leHBvcnQgdHlwZSB7IENhcm91c2VsUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2Fyb3VzZWwnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja2JveENoYW5nZUV2ZW50LFxuICBDaGVja2JveFByb3BzLFxuICBDaGVja2JveFZhbHVlVHlwZSxcbiAgQ2hlY2tib3hHcm91cFByb3BzLFxuICBDaGVja2JveEdyb3VwT3B0aW9uLFxufSBmcm9tICcuL2NvbXBvbmVudHMvQ2hlY2tib3gnO1xuZXhwb3J0IHR5cGUgeyBDb2FjaE1hcmtQcm9wcywgQ29hY2hNYXJrUGxhY2VtZW50LCBDb2FjaE1hcmtTdGVwLCBDb2FjaE1hcmtMYWJlbHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ29hY2hNYXJrJztcbmV4cG9ydCB0eXBlIHsgQ29weVByb3BzLCBDbGlwYm9hcmRQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9Db3B5JztcbmV4cG9ydCB0eXBlIHsgRGl2aWRlclByb3BzLCBEaXZpZGVyVHlwZSwgRGl2aWRlck9yaWVudGF0aW9uLCBEaXZpZGVyVmFyaWFudCB9IGZyb20gJy4vY29tcG9uZW50cy9EaXZpZGVyJztcbmV4cG9ydCB0eXBlIHsgRW1wdHlQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9FbXB0eSc7XG5leHBvcnQgdHlwZSB7IEZsZXhQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9GbGV4Jztcbi8vIEZvcm0tcmVsYXRlZCB0eXBlcyAoZm9ybWVybHkgZnJvbSAuL2NvbXBvbmVudHMvRm9ybSkgYXJlIG5vdyBleHBvc2VkIHZpYSBQcm9Gb3JtXG5leHBvcnQgdHlwZSB7XG4gIEZvcm1JbnN0YW5jZSxcbiAgRm9ybUNvcmVJbnN0YW5jZSxcbiAgRm9ybUxheW91dCxcbiAgRm9ybVNpemUsXG4gIExhYmVsQWxpZ24sXG4gIFZhbGlkYXRlU3RhdHVzLFxuICBWYWxpZGF0ZVRyaWdnZXIsXG4gIFJ1bGUsXG59IGZyb20gJy4vY29tcG9uZW50cy9Qcm9Gb3JtJztcbmV4cG9ydCB0eXBlIHsgR3JpZFJvd1Byb3BzLCBHcmlkQ29sUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvR3JpZCc7XG5leHBvcnQgdHlwZSB7XG4gIEljb25OYW1lLFxuICBJY29uQ29sb3IsXG4gIEljb25zUHJvcHMsXG4gIEljb25XcmFwcGVyUHJvcHMsXG4gIEljb25Ib3ZlclByb3BzLFxuICBTb3J0SWNvblN0YXR1cyxcbn0gZnJvbSAnLi9jb21wb25lbnRzL0ljb25zJztcbmV4cG9ydCB0eXBlIHtcbiAgSW5wdXRQcm9wcyxcbiAgSW5wdXRQYXNzd29yZFByb3BzLFxuICBJbnB1dFNlYXJjaFByb3BzLFxuICBJbnB1dFRleHRBcmVhUHJvcHMsXG4gIElucHV0T1RQUHJvcHMsXG4gIElucHV0VHJhZGVQcm9wcyxcbiAgSW5wdXRBbW91bnRQcm9wcyxcbiAgSW5wdXRTaXplLFxuICBJbnB1dFN0YXR1cyxcbn0gZnJvbSAnLi9jb21wb25lbnRzL0lucHV0JztcbmV4cG9ydCB0eXBlIHsgRHJhd2VyUHJvcHMsIERyYXdlclBsYWNlbWVudCB9IGZyb20gJy4vY29tcG9uZW50cy9EcmF3ZXInO1xuZXhwb3J0IHR5cGUge1xuICBEcm9wZG93blByb3BzLFxuICBEcm9wZG93bkNvbnRlbnQsXG4gIERyb3Bkb3duQ29udGVudENvbnRleHQsXG4gIERyb3Bkb3duVHJpZ2dlcixcbn0gZnJvbSAnLi9jb21wb25lbnRzL0Ryb3Bkb3duJztcbmV4cG9ydCB0eXBlIHsgTGlua1Byb3BzLCBMaW5rQ29sb3IsIExpbmtTaXplIH0gZnJvbSAnLi9jb21wb25lbnRzL0xpbmsnO1xuZXhwb3J0IHR5cGUgeyBEaWFsb2dQcm9wcywgRGlhbG9nU2l6ZSwgRGlhbG9nRm9vdGVyUmVuZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0RpYWxvZyc7XG5leHBvcnQgdHlwZSB7XG4gIE5hdmlnYXRpb25Qcm9wcyxcbiAgTmF2aWdhdGlvbkl0ZW0sXG4gIE5hdmlnYXRpb25IYW5kbGVycyxcbiAgTmF2UHJvcHMsXG4gIE5hdkl0ZW0sXG4gIE5hdmlnYXRpb25TdGVwcGVyUHJvcHMsXG4gIE5hdmlnYXRpb25TdGVwcGVyU3RlcCxcbiAgTmF2aWdhdGlvblN0ZXBwZXJTdGVwU3RhdHVzLFxufSBmcm9tICcuL2NvbXBvbmVudHMvTmF2aWdhdGlvbic7XG5leHBvcnQgdHlwZSB7XG4gIE5vdGlmaWNhdGlvbkxpbmtDb25maWcsXG4gIE5vdGlmaWNhdGlvblN0YXR1cyxcbiAgTm90aWZpY2F0aW9uUGxhY2VtZW50LFxuICBOb3RpZmljYXRpb25LZXksXG4gIE5vdGlmaWNhdGlvbk9wZW5Db25maWcsXG4gIE5vdGlmaWNhdGlvblN0YXRpY0NvbmZpZyxcbiAgTm90aWZpY2F0aW9uU3RhdGljQXBpLFxufSBmcm9tICcuL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uJztcbmV4cG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMsIFBvcnRhbENvbnRhaW5lciB9IGZyb20gJy4vY29tcG9uZW50cy9Qb3J0YWwnO1xuZXhwb3J0IHR5cGUge1xuICBQYWdpbmF0aW9uUHJvcHMsXG4gIFBhZ2luYXRpb25JdGVtLFxuICBQYWdpbmF0aW9uUGFnZUl0ZW0sXG4gIFBhZ2luYXRpb25Db250cm9sSXRlbSxcbiAgUGFnaW5hdGlvbkVsbGlwc2lzSXRlbSxcbiAgVXNlUGFnaW5hdGlvbk9wdGlvbnMsXG4gIFVzZVBhZ2luYXRpb25SZXN1bHQsXG59IGZyb20gJy4vY29tcG9uZW50cy9QYWdpbmF0aW9uJztcbmV4cG9ydCB0eXBlIHtcbiAgUHJvZ3Jlc3NQcm9wcyxcbiAgUHJvZ3Jlc3NTdGF0ZSxcbiAgUHJvZ3Jlc3NDb2xvcixcbiAgUHJvZ3Jlc3NQbGFjZW1lbnQsXG4gIFByb2dyZXNzRm9ybWF0Q29udGV4dCxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1Byb2dyZXNzJztcbmV4cG9ydCB0eXBlIHtcbiAgUG9wY29uZmlybVByb3BzLFxuICBQb3Bjb25maXJtUGxhY2VtZW50LFxuICBQb3Bjb25maXJtVHJpZ2dlcixcbiAgUG9wY29uZmlybUFjdGlvbkNvbnRleHQsXG59IGZyb20gJy4vY29tcG9uZW50cy9Qb3Bjb25maXJtJztcbmV4cG9ydCB0eXBlIHtcbiAgUmFkaW9BbGlnbm1lbnQsXG4gIFJhZGlvQ2hhbmdlRXZlbnQsXG4gIFJhZGlvR3JvdXBEaXJlY3Rpb24sXG4gIFJhZGlvR3JvdXBQcm9wcyxcbiAgUmFkaW9PcHRpb25JdGVtLFxuICBSYWRpb1Byb3BzLFxuICBSYWRpb1ZhbHVlVHlwZSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1JhZGlvJztcbmV4cG9ydCB0eXBlIHtcbiAgU2VsZWN0Q3VzdG9tUGFuZWxDb250ZXh0LFxuICBTZWxlY3RDdXN0b21Qcm9wcyxcbiAgU2VsZWN0Q3VzdG9tVHJpZ2dlckNvbnRleHQsXG4gIFNlbGVjdE11bHRpcGxlVmFsdWUsXG4gIFNlbGVjdE9wdGlvbixcbiAgU2VsZWN0T3B0aW9uVmFsdWUsXG4gIFNlbGVjdFByb3BzLFxuICBTZWxlY3RSZW5kZXJPcHRpb25NZXRhLFxuICBTZWxlY3RSZW5kZXJWYWx1ZU1ldGEsXG4gIFNlbGVjdFNpbmdsZVZhbHVlLFxuICBTZWxlY3RTaXplLFxuICBTZWxlY3RTdGF0dXMsXG4gIFNlbGVjdFZhbHVlLFxufSBmcm9tICcuL2NvbXBvbmVudHMvU2VsZWN0JztcbmV4cG9ydCB0eXBlIHsgU2VnbWVudFByb3BzLCBTZWdtZW50SXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9TZWdtZW50JztcbmV4cG9ydCB0eXBlIHsgU2tlbGV0b25Qcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9Ta2VsZXRvbic7XG5leHBvcnQgdHlwZSB7IFNsaWRlclByb3BzIH0gZnJvbSAnLi9jb21wb25lbnRzL1NsaWRlcic7XG5leHBvcnQgdHlwZSB7IFNwYWNlUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvU3BhY2UnO1xuZXhwb3J0IHR5cGUgeyBTcGlubmVyUHJvcHMsIFNwaW5uZXJUeXBlIH0gZnJvbSAnLi9jb21wb25lbnRzL1NwaW5uZXInO1xuZXhwb3J0IHR5cGUgeyBTdGVwUHJvcHMsIFN0ZXBJdGVtLCBTdGVwU3RhdHVzLCBTdGVwVGFnQ29uZmlnIH0gZnJvbSAnLi9jb21wb25lbnRzL1N0ZXAnO1xuZXhwb3J0IHR5cGUgeyBTd2l0Y2hQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9Td2l0Y2gnO1xuZXhwb3J0IHR5cGUge1xuICBUYWJsZVByb3BzLFxuICBWaXJ0dWFsVGFibGVQcm9wcyxcbiAgVGFibGVDb2x1bW4sXG4gIFRhYmxlQ2hhbmdlTWV0YSxcbiAgVGFibGVQYWdpbmF0aW9uQ29uZmlnLFxuICBUYWJsZVJvd1NlbGVjdGlvbixcbiAgVGFibGVFeHBhbmRhYmxlQ29uZmlnLFxuICBUYWJsZUxvYWRpbmdDb25maWcsXG4gIFRhYmxlUmVmLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVGFibGUnO1xuZXhwb3J0IHR5cGUge1xuICBQcm9UYWJsZVByb3BzLFxuICBQcm9Db2x1bW5zLFxuICBQcm9Db2x1bW5UeXBlLFxuICBQcm9UYWJsZVJlcXVlc3QsXG4gIFByb1RhYmxlUmVxdWVzdE9wdGlvbnMsXG4gIFJlcXVlc3REYXRhLFxuICBQYWdlSW5mbyxcbiAgUHJvVGFibGVBY3Rpb25SZWYsXG4gIFByb1RhYmxlUGFnaW5hdGlvbkNvbmZpZyxcbiAgUHJvVGFibGVWYWx1ZVR5cGUsXG4gIFNlYXJjaENvbmZpZyBhcyBQcm9UYWJsZVNlYXJjaENvbmZpZyxcbiAgUHJvVGFibGVTb3J0UGFyYW0sXG4gIFByb1RhYmxlRmlsdGVyUGFyYW0sXG59IGZyb20gJy4vY29tcG9uZW50cy9Qcm9UYWJsZSc7XG5leHBvcnQgdHlwZSB7IFRhYnNQcm9wcywgVGFiSXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9UYWJzJztcbmV4cG9ydCB0eXBlIHsgVGFnUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFnJztcbmV4cG9ydCB0eXBlIHtcbiAgTGlzdFJlZiBhcyBWaXJ0dWFsTGlzdFJlZixcbiAgTGlzdFByb3BzIGFzIFZpcnR1YWxMaXN0UHJvcHMsXG4gIFNjcm9sbEluZm8gYXMgVmlydHVhbExpc3RTY3JvbGxJbmZvLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVmlydHVhbExpc3QnO1xuZXhwb3J0IHR5cGUge1xuICBSZXNpemVPYnNlcnZlclByb3BzLFxuICBTaXplSW5mbyBhcyBSZXNpemVPYnNlcnZlclNpemVJbmZvLFxuICBPblJlc2l6ZSBhcyBSZXNpemVPYnNlcnZlck9uUmVzaXplLFxufSBmcm9tICcuL2NvbXBvbmVudHMvUmVzaXplT2JzZXJ2ZXInO1xuZXhwb3J0IHR5cGUge1xuICBUeXBvZ3JhcGh5Qm9keVByb3BzLFxuICBUeXBvZ3JhcGh5Q29weWFibGVDb25maWcsXG4gIFR5cG9ncmFwaHlCb2R5U2l6ZSxcbiAgVHlwb2dyYXBoeURpc3BsYXlQcm9wcyxcbiAgVHlwb2dyYXBoeURpc3BsYXlTaXplLFxuICBUeXBvZ3JhcGh5RWxsaXBzaXNDb25maWcsXG4gIFR5cG9ncmFwaHlIZWFkbGluZVByb3BzLFxuICBUeXBvZ3JhcGh5SGVhZGxpbmVTaXplLFxuICBUeXBvZ3JhcGh5TGFiZWxQcm9wcyxcbiAgVHlwb2dyYXBoeUxhYmVsU2l6ZSxcbiAgVHlwb2dyYXBoeUxpbmtQcm9wcyxcbiAgVHlwb2dyYXBoeUxpbmtTaXplLFxuICBUeXBvZ3JhcGh5VGl0bGVQcm9wcyxcbiAgVHlwb2dyYXBoeVRpdGxlU2l6ZSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuZXhwb3J0IHR5cGUgeyBUb3VyUHJvcHMsIFRvdXJTdGVwIH0gZnJvbSAnLi9jb21wb25lbnRzL1RvdXInO1xuZXhwb3J0IHR5cGUgeyBUb29sdGlwUHJvcHMsIFRvb2x0aXBQbGFjZW1lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvVG9vbHRpcCc7XG5leHBvcnQgdHlwZSB7XG4gIFRyaWdnZXJQcm9wcyxcbiAgVHJpZ2dlckFjdGlvbixcbiAgVHJpZ2dlckNvbnRlbnQsXG4gIFRyaWdnZXJDb250ZW50Q29udGV4dCxcbiAgVHJpZ2dlclJvbGUsXG59IGZyb20gJy4vY29tcG9uZW50cy9UcmlnZ2VyJztcbmV4cG9ydCB0eXBlIHtcbiAgVXBsb2FkUHJvcHMsXG4gIFVwbG9hZEZpbGVCYXJQcm9wcyxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1VwbG9hZCc7XG5leHBvcnQgdHlwZSB7XG4gIFByb0Zvcm1Qcm9wcyxcbiAgUHJvRm9ybUl0ZW1Qcm9wcyxcbiAgUHJvRm9ybUl0ZW1TaGFyZWRQcm9wcyxcbiAgUHJvRm9ybUxheW91dENvbmZpZyxcbiAgUHJvRm9ybUZpZWxkUHJvcHMsXG4gIFByb0Zvcm1Db250ZXh0VmFsdWUsXG4gIFByb0Zvcm1Gb3JtSW5zdGFuY2UsXG4gIFByb0Zvcm1WYWxpZGF0ZVJlc3VsdCxcbiAgUHJvRm9ybUZpZWxkTmFtZSxcbiAgUHJvRm9ybU1vZGUsXG4gIFByb0Zvcm1Db2xQcm9wcyxcbiAgUHJvRm9ybVZhbHVlVHlwZSxcbiAgUHJvRm9ybUZpZWxkVHJhbnNmb3JtRm4sXG4gIFByb0Zvcm1GaWVsZENvbnZlcnRWYWx1ZUZuLFxuICBQcm9Gb3JtRGF0ZUZvcm1hdHRlcixcbiAgUHJvRm9ybVZhbHVlRW51bU9iaixcbiAgUHJvRm9ybVJlcXVlc3RPcHRpb24sXG4gIFByb0Zvcm1GaWVsZFNldFByb3BzLFxuICBQcm9Gb3JtR3JvdXBQcm9wcyxcbiAgU3VibWl0dGVyUHJvcHMsXG4gIFByb0Zvcm1EZXBlbmRlbmN5UHJvcHMsXG4gIFByb0Zvcm1MaXN0UHJvcHMsXG4gIFByb0Zvcm1MaXN0QWN0aW9uLFxuICBEaWFsb2dGb3JtUHJvcHMsXG4gIERyYXdlckZvcm1Qcm9wcyxcbiAgUXVlcnlGaWx0ZXJQcm9wcyxcbiAgQ3JlYXRlUHJvRm9ybUZpZWxkQ29uZmlnLFxuICBQcm9Gb3JtU2NoZW1hQ29sdW1uLFxuICBQcm9Gb3JtU2NoZW1hVmFsdWVUeXBlLFxuICBTY2hlbWFGb3JtUHJvcHMsXG4gIFVzZUZvcm1XYXRjaCxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1Byb0Zvcm0nO1xuIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbIkFjY29yZGlvbiIsIkFsZXJ0IiwiQnV0dG9uIiwiQ2FsZW5kYXIiLCJDZWxsIiwiQ2Fyb3VzZWwiLCJDaGVja2JveCIsIkNoZWNrYm94R3JvdXAiLCJDb2FjaE1hcmsiLCJDb3B5IiwiQ2xpcGJvYXJkIiwiRGl2aWRlciIsIkVtcHR5IiwiRmxleCIsIkdyaWQiLCJSb3ciLCJDb2wiLCJJY29ucyIsIkljb25XcmFwcGVyIiwiSWNvbkhvdmVyIiwiSW5wdXQiLCJEcmF3ZXIiLCJEcm9wZG93biIsIkxpbmsiLCJEaWFsb2ciLCJOYXZpZ2F0aW9uIiwiTmF2IiwiTmF2aWdhdGlvblN0ZXBwZXIiLCJub3RpZmljYXRpb24iLCJQb3J0YWwiLCJQcm9Gb3JtIiwiUHJvRm9ybUl0ZW0iLCJQcm9Gb3JtRGVwZW5kZW5jeSIsIlByb0Zvcm1MaXN0IiwiUHJvRm9ybUdyb3VwIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiUHJvRm9ybVRleHQiLCJQcm9Gb3JtUGFzc3dvcmQiLCJQcm9Gb3JtVGV4dEFyZWEiLCJQcm9Gb3JtQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlByb0Zvcm1Td2l0Y2giLCJQcm9Gb3JtU2VsZWN0IiwiUHJvRm9ybVJhZGlvR3JvdXAiLCJQcm9Gb3JtU2xpZGVyIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJQcm9Gb3JtVXBsb2FkIiwiUHJvRm9ybUZpZWxkU2V0IiwiU2NoZW1hRm9ybSIsIkRpYWxvZ0Zvcm0iLCJEcmF3ZXJGb3JtIiwiUXVlcnlGaWx0ZXIiLCJ1c2VGb3JtV2F0Y2giLCJQYWdpbmF0aW9uIiwiUG9wY29uZmlybSIsIlByb2dyZXNzIiwiUmFkaW8iLCJSYWRpb0dyb3VwIiwiU2VsZWN0IiwiU2VnbWVudCIsIlNrZWxldG9uIiwiU2xpZGVyIiwiU3BhY2UiLCJTcGlubmVyIiwiU3RlcCIsIlN3aXRjaCIsIlRhYmxlIiwiVmlydHVhbFRhYmxlIiwiU3VtbWFyeSIsIlByb1RhYmxlIiwiVmlydHVhbExpc3QiLCJSZXNpemVPYnNlcnZlciIsInVzZVJlc2l6ZU9ic2VydmVyIiwiVGFicyIsIlRhZyIsIlRvdXIiLCJUeXBvZ3JhcGh5IiwiVG9vbHRpcCIsIlRyaWdnZXIiLCJVcGxvYWQiLCJVcGxvYWRGaWxlQmFyIiwidXNlUGFnaW5hdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBUyxRQUFRLHdCQUF3QjtBQUNsRCxTQUFTQyxLQUFLLFFBQVEsb0JBQW9CO0FBQzFDLFNBQVNDLE1BQU0sUUFBUSxxQkFBcUI7QUFDNUMsU0FBU0MsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxJQUFJLFFBQVEsbUJBQW1CO0FBQ3hDLFNBQVNDLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsUUFBUSxFQUFFQyxhQUFhLFFBQVEsdUJBQXVCO0FBQy9ELFNBQVNDLFNBQVMsUUFBUSx3QkFBd0I7QUFDbEQsU0FBU0MsSUFBSSxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQ25ELFNBQVNDLE9BQU8sUUFBUSxzQkFBc0I7QUFDOUMsU0FBU0MsS0FBSyxRQUFRLG9CQUFvQjtBQUMxQyxTQUFTQyxJQUFJLFFBQVEsbUJBQW1CO0FBQ3hDLFNBQVNDLElBQUksRUFBRUMsR0FBRyxFQUFFQyxHQUFHLFFBQVEsbUJBQW1CO0FBQ2xELFNBQVNDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxTQUFTLFFBQVEsb0JBQW9CO0FBQ2xFLFNBQVNDLEtBQUssUUFBUSxvQkFBb0I7QUFDMUMsU0FBU0MsTUFBTSxRQUFRLHFCQUFxQjtBQUM1QyxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLElBQUksUUFBUSxtQkFBbUI7QUFDeEMsU0FBU0MsTUFBTSxRQUFRLHFCQUFxQjtBQUM1QyxTQUFTQyxVQUFVLEVBQUVDLEdBQUcsRUFBRUMsaUJBQWlCLFFBQVEseUJBQXlCO0FBQzVFLFNBQVNDLFlBQVksUUFBUSwyQkFBMkI7QUFDeEQsU0FDRUMsTUFBTSxRQUNELHFCQUFxQjtBQUM1QixTQUNFQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWEMsaUJBQWlCLEVBQ2pCQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxXQUFXLEVBQ1hDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxlQUFlLEVBQ2ZDLG9CQUFvQixFQUNwQkMsYUFBYSxFQUNiQyxhQUFhLEVBQ2JDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsZUFBZSxFQUNmQyxVQUFVLEVBQ1ZDLFVBQVUsRUFDVkMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLFlBQVksUUFDUCxzQkFBc0I7QUFDN0IsU0FBU0MsVUFBVSxRQUFRLHlCQUF5QjtBQUNwRCxTQUFTQyxVQUFVLFFBQVEseUJBQXlCO0FBQ3BELFNBQVNDLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsS0FBSyxFQUFFQyxVQUFVLFFBQVEsb0JBQW9CO0FBQ3RELFNBQVNDLE1BQU0sUUFBUSxxQkFBcUI7QUFDNUMsU0FBU0MsT0FBTyxRQUFRLHNCQUFzQjtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLE1BQU0sUUFBUSxxQkFBcUI7QUFDNUMsU0FBU0MsS0FBSyxRQUFRLG9CQUFvQjtBQUMxQyxTQUFTQyxPQUFPLFFBQVEsc0JBQXNCO0FBQzlDLFNBQVNDLElBQUksUUFBUSxtQkFBbUI7QUFDeEMsU0FBU0MsTUFBTSxRQUFRLHFCQUFxQjtBQUM1QyxTQUFTQyxLQUFLLEVBQUVDLFlBQVksRUFBRUMsT0FBTyxRQUFRLG9CQUFvQjtBQUNqRSxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLFdBQVcsUUFBUSwwQkFBMEI7QUFDdEQsU0FBU0MsY0FBYyxFQUFFQyxpQkFBaUIsUUFBUSw2QkFBNkI7QUFDL0UsU0FBU0MsSUFBSSxRQUFRLG1CQUFtQjtBQUN4QyxTQUFTQyxHQUFHLFFBQVEsa0JBQWtCO0FBQ3RDLFNBQVNDLElBQUksUUFBUSxtQkFBbUI7QUFDeEMsU0FBU0MsVUFBVSxRQUFRLHlCQUF5QjtBQUNwRCxTQUFTQyxPQUFPLFFBQVEsc0JBQXNCO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSxzQkFBc0I7QUFDOUMsU0FBU0MsTUFBTSxFQUFFQyxhQUFhLFFBQVEscUJBQXFCO0FBQzNELFNBQVNDLGFBQWEsUUFBUSx5QkFBeUIiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBY2NvcmRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvQWNjb3JkaW9uJztcbmV4cG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9jb21wb25lbnRzL0FsZXJ0JztcbmV4cG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4vY29tcG9uZW50cy9CdXR0b24nO1xuZXhwb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuZXhwb3J0IHsgQ2VsbCB9IGZyb20gJy4vY29tcG9uZW50cy9DZWxsJztcbmV4cG9ydCB7IENhcm91c2VsIH0gZnJvbSAnLi9jb21wb25lbnRzL0Nhcm91c2VsJztcbmV4cG9ydCB7IENoZWNrYm94LCBDaGVja2JveEdyb3VwIH0gZnJvbSAnLi9jb21wb25lbnRzL0NoZWNrYm94JztcbmV4cG9ydCB7IENvYWNoTWFyayB9IGZyb20gJy4vY29tcG9uZW50cy9Db2FjaE1hcmsnO1xuZXhwb3J0IHsgQ29weSwgQ2xpcGJvYXJkIH0gZnJvbSAnLi9jb21wb25lbnRzL0NvcHknO1xuZXhwb3J0IHsgRGl2aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9EaXZpZGVyJztcbmV4cG9ydCB7IEVtcHR5IH0gZnJvbSAnLi9jb21wb25lbnRzL0VtcHR5JztcbmV4cG9ydCB7IEZsZXggfSBmcm9tICcuL2NvbXBvbmVudHMvRmxleCc7XG5leHBvcnQgeyBHcmlkLCBSb3csIENvbCB9IGZyb20gJy4vY29tcG9uZW50cy9HcmlkJztcbmV4cG9ydCB7IEljb25zLCBJY29uV3JhcHBlciwgSWNvbkhvdmVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0ljb25zJztcbmV4cG9ydCB7IElucHV0IH0gZnJvbSAnLi9jb21wb25lbnRzL0lucHV0JztcbmV4cG9ydCB7IERyYXdlciB9IGZyb20gJy4vY29tcG9uZW50cy9EcmF3ZXInO1xuZXhwb3J0IHsgRHJvcGRvd24gfSBmcm9tICcuL2NvbXBvbmVudHMvRHJvcGRvd24nO1xuZXhwb3J0IHsgTGluayB9IGZyb20gJy4vY29tcG9uZW50cy9MaW5rJztcbmV4cG9ydCB7IERpYWxvZyB9IGZyb20gJy4vY29tcG9uZW50cy9EaWFsb2cnO1xuZXhwb3J0IHsgTmF2aWdhdGlvbiwgTmF2LCBOYXZpZ2F0aW9uU3RlcHBlciB9IGZyb20gJy4vY29tcG9uZW50cy9OYXZpZ2F0aW9uJztcbmV4cG9ydCB7IG5vdGlmaWNhdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9Ob3RpZmljYXRpb24nO1xuZXhwb3J0IHtcbiAgUG9ydGFsLFxufSBmcm9tICcuL2NvbXBvbmVudHMvUG9ydGFsJztcbmV4cG9ydCB7XG4gIFByb0Zvcm0sXG4gIFByb0Zvcm1JdGVtLFxuICBQcm9Gb3JtRGVwZW5kZW5jeSxcbiAgUHJvRm9ybUxpc3QsXG4gIFByb0Zvcm1Hcm91cCxcbiAgY3JlYXRlUHJvRm9ybUZpZWxkLFxuICBQcm9Gb3JtVGV4dCxcbiAgUHJvRm9ybVBhc3N3b3JkLFxuICBQcm9Gb3JtVGV4dEFyZWEsXG4gIFByb0Zvcm1DaGVja2JveCxcbiAgUHJvRm9ybUNoZWNrYm94R3JvdXAsXG4gIFByb0Zvcm1Td2l0Y2gsXG4gIFByb0Zvcm1TZWxlY3QsXG4gIFByb0Zvcm1SYWRpb0dyb3VwLFxuICBQcm9Gb3JtU2xpZGVyLFxuICBQcm9Gb3JtRGF0ZVBpY2tlcixcbiAgUHJvRm9ybVVwbG9hZCxcbiAgUHJvRm9ybUZpZWxkU2V0LFxuICBTY2hlbWFGb3JtLFxuICBEaWFsb2dGb3JtLFxuICBEcmF3ZXJGb3JtLFxuICBRdWVyeUZpbHRlcixcbiAgdXNlRm9ybVdhdGNoLFxufSBmcm9tICcuL2NvbXBvbmVudHMvUHJvRm9ybSc7XG5leHBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1BhZ2luYXRpb24nO1xuZXhwb3J0IHsgUG9wY29uZmlybSB9IGZyb20gJy4vY29tcG9uZW50cy9Qb3Bjb25maXJtJztcbmV4cG9ydCB7IFByb2dyZXNzIH0gZnJvbSAnLi9jb21wb25lbnRzL1Byb2dyZXNzJztcbmV4cG9ydCB7IFJhZGlvLCBSYWRpb0dyb3VwIH0gZnJvbSAnLi9jb21wb25lbnRzL1JhZGlvJztcbmV4cG9ydCB7IFNlbGVjdCB9IGZyb20gJy4vY29tcG9uZW50cy9TZWxlY3QnO1xuZXhwb3J0IHsgU2VnbWVudCB9IGZyb20gJy4vY29tcG9uZW50cy9TZWdtZW50JztcbmV4cG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1NrZWxldG9uJztcbmV4cG9ydCB7IFNsaWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9TbGlkZXInO1xuZXhwb3J0IHsgU3BhY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvU3BhY2UnO1xuZXhwb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9TcGlubmVyJztcbmV4cG9ydCB7IFN0ZXAgfSBmcm9tICcuL2NvbXBvbmVudHMvU3RlcCc7XG5leHBvcnQgeyBTd2l0Y2ggfSBmcm9tICcuL2NvbXBvbmVudHMvU3dpdGNoJztcbmV4cG9ydCB7IFRhYmxlLCBWaXJ0dWFsVGFibGUsIFN1bW1hcnkgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFibGUnO1xuZXhwb3J0IHsgUHJvVGFibGUgfSBmcm9tICcuL2NvbXBvbmVudHMvUHJvVGFibGUnO1xuZXhwb3J0IHsgVmlydHVhbExpc3QgfSBmcm9tICcuL2NvbXBvbmVudHMvVmlydHVhbExpc3QnO1xuZXhwb3J0IHsgUmVzaXplT2JzZXJ2ZXIsIHVzZVJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi9jb21wb25lbnRzL1Jlc2l6ZU9ic2VydmVyJztcbmV4cG9ydCB7IFRhYnMgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFicyc7XG5leHBvcnQgeyBUYWcgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFnJztcbmV4cG9ydCB7IFRvdXIgfSBmcm9tICcuL2NvbXBvbmVudHMvVG91cic7XG5leHBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuZXhwb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4vY29tcG9uZW50cy9Ub29sdGlwJztcbmV4cG9ydCB7IFRyaWdnZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvVHJpZ2dlcic7XG5leHBvcnQgeyBVcGxvYWQsIFVwbG9hZEZpbGVCYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvVXBsb2FkJztcbmV4cG9ydCB7IHVzZVBhZ2luYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvUGFnaW5hdGlvbic7XG5cbmV4cG9ydCB0eXBlIHsgQWNjb3JkaW9uUHJvcHMsIEFjY29yZGlvbkl0ZW0gfSBmcm9tICcuL2NvbXBvbmVudHMvQWNjb3JkaW9uJztcbmV4cG9ydCB0eXBlIHsgQWxlcnRQcm9wcywgQWxlcnRTdGF0dXMsIEFsZXJ0TGlua0NvbmZpZyB9IGZyb20gJy4vY29tcG9uZW50cy9BbGVydCc7XG5leHBvcnQgdHlwZSB7IEJ1dHRvblByb3BzIH0gZnJvbSAnLi9jb21wb25lbnRzL0J1dHRvbic7XG5leHBvcnQgdHlwZSB7IENhbGVuZGFyUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuZXhwb3J0IHR5cGUgeyBDZWxsUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2VsbCc7XG5leHBvcnQgdHlwZSB7IENhcm91c2VsUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2Fyb3VzZWwnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja2JveENoYW5nZUV2ZW50LFxuICBDaGVja2JveFByb3BzLFxuICBDaGVja2JveFZhbHVlVHlwZSxcbiAgQ2hlY2tib3hHcm91cFByb3BzLFxuICBDaGVja2JveEdyb3VwT3B0aW9uLFxufSBmcm9tICcuL2NvbXBvbmVudHMvQ2hlY2tib3gnO1xuZXhwb3J0IHR5cGUgeyBDb2FjaE1hcmtQcm9wcywgQ29hY2hNYXJrUGxhY2VtZW50LCBDb2FjaE1hcmtTdGVwLCBDb2FjaE1hcmtMYWJlbHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQ29hY2hNYXJrJztcbmV4cG9ydCB0eXBlIHsgQ29weVByb3BzLCBDbGlwYm9hcmRQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9Db3B5JztcbmV4cG9ydCB0eXBlIHsgRGl2aWRlclByb3BzLCBEaXZpZGVyVHlwZSwgRGl2aWRlck9yaWVudGF0aW9uLCBEaXZpZGVyVmFyaWFudCB9IGZyb20gJy4vY29tcG9uZW50cy9EaXZpZGVyJztcbmV4cG9ydCB0eXBlIHsgRW1wdHlQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9FbXB0eSc7XG5leHBvcnQgdHlwZSB7IEZsZXhQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9GbGV4Jztcbi8vIEZvcm0tcmVsYXRlZCB0eXBlcyAoZm9ybWVybHkgZnJvbSAuL2NvbXBvbmVudHMvRm9ybSkgYXJlIG5vdyBleHBvc2VkIHZpYSBQcm9Gb3JtXG5leHBvcnQgdHlwZSB7XG4gIEZvcm1JbnN0YW5jZSxcbiAgRm9ybUNvcmVJbnN0YW5jZSxcbiAgRm9ybUxheW91dCxcbiAgRm9ybVNpemUsXG4gIExhYmVsQWxpZ24sXG4gIFZhbGlkYXRlU3RhdHVzLFxuICBWYWxpZGF0ZVRyaWdnZXIsXG4gIFJ1bGUsXG59IGZyb20gJy4vY29tcG9uZW50cy9Qcm9Gb3JtJztcbmV4cG9ydCB0eXBlIHsgR3JpZFJvd1Byb3BzLCBHcmlkQ29sUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvR3JpZCc7XG5leHBvcnQgdHlwZSB7XG4gIEljb25OYW1lLFxuICBJY29uQ29sb3IsXG4gIEljb25zUHJvcHMsXG4gIEljb25XcmFwcGVyUHJvcHMsXG4gIEljb25Ib3ZlclByb3BzLFxuICBTb3J0SWNvblN0YXR1cyxcbn0gZnJvbSAnLi9jb21wb25lbnRzL0ljb25zJztcbmV4cG9ydCB0eXBlIHtcbiAgSW5wdXRQcm9wcyxcbiAgSW5wdXRQYXNzd29yZFByb3BzLFxuICBJbnB1dFNlYXJjaFByb3BzLFxuICBJbnB1dFRleHRBcmVhUHJvcHMsXG4gIElucHV0T1RQUHJvcHMsXG4gIElucHV0VHJhZGVQcm9wcyxcbiAgSW5wdXRBbW91bnRQcm9wcyxcbiAgSW5wdXRTaXplLFxuICBJbnB1dFN0YXR1cyxcbn0gZnJvbSAnLi9jb21wb25lbnRzL0lucHV0JztcbmV4cG9ydCB0eXBlIHsgRHJhd2VyUHJvcHMsIERyYXdlclBsYWNlbWVudCB9IGZyb20gJy4vY29tcG9uZW50cy9EcmF3ZXInO1xuZXhwb3J0IHR5cGUge1xuICBEcm9wZG93blByb3BzLFxuICBEcm9wZG93bkNvbnRlbnQsXG4gIERyb3Bkb3duQ29udGVudENvbnRleHQsXG4gIERyb3Bkb3duVHJpZ2dlcixcbn0gZnJvbSAnLi9jb21wb25lbnRzL0Ryb3Bkb3duJztcbmV4cG9ydCB0eXBlIHsgTGlua1Byb3BzLCBMaW5rQ29sb3IsIExpbmtTaXplIH0gZnJvbSAnLi9jb21wb25lbnRzL0xpbmsnO1xuZXhwb3J0IHR5cGUgeyBEaWFsb2dQcm9wcywgRGlhbG9nU2l6ZSwgRGlhbG9nRm9vdGVyUmVuZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL0RpYWxvZyc7XG5leHBvcnQgdHlwZSB7XG4gIE5hdmlnYXRpb25Qcm9wcyxcbiAgTmF2aWdhdGlvbkl0ZW0sXG4gIE5hdmlnYXRpb25IYW5kbGVycyxcbiAgTmF2UHJvcHMsXG4gIE5hdkl0ZW0sXG4gIE5hdmlnYXRpb25TdGVwcGVyUHJvcHMsXG4gIE5hdmlnYXRpb25TdGVwcGVyU3RlcCxcbiAgTmF2aWdhdGlvblN0ZXBwZXJTdGVwU3RhdHVzLFxufSBmcm9tICcuL2NvbXBvbmVudHMvTmF2aWdhdGlvbic7XG5leHBvcnQgdHlwZSB7XG4gIE5vdGlmaWNhdGlvbkxpbmtDb25maWcsXG4gIE5vdGlmaWNhdGlvblN0YXR1cyxcbiAgTm90aWZpY2F0aW9uUGxhY2VtZW50LFxuICBOb3RpZmljYXRpb25LZXksXG4gIE5vdGlmaWNhdGlvbk9wZW5Db25maWcsXG4gIE5vdGlmaWNhdGlvblN0YXRpY0NvbmZpZyxcbiAgTm90aWZpY2F0aW9uU3RhdGljQXBpLFxufSBmcm9tICcuL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uJztcbmV4cG9ydCB0eXBlIHsgUG9ydGFsUHJvcHMsIFBvcnRhbENvbnRhaW5lciB9IGZyb20gJy4vY29tcG9uZW50cy9Qb3J0YWwnO1xuZXhwb3J0IHR5cGUge1xuICBQYWdpbmF0aW9uUHJvcHMsXG4gIFBhZ2luYXRpb25JdGVtLFxuICBQYWdpbmF0aW9uUGFnZUl0ZW0sXG4gIFBhZ2luYXRpb25Db250cm9sSXRlbSxcbiAgUGFnaW5hdGlvbkVsbGlwc2lzSXRlbSxcbiAgVXNlUGFnaW5hdGlvbk9wdGlvbnMsXG4gIFVzZVBhZ2luYXRpb25SZXN1bHQsXG59IGZyb20gJy4vY29tcG9uZW50cy9QYWdpbmF0aW9uJztcbmV4cG9ydCB0eXBlIHtcbiAgUHJvZ3Jlc3NQcm9wcyxcbiAgUHJvZ3Jlc3NTdGF0ZSxcbiAgUHJvZ3Jlc3NDb2xvcixcbiAgUHJvZ3Jlc3NQbGFjZW1lbnQsXG4gIFByb2dyZXNzRm9ybWF0Q29udGV4dCxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1Byb2dyZXNzJztcbmV4cG9ydCB0eXBlIHtcbiAgUG9wY29uZmlybVByb3BzLFxuICBQb3Bjb25maXJtUGxhY2VtZW50LFxuICBQb3Bjb25maXJtVHJpZ2dlcixcbiAgUG9wY29uZmlybUFjdGlvbkNvbnRleHQsXG59IGZyb20gJy4vY29tcG9uZW50cy9Qb3Bjb25maXJtJztcbmV4cG9ydCB0eXBlIHtcbiAgUmFkaW9BbGlnbm1lbnQsXG4gIFJhZGlvQ2hhbmdlRXZlbnQsXG4gIFJhZGlvR3JvdXBEaXJlY3Rpb24sXG4gIFJhZGlvR3JvdXBQcm9wcyxcbiAgUmFkaW9PcHRpb25JdGVtLFxuICBSYWRpb1Byb3BzLFxuICBSYWRpb1ZhbHVlVHlwZSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1JhZGlvJztcbmV4cG9ydCB0eXBlIHtcbiAgU2VsZWN0Q3VzdG9tUGFuZWxDb250ZXh0LFxuICBTZWxlY3RDdXN0b21Qcm9wcyxcbiAgU2VsZWN0Q3VzdG9tVHJpZ2dlckNvbnRleHQsXG4gIFNlbGVjdE11bHRpcGxlVmFsdWUsXG4gIFNlbGVjdE9wdGlvbixcbiAgU2VsZWN0T3B0aW9uVmFsdWUsXG4gIFNlbGVjdFByb3BzLFxuICBTZWxlY3RSZW5kZXJPcHRpb25NZXRhLFxuICBTZWxlY3RSZW5kZXJWYWx1ZU1ldGEsXG4gIFNlbGVjdFNpbmdsZVZhbHVlLFxuICBTZWxlY3RTaXplLFxuICBTZWxlY3RTdGF0dXMsXG4gIFNlbGVjdFZhbHVlLFxufSBmcm9tICcuL2NvbXBvbmVudHMvU2VsZWN0JztcbmV4cG9ydCB0eXBlIHsgU2VnbWVudFByb3BzLCBTZWdtZW50SXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9TZWdtZW50JztcbmV4cG9ydCB0eXBlIHsgU2tlbGV0b25Qcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9Ta2VsZXRvbic7XG5leHBvcnQgdHlwZSB7IFNsaWRlclByb3BzIH0gZnJvbSAnLi9jb21wb25lbnRzL1NsaWRlcic7XG5leHBvcnQgdHlwZSB7IFNwYWNlUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvU3BhY2UnO1xuZXhwb3J0IHR5cGUgeyBTcGlubmVyUHJvcHMsIFNwaW5uZXJUeXBlIH0gZnJvbSAnLi9jb21wb25lbnRzL1NwaW5uZXInO1xuZXhwb3J0IHR5cGUgeyBTdGVwUHJvcHMsIFN0ZXBJdGVtLCBTdGVwU3RhdHVzLCBTdGVwVGFnQ29uZmlnIH0gZnJvbSAnLi9jb21wb25lbnRzL1N0ZXAnO1xuZXhwb3J0IHR5cGUgeyBTd2l0Y2hQcm9wcyB9IGZyb20gJy4vY29tcG9uZW50cy9Td2l0Y2gnO1xuZXhwb3J0IHR5cGUge1xuICBUYWJsZVByb3BzLFxuICBWaXJ0dWFsVGFibGVQcm9wcyxcbiAgVGFibGVDb2x1bW4sXG4gIFRhYmxlQ2hhbmdlTWV0YSxcbiAgVGFibGVQYWdpbmF0aW9uQ29uZmlnLFxuICBUYWJsZVJvd1NlbGVjdGlvbixcbiAgVGFibGVFeHBhbmRhYmxlQ29uZmlnLFxuICBUYWJsZUxvYWRpbmdDb25maWcsXG4gIFRhYmxlUmVmLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVGFibGUnO1xuZXhwb3J0IHR5cGUge1xuICBQcm9UYWJsZVByb3BzLFxuICBQcm9Db2x1bW5zLFxuICBQcm9Db2x1bW5UeXBlLFxuICBQcm9UYWJsZVJlcXVlc3QsXG4gIFByb1RhYmxlUmVxdWVzdE9wdGlvbnMsXG4gIFJlcXVlc3REYXRhLFxuICBQYWdlSW5mbyxcbiAgUHJvVGFibGVBY3Rpb25SZWYsXG4gIFByb1RhYmxlUGFnaW5hdGlvbkNvbmZpZyxcbiAgUHJvVGFibGVWYWx1ZVR5cGUsXG4gIFNlYXJjaENvbmZpZyBhcyBQcm9UYWJsZVNlYXJjaENvbmZpZyxcbiAgUHJvVGFibGVTb3J0UGFyYW0sXG4gIFByb1RhYmxlRmlsdGVyUGFyYW0sXG59IGZyb20gJy4vY29tcG9uZW50cy9Qcm9UYWJsZSc7XG5leHBvcnQgdHlwZSB7IFRhYnNQcm9wcywgVGFiSXRlbSB9IGZyb20gJy4vY29tcG9uZW50cy9UYWJzJztcbmV4cG9ydCB0eXBlIHsgVGFnUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvVGFnJztcbmV4cG9ydCB0eXBlIHtcbiAgTGlzdFJlZiBhcyBWaXJ0dWFsTGlzdFJlZixcbiAgTGlzdFByb3BzIGFzIFZpcnR1YWxMaXN0UHJvcHMsXG4gIFNjcm9sbEluZm8gYXMgVmlydHVhbExpc3RTY3JvbGxJbmZvLFxufSBmcm9tICcuL2NvbXBvbmVudHMvVmlydHVhbExpc3QnO1xuZXhwb3J0IHR5cGUge1xuICBSZXNpemVPYnNlcnZlclByb3BzLFxuICBTaXplSW5mbyBhcyBSZXNpemVPYnNlcnZlclNpemVJbmZvLFxuICBPblJlc2l6ZSBhcyBSZXNpemVPYnNlcnZlck9uUmVzaXplLFxufSBmcm9tICcuL2NvbXBvbmVudHMvUmVzaXplT2JzZXJ2ZXInO1xuZXhwb3J0IHR5cGUge1xuICBUeXBvZ3JhcGh5Qm9keVByb3BzLFxuICBUeXBvZ3JhcGh5Q29weWFibGVDb25maWcsXG4gIFR5cG9ncmFwaHlCb2R5U2l6ZSxcbiAgVHlwb2dyYXBoeURpc3BsYXlQcm9wcyxcbiAgVHlwb2dyYXBoeURpc3BsYXlTaXplLFxuICBUeXBvZ3JhcGh5RWxsaXBzaXNDb25maWcsXG4gIFR5cG9ncmFwaHlIZWFkbGluZVByb3BzLFxuICBUeXBvZ3JhcGh5SGVhZGxpbmVTaXplLFxuICBUeXBvZ3JhcGh5TGFiZWxQcm9wcyxcbiAgVHlwb2dyYXBoeUxhYmVsU2l6ZSxcbiAgVHlwb2dyYXBoeUxpbmtQcm9wcyxcbiAgVHlwb2dyYXBoeUxpbmtTaXplLFxuICBUeXBvZ3JhcGh5VGl0bGVQcm9wcyxcbiAgVHlwb2dyYXBoeVRpdGxlU2l6ZSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuZXhwb3J0IHR5cGUgeyBUb3VyUHJvcHMsIFRvdXJTdGVwIH0gZnJvbSAnLi9jb21wb25lbnRzL1RvdXInO1xuZXhwb3J0IHR5cGUgeyBUb29sdGlwUHJvcHMsIFRvb2x0aXBQbGFjZW1lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvVG9vbHRpcCc7XG5leHBvcnQgdHlwZSB7XG4gIFRyaWdnZXJQcm9wcyxcbiAgVHJpZ2dlckFjdGlvbixcbiAgVHJpZ2dlckNvbnRlbnQsXG4gIFRyaWdnZXJDb250ZW50Q29udGV4dCxcbiAgVHJpZ2dlclJvbGUsXG59IGZyb20gJy4vY29tcG9uZW50cy9UcmlnZ2VyJztcbmV4cG9ydCB0eXBlIHtcbiAgVXBsb2FkUHJvcHMsXG4gIFVwbG9hZEZpbGVCYXJQcm9wcyxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1VwbG9hZCc7XG5leHBvcnQgdHlwZSB7XG4gIFByb0Zvcm1TeW5jVG9VcmwsXG4gIFByb0Zvcm1Qcm9wcyxcbiAgUHJvRm9ybUl0ZW1Qcm9wcyxcbiAgUHJvRm9ybUl0ZW1TaGFyZWRQcm9wcyxcbiAgUHJvRm9ybUxheW91dENvbmZpZyxcbiAgUHJvRm9ybUZpZWxkUHJvcHMsXG4gIFByb0Zvcm1Db250ZXh0VmFsdWUsXG4gIFByb0Zvcm1TdGFibGVDb250ZXh0VmFsdWUsXG4gIFByb0Zvcm1TdGF0ZUNvbnRleHRWYWx1ZSxcbiAgUHJvRm9ybUZvcm1JbnN0YW5jZSxcbiAgUHJvRm9ybVZhbGlkYXRlUmVzdWx0LFxuICBQcm9Gb3JtRmllbGROYW1lLFxuICBQcm9Gb3JtUGF0aFZhbHVlLFxuICBQcm9Gb3JtRmllbGRWYWx1ZU1hcCxcbiAgUHJvRm9ybVJlY3Vyc2l2ZVBhcnRpYWwsXG4gIFByb0Zvcm1WYWx1ZXNQYXRjaCxcbiAgUHJvRm9ybU1vZGUsXG4gIFByb0Zvcm1Db2xQcm9wcyxcbiAgUHJvRm9ybVZhbHVlVHlwZSxcbiAgUHJvRm9ybUZpZWxkVHJhbnNmb3JtRm4sXG4gIFByb0Zvcm1GaWVsZENvbnZlcnRWYWx1ZUZuLFxuICBQcm9Gb3JtRGF0ZUZvcm1hdHRlcixcbiAgUHJvRm9ybVZhbHVlRW51bU9iaixcbiAgUHJvRm9ybUZpZWxkT3B0aW9uVmFsdWUsXG4gIFByb0Zvcm1SZXF1ZXN0T3B0aW9uLFxuICBGb3JtTGlzdENvbnRleHRWYWx1ZSxcbiAgUHJvRm9ybUZpZWxkU2V0UHJvcHMsXG4gIFByb0Zvcm1Hcm91cFByb3BzLFxuICBTdWJtaXR0ZXJQcm9wcyxcbiAgUHJvRm9ybURlcGVuZGVuY3lQcm9wcyxcbiAgUHJvRm9ybUxpc3RQcm9wcyxcbiAgUHJvRm9ybUxpc3RBY3Rpb24sXG4gIERpYWxvZ0Zvcm1Qcm9wcyxcbiAgRHJhd2VyRm9ybVByb3BzLFxuICBRdWVyeUZpbHRlclByb3BzLFxuICBDcmVhdGVQcm9Gb3JtRmllbGRDb25maWcsXG4gIFByb0Zvcm1TY2hlbWFDb2x1bW4sXG4gIFByb0Zvcm1TY2hlbWFDb2x1bW5zLFxuICBQcm9Gb3JtU2NoZW1hVmFsdWVUeXBlLFxuICBTY2hlbWFGb3JtUHJvcHMsXG4gIFVzZUZvcm1XYXRjaCxcbn0gZnJvbSAnLi9jb21wb25lbnRzL1Byb0Zvcm0nO1xuIl0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -5,7 +5,7 @@ import type { ProFormProps } from './interface';
|
|
|
5
5
|
* re-asserted to keep `<ProForm<MyValues> onFinish={...}>` fully typed.
|
|
6
6
|
*/
|
|
7
7
|
export interface ProFormComponent {
|
|
8
|
-
<Values = Record<string,
|
|
8
|
+
<Values = Record<string, any>, Params = Record<string, any>>(props: ProFormProps<Values, Params>): ReactElement | null;
|
|
9
9
|
displayName?: string;
|
|
10
10
|
}
|
|
11
11
|
export declare const ProForm: ProFormComponent;
|
|
@@ -451,7 +451,6 @@ var ProFormBase = function ProFormBase(props) {
|
|
|
451
451
|
setFieldValue: internals.setFieldValue,
|
|
452
452
|
setFieldError: internals.setFieldError,
|
|
453
453
|
setFieldWarning: internals.setFieldWarning,
|
|
454
|
-
validateField: internals.validateField,
|
|
455
454
|
validateFieldAsync: internals.validateFieldAsync,
|
|
456
455
|
registerField: internals.registerField,
|
|
457
456
|
unregisterField: internals.unregisterField,
|
|
@@ -477,7 +476,7 @@ var ProFormBase = function ProFormBase(props) {
|
|
|
477
476
|
layout: stableLayout,
|
|
478
477
|
formComponentType: formComponentType
|
|
479
478
|
};
|
|
480
|
-
}, [proFormFormInstance, internals.setFieldValue, internals.setFieldError, internals.setFieldWarning, internals.
|
|
479
|
+
}, [proFormFormInstance, internals.setFieldValue, internals.setFieldError, internals.setFieldWarning, internals.validateFieldAsync, internals.registerField, internals.unregisterField, internals.retainField, internals.releaseField, size, labelAlign, disabled, validateTrigger, mode, grid, stableColProps, registerTransform, unregisterTransform, registerValueType, unregisterValueType, stableFieldProps, stableFormItemProps, stableLayout, formComponentType]);
|
|
481
480
|
var WrapperComponent = grid ? _Grid.Row : _react.Fragment;
|
|
482
481
|
var wrapperProps = grid ? Object.assign({}, rowProps) : {};
|
|
483
482
|
// Reset callback chain: the Submitter resets the values first, then the
|
|
@@ -511,4 +510,4 @@ var ProFormBase = function ProFormBase(props) {
|
|
|
511
510
|
ProFormBase.displayName = 'ProForm';
|
|
512
511
|
var ProForm = exports.ProForm = /*#__PURE__*/(0, _react.memo)(ProFormBase);
|
|
513
512
|
var _default = exports["default"] = ProForm;
|
|
514
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm0udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3VzZUxhdGVzdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlU2FmZVN0YXRlNSIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUV2ZW50Q2FsbGJhY2siLCJfY2xhc3NuYW1lcyIsIl9HcmlkIiwiX3VzZUZvcm0yIiwiX2NvbnRleHQ0IiwiX1N1Ym1pdHRlciIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJfZm9ybVN0b3JlIiwiX3VzZVVybFN5bmMyIiwiX3BhdGhVdGlscyIsIl92YWxpZGF0aW9uRXJyb3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiQ1NTX1BSRUZJWCIsImZvcm1DbGFzc2VzIiwiREVGQVVMVF9DT0xfUFJPUFMiLCJzcGFuIiwiUHJvRm9ybUJhc2UiLCJwcm9wcyIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwic3VibWl0dGVyIiwiX3Byb3BzJG1vZGUiLCJtb2RlIiwiX3Byb3BzJGdyaWQiLCJncmlkIiwiY29sUHJvcHMiLCJyb3dQcm9wcyIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsInJlcXVlc3QiLCJwYXJhbXMiLCJpbml0aWFsVmFsdWVzIiwib25GaW5pc2giLCJvbkZpbmlzaEZhaWxlZCIsIm9uVmFsdWVzQ2hhbmdlIiwib25SZXNldCIsIm9uSW5pdCIsIm9uTG9hZGluZ0NoYW5nZSIsInN5bmNUb1VybCIsIl9wcm9wcyRzeW5jVG9VcmxBc0ltcCIsInN5bmNUb1VybEFzSW1wb3J0YW50IiwiZXh0cmFVcmxQYXJhbXMiLCJfcHJvcHMkYXV0b0ZvY3VzRmlyc3QiLCJhdXRvRm9jdXNGaXJzdElucHV0IiwiZm9ybUNvbXBvbmVudFR5cGUiLCJmb3JtUmVmIiwiX3Byb3BzJG9taXROaWwiLCJvbWl0TmlsIiwiX3Byb3BzJGRhdGVGb3JtYXR0ZXIiLCJkYXRlRm9ybWF0dGVyIiwiZmllbGRQcm9wcyIsImZvcm1JdGVtUHJvcHMiLCJsYXlvdXQiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkbGFiZWxBbGlnbiIsImxhYmVsQWxpZ24iLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl9wcm9wcyR2YWxpZGF0ZVRyaWdnZSIsInZhbGlkYXRlVHJpZ2dlciIsIl9wcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJyZXN0IiwiX3VzZVNhZmVTdGF0ZSIsInVzZVNhZmVTdGF0ZSIsIl91c2VTYWZlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVxdWVzdExvYWRpbmciLCJzZXRSZXF1ZXN0TG9hZGluZyIsIl91c2VTYWZlU3RhdGUzIiwiX3VzZVNhZmVTdGF0ZTQiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsInN1Ym1pdHRpbmdSZWYiLCJ1c2VSZWYiLCJpc0xvYWRpbmciLCJ0cmFuc2Zvcm1LZXlSZWYiLCJ2YWx1ZVR5cGVSZWYiLCJyZWdpc3RlclRyYW5zZm9ybSIsInVzZU1lbW9pemVkRm4iLCJuYW1lIiwiZm4iLCJjdXJyZW50IiwidW5yZWdpc3RlclRyYW5zZm9ybSIsInVuZGVmaW5lZCIsInJlZ2lzdGVyVmFsdWVUeXBlIiwidmFsdWVUeXBlIiwidW5yZWdpc3RlclZhbHVlVHlwZSIsIm9uRmluaXNoUmVmIiwidXNlTGF0ZXN0Iiwib25Jbml0UmVmIiwib25Mb2FkaW5nQ2hhbmdlUmVmIiwiYXBwbHlQaXBlbGluZSIsInZhbHVlcyIsImZvcm1hdERhdGVWYWx1ZXMiLCJ0cmFuc2Zvcm1TdWJtaXRWYWx1ZXMiLCJvbWl0TmlsVmFsdWVzIiwiZm9ybWF0VmFsdWVzS2VlcE5pbCIsIl91c2VVcmxTeW5jIiwidXNlVXJsU3luYyIsInVybEluaXRpYWxWYWx1ZXMiLCJvblVybFN5bmNGaW5pc2giLCJvblVybFN5bmNSZXNldCIsIm1lcmdlZEluaXRpYWxWYWx1ZXNSZWYiLCJhc3NpZ24iLCJtZXJnZWRJbml0aWFsVmFsdWVzIiwicmVzZXRFcG9jaFJlZiIsImZpcmVGb3JtUmVzZXQiLCJmaW5hbFZhbHVlcyIsImZvcm1JbnN0YW5jZSIsImdldEZpZWxkc1ZhbHVlIiwiX3VzZUZvcm0iLCJ1c2VGb3JtIiwiaW50ZXJuYWxzIiwic3RvcmUiLCJ3cmFwcGVkSGFuZGxlU3VibWl0IiwidXNlRXZlbnRDYWxsYmFjayIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiX2EiLCJfYiIsIl9jIiwiZXBvY2giLCJ2YWxpZGF0ZWRWYWx1ZXMiLCJwaXBlbGluZWQiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJwcmV2ZW50RGVmYXVsdCIsImFicnVwdCIsInZhbGlkYXRlRmllbGRzIiwic2VudCIsIkZvcm1WYWxpZGF0aW9uRXJyb3IiLCJlcnJvcnMiLCJjb25zb2xlIiwiZXJyb3IiLCJmaW5pc2giLCJzdG9wIiwicHJvRm9ybUZvcm1JbnN0YW5jZSIsInVzZU1lbW8iLCJnZXRGaWVsZHNGb3JtYXRWYWx1ZSIsImdldEZpZWxkRm9ybWF0VmFsdWUiLCJyZXNvbHZlVmFsdWUiLCJnZXRGaWVsZEZvcm1hdFZhbHVlT2JqZWN0IiwiZm9ybWF0dGVkIiwic2V0TmVzdGVkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkc1JldHVybkZvcm1hdFZhbHVlIiwiX2NhbGxlZTIiLCJ2YWxzIiwiX3QyIiwiX2NvbnRleHQyIiwic3VjY2VzcyIsInN1Ym1pdEZvcm0iLCJ1c2VFZmZlY3QiLCJyZXF1ZXN0UmVmIiwiaGFzUmVxdWVzdCIsInNlcmlhbGl6ZWRQYXJhbXMiLCJzdGFibGVTZXJpYWxpemUiLCJpbml0RmlyZWRSZWYiLCJmaXJlSW5pdCIsInN0YWxlIiwiZmV0Y2hEYXRhIiwiX2NhbGxlZTMiLCJyZXF1ZXN0Rm4iLCJkYXRhIiwiX3QzIiwiX2NvbnRleHQzIiwiX3R5cGVvZjIiLCJzZXRGaWVsZHNWYWx1ZSIsImZvcm1FbFJlZiIsImZpcnN0SW5wdXQiLCJxdWVyeVNlbGVjdG9yIiwiZm9jdXMiLCJzdGFibGVGaWVsZFByb3BzIiwidXNlU2hhbGxvd1N0YWJsZSIsInN0YWJsZUZvcm1JdGVtUHJvcHMiLCJzdGFibGVDb2xQcm9wcyIsInN0YWJsZUxheW91dCIsInN0YWJsZVZhbHVlIiwic2V0RmllbGRWYWx1ZSIsInNldEZpZWxkRXJyb3IiLCJzZXRGaWVsZFdhcm5pbmciLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInVucmVnaXN0ZXJGaWVsZCIsInJldGFpbkZpZWxkIiwicmVsZWFzZUZpZWxkIiwiV3JhcHBlckNvbXBvbmVudCIsIlJvdyIsIkZyYWdtZW50Iiwid3JhcHBlclByb3BzIiwiaGFuZGxlU3VibWl0dGVyUmVzZXQiLCJzdWJtaXR0ZXJOb2RlIiwiX2pzeCIsIlN1Ym1pdHRlciIsIlByb0Zvcm1TdGFibGVDb250ZXh0IiwiUHJvdmlkZXIiLCJQcm9Gb3JtU3RhdGVDb250ZXh0IiwiX2pzeHMiLCJyZWYiLCJqb2luQ2xzIiwib25TdWJtaXQiLCJoYW5kbGVSZXNldCIsImRpc3BsYXlOYW1lIiwiUHJvRm9ybSIsImV4cG9ydHMiLCJtZW1vIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ3BCQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxVQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxjQUFBLEdBQUFELHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBTSxjQUFBLEdBQUFGLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBSCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBTix1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsS0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsU0FBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksVUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsVUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsTUFBQSxHQUFBZCxPQUFBO0FBQ0EsSUFBQWUsVUFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLFlBQUEsR0FBQWhCLE9BQUE7QUFDQSxJQUFBaUIsVUFBQSxHQUFBakIsT0FBQTtBQUNBLElBQUFrQixnQkFBQSxHQUFBbEIsT0FBQTtBQUE2RCxTQUFBbUIseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFsQix3QkFBQWtCLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssUUFBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QURoQjdELElBQUlXLFNBQVMsR0FBSSxVQUFRLFNBQUtBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPekIsQ0FBQyxFQUFFO1FBQUU0QixNQUFNLENBQUM1QixDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNnQyxRQUFRQSxDQUFDUCxLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVLLElBQUksQ0FBQ1AsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDRSxLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPekIsQ0FBQyxFQUFFO1FBQUU0QixNQUFNLENBQUM1QixDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzdGLFNBQVM4QixJQUFJQSxDQUFDRyxNQUFNLEVBQUU7TUFBRUEsTUFBTSxDQUFDQyxJQUFJLEdBQUdSLE9BQU8sQ0FBQ08sTUFBTSxDQUFDUixLQUFLLENBQUMsR0FBR0QsS0FBSyxDQUFDUyxNQUFNLENBQUNSLEtBQUssQ0FBQyxDQUFDVSxJQUFJLENBQUNOLFNBQVMsRUFBRUcsUUFBUSxDQUFDO0lBQUU7SUFDN0dGLElBQUksQ0FBQyxDQUFDUCxTQUFTLEdBQUdBLFNBQVMsQ0FBQ2EsS0FBSyxDQUFDaEIsT0FBTyxFQUFFQyxVQUFVLElBQUksRUFBRSxDQUFDLEVBQUVVLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDekUsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUNELElBQUlNLE1BQU0sR0FBSSxVQUFRLFNBQUtBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUV0QyxDQUFDLEVBQUU7RUFDbEQsSUFBSUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSW9DLENBQUMsSUFBSUQsQ0FBQyxFQUFFLElBQUkzQixNQUFNLENBQUM2QixTQUFTLENBQUN6QixjQUFjLENBQUNDLElBQUksQ0FBQ3NCLENBQUMsRUFBRUMsQ0FBQyxDQUFDLElBQUl2QyxDQUFDLENBQUN5QyxPQUFPLENBQUNGLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VwQyxDQUFDLENBQUNvQyxDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLENBQUM7RUFDZixJQUFJRCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU8zQixNQUFNLENBQUMrQixxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSXpCLENBQUMsR0FBRyxDQUFDLEVBQUVzQixDQUFDLEdBQUc1QixNQUFNLENBQUMrQixxQkFBcUIsQ0FBQ0osQ0FBQyxDQUFDLEVBQUVyQixDQUFDLEdBQUdzQixDQUFDLENBQUNJLE1BQU0sRUFBRTFCLENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlqQixDQUFDLENBQUN5QyxPQUFPLENBQUNGLENBQUMsQ0FBQ3RCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUM2QixTQUFTLENBQUNJLG9CQUFvQixDQUFDNUIsSUFBSSxDQUFDc0IsQ0FBQyxFQUFFQyxDQUFDLENBQUN0QixDQUFDLENBQUMsQ0FBQyxFQUMxRWQsQ0FBQyxDQUFDb0MsQ0FBQyxDQUFDdEIsQ0FBQyxDQUFDLENBQUMsR0FBR3FCLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDdEIsQ0FBQyxDQUFDLENBQUM7RUFDekI7RUFDSixPQUFPZCxDQUFDO0FBQ1osQ0FBQztBQ01ELElBQU0wQyxPQUFPLEdBQUcsSUFBQUMsc0JBQVUsRUFBQ0MscUJBQVUsQ0FBQztBQUN0QyxJQUFNQyxXQUFXLEdBQUcsSUFBQUYsc0JBQVUsRUFBQyxNQUFNLENBQUM7QUFFdEMsSUFBTUcsaUJBQWlCLEdBQUc7RUFBRUMsSUFBSSxFQUFFO0FBQUUsQ0FBRTtBQUV0QyxJQUFNQyxXQUFXLEdBQXFCLFNBQWhDQSxXQUFXQSxDQUFzQkMsS0FBSyxFQUFJO0VBQzlDLElBQ0VDLFFBQVEsR0FrQ05ELEtBQUssQ0FsQ1BDLFFBQVE7SUFDUkMsU0FBUyxHQWlDUEYsS0FBSyxDQWpDUEUsU0FBUztJQUNUQyxTQUFTLEdBZ0NQSCxLQUFLLENBaENQRyxTQUFTO0lBQUFDLFdBQUEsR0FnQ1BKLEtBQUssQ0EvQlBLLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxXQUFBLGNBQUcsTUFBTSxHQUFBQSxXQUFBO0lBQUFFLFdBQUEsR0ErQlhOLEtBQUssQ0E5QlBPLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxXQUFBLGNBQUcsS0FBSyxHQUFBQSxXQUFBO0lBQ1pFLFFBQVEsR0E2Qk5SLEtBQUssQ0E3QlBRLFFBQVE7SUFDUkMsUUFBUSxHQTRCTlQsS0FBSyxDQTVCUFMsUUFBUTtJQUFBQyxjQUFBLEdBNEJOVixLQUFLLENBM0JQVyxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLEtBQUssR0FBQUEsY0FBQTtJQUNmRSxPQUFPLEdBMEJMWixLQUFLLENBMUJQWSxPQUFPO0lBQ1BDLE1BQU0sR0F5QkpiLEtBQUssQ0F6QlBhLE1BQU07SUFDTkMsYUFBYSxHQXdCWGQsS0FBSyxDQXhCUGMsYUFBYTtJQUNiQyxRQUFRLEdBdUJOZixLQUFLLENBdkJQZSxRQUFRO0lBQ1JDLGNBQWMsR0FzQlpoQixLQUFLLENBdEJQZ0IsY0FBYztJQUNkQyxjQUFjLEdBcUJaakIsS0FBSyxDQXJCUGlCLGNBQWM7SUFDZEMsT0FBTyxHQW9CTGxCLEtBQUssQ0FwQlBrQixPQUFPO0lBQ1BDLE1BQU0sR0FtQkpuQixLQUFLLENBbkJQbUIsTUFBTTtJQUNOQyxlQUFlLEdBa0JicEIsS0FBSyxDQWxCUG9CLGVBQWU7SUFDZkMsU0FBUyxHQWlCUHJCLEtBQUssQ0FqQlBxQixTQUFTO0lBQUFDLHFCQUFBLEdBaUJQdEIsS0FBSyxDQWhCUHVCLG9CQUFvQjtJQUFwQkEsb0JBQW9CLEdBQUFELHFCQUFBLGNBQUcsS0FBSyxHQUFBQSxxQkFBQTtJQUM1QkUsY0FBYyxHQWVaeEIsS0FBSyxDQWZQd0IsY0FBYztJQUFBQyxxQkFBQSxHQWVaekIsS0FBSyxDQWRQMEIsbUJBQW1CO0lBQW5CQSxtQkFBbUIsR0FBQUQscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBO0lBQzNCRSxpQkFBaUIsR0FhZjNCLEtBQUssQ0FiUDJCLGlCQUFpQjtJQUNqQkMsT0FBTyxHQVlMNUIsS0FBSyxDQVpQNEIsT0FBTztJQUFBQyxjQUFBLEdBWUw3QixLQUFLLENBWFA4QixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLElBQUksR0FBQUEsY0FBQTtJQUFBRSxvQkFBQSxHQVdaL0IsS0FBSyxDQVZQZ0MsYUFBYTtJQUFiQSxhQUFhLEdBQUFELG9CQUFBLGNBQUcsUUFBUSxHQUFBQSxvQkFBQTtJQUN4QkUsVUFBVSxHQVNSakMsS0FBSyxDQVRQaUMsVUFBVTtJQUNWQyxhQUFhLEdBUVhsQyxLQUFLLENBUlBrQyxhQUFhO0lBQ2JDLE1BQU0sR0FPSm5DLEtBQUssQ0FQUG1DLE1BQU07SUFBQUMsV0FBQSxHQU9KcEMsS0FBSyxDQU5QcUMsSUFBSTtJQUFKQSxJQUFJLEdBQUFELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFBQUUsaUJBQUEsR0FNWnRDLEtBQUssQ0FMUHVDLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxpQkFBQSxjQUFHLE1BQU0sR0FBQUEsaUJBQUE7SUFBQUUsZUFBQSxHQUtqQnhDLEtBQUssQ0FKUHlDLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFFLHFCQUFBLEdBSWQxQyxLQUFLLENBSFAyQyxlQUFlO0lBQWZBLGVBQWUsR0FBQUQscUJBQUEsY0FBRyxVQUFVLEdBQUFBLHFCQUFBO0lBQ2pCRSxVQUFVLEdBRW5CNUMsS0FBSyxDQUZQNkMsU0FBUztJQUNOQyxJQUFJLEdBQUE3RCxNQUFBLENBQ0xlLEtBQUssRUFuQ0gsQ0FBQSxVQUFBLEVBQUEsV0FBQSxFQUFBLFdBQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsZUFBQSxFQUFBLFVBQUEsRUFBQSxnQkFBQSxFQUFBLGdCQUFBLEVBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxpQkFBQSxFQUFBLFdBQUEsRUFBQSxzQkFBQSxFQUFBLGdCQUFBLEVBQUEscUJBQUEsRUFBQSxtQkFBQSxFQUFBLFNBQUEsRUFBQSxTQUFBLEVBQUEsZUFBQSxFQUFBLFlBQUEsRUFBQSxlQUFBLEVBQUEsUUFBQSxFQUFBLE1BQUEsRUFBQSxZQUFBLEVBQUEsVUFBQSxFQUFBLGlCQUFBLEVBQUEsV0FBQSxDQW1DTCxDQUFRO0VBRVQsSUFBQStDLGFBQUEsR0FBNEMsSUFBQUMseUJBQVksRUFBQyxLQUFLLENBQUM7SUFBQUMsY0FBQSxPQUFBQyxlQUFBLGFBQUFILGFBQUE7SUFBeERJLGNBQWMsR0FBQUYsY0FBQTtJQUFFRyxpQkFBaUIsR0FBQUgsY0FBQTtFQUN4QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsSUFBQUksY0FBQSxHQUFvQyxJQUFBTCx5QkFBWSxFQUFDLEtBQUssQ0FBQztJQUFBTSxjQUFBLE9BQUFKLGVBQUEsYUFBQUcsY0FBQTtJQUFoREUsVUFBVSxHQUFBRCxjQUFBO0lBQUVFLGFBQWEsR0FBQUYsY0FBQTtFQUNoQyxJQUFNRyxhQUFhLEdBQUcsSUFBQUMsYUFBTSxFQUFDLEtBQUssQ0FBQztFQUNuQyxJQUFNQyxTQUFTLEdBQUdoRCxPQUFPLElBQUl3QyxjQUFjLElBQUlJLFVBQVU7RUFFekQ7RUFDQSxJQUFNSyxlQUFlLEdBQUcsSUFBQUYsYUFBTSxFQUEwQyxDQUFBLENBQUUsQ0FBQztFQUMzRSxJQUFNRyxZQUFZLEdBQUcsSUFBQUgsYUFBTSxFQUFtQyxDQUFBLENBQUUsQ0FBQztFQUVqRSxJQUFNSSxpQkFBaUIsR0FBRyxJQUFBQyx5QkFBYSxFQUFDLFVBQUNDLElBQVksRUFBRUMsRUFBMkIsRUFBSTtJQUNwRkwsZUFBZSxDQUFDTSxPQUFPLENBQUNGLElBQUksQ0FBQyxHQUFHQyxFQUFFO0VBQ3BDLENBQUMsQ0FBQztFQUVGO0VBQ0E7RUFDQTtFQUNBLElBQU1FLG1CQUFtQixHQUFHLElBQUFKLHlCQUFhLEVBQUMsVUFBQ0MsSUFBWSxFQUFFQyxFQUE0QixFQUFJO0lBQ3ZGLElBQUlBLEVBQUUsS0FBS0csU0FBUyxJQUFJUixlQUFlLENBQUNNLE9BQU8sQ0FBQ0YsSUFBSSxDQUFDLEtBQUtDLEVBQUUsRUFBRTtNQUM1RCxPQUFPTCxlQUFlLENBQUNNLE9BQU8sQ0FBQ0YsSUFBSSxDQUFDO0lBQ3RDO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTUssaUJBQWlCLEdBQUcsSUFBQU4seUJBQWEsRUFBQyxVQUFDQyxJQUFZLEVBQUVNLFNBQTJCLEVBQUk7SUFDcEZULFlBQVksQ0FBQ0ssT0FBTyxDQUFDRixJQUFJLENBQUMsR0FBR00sU0FBUztFQUN4QyxDQUFDLENBQUM7RUFFRixJQUFNQyxtQkFBbUIsR0FBRyxJQUFBUix5QkFBYSxFQUFDLFVBQUNDLElBQVksRUFBRU0sU0FBNEIsRUFBSTtJQUN2RixJQUFJQSxTQUFTLEtBQUtGLFNBQVMsSUFBSVAsWUFBWSxDQUFDSyxPQUFPLENBQUNGLElBQUksQ0FBQyxLQUFLTSxTQUFTLEVBQUU7TUFDdkUsT0FBT1QsWUFBWSxDQUFDSyxPQUFPLENBQUNGLElBQUksQ0FBQztJQUNuQztFQUNGLENBQUMsQ0FBQztFQUVGLElBQU1RLFdBQVcsR0FBRyxJQUFBQyxxQkFBUyxFQUFDMUQsUUFBUSxDQUFDO0VBQ3ZDLElBQU0yRCxTQUFTLEdBQUcsSUFBQUQscUJBQVMsRUFBQ3RELE1BQU0sQ0FBQztFQUNuQyxJQUFNd0Qsa0JBQWtCLEdBQUcsSUFBQUYscUJBQVMsRUFBQ3JELGVBQWUsQ0FBQztFQUVyRDtFQUNBLElBQU13RCxhQUFhLEdBQUcsSUFBQWIseUJBQWEsRUFBQyxVQUFDYyxNQUErQixFQUFJO0lBQ3RFLElBQUloRyxNQUFNLEdBQUcsSUFBQWlHLHVCQUFnQixFQUFDRCxNQUFNLEVBQUU3QyxhQUFhLEVBQUU2QixZQUFZLENBQUNLLE9BQU8sQ0FBQztJQUMxRXJGLE1BQU0sR0FBRyxJQUFBa0csNEJBQXFCLEVBQUNsRyxNQUFNLEVBQUUrRSxlQUFlLENBQUNNLE9BQU8sQ0FBQztJQUMvRCxJQUFJcEMsT0FBTyxFQUFFakQsTUFBTSxHQUFHLElBQUFtRyxvQkFBYSxFQUFDbkcsTUFBTSxDQUFDO0lBQzNDLE9BQU9BLE1BQU07RUFDZixDQUFDLENBQUM7RUFFRjtFQUNBO0VBQ0EsSUFBTW9HLG1CQUFtQixHQUFHLElBQUFsQix5QkFBYSxFQUFDLFVBQUNjLE1BQStCLEVBQUk7SUFDNUUsSUFBTWhHLE1BQU0sR0FBRyxJQUFBaUcsdUJBQWdCLEVBQUNELE1BQU0sRUFBRTdDLGFBQWEsRUFBRTZCLFlBQVksQ0FBQ0ssT0FBTyxDQUFDO0lBQzVFLE9BQU8sSUFBQWEsNEJBQXFCLEVBQUNsRyxNQUFNLEVBQUUrRSxlQUFlLENBQUNNLE9BQU8sQ0FBQztFQUMvRCxDQUFDLENBQUM7RUFFRjtFQUNBLElBQUFnQixXQUFBLEdBQThELElBQUFDLHVCQUFVLEVBQUM7TUFDdkU5RCxTQUFTLEVBQVRBLFNBQVM7TUFDVEcsY0FBYyxFQUFkQTtJRGpDQSxDQ2tDRCxDQUFDO0lBSE00RCxnQkFBZ0IsR0FBQUYsV0FBQSxDQUFoQkUsZ0JBQWdCO0lBQUVDLGVBQWUsR0FBQUgsV0FBQSxDQUFmRyxlQUFlO0lBQUVDLGNBQWMsR0FBQUosV0FBQSxDQUFkSSxjQUFjO0VBSXpEO0VBQ0E7RUFDQTtFQUNBLElBQU1DLHNCQUFzQixHQUFHLElBQUE3QixhQUFNLEVBQTBDLElBQUksQ0FBQztFQUNwRixJQUFJNkIsc0JBQXNCLENBQUNyQixPQUFPLEtBQUssSUFBSSxFQUFFO0lBQzNDcUIsc0JBQXNCLENBQUNyQixPQUFPLEdBQUc3QyxTQUFTLEdBQ3JDRSxvQkFBb0IsR0FDcEJoRSxNQUFBLENBQUFpSSxNQUFBLENBQUFqSSxNQUFBLENBQUFpSSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU0xRSxhQUFhLENBQUEsRUFBS3NFLGdCQUFnQixDQUFBLEdBQ3hDN0gsTUFBQSxDQUFBaUksTUFBQSxDQUFBakksTUFBQSxDQUFBaUksTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFNSixnQkFBZ0IsQ0FBQSxFQUFLdEUsYUFBYSxDQUFFLEdBQzFDQSxhQUFhLEtBQUEsSUFBQSxJQUFiQSxhQUFhLEtBQUEsS0FBQSxDQUFBLEdBQWJBLGFBQWEsR0FBSSxDQUFBLENBQUc7RUFDM0I7RUFDQSxJQUFNMkUsbUJBQW1CLEdBQUdGLHNCQUFzQixDQUFDckIsT0FBTztFQUUxRDtFQUNBO0VBQ0EsSUFBTXdCLGFBQWEsR0FBRyxJQUFBaEMsYUFBTSxFQUFDLENBQUMsQ0FBQztFQUUvQjtFQUNBO0VBQ0E7RUFDQSxJQUFNaUMsYUFBYSxHQUFHLElBQUE1Qix5QkFBYSxFQUFDLFlBQUs7SUFDdkMyQixhQUFhLENBQUN4QixPQUFPLElBQUksQ0FBQztJQUMxQixJQUFNMEIsV0FBVyxHQUFHaEIsYUFBYSxDQUFDaUIsWUFBWSxDQUFDQyxjQUFjLENBQUEsQ0FBRSxDQUFDO0lBQ2hFNUUsT0FBTyxLQUFBLElBQUEsSUFBUEEsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFQQSxPQUFPLENBQUcwRSxXQUFXLENBQUM7SUFDdEJOLGNBQWMsQ0FBQSxDQUFFO0VBQ2xCLENBQUMsQ0FBQztFQUVGO0VBQ0EsSUFBQVMsUUFBQSxHQUEyQyxJQUFBQyxpQkFBTyxFQUFDO01BQ2pEbEYsYUFBYSxFQUFFMkUsbUJBQW1CO01BQ2xDeEUsY0FBYyxFQUFkQSxjQUFjO01BQ2RDLE9BQU8sRUFBRXlFLGFBQWE7TUFDdEJ0RCxJQUFJLEVBQUpBLElBQUk7TUFDSkUsVUFBVSxFQUFWQSxVQUFVO01BQ1ZFLFFBQVEsRUFBUkEsUUFBUTtNQUNSRSxlQUFlLEVBQWZBO0lEckNBLENDc0NELENBQUM7SUFSTWtELFlBQVksR0FBQUUsUUFBQSxDQUFaRixZQUFZO0lBQUVJLFNBQVMsR0FBQUYsUUFBQSxDQUFURSxTQUFTO0lBQUVDLEtBQUssR0FBQUgsUUFBQSxDQUFMRyxLQUFLO0VBVXRDO0VBQ0E7RUFDQTtFQUNBLElBQU1DLG1CQUFtQixHQUFHLElBQUFDLDRCQUFnQixFQUFDLFVBQU94SixDQUFtQjtJQUFBLE9BQUltQixTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLGVBQUFzSSxZQUFBLFlBQUFDLElBQUEsQ0FBQSxTQUFBQyxRQUFBO01BQUEsSUFBQUMsRUFBQSxFQUFBQyxFQUFBLEVBQUFDLEVBQUEsRUFBQUMsS0FBQSxFQUFBQyxlQUFBLEVBQUFDLFNBQUEsRUFBQWhJLE1BQUEsRUFBQWlJLEVBQUE7TUFBQSxPQUFBVCxZQUFBLFlBQUFVLElBQUEsV0FBQUMsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBckksSUFBQTtVQUFBO1lBQ3pFL0IsQ0FBQyxLQUFBLElBQUEsSUFBREEsQ0FBQyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFEQSxDQUFDLENBQUVzSyxjQUFjLENBQUEsQ0FBRTtZQUFDLEtBQ2hCekQsYUFBYSxDQUFDUyxPQUFPO2NBQUE4QyxRQUFBLENBQUFySSxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFxSSxRQUFBLENBQUFHLE1BQUE7VUFBQTtZQUN6QjFELGFBQWEsQ0FBQ1MsT0FBTyxHQUFHLElBQUk7WUFDNUJWLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDbkIsQ0FBQWdELEVBQUEsR0FBQTdCLGtCQUFrQixDQUFDVCxPQUFPLE1BQUEsSUFBQSxJQUFBc0MsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUE1SSxJQUFBLENBQUErRyxrQkFBQSxFQUFHLElBQUksQ0FBQztZQUM1QmdDLEtBQUssR0FBR2pCLGFBQWEsQ0FBQ3hCLE9BQU87WUFBQThDLFFBQUEsQ0FBQUMsSUFBQTtZQUFBRCxRQUFBLENBQUFySSxJQUFBO1lBRVQsT0FBTWtILFlBQVksQ0FBQ3VCLGNBQWMsQ0FBQSxDQUFFO1VBQUE7WUFBckRSLGVBQWUsR0FBQUksUUFBQSxDQUFBSyxJQUFBO1lBQUEsTUFJakJWLEtBQUssS0FBS2pCLGFBQWEsQ0FBQ3hCLE9BQU87Y0FBQThDLFFBQUEsQ0FBQXJJLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQXFJLFFBQUEsQ0FBQUcsTUFBQTtVQUFBO1lBQzdCTixTQUFTLEdBQUdqQyxhQUFhLENBQUNnQyxlQUFlLENBQUM7WUFBQUksUUFBQSxDQUFBckksSUFBQTtZQUNqQyxPQUFNLENBQUE4SCxFQUFBLEdBQUFqQyxXQUFXLENBQUNOLE9BQU8sTUFBQSxJQUFBLElBQUF1QyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBQTdJLElBQUEsQ0FBQTRHLFdBQUEsRUFBR3FDLFNBQVMsQ0FBQztVQUFBO1lBQS9DaEksTUFBTSxHQUFBbUksUUFBQSxDQUFBSyxJQUFBO1lBQ1o7WUFDQTtZQUNBO1lBQ0EsSUFBSXhJLE1BQU0sS0FBSyxLQUFLLElBQUk4SCxLQUFLLEtBQUtqQixhQUFhLENBQUN4QixPQUFPLEVBQUU7Y0FDdkRtQixlQUFlLENBQUN3QixTQUFTLENBQUM7WUFDNUI7WUFBQ0csUUFBQSxDQUFBckksSUFBQTtZQUFBO1VBQUE7WUFBQXFJLFFBQUEsQ0FBQUMsSUFBQTtZQUFBSCxFQUFBLEdBQUFFLFFBQUE7WUFBQSxNQU1HTCxLQUFLLEtBQUtqQixhQUFhLENBQUN4QixPQUFPO2NBQUE4QyxRQUFBLENBQUFySSxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFxSSxRQUFBLENBQUFHLE1BQUE7VUFBQTtZQUNuQztZQUNBO1lBQ0E7WUFDQTtZQUNBLElBQUlMLEVBQUEsWUFBZVEsb0NBQW1CLEVBQUU7Y0FDdEN0RyxjQUFjLEtBQUEsSUFBQSxJQUFkQSxjQUFjLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWRBLGNBQWMsQ0FBRztnQkFBRTZELE1BQU0sRUFBRWlDLEVBQUEsQ0FBSWpDLE1BQU07Z0JBQUUwQyxNQUFNLEVBQUVULEVBQUEsQ0FBSVM7Y0FBTSxDQUFFLENBQUM7WUFDOUQsQ0FBQyxNQUFNO2NBQ0xDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLHlDQUF5QyxFQUFBWCxFQUFLLENBQUM7WUFDL0Q7VUFBQztZQUFBRSxRQUFBLENBQUFDLElBQUE7WUFFRHhELGFBQWEsQ0FBQ1MsT0FBTyxHQUFHLEtBQUs7WUFDN0JWLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDcEIsQ0FBQWtELEVBQUEsR0FBQS9CLGtCQUFrQixDQUFDVCxPQUFPLE1BQUEsSUFBQSxJQUFBd0MsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUE5SSxJQUFBLENBQUErRyxrQkFBQSxFQUFHLEtBQUssQ0FBQztZQUFDLE9BQUFxQyxRQUFBLENBQUFVLE1BQUE7VUFBQTtVQUFBO1lBQUEsT0FBQVYsUUFBQSxDQUFBVyxJQUFBO1FBQUE7TUFBQSxHQUFBcEIsT0FBQTtJQUFBLENBRXZDLEVBQUE7RUFBQSxFQUFDO0VBRUY7RUFDQSxJQUFNcUIsbUJBQW1CLEdBQUcsSUFBQUMsY0FBTyxFQUNqQztJQUFBLE9BQU10SyxNQUFBLENBQUFpSSxNQUFBLENBQUFqSSxNQUFBLENBQUFpSSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ0RLLFlBQVksQ0FBQSxFQUFBO01BQ2ZpQyxvQkFBb0IsRUFBRSxTQUF0QkEsb0JBQW9CQSxDQUFBO1FBQUEsT0FBUWxELGFBQWEsQ0FBQ2lCLFlBQVksQ0FBQ0MsY0FBYyxDQUFBLENBQUUsQ0FBQztNQUFBO01BQ3hFaUMsbUJBQW1CLEVBQUUsU0FBckJBLG1CQUFtQkEsQ0FBRy9ELElBQVk7UUFBQSxPQUNoQyxJQUFBZ0UsdUJBQVksRUFBQy9DLG1CQUFtQixDQUFDWSxZQUFZLENBQUNDLGNBQWMsQ0FBQSxDQUFFLENBQUMsRUFBRTlCLElBQUksQ0FBQztNQUFBO01BQ3hFaUUseUJBQXlCLEVBQUUsU0FBM0JBLHlCQUF5QkEsQ0FBR2pFLElBQWEsRUFBSTtRQUMzQyxJQUFNa0UsU0FBUyxHQUFHakQsbUJBQW1CLENBQUNZLFlBQVksQ0FBQ0MsY0FBYyxDQUFBLENBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUM5QixJQUFJLEVBQUUsT0FBT2tFLFNBQVM7UUFDM0I7UUFDQTtRQUNBLE9BQU8sSUFBQUMseUJBQWMsRUFBQyxDQUFBLENBQUUsRUFBRW5FLElBQUksRUFBRSxJQUFBZ0UsdUJBQVksRUFBQ0UsU0FBUyxFQUFFbEUsSUFBSSxDQUFDLENBQUM7TUFDaEUsQ0FBQztNQUNEb0UsK0JBQStCLEVBQUUsU0FBakNBLCtCQUErQkEsQ0FBQTtRQUFBLE9BQWFySyxTQUFBLENBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLGVBQUFzSSxZQUFBLFlBQUFDLElBQUEsQ0FBQSxTQUFBK0IsU0FBQTtVQUFBLElBQUFDLElBQUEsRUFBQWYsTUFBQSxFQUFBZ0IsR0FBQTtVQUFBLE9BQUFsQyxZQUFBLFlBQUFVLElBQUEsV0FBQXlCLFNBQUE7WUFBQSxrQkFBQUEsU0FBQSxDQUFBdkIsSUFBQSxHQUFBdUIsU0FBQSxDQUFBN0osSUFBQTtjQUFBO2dCQUFBNkosU0FBQSxDQUFBdkIsSUFBQTtnQkFBQXVCLFNBQUEsQ0FBQTdKLElBQUE7Z0JBRTNCLE9BQU1rSCxZQUFZLENBQUN1QixjQUFjLENBQUEsQ0FBRTtjQUFBO2dCQUExQ2tCLElBQUksR0FBQUUsU0FBQSxDQUFBbkIsSUFBQTtnQkFBQSxPQUFBbUIsU0FBQSxDQUFBckIsTUFBQSxXQUNIO2tCQUFFc0IsT0FBTyxFQUFFLElBQUk7a0JBQUU1RCxNQUFNLEVBQUVELGFBQWEsQ0FBQzBELElBQUk7Z0JBQUMsQ0FBRTtjQUFBO2dCQUFBRSxTQUFBLENBQUF2QixJQUFBO2dCQUFBc0IsR0FBQSxHQUFBQyxTQUFBO2dCQUVyRDtnQkFDQTtnQkFDUWpCLE1BQU0sR0FBQWdCLEdBQUEsQ0FBTmhCLE1BQU07Z0JBQUEsT0FBQWlCLFNBQUEsQ0FBQXJCLE1BQUEsV0FDUDtrQkFBRXNCLE9BQU8sRUFBRSxLQUFLO2tCQUFFbEIsTUFBTSxFQUFFQSxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sR0FBSSxDQUFBO2dCQUFFLENBQUU7Y0FBQTtjQUFBO2dCQUFBLE9BQUFpQixTQUFBLENBQUFiLElBQUE7WUFBQTtVQUFBLEdBQUFVLFFBQUE7UUFBQSxDQUVsRCxFQUFBO01BQUE7TUFDREssVUFBVSxFQUFFdkM7SUFBbUIsQ0FBQSxDQUFBO0VBQUEsQ0FDL0IsRUFDRixDQUFDTixZQUFZLEVBQUVqQixhQUFhLEVBQUV1QixtQkFBbUIsQ0FBQyxDQUNuRDtFQUVEO0VBQ0EsSUFBQXdDLGdCQUFTLEVBQUMsWUFBSztJQUNiLElBQUkvRyxPQUFPLEVBQUU7TUFDWEEsT0FBTyxDQUFDc0MsT0FBTyxHQUFHMEQsbUJBQW1CO0lBQ3ZDO0VBQ0YsQ0FBQyxFQUFFLENBQUNoRyxPQUFPLEVBQUVnRyxtQkFBbUIsQ0FBQyxDQUFDO0VBRWxDO0VBQ0EsSUFBTWdCLFVBQVUsR0FBRyxJQUFBbkUscUJBQVMsRUFBQzdELE9BQU8sQ0FBQztFQUNyQyxJQUFNaUksVUFBVSxHQUFHLENBQUMsQ0FBQ2pJLE9BQU87RUFFNUIsSUFBTWtJLGdCQUFnQixHQUFHLElBQUFqQixjQUFPLEVBQzlCO0lBQUEsT0FBTSxJQUFBa0Isc0JBQWUsRUFBQ2xJLE1BQU0sQ0FBQztFQUFBLEdBQzdCLENBQUNBLE1BQU0sQ0FBQyxDQUNUO0VBRUQ7RUFDQTtFQUNBLElBQU1tSSxZQUFZLEdBQUcsSUFBQXRGLGFBQU0sRUFBQyxLQUFLLENBQUM7RUFDbEMsSUFBTXVGLFFBQVEsR0FBRyxJQUFBbEYseUJBQWEsRUFBQyxZQUFLO0lEaEQ5QixJQUFJeUMsRUFBRTtJQ2lEVixJQUFJd0MsWUFBWSxDQUFDOUUsT0FBTyxFQUFFO0lBQzFCOEUsWUFBWSxDQUFDOUUsT0FBTyxHQUFHLElBQUk7SUFDM0IsQ0FBQXNDLEVBQUEsR0FBQTlCLFNBQVMsQ0FBQ1IsT0FBTyxNQUFBLElBQUEsSUFBQXNDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFBNUksSUFBQSxDQUFBOEcsU0FBQSxFQUFHRSxhQUFhLENBQUNpQixZQUFZLENBQUNDLGNBQWMsQ0FBQSxDQUFFLENBQUMsRUFBRThCLG1CQUFtQixDQUFDO0VBQ3hGLENBQUMsQ0FBQztFQUVGLElBQUFlLGdCQUFTLEVBQUMsWUFBSztJQUNiO0lBQ0E7SUFDQTtJQUNBLElBQUlPLEtBQUssR0FBRyxLQUFLO0lBRWpCLElBQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFBO01BQUEsT0FBY3BMLFNBQUEsQ0FBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsRUFBQSxLQUFBLENBQUEsZUFBQXNJLFlBQUEsWUFBQUMsSUFBQSxDQUFBLFNBQUE4QyxTQUFBO1FBQUEsSUFBQUMsU0FBQSxFQUFBQyxJQUFBLEVBQUFDLEdBQUE7UUFBQSxPQUFBbEQsWUFBQSxZQUFBVSxJQUFBLFdBQUF5QyxTQUFBO1VBQUEsa0JBQUFBLFNBQUEsQ0FBQXZDLElBQUEsR0FBQXVDLFNBQUEsQ0FBQTdLLElBQUE7WUFBQTtjQUNyQjBLLFNBQVMsR0FBR1QsVUFBVSxDQUFDMUUsT0FBTztjQUFBLElBQy9CbUYsU0FBUztnQkFBQUcsU0FBQSxDQUFBN0ssSUFBQTtnQkFBQTtjQUFBO2NBQUEsT0FBQTZLLFNBQUEsQ0FBQXJDLE1BQUE7WUFBQTtjQUVkL0QsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2NBQUNvRyxTQUFBLENBQUF2QyxJQUFBO2NBQUF1QyxTQUFBLENBQUE3SyxJQUFBO2NBRVQsT0FBTTBLLFNBQVMsQ0FBQ3hJLE1BQU0sQ0FBQztZQUFBO2NBQTlCeUksSUFBSSxHQUFBRSxTQUFBLENBQUFuQyxJQUFBO2NBQ1YsSUFBSSxDQUFDNkIsS0FBSyxJQUFJSSxJQUFJLElBQUksSUFBQUcsUUFBQSxhQUFPSCxJQUFJLE1BQUssUUFBUSxFQUFFO2dCQUM5Q3pELFlBQVksQ0FBQzZELGNBQWMsQ0FBQ0osSUFBK0IsQ0FBQztjQUM5RDtjQUFDRSxTQUFBLENBQUE3SyxJQUFBO2NBQUE7WUFBQTtjQUFBNkssU0FBQSxDQUFBdkMsSUFBQTtjQUFBc0MsR0FBQSxHQUFBQyxTQUFBO2NBRUQ7Y0FDQTtjQUNBO2NBQ0EsSUFBSSxDQUFDTixLQUFLLEVBQUU7Z0JBQ1YxQixPQUFPLENBQUNDLEtBQUssQ0FBQywyQkFBMkIsRUFBQThCLEdBQUssQ0FBQztjQUNqRDtZQUFDO2NBQUFDLFNBQUEsQ0FBQXZDLElBQUE7Y0FFRCxJQUFJLENBQUNpQyxLQUFLLEVBQUU7Z0JBQ1Y5RixpQkFBaUIsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCO2dCQUNBO2dCQUNBNkYsUUFBUSxDQUFBLENBQUU7Y0FDWjtjQUFDLE9BQUFPLFNBQUEsQ0FBQTlCLE1BQUE7WUFBQTtZQUFBO2NBQUEsT0FBQThCLFNBQUEsQ0FBQTdCLElBQUE7VUFBQTtRQUFBLEdBQUF5QixRQUFBO01BQUEsQ0FFSixFQUFBO0lBQUE7SUFFRCxJQUFJUixVQUFVLENBQUMxRSxPQUFPLEVBQUU7TUFDdEJpRixTQUFTLENBQUEsQ0FBRTtJQUNiLENBQUMsTUFBTTtNQUNMRixRQUFRLENBQUEsQ0FBRTtJQUNaO0lBQ0EsT0FBTyxZQUFLO01BQ1ZDLEtBQUssR0FBRyxJQUFJO0lBQ2QsQ0FBQztJQUNEO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDRixDQUFDLEVBQUUsQ0FBQ0osZ0JBQWdCLEVBQUVELFVBQVUsQ0FBQyxDQUFDO0VBRWxDO0VBQ0EsSUFBTWMsU0FBUyxHQUFHLElBQUFqRyxhQUFNLEVBQWtCLElBQUksQ0FBQztFQUMvQyxJQUFBaUYsZ0JBQVMsRUFBQyxZQUFLO0lEL0NULElBQUluQyxFQUFFO0lDZ0RWLElBQUksQ0FBQzlFLG1CQUFtQixJQUFJckIsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUM3QyxJQUFNdUosVUFBVSxHQUFHLENBQUFwRCxFQUFBLEdBQUFtRCxTQUFTLENBQUN6RixPQUFPLE1BQUEsSUFBQSxJQUFBc0MsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVxRCxhQUFhLENBQ2pELDhGQUE4RixDQUMvRjtJQUNERCxVQUFVLEtBQUEsSUFBQSxJQUFWQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsQ0FBRUUsS0FBSyxDQUFBLENBQUU7SUFDbkI7RUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU47RUFDQTtFQUNBO0VBQ0EsSUFBTUMsZ0JBQWdCLEdBQUcsSUFBQUMsMkJBQWdCLEVBQUMvSCxVQUFVLENBQUM7RUFDckQsSUFBTWdJLG1CQUFtQixHQUFHLElBQUFELDJCQUFnQixFQUFDOUgsYUFBYSxDQUFDO0VBQzNELElBQU1nSSxjQUFjLEdBQUcsSUFBQUYsMkJBQWdCLEVBQUN4SixRQUFRLENBQUM7RUFDakQsSUFBTTJKLFlBQVksR0FBRyxJQUFBSCwyQkFBZ0IsRUFBQzdILE1BQU0sQ0FBQztFQUU3QztFQUNBO0VBQ0E7RUFDQSxJQUFNaUksV0FBVyxHQUFHLElBQUF2QyxjQUFPLEVBQ3pCO0lBQUEsT0FBTztNQUNMaEMsWUFBWSxFQUFFK0IsbUJBQW1CO01BQ2pDeUMsYUFBYSxFQUFFcEUsU0FBUyxDQUFDb0UsYUFBYTtNQUN0Q0MsYUFBYSxFQUFFckUsU0FBUyxDQUFDcUUsYUFBYTtNQUN0Q0MsZUFBZSxFQUFFdEUsU0FBUyxDQUFDc0UsZUFBZTtNQUMxQ0MsYUFBYSxFQUFFdkUsU0FBUyxDQUFDdUUsYUFBYTtNQUN0Q0Msa0JBQWtCLEVBQUV4RSxTQUFTLENBQUN3RSxrQkFBa0I7TUFDaERDLGFBQWEsRUFBRXpFLFNBQVMsQ0FBQ3lFLGFBQWE7TUFDdENDLGVBQWUsRUFBRTFFLFNBQVMsQ0FBQzBFLGVBQWU7TUFDMUNDLFdBQVcsRUFBRTNFLFNBQVMsQ0FBQzJFLFdBQVc7TUFDbENDLFlBQVksRUFBRTVFLFNBQVMsQ0FBQzRFLFlBQVk7TUFDcEN4SSxJQUFJLEVBQUpBLElBQUk7TUFDSkUsVUFBVSxFQUFWQSxVQUFVO01BQ1Y7TUFDQTtNQUNBO01BQ0FFLFFBQVEsRUFBUkEsUUFBUTtNQUNSRSxlQUFlLEVBQWZBLGVBQWU7TUFDZjtNQUNBdEMsSUFBSSxFQUFKQSxJQUFJO01BQ0pFLElBQUksRUFBSkEsSUFBSTtNQUNKQyxRQUFRLEVBQUUwSixjQUFjLEtBQUEsSUFBQSxJQUFkQSxjQUFjLEtBQUEsS0FBQSxDQUFBLEdBQWRBLGNBQWMsR0FBSXJLLGlCQUFpQjtNQUM3Q2lFLGlCQUFpQixFQUFqQkEsaUJBQWlCO01BQ2pCSyxtQkFBbUIsRUFBbkJBLG1CQUFtQjtNQUNuQkUsaUJBQWlCLEVBQWpCQSxpQkFBaUI7TUFDakJFLG1CQUFtQixFQUFuQkEsbUJBQW1CO01BQ25CdEMsVUFBVSxFQUFFOEgsZ0JBQWdCO01BQzVCN0gsYUFBYSxFQUFFK0gsbUJBQW1CO01BQ2xDOUgsTUFBTSxFQUFFZ0ksWUFBWTtNQUNwQnhJLGlCQUFpQixFQUFqQkE7SURsREYsQ0NtREM7RUFBQSxDQUFDLEVBQ0YsQ0FDRWlHLG1CQUFtQixFQUNuQjNCLFNBQVMsQ0FBQ29FLGFBQWEsRUFDdkJwRSxTQUFTLENBQUNxRSxhQUFhLEVBQ3ZCckUsU0FBUyxDQUFDc0UsZUFBZSxFQUN6QnRFLFNBQVMsQ0FBQ3VFLGFBQWEsRUFDdkJ2RSxTQUFTLENBQUN3RSxrQkFBa0IsRUFDNUJ4RSxTQUFTLENBQUN5RSxhQUFhLEVBQ3ZCekUsU0FBUyxDQUFDMEUsZUFBZSxFQUN6QjFFLFNBQVMsQ0FBQzJFLFdBQVcsRUFDckIzRSxTQUFTLENBQUM0RSxZQUFZLEVBQ3RCeEksSUFBSSxFQUNKRSxVQUFVLEVBQ1ZFLFFBQVEsRUFDUkUsZUFBZSxFQUNmdEMsSUFBSSxFQUNKRSxJQUFJLEVBQ0oySixjQUFjLEVBQ2RwRyxpQkFBaUIsRUFDakJLLG1CQUFtQixFQUNuQkUsaUJBQWlCLEVBQ2pCRSxtQkFBbUIsRUFDbkJ3RixnQkFBZ0IsRUFDaEJFLG1CQUFtQixFQUNuQkUsWUFBWSxFQUNaeEksaUJBQWlCLENBQ2xCLENBQ0Y7RUFFRCxJQUFNbUosZ0JBQWdCLEdBQUd2SyxJQUFJLEdBQUd3SyxTQUFHLEdBQUdDLGVBQVE7RUFDOUMsSUFBTUMsWUFBWSxHQUFHMUssSUFBSSxHQUFFaEQsTUFBQSxDQUFBaUksTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFNL0UsUUFBUSxDQUFBLEdBQUssQ0FBQSxDQUFFO0VBRWhEO0VBQ0E7RUFDQTtFQUNBLElBQU15SyxvQkFBb0IsR0FBRyxJQUFBbkgseUJBQWEsRUFBQyxZQUFLO0lEdEQxQyxJQUFJeUMsRUFBRTtJQ3VEVixJQUFJLElBQUFpRCxRQUFBLGFBQU90SixTQUFTLE1BQUssUUFBUSxFQUFFLENBQUFxRyxFQUFBLEdBQUFyRyxTQUFTLENBQUNlLE9BQU8sTUFBQSxJQUFBLElBQUFzRixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBQTVJLElBQUEsQ0FBQXVDLFNBQUEsQ0FBSTtJQUN4RHdGLGFBQWEsQ0FBQSxDQUFFO0VBQ2pCLENBQUMsQ0FBQztFQUVGLElBQU13RixhQUFhLEdBQ2pCaEwsU0FBUyxLQUFLLEtBQUssSUFBSUUsSUFBSSxLQUFLLE1BQU0sR0FDcEMsSUFBQStLLGVBQUEsRUFBQ0Msb0JBQVMsRUFBQTlOLE1BQUEsQ0FBQWlJLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDSCxJQUFBaUUsUUFBQSxhQUFPdEosU0FBUyxNQUFLLFFBQVEsR0FBR0EsU0FBUyxHQUFHLENBQUEsQ0FBRSxFQUFDO0lBQ3BEZSxPQUFPLEVBQUVnSyxvQkFBb0I7SUFDN0J2SyxPQUFPLEVBQUVnRDtFQUFTLENBQUEsQ0FBQSxDQUNsQixHQUNBLElBQUk7RUFFVixPQUNFLElBQUF5SCxlQUFBLEVBQUNFLDhCQUFvQixDQUFDQyxRQUFRLEVBQUE7SUFBQ2xOLEtBQUssRUFBRStMLFdBQVc7SUFBQW5LLFFBQUEsRUFHL0MsSUFBQW1MLGVBQUEsRUFBQ0ksNkJBQW1CLENBQUNELFFBQVEsRUFBQTtNQUFDbE4sS0FBSyxFQUFFNkgsS0FBSztNQUFBakcsUUFBQSxFQUN4QyxJQUFBd0wsZ0JBQUEsRUFBQSxNQUFBLEVBQUFsTyxNQUFBLENBQUFpSSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ00xQyxJQUFJLEVBQUE7UUFDUjRJLEdBQUcsRUFBRS9CLFNBQVM7UUFDZHpKLFNBQVMsRUFBRU4sV0FBVyxDQUFDd0UsU0FBUyxFQUFFLElBQUF1SCxtQkFBTyxFQUFDbE0sT0FBTyxDQUFBLENBQUUsRUFBRVMsU0FBUyxDQUFDLENBQUM7UUFDaEUwTCxRQUFRLEVBQUV6RixtQkFBbUI7UUFDN0JqRixPQUFPLEVBQUUrRSxTQUFTLENBQUM0RixXQUFXO1FBQUE1TCxRQUFBLEVBQUEsQ0FFOUIsSUFBQW1MLGVBQUEsRUFBQ04sZ0JBQWdCLEVBQUF2TixNQUFBLENBQUFpSSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUt5RixZQUFZLEVBQUE7VUFBQWhMLFFBQUEsRUFBR0E7UUFBUSxDQUFBLENBQUEsQ0FBb0IsRUFDaEVrTCxhQUFhO01BQUEsQ0FBQSxDQUFBO0lBQ1QsQ0FBQTtFQUNzQixDQUFBLENBQ0Q7QUFFcEMsQ0FBQztBQUVEcEwsV0FBVyxDQUFDK0wsV0FBVyxHQUFHLFNBQVM7QUFXNUIsSUFBTUMsT0FBTyxHQUFBQyxPQUFBLENBQUFELE9BQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDbE0sV0FBVyxDQUFnQztBQUFDLElBQUFtTSxRQUFBLEdBQUFGLE9BQUEsY0FFekRELE9BQU8iLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbnZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgbWVtbywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5pbXBvcnQgdXNlU2FmZVN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlU2FmZVN0YXRlJztcbmltcG9ydCB1c2VNZW1vaXplZEZuIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlTWVtb2l6ZWRGbic7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi9HcmlkJztcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuL2NvcmUvaG9va3MvdXNlRm9ybSc7XG5pbXBvcnQgeyBQcm9Gb3JtU3RhYmxlQ29udGV4dCwgUHJvRm9ybVN0YXRlQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgeyBTdWJtaXR0ZXIgfSBmcm9tICcuL1N1Ym1pdHRlcic7XG5pbXBvcnQgeyBDU1NfUFJFRklYIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgc3RhYmxlU2VyaWFsaXplLCB0cmFuc2Zvcm1TdWJtaXRWYWx1ZXMsIG9taXROaWxWYWx1ZXMsIGZvcm1hdERhdGVWYWx1ZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNoYWxsb3dTdGFibGUgfSBmcm9tICcuL2NvcmUvZm9ybVN0b3JlJztcbmltcG9ydCB7IHVzZVVybFN5bmMgfSBmcm9tICcuL2hvb2tzL3VzZVVybFN5bmMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlLCBzZXROZXN0ZWRWYWx1ZSB9IGZyb20gJy4vY29yZS9wYXRoVXRpbHMnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vY29yZS92YWxpZGF0aW9uRXJyb3InO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoQ1NTX1BSRUZJWCk7XG5jb25zdCBmb3JtQ2xhc3NlcyA9IGNsYXNzbmFtZXMoJ2Zvcm0nKTtcbmNvbnN0IERFRkFVTFRfQ09MX1BST1BTID0geyBzcGFuOiAyNCB9O1xuY29uc3QgUHJvRm9ybUJhc2UgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHN1Ym1pdHRlciwgbW9kZSA9ICdlZGl0JywgZ3JpZCA9IGZhbHNlLCBjb2xQcm9wcywgcm93UHJvcHMsIGxvYWRpbmcgPSBmYWxzZSwgcmVxdWVzdCwgcGFyYW1zLCBpbml0aWFsVmFsdWVzLCBvbkZpbmlzaCwgb25GaW5pc2hGYWlsZWQsIG9uVmFsdWVzQ2hhbmdlLCBvblJlc2V0LCBvbkluaXQsIG9uTG9hZGluZ0NoYW5nZSwgc3luY1RvVXJsLCBzeW5jVG9VcmxBc0ltcG9ydGFudCA9IGZhbHNlLCBleHRyYVVybFBhcmFtcywgYXV0b0ZvY3VzRmlyc3RJbnB1dCA9IGZhbHNlLCBmb3JtQ29tcG9uZW50VHlwZSwgZm9ybVJlZiwgb21pdE5pbCA9IHRydWUsIGRhdGVGb3JtYXR0ZXIgPSAnc3RyaW5nJywgZmllbGRQcm9wcywgZm9ybUl0ZW1Qcm9wcywgbGF5b3V0LCBzaXplID0gJ2xhcmdlJywgbGFiZWxBbGlnbiA9ICdsZWZ0JywgZGlzYWJsZWQgPSBmYWxzZSwgdmFsaWRhdGVUcmlnZ2VyID0gJ29uQ2hhbmdlJywgcHJlZml4Q2xzOiBfcHJlZml4Q2xzIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJzdWJtaXR0ZXJcIiwgXCJtb2RlXCIsIFwiZ3JpZFwiLCBcImNvbFByb3BzXCIsIFwicm93UHJvcHNcIiwgXCJsb2FkaW5nXCIsIFwicmVxdWVzdFwiLCBcInBhcmFtc1wiLCBcImluaXRpYWxWYWx1ZXNcIiwgXCJvbkZpbmlzaFwiLCBcIm9uRmluaXNoRmFpbGVkXCIsIFwib25WYWx1ZXNDaGFuZ2VcIiwgXCJvblJlc2V0XCIsIFwib25Jbml0XCIsIFwib25Mb2FkaW5nQ2hhbmdlXCIsIFwic3luY1RvVXJsXCIsIFwic3luY1RvVXJsQXNJbXBvcnRhbnRcIiwgXCJleHRyYVVybFBhcmFtc1wiLCBcImF1dG9Gb2N1c0ZpcnN0SW5wdXRcIiwgXCJmb3JtQ29tcG9uZW50VHlwZVwiLCBcImZvcm1SZWZcIiwgXCJvbWl0TmlsXCIsIFwiZGF0ZUZvcm1hdHRlclwiLCBcImZpZWxkUHJvcHNcIiwgXCJmb3JtSXRlbVByb3BzXCIsIFwibGF5b3V0XCIsIFwic2l6ZVwiLCBcImxhYmVsQWxpZ25cIiwgXCJkaXNhYmxlZFwiLCBcInZhbGlkYXRlVHJpZ2dlclwiLCBcInByZWZpeENsc1wiXSk7XG4gICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCBzZXRSZXF1ZXN0TG9hZGluZ10gPSB1c2VTYWZlU3RhdGUoZmFsc2UpO1xuICAgIC8vIHVzZVNhZmVTdGF0ZSBmb3IgdGhlIFJFTkRFUkVEIHN1Ym1pdHRpbmcgc3RhdGUgKGl0cyBzZXR0ZXIgaXMgdW5tb3VudC1zYWZlXG4gICAgLy8g4oCUIHRoZSBmaW5hbGx5IGJlbG93IHJ1bnMgYWZ0ZXIgYXdhaXRpbmcgb25GaW5pc2gsIHdoZW4gdGhlIHR5cGljYWxcbiAgICAvLyBzdWJtaXQtdGhlbi1jbG9zZSBmbG93IG1heSBhbHJlYWR5IGhhdmUgdW5tb3VudGVkIHRoZSBmb3JtIG9uIFJlYWN0XG4gICAgLy8gMTYvMTcpLiBUaGUgcmVmIGlzIHRoZSBzeW5jaHJvbm91cyByZS1lbnRyeSBndWFyZDsgQDFtb25leS9ob29rcyBoYXMgbm9cbiAgICAvLyBzaW5nbGUgaG9vayB0aGF0IGlzIGJvdGggdW5tb3VudC1zYWZlIGFuZCBzeW5jaHJvbm91c2x5IHJlYWRhYmxlLlxuICAgIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVNhZmVTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc3VibWl0dGluZ1JlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgaXNMb2FkaW5nID0gbG9hZGluZyB8fCByZXF1ZXN0TG9hZGluZyB8fCBzdWJtaXR0aW5nO1xuICAgIC8vIOKUgOKUgCBUcmFuc2Zvcm0gLyB2YWx1ZVR5cGUgcmVnaXN0cmllcyDilIDilIBcbiAgICBjb25zdCB0cmFuc2Zvcm1LZXlSZWYgPSB1c2VSZWYoe30pO1xuICAgIGNvbnN0IHZhbHVlVHlwZVJlZiA9IHVzZVJlZih7fSk7XG4gICAgY29uc3QgcmVnaXN0ZXJUcmFuc2Zvcm0gPSB1c2VNZW1vaXplZEZuKChuYW1lLCBmbikgPT4ge1xuICAgICAgICB0cmFuc2Zvcm1LZXlSZWYuY3VycmVudFtuYW1lXSA9IGZuO1xuICAgIH0pO1xuICAgIC8vIFRoZSBvcHRpb25hbCBzZWNvbmQgYXJndW1lbnQgZ3VhcmRzIHJlbW92YWw6IGRlbGV0ZSBvbmx5IHdoZW4gdGhlIHJlZ2lzdHJ5XG4gICAgLy8gc3RpbGwgaG9sZHMgdGhlIENBTExFUidTIHJlZ2lzdHJhdGlvbiwgc28gYW4gdW5tb3VudGluZyBpbnN0YW5jZSBjYW4gbmV2ZXJcbiAgICAvLyB3aXBlIGEgc2FtZS1uYW1lIHNpYmxpbmcncyBvciBzdWNjZXNzb3IncyBlbnRyeS5cbiAgICBjb25zdCB1bnJlZ2lzdGVyVHJhbnNmb3JtID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgZm4pID0+IHtcbiAgICAgICAgaWYgKGZuID09PSB1bmRlZmluZWQgfHwgdHJhbnNmb3JtS2V5UmVmLmN1cnJlbnRbbmFtZV0gPT09IGZuKSB7XG4gICAgICAgICAgICBkZWxldGUgdHJhbnNmb3JtS2V5UmVmLmN1cnJlbnRbbmFtZV07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZWdpc3RlclZhbHVlVHlwZSA9IHVzZU1lbW9pemVkRm4oKG5hbWUsIHZhbHVlVHlwZSkgPT4ge1xuICAgICAgICB2YWx1ZVR5cGVSZWYuY3VycmVudFtuYW1lXSA9IHZhbHVlVHlwZTtcbiAgICB9KTtcbiAgICBjb25zdCB1bnJlZ2lzdGVyVmFsdWVUeXBlID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgdmFsdWVUeXBlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZVR5cGUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZVR5cGVSZWYuY3VycmVudFtuYW1lXSA9PT0gdmFsdWVUeXBlKSB7XG4gICAgICAgICAgICBkZWxldGUgdmFsdWVUeXBlUmVmLmN1cnJlbnRbbmFtZV07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBvbkZpbmlzaFJlZiA9IHVzZUxhdGVzdChvbkZpbmlzaCk7XG4gICAgY29uc3Qgb25Jbml0UmVmID0gdXNlTGF0ZXN0KG9uSW5pdCk7XG4gICAgY29uc3Qgb25Mb2FkaW5nQ2hhbmdlUmVmID0gdXNlTGF0ZXN0KG9uTG9hZGluZ0NoYW5nZSk7XG4gICAgLy8gU3VibWl0IHBpcGVsaW5lOiBkYXRlcyDihpIgZmllbGQgdHJhbnNmb3JtcyDihpIgb21pdE5pbFxuICAgIGNvbnN0IGFwcGx5UGlwZWxpbmUgPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGZvcm1hdERhdGVWYWx1ZXModmFsdWVzLCBkYXRlRm9ybWF0dGVyLCB2YWx1ZVR5cGVSZWYuY3VycmVudCk7XG4gICAgICAgIHJlc3VsdCA9IHRyYW5zZm9ybVN1Ym1pdFZhbHVlcyhyZXN1bHQsIHRyYW5zZm9ybUtleVJlZi5jdXJyZW50KTtcbiAgICAgICAgaWYgKG9taXROaWwpXG4gICAgICAgICAgICByZXN1bHQgPSBvbWl0TmlsVmFsdWVzKHJlc3VsdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG4gICAgLy8gU2FtZSBwaXBlbGluZSBXSVRIT1VUIG9taXROaWwg4oCUIHNpbmdsZS1maWVsZCByZWFkZXJzIG11c3Qgbm90IHNlZSBhIGZpZWxkXG4gICAgLy8gdmFuaXNoIGp1c3QgYmVjYXVzZSBpdHMgY3VycmVudCB2YWx1ZSBpcyBlbXB0eS5cbiAgICBjb25zdCBmb3JtYXRWYWx1ZXNLZWVwTmlsID0gdXNlTWVtb2l6ZWRGbigodmFsdWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZvcm1hdERhdGVWYWx1ZXModmFsdWVzLCBkYXRlRm9ybWF0dGVyLCB2YWx1ZVR5cGVSZWYuY3VycmVudCk7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1TdWJtaXRWYWx1ZXMocmVzdWx0LCB0cmFuc2Zvcm1LZXlSZWYuY3VycmVudCk7XG4gICAgfSk7XG4gICAgLy8g4pSA4pSAIFVSTCBzeW5jIChzeW5jVG9VcmwgLyBzeW5jVG9VcmxBc0ltcG9ydGFudCAvIGV4dHJhVXJsUGFyYW1zKSDilIDilIBcbiAgICBjb25zdCB7IHVybEluaXRpYWxWYWx1ZXMsIG9uVXJsU3luY0ZpbmlzaCwgb25VcmxTeW5jUmVzZXQgfSA9IHVzZVVybFN5bmMoe1xuICAgICAgICBzeW5jVG9VcmwsXG4gICAgICAgIGV4dHJhVXJsUGFyYW1zLFxuICAgIH0pO1xuICAgIC8vIGluaXRpYWxWYWx1ZXMgaXMgTU9VTlQtT05MWSAoZG9jdW1lbnRlZCBjb250cmFjdDsgdXNlRm9ybUNvcmUgcmUtZnJlZXplc1xuICAgIC8vIGFzIGEgc2FmZXR5IG5ldCkg4oCUIGNvbXB1dGUgdGhlIFVSTCBtZXJnZSBvbmNlIHNvIHRoZSBmcmVlemUgaXMgdmlzaWJsZVxuICAgIC8vIHdoZXJlIHRoZSBwcm9wcyBlbnRlciwgaW5zdGVhZCBvZiByZWNvbXB1dGluZyBkZWFkIHNwcmVhZHMgcGVyIHJlbmRlci5cbiAgICBjb25zdCBtZXJnZWRJbml0aWFsVmFsdWVzUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGlmIChtZXJnZWRJbml0aWFsVmFsdWVzUmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgbWVyZ2VkSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0gc3luY1RvVXJsXG4gICAgICAgICAgICA/IChzeW5jVG9VcmxBc0ltcG9ydGFudFxuICAgICAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBpbml0aWFsVmFsdWVzKSwgdXJsSW5pdGlhbFZhbHVlcykgOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHVybEluaXRpYWxWYWx1ZXMpLCBpbml0aWFsVmFsdWVzKSlcbiAgICAgICAgICAgIDogKGluaXRpYWxWYWx1ZXMgIT09IG51bGwgJiYgaW5pdGlhbFZhbHVlcyAhPT0gdm9pZCAwID8gaW5pdGlhbFZhbHVlcyA6IHt9KTtcbiAgICB9XG4gICAgY29uc3QgbWVyZ2VkSW5pdGlhbFZhbHVlcyA9IG1lcmdlZEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudDtcbiAgICAvLyBCdW1wZWQgb24gZXZlcnkgcmVzZXQg4oCUIGFuIGluLWZsaWdodCBzdWJtaXQgY2FwdHVyZXMgaXQgYW5kIGFib3J0cyB3aGVuXG4gICAgLy8gaXQgY2hhbmdlZCB1bmRlcm5lYXRoICh0aGUgdXNlciBkaXNjYXJkZWQgdGhlIHN1Ym1pc3Npb24ncyB2YWx1ZXMpLlxuICAgIGNvbnN0IHJlc2V0RXBvY2hSZWYgPSB1c2VSZWYoMCk7XG4gICAgLy8gUmVzZXQgY2hhaW46IGZvcm0tbGV2ZWwgb25SZXNldCByZWNlaXZlcyB0aGUgKHBvc3QtcmVzZXQpIGZvcm1hdHRlZFxuICAgIC8vIHZhbHVlcywgdGhlbiB0aGUgZm9ybSdzIG93biBVUkwgcGFyYW1zIGFyZSBjbGVhcmVkLiB1c2VNZW1vaXplZEZuIGRlZmVyc1xuICAgIC8vIGV4ZWN1dGlvbiB0byBldmVudCB0aW1lLCB3aGVuIGBmb3JtSW5zdGFuY2VgIChjcmVhdGVkIGp1c3QgYmVsb3cpIGV4aXN0cy5cbiAgICBjb25zdCBmaXJlRm9ybVJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHJlc2V0RXBvY2hSZWYuY3VycmVudCArPSAxO1xuICAgICAgICBjb25zdCBmaW5hbFZhbHVlcyA9IGFwcGx5UGlwZWxpbmUoZm9ybUluc3RhbmNlLmdldEZpZWxkc1ZhbHVlKCkpO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoZmluYWxWYWx1ZXMpO1xuICAgICAgICBvblVybFN5bmNSZXNldCgpO1xuICAgIH0pO1xuICAgIC8vIOKUgOKUgCBGb3JtIGVuZ2luZSAodXNlRm9ybSB3aXRoIGFzeW5jIHZhbGlkYXRpb24pIOKUgOKUgFxuICAgIGNvbnN0IHsgZm9ybUluc3RhbmNlLCBpbnRlcm5hbHMsIHN0b3JlIH0gPSB1c2VGb3JtKHtcbiAgICAgICAgaW5pdGlhbFZhbHVlczogbWVyZ2VkSW5pdGlhbFZhbHVlcyxcbiAgICAgICAgb25WYWx1ZXNDaGFuZ2UsXG4gICAgICAgIG9uUmVzZXQ6IGZpcmVGb3JtUmVzZXQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgfSk7XG4gICAgLy8g4pSA4pSAIEFzeW5jIHN1Ym1pdCB3aXRoIHRyYW5zZm9ybSBwaXBlbGluZSDilIDilIBcbiAgICAvLyBSZS1lbnRyeSBndWFyZDogYSBzZWNvbmQgc3VibWl0IHdoaWxlIG9uZSBpcyBpbiBmbGlnaHQgaXMgaWdub3JlZCAodGhlXG4gICAgLy8gcmVmIGNhdGNoZXMgdHdvIGNhbGxzIGluIHRoZSBzYW1lIHRpY2spLlxuICAgIGNvbnN0IHdyYXBwZWRIYW5kbGVTdWJtaXQgPSB1c2VFdmVudENhbGxiYWNrKChlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoc3VibWl0dGluZ1JlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBzdWJtaXR0aW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKHRydWUpO1xuICAgICAgICAoX2EgPSBvbkxvYWRpbmdDaGFuZ2VSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwob25Mb2FkaW5nQ2hhbmdlUmVmLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZXBvY2ggPSByZXNldEVwb2NoUmVmLmN1cnJlbnQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0ZWRWYWx1ZXMgPSB5aWVsZCBmb3JtSW5zdGFuY2UudmFsaWRhdGVGaWVsZHMoKTtcbiAgICAgICAgICAgIC8vIEEgcmVzZXQgZHVyaW5nIChhc3luYykgdmFsaWRhdGlvbiBkaXNjYXJkcyB0aGlzIHN1Ym1pc3Npb24gZW50aXJlbHk6XG4gICAgICAgICAgICAvLyB2YWxpZGF0ZUZpZWxkcyByZS1yZWFkcyB0aGUgbGl2ZSBzdG9yZSwgc28gcHJvY2VlZGluZyB3b3VsZCBoYW5kXG4gICAgICAgICAgICAvLyBvbkZpbmlzaCB0aGUgUE9TVC1yZXNldCB2YWx1ZXMuXG4gICAgICAgICAgICBpZiAoZXBvY2ggIT09IHJlc2V0RXBvY2hSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBwaXBlbGluZWQgPSBhcHBseVBpcGVsaW5lKHZhbGlkYXRlZFZhbHVlcyk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB5aWVsZCAoKF9iID0gb25GaW5pc2hSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwob25GaW5pc2hSZWYsIHBpcGVsaW5lZCkpO1xuICAgICAgICAgICAgLy8gU3luYyB0aGUgVVJMIHVubGVzcyBvbkZpbmlzaCBleHBsaWNpdGx5IHJldHVybmVkIGZhbHNlIChhIHRocm93IGFib3ZlXG4gICAgICAgICAgICAvLyBhbHNvIHNraXBzIOKAlCBhIGZhaWxlZCBzdWJtaXQgbXVzdCBub3QgcG9sbHV0ZSB0aGUgVVJMKSwgYW5kIG9ubHkgaWZcbiAgICAgICAgICAgIC8vIHRoZSB1c2VyIGRpZCBOT1QgcmVzZXQgdGhlIGZvcm0gd2hpbGUgdGhlIHN1Ym1pdCB3YXMgaW4gZmxpZ2h0LlxuICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gZmFsc2UgJiYgZXBvY2ggPT09IHJlc2V0RXBvY2hSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIG9uVXJsU3luY0ZpbmlzaChwaXBlbGluZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIEEgcmVzZXQgZHVyaW5nIHZhbGlkYXRpb24gYWxzbyBpbnZhbGlkYXRlcyB0aGUgRkFJTFVSRSBjYWxsYmFjayDigJRcbiAgICAgICAgICAgIC8vIHRoZSBlcnJvciBjYXJyaWVzIHBvc3QtcmVzZXQgdmFsdWVzIGZvciBhIGRpc2NhcmRlZCBzdWJtaXNzaW9uLlxuICAgICAgICAgICAgLy8gKEZpZWxkIGVycm9ycyBmcm9tIHRoZSBkZWFkIHZhbGlkYXRpb24gYXJlIHN1cHByZXNzZWQgYnkgdGhlXG4gICAgICAgICAgICAvLyBwZXItZmllbGQgdmFsaWRhdGlvbiBlcG9jaHM6IHJlc2V0RmllbGRzIGludmFsaWRhdGVzIGluLWZsaWdodCBydW5zLilcbiAgICAgICAgICAgIGlmIChlcG9jaCAhPT0gcmVzZXRFcG9jaFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIE9ubHkgYSBWQUxJREFUSU9OIGZhaWx1cmUgcm91dGVzIHRvIG9uRmluaXNoRmFpbGVkLiBBbiBleGNlcHRpb24gb3V0XG4gICAgICAgICAgICAvLyBvZiB0aGUgY29uc3VtZXIncyBvd24gb25GaW5pc2ggaXMgbm90IGEgdmFsaWRhdGlvbiByZXN1bHQ6IHRoZSBzdWJtaXRcbiAgICAgICAgICAgIC8vIGZhaWxzIChVUkwgdW50b3VjaGVkLCBvdmVybGF5IHN0YXlzIG9wZW4pIGFuZCB0aGUgZXJyb3IgaXMgc3VyZmFjZWRcbiAgICAgICAgICAgIC8vIG9uIHRoZSBjb25zb2xlIGluc3RlYWQgb2YgYmVpbmcgbWlzcmVwb3J0ZWQgd2l0aCBhbiBlbXB0eSBwYXlsb2FkLlxuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEZvcm1WYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvbkZpbmlzaEZhaWxlZCA9PT0gbnVsbCB8fCBvbkZpbmlzaEZhaWxlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25GaW5pc2hGYWlsZWQoeyB2YWx1ZXM6IGVyci52YWx1ZXMsIGVycm9yczogZXJyLmVycm9ycyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tQcm9Gb3JtXSBvbkZpbmlzaCB0aHJldyBkdXJpbmcgc3VibWl0OicsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBzdWJtaXR0aW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgKF9jID0gb25Mb2FkaW5nQ2hhbmdlUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5jYWxsKG9uTG9hZGluZ0NoYW5nZVJlZiwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSkpO1xuICAgIC8vIOKUgOKUgCBQcm9Gb3JtIGluc3RhbmNlOiBzdXBlcnNldCBvZiBGb3JtSW5zdGFuY2Ug4pSA4pSAXG4gICAgY29uc3QgcHJvRm9ybUZvcm1JbnN0YW5jZSA9IHVzZU1lbW8oKCkgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZm9ybUluc3RhbmNlKSwgeyBnZXRGaWVsZHNGb3JtYXRWYWx1ZTogKCkgPT4gYXBwbHlQaXBlbGluZShmb3JtSW5zdGFuY2UuZ2V0RmllbGRzVmFsdWUoKSksIGdldEZpZWxkRm9ybWF0VmFsdWU6IChuYW1lKSA9PiByZXNvbHZlVmFsdWUoZm9ybWF0VmFsdWVzS2VlcE5pbChmb3JtSW5zdGFuY2UuZ2V0RmllbGRzVmFsdWUoKSksIG5hbWUpLCBnZXRGaWVsZEZvcm1hdFZhbHVlT2JqZWN0OiAobmFtZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0VmFsdWVzS2VlcE5pbChmb3JtSW5zdGFuY2UuZ2V0RmllbGRzVmFsdWUoKSk7XG4gICAgICAgICAgICBpZiAoIW5hbWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZDtcbiAgICAgICAgICAgIC8vIEEgbmVzdGVkIG9iamVjdCBjYXJyeWluZyBPTkxZIHRoZSByZXF1ZXN0ZWQgbGVhZiDigJQgbm90IHRoZSB3aG9sZVxuICAgICAgICAgICAgLy8gdG9wLWxldmVsIHN1YnRyZWUgdGhlIHBhdGggaGFwcGVucyB0byBsaXZlIGluLlxuICAgICAgICAgICAgcmV0dXJuIHNldE5lc3RlZFZhbHVlKHt9LCBuYW1lLCByZXNvbHZlVmFsdWUoZm9ybWF0dGVkLCBuYW1lKSk7XG4gICAgICAgIH0sIHZhbGlkYXRlRmllbGRzUmV0dXJuRm9ybWF0VmFsdWU6ICgpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxzID0geWllbGQgZm9ybUluc3RhbmNlLnZhbGlkYXRlRmllbGRzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgdmFsdWVzOiBhcHBseVBpcGVsaW5lKHZhbHMpIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgLy8gdmFsaWRhdGVGaWVsZHMgcmVqZWN0cyB3aXRoIGFuIEVycm9yIGNhcnJ5aW5nIHRoZSBmaWVsZCBlcnJvcnMgbWFwXG4gICAgICAgICAgICAgICAgLy8gKHNhbWUgc2hhcGUgd3JhcHBlZEhhbmRsZVN1Ym1pdCBjb25zdW1lcyBhYm92ZSkuXG4gICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvcnMgfSA9IGVycjtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3JzOiBlcnJvcnMgIT09IG51bGwgJiYgZXJyb3JzICE9PSB2b2lkIDAgPyBlcnJvcnMgOiB7fSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSwgc3VibWl0Rm9ybTogd3JhcHBlZEhhbmRsZVN1Ym1pdCB9KSksIFtmb3JtSW5zdGFuY2UsIGFwcGx5UGlwZWxpbmUsIHdyYXBwZWRIYW5kbGVTdWJtaXRdKTtcbiAgICAvLyDilIDilIAgU3luYyB0byBmb3JtUmVmIHByb3Ag4pSA4pSAXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGZvcm1SZWYpIHtcbiAgICAgICAgICAgIGZvcm1SZWYuY3VycmVudCA9IHByb0Zvcm1Gb3JtSW5zdGFuY2U7XG4gICAgICAgIH1cbiAgICB9LCBbZm9ybVJlZiwgcHJvRm9ybUZvcm1JbnN0YW5jZV0pO1xuICAgIC8vIOKUgOKUgCByZXF1ZXN0IC8gcGFyYW1zIGF1dG8tbG9hZCDilIDilIBcbiAgICBjb25zdCByZXF1ZXN0UmVmID0gdXNlTGF0ZXN0KHJlcXVlc3QpO1xuICAgIGNvbnN0IGhhc1JlcXVlc3QgPSAhIXJlcXVlc3Q7XG4gICAgY29uc3Qgc2VyaWFsaXplZFBhcmFtcyA9IHVzZU1lbW8oKCkgPT4gc3RhYmxlU2VyaWFsaXplKHBhcmFtcyksIFtwYXJhbXNdKTtcbiAgICAvLyBvbkluaXQgZmlyZXMgZXhhY3RseSBvbmNlOiBhZnRlciB0aGUgRklSU1QgcmVxdWVzdCByZXNvbHZlcyB3aGVuIGFcbiAgICAvLyByZXF1ZXN0IGlzIGNvbmZpZ3VyZWQsIG90aGVyd2lzZSByaWdodCBhZnRlciBtb3VudC5cbiAgICBjb25zdCBpbml0RmlyZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGZpcmVJbml0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGluaXRGaXJlZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpbml0RmlyZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIChfYSA9IG9uSW5pdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChvbkluaXRSZWYsIGFwcGx5UGlwZWxpbmUoZm9ybUluc3RhbmNlLmdldEZpZWxkc1ZhbHVlKCkpLCBwcm9Gb3JtRm9ybUluc3RhbmNlKTtcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBTdGFsZW5lc3MgZ3VhcmQ6IGlmIHBhcmFtcyBjaGFuZ2UgYWdhaW4gYmVmb3JlIHRoaXMgZmV0Y2ggcmVzb2x2ZXMsIHRoZVxuICAgICAgICAvLyBjbGVhbnVwIG1hcmtzIGl0IHN0YWxlIHNvIHRoZSBsYXRlIHJlc3BvbnNlIGNhbid0IG92ZXJ3cml0ZSB0aGUgdmFsdWVzXG4gICAgICAgIC8vIGEgbmV3ZXIgcmVxdWVzdCBhbHJlYWR5IChvciB3aWxsKSBzZXQuXG4gICAgICAgIGxldCBzdGFsZSA9IGZhbHNlO1xuICAgICAgICBjb25zdCBmZXRjaERhdGEgPSAoKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RGbiA9IHJlcXVlc3RSZWYuY3VycmVudDtcbiAgICAgICAgICAgIGlmICghcmVxdWVzdEZuKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHNldFJlcXVlc3RMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgcmVxdWVzdEZuKHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGFsZSAmJiBkYXRhICYmIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBmb3JtSW5zdGFuY2Uuc2V0RmllbGRzVmFsdWUoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIC8vIEEgZmFpbGVkIHJlcXVlc3QgbXVzdCBub3QgZXNjYXBlIGFzIGFuIHVuaGFuZGxlZCByZWplY3Rpb24g4oCUIHRoZVxuICAgICAgICAgICAgICAgIC8vIGZvcm0ga2VlcHMgaXRzIGluaXRpYWxWYWx1ZXMgYW5kIHRoZSBmYWlsdXJlIGlzIHN1cmZhY2VkIG9uIHRoZVxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUgKG1pcnJvcnMgdGhlIGZpZWxkLWxldmVsIHVzZUZpZWxkUmVxdWVzdCBoYW5kbGluZykuXG4gICAgICAgICAgICAgICAgaWYgKCFzdGFsZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdbUHJvRm9ybV0gcmVxdWVzdCBmYWlsZWQ6JywgZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBpZiAoIXN0YWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFJlcXVlc3RMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gT25seSBhIE5PTi1zdXBlcnNlZGVkIHNldHRsZSBpbml0aWFsaXplcyB0aGUgZm9ybTogYSBzdGFsZVxuICAgICAgICAgICAgICAgICAgICAvLyByZXF1ZXN0J3MgZGF0YSB3YXMgZGlzY2FyZGVkLCBzbyBpdHMgdmFsdWVzIG11c3Qgbm90IGJlIHJlcG9ydGVkLlxuICAgICAgICAgICAgICAgICAgICBmaXJlSW5pdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXF1ZXN0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGZldGNoRGF0YSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZmlyZUluaXQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgc3RhbGUgPSB0cnVlO1xuICAgICAgICB9O1xuICAgICAgICAvLyBSZS1mZXRjaCB3aGVuIHBhcmFtcyBjaGFuZ2UgYnkgVkFMVUUgKGRlcGVuZGluZyBvbiB0aGUgcmF3IGBwYXJhbXNgXG4gICAgICAgIC8vIHJlZmVyZW5jZSB3b3VsZCByZS1ydW4gb24gZXZlcnkgcmVuZGVyIGZvciBpbmxpbmUgb2JqZWN0IGxpdGVyYWxzIGFuZCxcbiAgICAgICAgLy8gY29tYmluZWQgd2l0aCB0aGUgbG9hZGluZyBzZXRTdGF0ZSwgbG9vcCBmb3JldmVyKSDigJQgYW5kIHdoZW4gYHJlcXVlc3RgXG4gICAgICAgIC8vIGZpcnN0IGJlY29tZXMgZGVmaW5lZCAoZS5nLiBiZWhpbmQgYSBmZWF0dXJlIGZsYWcpLCBtaXJyb3JpbmdcbiAgICAgICAgLy8gdXNlRmllbGRSZXF1ZXN0LiBmaXJlSW5pdCdzIG9uY2UtZ3VhcmQga2VlcHMgb25Jbml0IGZyb20gcmUtZmlyaW5nLlxuICAgIH0sIFtzZXJpYWxpemVkUGFyYW1zLCBoYXNSZXF1ZXN0XSk7XG4gICAgLy8g4pSA4pSAIGF1dG9Gb2N1c0ZpcnN0SW5wdXQg4pSA4pSAXG4gICAgY29uc3QgZm9ybUVsUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFhdXRvRm9jdXNGaXJzdElucHV0IHx8IG1vZGUgPT09ICdyZWFkJylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgZmlyc3RJbnB1dCA9IChfYSA9IGZvcm1FbFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucXVlcnlTZWxlY3RvcignaW5wdXQ6bm90KFt0eXBlPVwiaGlkZGVuXCJdKTpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgc2VsZWN0Om5vdChbZGlzYWJsZWRdKScpO1xuICAgICAgICBmaXJzdElucHV0ID09PSBudWxsIHx8IGZpcnN0SW5wdXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpcnN0SW5wdXQuZm9jdXMoKTtcbiAgICAgICAgLy8gTW91bnQtb25seSBieSBkZXNpZ24uXG4gICAgfSwgW10pO1xuICAgIC8vIOKUgOKUgCBTcGxpdCBjb250ZXh0IOKUgOKUgFxuICAgIC8vIEZvcm0tbGV2ZWwgcHJvcCBiYWdzIGFyZSBvZnRlbiBpbmxpbmUgbGl0ZXJhbHM6IGtlZXAgdGhlaXIgaWRlbnRpdHlcbiAgICAvLyBzdGFibGUgd2hpbGUgc2hhbGxvdy1lcXVhbCBzbyB0aGUgc3RhYmxlIHNsaWNlIGRvZXNuJ3QgY2h1cm4gcGVyIHJlbmRlci5cbiAgICBjb25zdCBzdGFibGVGaWVsZFByb3BzID0gdXNlU2hhbGxvd1N0YWJsZShmaWVsZFByb3BzKTtcbiAgICBjb25zdCBzdGFibGVGb3JtSXRlbVByb3BzID0gdXNlU2hhbGxvd1N0YWJsZShmb3JtSXRlbVByb3BzKTtcbiAgICBjb25zdCBzdGFibGVDb2xQcm9wcyA9IHVzZVNoYWxsb3dTdGFibGUoY29sUHJvcHMpO1xuICAgIGNvbnN0IHN0YWJsZUxheW91dCA9IHVzZVNoYWxsb3dTdGFibGUobGF5b3V0KTtcbiAgICAvLyBTdGFibGUgc2xpY2U6IGNvbmZpZ3VyYXRpb24gKyBpZGVudGl0eS1zdGFibGUgZGlzcGF0Y2hlcnMvaW5zdGFuY2UuXG4gICAgLy8gQ2hhbmdlcyBvbmx5IHdoZW4gZm9ybS1sZXZlbCBwcm9wcyBjaGFuZ2Ug4oCUIE5PVCBvbiBrZXlzdHJva2VzLCBzb1xuICAgIC8vIHN1YnNjcmliZXJzIGxpa2UgU3VibWl0dGVyIGFuZCB0aGUgZmllbGQgZmFjdG9yaWVzIHNraXAgdGhvc2UgcmVuZGVycy5cbiAgICBjb25zdCBzdGFibGVWYWx1ZSA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAgICAgZm9ybUluc3RhbmNlOiBwcm9Gb3JtRm9ybUluc3RhbmNlLFxuICAgICAgICBzZXRGaWVsZFZhbHVlOiBpbnRlcm5hbHMuc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgc2V0RmllbGRFcnJvcjogaW50ZXJuYWxzLnNldEZpZWxkRXJyb3IsXG4gICAgICAgIHNldEZpZWxkV2FybmluZzogaW50ZXJuYWxzLnNldEZpZWxkV2FybmluZyxcbiAgICAgICAgdmFsaWRhdGVGaWVsZDogaW50ZXJuYWxzLnZhbGlkYXRlRmllbGQsXG4gICAgICAgIHZhbGlkYXRlRmllbGRBc3luYzogaW50ZXJuYWxzLnZhbGlkYXRlRmllbGRBc3luYyxcbiAgICAgICAgcmVnaXN0ZXJGaWVsZDogaW50ZXJuYWxzLnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIHVucmVnaXN0ZXJGaWVsZDogaW50ZXJuYWxzLnVucmVnaXN0ZXJGaWVsZCxcbiAgICAgICAgcmV0YWluRmllbGQ6IGludGVybmFscy5yZXRhaW5GaWVsZCxcbiAgICAgICAgcmVsZWFzZUZpZWxkOiBpbnRlcm5hbHMucmVsZWFzZUZpZWxkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICAvLyBTdWJtaXR0aW5nL2xvYWRpbmcgZG9lcyBOT1QgZGlzYWJsZSBmaWVsZHMg4oCUIG9ubHkgdGhlXG4gICAgICAgIC8vIGV4cGxpY2l0IGBkaXNhYmxlZGAgcHJvcCBkb2VzLiBLZWVwaW5nIGlzTG9hZGluZyBvdXQgb2YgdGhpcyBzbGljZVxuICAgICAgICAvLyBtZWFucyBhIHN1Ym1pdCBjeWNsZSBubyBsb25nZXIgcmUtcmVuZGVycyBldmVyeSBmaWVsZCBzaGVsbC5cbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHZhbGlkYXRlVHJpZ2dlcixcbiAgICAgICAgLy8gUHJvRm9ybSBzcGVjaWZpY3NcbiAgICAgICAgbW9kZSxcbiAgICAgICAgZ3JpZCxcbiAgICAgICAgY29sUHJvcHM6IHN0YWJsZUNvbFByb3BzICE9PSBudWxsICYmIHN0YWJsZUNvbFByb3BzICE9PSB2b2lkIDAgPyBzdGFibGVDb2xQcm9wcyA6IERFRkFVTFRfQ09MX1BST1BTLFxuICAgICAgICByZWdpc3RlclRyYW5zZm9ybSxcbiAgICAgICAgdW5yZWdpc3RlclRyYW5zZm9ybSxcbiAgICAgICAgcmVnaXN0ZXJWYWx1ZVR5cGUsXG4gICAgICAgIHVucmVnaXN0ZXJWYWx1ZVR5cGUsXG4gICAgICAgIGZpZWxkUHJvcHM6IHN0YWJsZUZpZWxkUHJvcHMsXG4gICAgICAgIGZvcm1JdGVtUHJvcHM6IHN0YWJsZUZvcm1JdGVtUHJvcHMsXG4gICAgICAgIGxheW91dDogc3RhYmxlTGF5b3V0LFxuICAgICAgICBmb3JtQ29tcG9uZW50VHlwZSxcbiAgICB9KSwgW1xuICAgICAgICBwcm9Gb3JtRm9ybUluc3RhbmNlLFxuICAgICAgICBpbnRlcm5hbHMuc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgaW50ZXJuYWxzLnNldEZpZWxkRXJyb3IsXG4gICAgICAgIGludGVybmFscy5zZXRGaWVsZFdhcm5pbmcsXG4gICAgICAgIGludGVybmFscy52YWxpZGF0ZUZpZWxkLFxuICAgICAgICBpbnRlcm5hbHMudmFsaWRhdGVGaWVsZEFzeW5jLFxuICAgICAgICBpbnRlcm5hbHMucmVnaXN0ZXJGaWVsZCxcbiAgICAgICAgaW50ZXJuYWxzLnVucmVnaXN0ZXJGaWVsZCxcbiAgICAgICAgaW50ZXJuYWxzLnJldGFpbkZpZWxkLFxuICAgICAgICBpbnRlcm5hbHMucmVsZWFzZUZpZWxkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgdmFsaWRhdGVUcmlnZ2VyLFxuICAgICAgICBtb2RlLFxuICAgICAgICBncmlkLFxuICAgICAgICBzdGFibGVDb2xQcm9wcyxcbiAgICAgICAgcmVnaXN0ZXJUcmFuc2Zvcm0sXG4gICAgICAgIHVucmVnaXN0ZXJUcmFuc2Zvcm0sXG4gICAgICAgIHJlZ2lzdGVyVmFsdWVUeXBlLFxuICAgICAgICB1bnJlZ2lzdGVyVmFsdWVUeXBlLFxuICAgICAgICBzdGFibGVGaWVsZFByb3BzLFxuICAgICAgICBzdGFibGVGb3JtSXRlbVByb3BzLFxuICAgICAgICBzdGFibGVMYXlvdXQsXG4gICAgICAgIGZvcm1Db21wb25lbnRUeXBlLFxuICAgIF0pO1xuICAgIGNvbnN0IFdyYXBwZXJDb21wb25lbnQgPSBncmlkID8gUm93IDogRnJhZ21lbnQ7XG4gICAgY29uc3Qgd3JhcHBlclByb3BzID0gZ3JpZCA/IE9iamVjdC5hc3NpZ24oe30sIHJvd1Byb3BzKSA6IHt9O1xuICAgIC8vIFJlc2V0IGNhbGxiYWNrIGNoYWluOiB0aGUgU3VibWl0dGVyIHJlc2V0cyB0aGUgdmFsdWVzIGZpcnN0LCB0aGVuIHRoZVxuICAgIC8vIHN1Ym1pdHRlci1sZXZlbCBvblJlc2V0LCB0aGVuIHRoZSBmb3JtLWxldmVsIG9uUmVzZXQgKHdpdGggZmluYWxWYWx1ZXMpXG4gICAgLy8gYW5kIHRoZSBVUkwgY2xlYW51cCDigJQgZmlyZWQgZXhhY3RseSBvbmNlIHBlciByZXNldCBhY3Rpb24uXG4gICAgY29uc3QgaGFuZGxlU3VibWl0dGVyUmVzZXQgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAodHlwZW9mIHN1Ym1pdHRlciA9PT0gJ29iamVjdCcpXG4gICAgICAgICAgICAoX2EgPSBzdWJtaXR0ZXIub25SZXNldCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoc3VibWl0dGVyKTtcbiAgICAgICAgZmlyZUZvcm1SZXNldCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IHN1Ym1pdHRlck5vZGUgPSBzdWJtaXR0ZXIgIT09IGZhbHNlICYmIG1vZGUgIT09ICdyZWFkJyA/IChfanN4KFN1Ym1pdHRlciwgT2JqZWN0LmFzc2lnbih7fSwgKHR5cGVvZiBzdWJtaXR0ZXIgPT09ICdvYmplY3QnID8gc3VibWl0dGVyIDoge30pLCB7IG9uUmVzZXQ6IGhhbmRsZVN1Ym1pdHRlclJlc2V0LCBsb2FkaW5nOiBpc0xvYWRpbmcgfSkpKSA6IG51bGw7XG4gICAgcmV0dXJuIChfanN4KFByb0Zvcm1TdGFibGVDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiBzdGFibGVWYWx1ZSwgY2hpbGRyZW46IF9qc3goUHJvRm9ybVN0YXRlQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogc3RvcmUsIGNoaWxkcmVuOiBfanN4cyhcImZvcm1cIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IGZvcm1FbFJlZiwgY2xhc3NOYW1lOiBmb3JtQ2xhc3Nlcyh1bmRlZmluZWQsIGpvaW5DbHMoY2xhc3NlcygpLCBjbGFzc05hbWUpKSwgb25TdWJtaXQ6IHdyYXBwZWRIYW5kbGVTdWJtaXQsIG9uUmVzZXQ6IGludGVybmFscy5oYW5kbGVSZXNldCwgY2hpbGRyZW46IFtfanN4KFdyYXBwZXJDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHdyYXBwZXJQcm9wcywgeyBjaGlsZHJlbjogY2hpbGRyZW4gfSkpLCBzdWJtaXR0ZXJOb2RlXSB9KSkgfSkgfSkpO1xufTtcblByb0Zvcm1CYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm0nO1xuZXhwb3J0IGNvbnN0IFByb0Zvcm0gPSBtZW1vKFByb0Zvcm1CYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm07IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
513
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm0udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3VzZUxhdGVzdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlU2FmZVN0YXRlNSIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUV2ZW50Q2FsbGJhY2siLCJfY2xhc3NuYW1lcyIsIl9HcmlkIiwiX3VzZUZvcm0yIiwiX2NvbnRleHQ0IiwiX1N1Ym1pdHRlciIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJfZm9ybVN0b3JlIiwiX3VzZVVybFN5bmMyIiwiX3BhdGhVdGlscyIsIl92YWxpZGF0aW9uRXJyb3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiQ1NTX1BSRUZJWCIsImZvcm1DbGFzc2VzIiwiREVGQVVMVF9DT0xfUFJPUFMiLCJzcGFuIiwiUHJvRm9ybUJhc2UiLCJwcm9wcyIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwic3VibWl0dGVyIiwiX3Byb3BzJG1vZGUiLCJtb2RlIiwiX3Byb3BzJGdyaWQiLCJncmlkIiwiY29sUHJvcHMiLCJyb3dQcm9wcyIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsInJlcXVlc3QiLCJwYXJhbXMiLCJpbml0aWFsVmFsdWVzIiwib25GaW5pc2giLCJvbkZpbmlzaEZhaWxlZCIsIm9uVmFsdWVzQ2hhbmdlIiwib25SZXNldCIsIm9uSW5pdCIsIm9uTG9hZGluZ0NoYW5nZSIsInN5bmNUb1VybCIsIl9wcm9wcyRzeW5jVG9VcmxBc0ltcCIsInN5bmNUb1VybEFzSW1wb3J0YW50IiwiZXh0cmFVcmxQYXJhbXMiLCJfcHJvcHMkYXV0b0ZvY3VzRmlyc3QiLCJhdXRvRm9jdXNGaXJzdElucHV0IiwiZm9ybUNvbXBvbmVudFR5cGUiLCJmb3JtUmVmIiwiX3Byb3BzJG9taXROaWwiLCJvbWl0TmlsIiwiX3Byb3BzJGRhdGVGb3JtYXR0ZXIiLCJkYXRlRm9ybWF0dGVyIiwiZmllbGRQcm9wcyIsImZvcm1JdGVtUHJvcHMiLCJsYXlvdXQiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkbGFiZWxBbGlnbiIsImxhYmVsQWxpZ24iLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl9wcm9wcyR2YWxpZGF0ZVRyaWdnZSIsInZhbGlkYXRlVHJpZ2dlciIsIl9wcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJyZXN0IiwiX3VzZVNhZmVTdGF0ZSIsInVzZVNhZmVTdGF0ZSIsIl91c2VTYWZlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVxdWVzdExvYWRpbmciLCJzZXRSZXF1ZXN0TG9hZGluZyIsIl91c2VTYWZlU3RhdGUzIiwiX3VzZVNhZmVTdGF0ZTQiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsInN1Ym1pdHRpbmdSZWYiLCJ1c2VSZWYiLCJpc0xvYWRpbmciLCJ0cmFuc2Zvcm1LZXlSZWYiLCJ2YWx1ZVR5cGVSZWYiLCJyZWdpc3RlclRyYW5zZm9ybSIsInVzZU1lbW9pemVkRm4iLCJuYW1lIiwiZm4iLCJjdXJyZW50IiwidW5yZWdpc3RlclRyYW5zZm9ybSIsInVuZGVmaW5lZCIsInJlZ2lzdGVyVmFsdWVUeXBlIiwidmFsdWVUeXBlIiwidW5yZWdpc3RlclZhbHVlVHlwZSIsIm9uRmluaXNoUmVmIiwidXNlTGF0ZXN0Iiwib25Jbml0UmVmIiwib25Mb2FkaW5nQ2hhbmdlUmVmIiwiYXBwbHlQaXBlbGluZSIsInZhbHVlcyIsImZvcm1hdERhdGVWYWx1ZXMiLCJ0cmFuc2Zvcm1TdWJtaXRWYWx1ZXMiLCJvbWl0TmlsVmFsdWVzIiwiZm9ybWF0VmFsdWVzS2VlcE5pbCIsIl91c2VVcmxTeW5jIiwidXNlVXJsU3luYyIsInVybEluaXRpYWxWYWx1ZXMiLCJvblVybFN5bmNGaW5pc2giLCJvblVybFN5bmNSZXNldCIsIm1lcmdlZEluaXRpYWxWYWx1ZXNSZWYiLCJhc3NpZ24iLCJtZXJnZWRJbml0aWFsVmFsdWVzIiwicmVzZXRFcG9jaFJlZiIsImZpcmVGb3JtUmVzZXQiLCJmaW5hbFZhbHVlcyIsImZvcm1JbnN0YW5jZSIsImdldEZpZWxkc1ZhbHVlIiwiX3VzZUZvcm0iLCJ1c2VGb3JtIiwiaW50ZXJuYWxzIiwic3RvcmUiLCJ3cmFwcGVkSGFuZGxlU3VibWl0IiwidXNlRXZlbnRDYWxsYmFjayIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiX2EiLCJfYiIsIl9jIiwiZXBvY2giLCJ2YWxpZGF0ZWRWYWx1ZXMiLCJwaXBlbGluZWQiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJwcmV2ZW50RGVmYXVsdCIsImFicnVwdCIsInZhbGlkYXRlRmllbGRzIiwic2VudCIsIkZvcm1WYWxpZGF0aW9uRXJyb3IiLCJlcnJvcnMiLCJjb25zb2xlIiwiZXJyb3IiLCJmaW5pc2giLCJzdG9wIiwicHJvRm9ybUZvcm1JbnN0YW5jZSIsInVzZU1lbW8iLCJnZXRGaWVsZHNGb3JtYXRWYWx1ZSIsImdldEZpZWxkRm9ybWF0VmFsdWUiLCJyZXNvbHZlVmFsdWUiLCJnZXRGaWVsZEZvcm1hdFZhbHVlT2JqZWN0IiwiZm9ybWF0dGVkIiwic2V0TmVzdGVkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkc1JldHVybkZvcm1hdFZhbHVlIiwiX2NhbGxlZTIiLCJ2YWxzIiwiX3QyIiwiX2NvbnRleHQyIiwic3VjY2VzcyIsInN1Ym1pdEZvcm0iLCJ1c2VFZmZlY3QiLCJyZXF1ZXN0UmVmIiwiaGFzUmVxdWVzdCIsInNlcmlhbGl6ZWRQYXJhbXMiLCJzdGFibGVTZXJpYWxpemUiLCJpbml0RmlyZWRSZWYiLCJmaXJlSW5pdCIsInN0YWxlIiwiZmV0Y2hEYXRhIiwiX2NhbGxlZTMiLCJyZXF1ZXN0Rm4iLCJkYXRhIiwiX3QzIiwiX2NvbnRleHQzIiwiX3R5cGVvZjIiLCJzZXRGaWVsZHNWYWx1ZSIsImZvcm1FbFJlZiIsImZpcnN0SW5wdXQiLCJxdWVyeVNlbGVjdG9yIiwiZm9jdXMiLCJzdGFibGVGaWVsZFByb3BzIiwidXNlU2hhbGxvd1N0YWJsZSIsInN0YWJsZUZvcm1JdGVtUHJvcHMiLCJzdGFibGVDb2xQcm9wcyIsInN0YWJsZUxheW91dCIsInN0YWJsZVZhbHVlIiwic2V0RmllbGRWYWx1ZSIsInNldEZpZWxkRXJyb3IiLCJzZXRGaWVsZFdhcm5pbmciLCJ2YWxpZGF0ZUZpZWxkQXN5bmMiLCJyZWdpc3RlckZpZWxkIiwidW5yZWdpc3RlckZpZWxkIiwicmV0YWluRmllbGQiLCJyZWxlYXNlRmllbGQiLCJXcmFwcGVyQ29tcG9uZW50IiwiUm93IiwiRnJhZ21lbnQiLCJ3cmFwcGVyUHJvcHMiLCJoYW5kbGVTdWJtaXR0ZXJSZXNldCIsInN1Ym1pdHRlck5vZGUiLCJfanN4IiwiU3VibWl0dGVyIiwiUHJvRm9ybVN0YWJsZUNvbnRleHQiLCJQcm92aWRlciIsIlByb0Zvcm1TdGF0ZUNvbnRleHQiLCJfanN4cyIsInJlZiIsImpvaW5DbHMiLCJvblN1Ym1pdCIsImhhbmRsZVJlc2V0IiwiZGlzcGxheU5hbWUiLCJQcm9Gb3JtIiwiZXhwb3J0cyIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDcEJBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFPLGlCQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFOLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxLQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxTQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxTQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxVQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxVQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxNQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxVQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsWUFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQixVQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLGdCQUFBLEdBQUFsQixPQUFBO0FBQTZELFNBQUFtQix5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWxCLHdCQUFBa0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFB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RixXQUFXO1FBQUEzTCxRQUFBLEVBQUEsQ0FFOUIsSUFBQWtMLGVBQUEsRUFBQ04sZ0JBQWdCLEVBQUF0TixNQUFBLENBQUFpSSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUt3RixZQUFZLEVBQUE7VUFBQS9LLFFBQUEsRUFBR0E7UUFBUSxDQUFBLENBQUEsQ0FBb0IsRUFDaEVpTCxhQUFhO01BQUEsQ0FBQSxDQUFBO0lBQ1QsQ0FBQTtFQUNzQixDQUFBLENBQ0Q7QUFFcEMsQ0FBQztBQUVEbkwsV0FBVyxDQUFDOEwsV0FBVyxHQUFHLFNBQVM7QUFhNUIsSUFBTUMsT0FBTyxHQUFBQyxPQUFBLENBQUFELE9BQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDak0sV0FBVyxDQUE0QjtBQUFDLElBQUFrTSxRQUFBLEdBQUFGLE9BQUEsY0FFckRELE9BQU8iLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbnZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgbWVtbywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5pbXBvcnQgdXNlU2FmZVN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlU2FmZVN0YXRlJztcbmltcG9ydCB1c2VNZW1vaXplZEZuIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlTWVtb2l6ZWRGbic7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi9HcmlkJztcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuL2NvcmUvaG9va3MvdXNlRm9ybSc7XG5pbXBvcnQgeyBQcm9Gb3JtU3RhYmxlQ29udGV4dCwgUHJvRm9ybVN0YXRlQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgeyBTdWJtaXR0ZXIgfSBmcm9tICcuL1N1Ym1pdHRlcic7XG5pbXBvcnQgeyBDU1NfUFJFRklYIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgc3RhYmxlU2VyaWFsaXplLCB0cmFuc2Zvcm1TdWJtaXRWYWx1ZXMsIG9taXROaWxWYWx1ZXMsIGZvcm1hdERhdGVWYWx1ZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNoYWxsb3dTdGFibGUgfSBmcm9tICcuL2NvcmUvZm9ybVN0b3JlJztcbmltcG9ydCB7IHVzZVVybFN5bmMgfSBmcm9tICcuL2hvb2tzL3VzZVVybFN5bmMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlLCBzZXROZXN0ZWRWYWx1ZSB9IGZyb20gJy4vY29yZS9wYXRoVXRpbHMnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vY29yZS92YWxpZGF0aW9uRXJyb3InO1xuY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoQ1NTX1BSRUZJWCk7XG5jb25zdCBmb3JtQ2xhc3NlcyA9IGNsYXNzbmFtZXMoJ2Zvcm0nKTtcbmNvbnN0IERFRkFVTFRfQ09MX1BST1BTID0geyBzcGFuOiAyNCB9O1xuY29uc3QgUHJvRm9ybUJhc2UgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHN1Ym1pdHRlciwgbW9kZSA9ICdlZGl0JywgZ3JpZCA9IGZhbHNlLCBjb2xQcm9wcywgcm93UHJvcHMsIGxvYWRpbmcgPSBmYWxzZSwgcmVxdWVzdCwgcGFyYW1zLCBpbml0aWFsVmFsdWVzLCBvbkZpbmlzaCwgb25GaW5pc2hGYWlsZWQsIG9uVmFsdWVzQ2hhbmdlLCBvblJlc2V0LCBvbkluaXQsIG9uTG9hZGluZ0NoYW5nZSwgc3luY1RvVXJsLCBzeW5jVG9VcmxBc0ltcG9ydGFudCA9IGZhbHNlLCBleHRyYVVybFBhcmFtcywgYXV0b0ZvY3VzRmlyc3RJbnB1dCA9IGZhbHNlLCBmb3JtQ29tcG9uZW50VHlwZSwgZm9ybVJlZiwgb21pdE5pbCA9IHRydWUsIGRhdGVGb3JtYXR0ZXIgPSAnc3RyaW5nJywgZmllbGRQcm9wcywgZm9ybUl0ZW1Qcm9wcywgbGF5b3V0LCBzaXplID0gJ2xhcmdlJywgbGFiZWxBbGlnbiA9ICdsZWZ0JywgZGlzYWJsZWQgPSBmYWxzZSwgdmFsaWRhdGVUcmlnZ2VyID0gJ29uQ2hhbmdlJywgcHJlZml4Q2xzOiBfcHJlZml4Q2xzIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJzdWJtaXR0ZXJcIiwgXCJtb2RlXCIsIFwiZ3JpZFwiLCBcImNvbFByb3BzXCIsIFwicm93UHJvcHNcIiwgXCJsb2FkaW5nXCIsIFwicmVxdWVzdFwiLCBcInBhcmFtc1wiLCBcImluaXRpYWxWYWx1ZXNcIiwgXCJvbkZpbmlzaFwiLCBcIm9uRmluaXNoRmFpbGVkXCIsIFwib25WYWx1ZXNDaGFuZ2VcIiwgXCJvblJlc2V0XCIsIFwib25Jbml0XCIsIFwib25Mb2FkaW5nQ2hhbmdlXCIsIFwic3luY1RvVXJsXCIsIFwic3luY1RvVXJsQXNJbXBvcnRhbnRcIiwgXCJleHRyYVVybFBhcmFtc1wiLCBcImF1dG9Gb2N1c0ZpcnN0SW5wdXRcIiwgXCJmb3JtQ29tcG9uZW50VHlwZVwiLCBcImZvcm1SZWZcIiwgXCJvbWl0TmlsXCIsIFwiZGF0ZUZvcm1hdHRlclwiLCBcImZpZWxkUHJvcHNcIiwgXCJmb3JtSXRlbVByb3BzXCIsIFwibGF5b3V0XCIsIFwic2l6ZVwiLCBcImxhYmVsQWxpZ25cIiwgXCJkaXNhYmxlZFwiLCBcInZhbGlkYXRlVHJpZ2dlclwiLCBcInByZWZpeENsc1wiXSk7XG4gICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCBzZXRSZXF1ZXN0TG9hZGluZ10gPSB1c2VTYWZlU3RhdGUoZmFsc2UpO1xuICAgIC8vIHVzZVNhZmVTdGF0ZSBmb3IgdGhlIFJFTkRFUkVEIHN1Ym1pdHRpbmcgc3RhdGUgKGl0cyBzZXR0ZXIgaXMgdW5tb3VudC1zYWZlXG4gICAgLy8g4oCUIHRoZSBmaW5hbGx5IGJlbG93IHJ1bnMgYWZ0ZXIgYXdhaXRpbmcgb25GaW5pc2gsIHdoZW4gdGhlIHR5cGljYWxcbiAgICAvLyBzdWJtaXQtdGhlbi1jbG9zZSBmbG93IG1heSBhbHJlYWR5IGhhdmUgdW5tb3VudGVkIHRoZSBmb3JtIG9uIFJlYWN0XG4gICAgLy8gMTYvMTcpLiBUaGUgcmVmIGlzIHRoZSBzeW5jaHJvbm91cyByZS1lbnRyeSBndWFyZDsgQDFtb25leS9ob29rcyBoYXMgbm9cbiAgICAvLyBzaW5nbGUgaG9vayB0aGF0IGlzIGJvdGggdW5tb3VudC1zYWZlIGFuZCBzeW5jaHJvbm91c2x5IHJlYWRhYmxlLlxuICAgIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVNhZmVTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc3VibWl0dGluZ1JlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgaXNMb2FkaW5nID0gbG9hZGluZyB8fCByZXF1ZXN0TG9hZGluZyB8fCBzdWJtaXR0aW5nO1xuICAgIC8vIOKUgOKUgCBUcmFuc2Zvcm0gLyB2YWx1ZVR5cGUgcmVnaXN0cmllcyDilIDilIBcbiAgICBjb25zdCB0cmFuc2Zvcm1LZXlSZWYgPSB1c2VSZWYoe30pO1xuICAgIGNvbnN0IHZhbHVlVHlwZVJlZiA9IHVzZVJlZih7fSk7XG4gICAgY29uc3QgcmVnaXN0ZXJUcmFuc2Zvcm0gPSB1c2VNZW1vaXplZEZuKChuYW1lLCBmbikgPT4ge1xuICAgICAgICB0cmFuc2Zvcm1LZXlSZWYuY3VycmVudFtuYW1lXSA9IGZuO1xuICAgIH0pO1xuICAgIC8vIFRoZSBvcHRpb25hbCBzZWNvbmQgYXJndW1lbnQgZ3VhcmRzIHJlbW92YWw6IGRlbGV0ZSBvbmx5IHdoZW4gdGhlIHJlZ2lzdHJ5XG4gICAgLy8gc3RpbGwgaG9sZHMgdGhlIENBTExFUidTIHJlZ2lzdHJhdGlvbiwgc28gYW4gdW5tb3VudGluZyBpbnN0YW5jZSBjYW4gbmV2ZXJcbiAgICAvLyB3aXBlIGEgc2FtZS1uYW1lIHNpYmxpbmcncyBvciBzdWNjZXNzb3IncyBlbnRyeS5cbiAgICBjb25zdCB1bnJlZ2lzdGVyVHJhbnNmb3JtID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgZm4pID0+IHtcbiAgICAgICAgaWYgKGZuID09PSB1bmRlZmluZWQgfHwgdHJhbnNmb3JtS2V5UmVmLmN1cnJlbnRbbmFtZV0gPT09IGZuKSB7XG4gICAgICAgICAgICBkZWxldGUgdHJhbnNmb3JtS2V5UmVmLmN1cnJlbnRbbmFtZV07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZWdpc3RlclZhbHVlVHlwZSA9IHVzZU1lbW9pemVkRm4oKG5hbWUsIHZhbHVlVHlwZSkgPT4ge1xuICAgICAgICB2YWx1ZVR5cGVSZWYuY3VycmVudFtuYW1lXSA9IHZhbHVlVHlwZTtcbiAgICB9KTtcbiAgICBjb25zdCB1bnJlZ2lzdGVyVmFsdWVUeXBlID0gdXNlTWVtb2l6ZWRGbigobmFtZSwgdmFsdWVUeXBlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZVR5cGUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZVR5cGVSZWYuY3VycmVudFtuYW1lXSA9PT0gdmFsdWVUeXBlKSB7XG4gICAgICAgICAgICBkZWxldGUgdmFsdWVUeXBlUmVmLmN1cnJlbnRbbmFtZV07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBvbkZpbmlzaFJlZiA9IHVzZUxhdGVzdChvbkZpbmlzaCk7XG4gICAgY29uc3Qgb25Jbml0UmVmID0gdXNlTGF0ZXN0KG9uSW5pdCk7XG4gICAgY29uc3Qgb25Mb2FkaW5nQ2hhbmdlUmVmID0gdXNlTGF0ZXN0KG9uTG9hZGluZ0NoYW5nZSk7XG4gICAgLy8gU3VibWl0IHBpcGVsaW5lOiBkYXRlcyDihpIgZmllbGQgdHJhbnNmb3JtcyDihpIgb21pdE5pbFxuICAgIGNvbnN0IGFwcGx5UGlwZWxpbmUgPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGZvcm1hdERhdGVWYWx1ZXModmFsdWVzLCBkYXRlRm9ybWF0dGVyLCB2YWx1ZVR5cGVSZWYuY3VycmVudCk7XG4gICAgICAgIHJlc3VsdCA9IHRyYW5zZm9ybVN1Ym1pdFZhbHVlcyhyZXN1bHQsIHRyYW5zZm9ybUtleVJlZi5jdXJyZW50KTtcbiAgICAgICAgaWYgKG9taXROaWwpXG4gICAgICAgICAgICByZXN1bHQgPSBvbWl0TmlsVmFsdWVzKHJlc3VsdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG4gICAgLy8gU2FtZSBwaXBlbGluZSBXSVRIT1VUIG9taXROaWwg4oCUIHNpbmdsZS1maWVsZCByZWFkZXJzIG11c3Qgbm90IHNlZSBhIGZpZWxkXG4gICAgLy8gdmFuaXNoIGp1c3QgYmVjYXVzZSBpdHMgY3VycmVudCB2YWx1ZSBpcyBlbXB0eS5cbiAgICBjb25zdCBmb3JtYXRWYWx1ZXNLZWVwTmlsID0gdXNlTWVtb2l6ZWRGbigodmFsdWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZvcm1hdERhdGVWYWx1ZXModmFsdWVzLCBkYXRlRm9ybWF0dGVyLCB2YWx1ZVR5cGVSZWYuY3VycmVudCk7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1TdWJtaXRWYWx1ZXMocmVzdWx0LCB0cmFuc2Zvcm1LZXlSZWYuY3VycmVudCk7XG4gICAgfSk7XG4gICAgLy8g4pSA4pSAIFVSTCBzeW5jIChzeW5jVG9VcmwgLyBzeW5jVG9VcmxBc0ltcG9ydGFudCAvIGV4dHJhVXJsUGFyYW1zKSDilIDilIBcbiAgICBjb25zdCB7IHVybEluaXRpYWxWYWx1ZXMsIG9uVXJsU3luY0ZpbmlzaCwgb25VcmxTeW5jUmVzZXQgfSA9IHVzZVVybFN5bmMoe1xuICAgICAgICBzeW5jVG9VcmwsXG4gICAgICAgIGV4dHJhVXJsUGFyYW1zLFxuICAgIH0pO1xuICAgIC8vIGluaXRpYWxWYWx1ZXMgaXMgTU9VTlQtT05MWSAoZG9jdW1lbnRlZCBjb250cmFjdDsgdXNlRm9ybUNvcmUgcmUtZnJlZXplc1xuICAgIC8vIGFzIGEgc2FmZXR5IG5ldCkg4oCUIGNvbXB1dGUgdGhlIFVSTCBtZXJnZSBvbmNlIHNvIHRoZSBmcmVlemUgaXMgdmlzaWJsZVxuICAgIC8vIHdoZXJlIHRoZSBwcm9wcyBlbnRlciwgaW5zdGVhZCBvZiByZWNvbXB1dGluZyBkZWFkIHNwcmVhZHMgcGVyIHJlbmRlci5cbiAgICBjb25zdCBtZXJnZWRJbml0aWFsVmFsdWVzUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGlmIChtZXJnZWRJbml0aWFsVmFsdWVzUmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgbWVyZ2VkSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0gc3luY1RvVXJsXG4gICAgICAgICAgICA/IChzeW5jVG9VcmxBc0ltcG9ydGFudFxuICAgICAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBpbml0aWFsVmFsdWVzKSwgdXJsSW5pdGlhbFZhbHVlcykgOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHVybEluaXRpYWxWYWx1ZXMpLCBpbml0aWFsVmFsdWVzKSlcbiAgICAgICAgICAgIDogKGluaXRpYWxWYWx1ZXMgIT09IG51bGwgJiYgaW5pdGlhbFZhbHVlcyAhPT0gdm9pZCAwID8gaW5pdGlhbFZhbHVlcyA6IHt9KTtcbiAgICB9XG4gICAgY29uc3QgbWVyZ2VkSW5pdGlhbFZhbHVlcyA9IG1lcmdlZEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudDtcbiAgICAvLyBCdW1wZWQgb24gZXZlcnkgcmVzZXQg4oCUIGFuIGluLWZsaWdodCBzdWJtaXQgY2FwdHVyZXMgaXQgYW5kIGFib3J0cyB3aGVuXG4gICAgLy8gaXQgY2hhbmdlZCB1bmRlcm5lYXRoICh0aGUgdXNlciBkaXNjYXJkZWQgdGhlIHN1Ym1pc3Npb24ncyB2YWx1ZXMpLlxuICAgIGNvbnN0IHJlc2V0RXBvY2hSZWYgPSB1c2VSZWYoMCk7XG4gICAgLy8gUmVzZXQgY2hhaW46IGZvcm0tbGV2ZWwgb25SZXNldCByZWNlaXZlcyB0aGUgKHBvc3QtcmVzZXQpIGZvcm1hdHRlZFxuICAgIC8vIHZhbHVlcywgdGhlbiB0aGUgZm9ybSdzIG93biBVUkwgcGFyYW1zIGFyZSBjbGVhcmVkLiB1c2VNZW1vaXplZEZuIGRlZmVyc1xuICAgIC8vIGV4ZWN1dGlvbiB0byBldmVudCB0aW1lLCB3aGVuIGBmb3JtSW5zdGFuY2VgIChjcmVhdGVkIGp1c3QgYmVsb3cpIGV4aXN0cy5cbiAgICBjb25zdCBmaXJlRm9ybVJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHJlc2V0RXBvY2hSZWYuY3VycmVudCArPSAxO1xuICAgICAgICBjb25zdCBmaW5hbFZhbHVlcyA9IGFwcGx5UGlwZWxpbmUoZm9ybUluc3RhbmNlLmdldEZpZWxkc1ZhbHVlKCkpO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoZmluYWxWYWx1ZXMpO1xuICAgICAgICBvblVybFN5bmNSZXNldCgpO1xuICAgIH0pO1xuICAgIC8vIOKUgOKUgCBGb3JtIGVuZ2luZSAodXNlRm9ybSB3aXRoIGFzeW5jIHZhbGlkYXRpb24pIOKUgOKUgFxuICAgIGNvbnN0IHsgZm9ybUluc3RhbmNlLCBpbnRlcm5hbHMsIHN0b3JlIH0gPSB1c2VGb3JtKHtcbiAgICAgICAgaW5pdGlhbFZhbHVlczogbWVyZ2VkSW5pdGlhbFZhbHVlcyxcbiAgICAgICAgb25WYWx1ZXNDaGFuZ2UsXG4gICAgICAgIG9uUmVzZXQ6IGZpcmVGb3JtUmVzZXQsXG4gICAgICAgIHNpemUsXG4gICAgICAgIGxhYmVsQWxpZ24sXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgfSk7XG4gICAgLy8g4pSA4pSAIEFzeW5jIHN1Ym1pdCB3aXRoIHRyYW5zZm9ybSBwaXBlbGluZSDilIDilIBcbiAgICAvLyBSZS1lbnRyeSBndWFyZDogYSBzZWNvbmQgc3VibWl0IHdoaWxlIG9uZSBpcyBpbiBmbGlnaHQgaXMgaWdub3JlZCAodGhlXG4gICAgLy8gcmVmIGNhdGNoZXMgdHdvIGNhbGxzIGluIHRoZSBzYW1lIHRpY2spLlxuICAgIGNvbnN0IHdyYXBwZWRIYW5kbGVTdWJtaXQgPSB1c2VFdmVudENhbGxiYWNrKChlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoc3VibWl0dGluZ1JlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBzdWJtaXR0aW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKHRydWUpO1xuICAgICAgICAoX2EgPSBvbkxvYWRpbmdDaGFuZ2VSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwob25Mb2FkaW5nQ2hhbmdlUmVmLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZXBvY2ggPSByZXNldEVwb2NoUmVmLmN1cnJlbnQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0ZWRWYWx1ZXMgPSB5aWVsZCBmb3JtSW5zdGFuY2UudmFsaWRhdGVGaWVsZHMoKTtcbiAgICAgICAgICAgIC8vIEEgcmVzZXQgZHVyaW5nIChhc3luYykgdmFsaWRhdGlvbiBkaXNjYXJkcyB0aGlzIHN1Ym1pc3Npb24gZW50aXJlbHk6XG4gICAgICAgICAgICAvLyB2YWxpZGF0ZUZpZWxkcyByZS1yZWFkcyB0aGUgbGl2ZSBzdG9yZSwgc28gcHJvY2VlZGluZyB3b3VsZCBoYW5kXG4gICAgICAgICAgICAvLyBvbkZpbmlzaCB0aGUgUE9TVC1yZXNldCB2YWx1ZXMuXG4gICAgICAgICAgICBpZiAoZXBvY2ggIT09IHJlc2V0RXBvY2hSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBwaXBlbGluZWQgPSBhcHBseVBpcGVsaW5lKHZhbGlkYXRlZFZhbHVlcyk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB5aWVsZCAoKF9iID0gb25GaW5pc2hSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwob25GaW5pc2hSZWYsIHBpcGVsaW5lZCkpO1xuICAgICAgICAgICAgLy8gU3luYyB0aGUgVVJMIHVubGVzcyBvbkZpbmlzaCBleHBsaWNpdGx5IHJldHVybmVkIGZhbHNlIChhIHRocm93IGFib3ZlXG4gICAgICAgICAgICAvLyBhbHNvIHNraXBzIOKAlCBhIGZhaWxlZCBzdWJtaXQgbXVzdCBub3QgcG9sbHV0ZSB0aGUgVVJMKSwgYW5kIG9ubHkgaWZcbiAgICAgICAgICAgIC8vIHRoZSB1c2VyIGRpZCBOT1QgcmVzZXQgdGhlIGZvcm0gd2hpbGUgdGhlIHN1Ym1pdCB3YXMgaW4gZmxpZ2h0LlxuICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gZmFsc2UgJiYgZXBvY2ggPT09IHJlc2V0RXBvY2hSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIG9uVXJsU3luY0ZpbmlzaChwaXBlbGluZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIEEgcmVzZXQgZHVyaW5nIHZhbGlkYXRpb24gYWxzbyBpbnZhbGlkYXRlcyB0aGUgRkFJTFVSRSBjYWxsYmFjayDigJRcbiAgICAgICAgICAgIC8vIHRoZSBlcnJvciBjYXJyaWVzIHBvc3QtcmVzZXQgdmFsdWVzIGZvciBhIGRpc2NhcmRlZCBzdWJtaXNzaW9uLlxuICAgICAgICAgICAgLy8gKEZpZWxkIGVycm9ycyBmcm9tIHRoZSBkZWFkIHZhbGlkYXRpb24gYXJlIHN1cHByZXNzZWQgYnkgdGhlXG4gICAgICAgICAgICAvLyBwZXItZmllbGQgdmFsaWRhdGlvbiBlcG9jaHM6IHJlc2V0RmllbGRzIGludmFsaWRhdGVzIGluLWZsaWdodCBydW5zLilcbiAgICAgICAgICAgIGlmIChlcG9jaCAhPT0gcmVzZXRFcG9jaFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIE9ubHkgYSBWQUxJREFUSU9OIGZhaWx1cmUgcm91dGVzIHRvIG9uRmluaXNoRmFpbGVkLiBBbiBleGNlcHRpb24gb3V0XG4gICAgICAgICAgICAvLyBvZiB0aGUgY29uc3VtZXIncyBvd24gb25GaW5pc2ggaXMgbm90IGEgdmFsaWRhdGlvbiByZXN1bHQ6IHRoZSBzdWJtaXRcbiAgICAgICAgICAgIC8vIGZhaWxzIChVUkwgdW50b3VjaGVkLCBvdmVybGF5IHN0YXlzIG9wZW4pIGFuZCB0aGUgZXJyb3IgaXMgc3VyZmFjZWRcbiAgICAgICAgICAgIC8vIG9uIHRoZSBjb25zb2xlIGluc3RlYWQgb2YgYmVpbmcgbWlzcmVwb3J0ZWQgd2l0aCBhbiBlbXB0eSBwYXlsb2FkLlxuICAgICAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEZvcm1WYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBvbkZpbmlzaEZhaWxlZCA9PT0gbnVsbCB8fCBvbkZpbmlzaEZhaWxlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25GaW5pc2hGYWlsZWQoeyB2YWx1ZXM6IGVyci52YWx1ZXMsIGVycm9yczogZXJyLmVycm9ycyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tQcm9Gb3JtXSBvbkZpbmlzaCB0aHJldyBkdXJpbmcgc3VibWl0OicsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBzdWJtaXR0aW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgKF9jID0gb25Mb2FkaW5nQ2hhbmdlUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5jYWxsKG9uTG9hZGluZ0NoYW5nZVJlZiwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSkpO1xuICAgIC8vIOKUgOKUgCBQcm9Gb3JtIGluc3RhbmNlOiBzdXBlcnNldCBvZiBGb3JtSW5zdGFuY2Ug4pSA4pSAXG4gICAgY29uc3QgcHJvRm9ybUZvcm1JbnN0YW5jZSA9IHVzZU1lbW8oKCkgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZm9ybUluc3RhbmNlKSwgeyBnZXRGaWVsZHNGb3JtYXRWYWx1ZTogKCkgPT4gYXBwbHlQaXBlbGluZShmb3JtSW5zdGFuY2UuZ2V0RmllbGRzVmFsdWUoKSksIGdldEZpZWxkRm9ybWF0VmFsdWU6ICgobmFtZSkgPT4gcmVzb2x2ZVZhbHVlKGZvcm1hdFZhbHVlc0tlZXBOaWwoZm9ybUluc3RhbmNlLmdldEZpZWxkc1ZhbHVlKCkpLCBuYW1lKSksIGdldEZpZWxkRm9ybWF0VmFsdWVPYmplY3Q6IChuYW1lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRWYWx1ZXNLZWVwTmlsKGZvcm1JbnN0YW5jZS5nZXRGaWVsZHNWYWx1ZSgpKTtcbiAgICAgICAgICAgIGlmICghbmFtZSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkO1xuICAgICAgICAgICAgLy8gQSBuZXN0ZWQgb2JqZWN0IGNhcnJ5aW5nIE9OTFkgdGhlIHJlcXVlc3RlZCBsZWFmIOKAlCBub3QgdGhlIHdob2xlXG4gICAgICAgICAgICAvLyB0b3AtbGV2ZWwgc3VidHJlZSB0aGUgcGF0aCBoYXBwZW5zIHRvIGxpdmUgaW4uXG4gICAgICAgICAgICByZXR1cm4gc2V0TmVzdGVkVmFsdWUoe30sIG5hbWUsIHJlc29sdmVWYWx1ZShmb3JtYXR0ZWQsIG5hbWUpKTtcbiAgICAgICAgfSwgdmFsaWRhdGVGaWVsZHNSZXR1cm5Gb3JtYXRWYWx1ZTogKCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHMgPSB5aWVsZCBmb3JtSW5zdGFuY2UudmFsaWRhdGVGaWVsZHMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlLCB2YWx1ZXM6IGFwcGx5UGlwZWxpbmUodmFscykgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAvLyB2YWxpZGF0ZUZpZWxkcyByZWplY3RzIHdpdGggYW4gRXJyb3IgY2FycnlpbmcgdGhlIGZpZWxkIGVycm9ycyBtYXBcbiAgICAgICAgICAgICAgICAvLyAoc2FtZSBzaGFwZSB3cmFwcGVkSGFuZGxlU3VibWl0IGNvbnN1bWVzIGFib3ZlKS5cbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ycyB9ID0gZXJyO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcnM6IGVycm9ycyAhPT0gbnVsbCAmJiBlcnJvcnMgIT09IHZvaWQgMCA/IGVycm9ycyA6IHt9IH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLCBzdWJtaXRGb3JtOiB3cmFwcGVkSGFuZGxlU3VibWl0IH0pKSwgW2Zvcm1JbnN0YW5jZSwgYXBwbHlQaXBlbGluZSwgd3JhcHBlZEhhbmRsZVN1Ym1pdF0pO1xuICAgIC8vIOKUgOKUgCBTeW5jIHRvIGZvcm1SZWYgcHJvcCDilIDilIBcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoZm9ybVJlZikge1xuICAgICAgICAgICAgZm9ybVJlZi5jdXJyZW50ID0gcHJvRm9ybUZvcm1JbnN0YW5jZTtcbiAgICAgICAgfVxuICAgIH0sIFtmb3JtUmVmLCBwcm9Gb3JtRm9ybUluc3RhbmNlXSk7XG4gICAgLy8g4pSA4pSAIHJlcXVlc3QgLyBwYXJhbXMgYXV0by1sb2FkIOKUgOKUgFxuICAgIGNvbnN0IHJlcXVlc3RSZWYgPSB1c2VMYXRlc3QocmVxdWVzdCk7XG4gICAgY29uc3QgaGFzUmVxdWVzdCA9ICEhcmVxdWVzdDtcbiAgICBjb25zdCBzZXJpYWxpemVkUGFyYW1zID0gdXNlTWVtbygoKSA9PiBzdGFibGVTZXJpYWxpemUocGFyYW1zKSwgW3BhcmFtc10pO1xuICAgIC8vIG9uSW5pdCBmaXJlcyBleGFjdGx5IG9uY2U6IGFmdGVyIHRoZSBGSVJTVCByZXF1ZXN0IHJlc29sdmVzIHdoZW4gYVxuICAgIC8vIHJlcXVlc3QgaXMgY29uZmlndXJlZCwgb3RoZXJ3aXNlIHJpZ2h0IGFmdGVyIG1vdW50LlxuICAgIGNvbnN0IGluaXRGaXJlZFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgZmlyZUluaXQgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaW5pdEZpcmVkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGluaXRGaXJlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgKF9hID0gb25Jbml0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKG9uSW5pdFJlZiwgYXBwbHlQaXBlbGluZShmb3JtSW5zdGFuY2UuZ2V0RmllbGRzVmFsdWUoKSksIHByb0Zvcm1Gb3JtSW5zdGFuY2UpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIFN0YWxlbmVzcyBndWFyZDogaWYgcGFyYW1zIGNoYW5nZSBhZ2FpbiBiZWZvcmUgdGhpcyBmZXRjaCByZXNvbHZlcywgdGhlXG4gICAgICAgIC8vIGNsZWFudXAgbWFya3MgaXQgc3RhbGUgc28gdGhlIGxhdGUgcmVzcG9uc2UgY2FuJ3Qgb3ZlcndyaXRlIHRoZSB2YWx1ZXNcbiAgICAgICAgLy8gYSBuZXdlciByZXF1ZXN0IGFscmVhZHkgKG9yIHdpbGwpIHNldC5cbiAgICAgICAgbGV0IHN0YWxlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGZldGNoRGF0YSA9ICgpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3QgcmVxdWVzdEZuID0gcmVxdWVzdFJlZi5jdXJyZW50O1xuICAgICAgICAgICAgaWYgKCFyZXF1ZXN0Rm4pXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgc2V0UmVxdWVzdExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCByZXF1ZXN0Rm4ocGFyYW1zKTtcbiAgICAgICAgICAgICAgICBpZiAoIXN0YWxlICYmIGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1JbnN0YW5jZS5zZXRGaWVsZHNWYWx1ZShkYXRhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgLy8gQSBmYWlsZWQgcmVxdWVzdCBtdXN0IG5vdCBlc2NhcGUgYXMgYW4gdW5oYW5kbGVkIHJlamVjdGlvbiDigJQgdGhlXG4gICAgICAgICAgICAgICAgLy8gZm9ybSBrZWVwcyBpdHMgaW5pdGlhbFZhbHVlcyBhbmQgdGhlIGZhaWx1cmUgaXMgc3VyZmFjZWQgb24gdGhlXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZSAobWlycm9ycyB0aGUgZmllbGQtbGV2ZWwgdXNlRmllbGRSZXF1ZXN0IGhhbmRsaW5nKS5cbiAgICAgICAgICAgICAgICBpZiAoIXN0YWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tQcm9Gb3JtXSByZXF1ZXN0IGZhaWxlZDonLCBlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIGlmICghc3RhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0UmVxdWVzdExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IGEgTk9OLXN1cGVyc2VkZWQgc2V0dGxlIGluaXRpYWxpemVzIHRoZSBmb3JtOiBhIHN0YWxlXG4gICAgICAgICAgICAgICAgICAgIC8vIHJlcXVlc3QncyBkYXRhIHdhcyBkaXNjYXJkZWQsIHNvIGl0cyB2YWx1ZXMgbXVzdCBub3QgYmUgcmVwb3J0ZWQuXG4gICAgICAgICAgICAgICAgICAgIGZpcmVJbml0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlcXVlc3RSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgZmV0Y2hEYXRhKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmaXJlSW5pdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBzdGFsZSA9IHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIC8vIFJlLWZldGNoIHdoZW4gcGFyYW1zIGNoYW5nZSBieSBWQUxVRSAoZGVwZW5kaW5nIG9uIHRoZSByYXcgYHBhcmFtc2BcbiAgICAgICAgLy8gcmVmZXJlbmNlIHdvdWxkIHJlLXJ1biBvbiBldmVyeSByZW5kZXIgZm9yIGlubGluZSBvYmplY3QgbGl0ZXJhbHMgYW5kLFxuICAgICAgICAvLyBjb21iaW5lZCB3aXRoIHRoZSBsb2FkaW5nIHNldFN0YXRlLCBsb29wIGZvcmV2ZXIpIOKAlCBhbmQgd2hlbiBgcmVxdWVzdGBcbiAgICAgICAgLy8gZmlyc3QgYmVjb21lcyBkZWZpbmVkIChlLmcuIGJlaGluZCBhIGZlYXR1cmUgZmxhZyksIG1pcnJvcmluZ1xuICAgICAgICAvLyB1c2VGaWVsZFJlcXVlc3QuIGZpcmVJbml0J3Mgb25jZS1ndWFyZCBrZWVwcyBvbkluaXQgZnJvbSByZS1maXJpbmcuXG4gICAgfSwgW3NlcmlhbGl6ZWRQYXJhbXMsIGhhc1JlcXVlc3RdKTtcbiAgICAvLyDilIDilIAgYXV0b0ZvY3VzRmlyc3RJbnB1dCDilIDilIBcbiAgICBjb25zdCBmb3JtRWxSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWF1dG9Gb2N1c0ZpcnN0SW5wdXQgfHwgbW9kZSA9PT0gJ3JlYWQnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBmaXJzdElucHV0ID0gKF9hID0gZm9ybUVsUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5xdWVyeVNlbGVjdG9yKCdpbnB1dDpub3QoW3R5cGU9XCJoaWRkZW5cIl0pOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyk7XG4gICAgICAgIGZpcnN0SW5wdXQgPT09IG51bGwgfHwgZmlyc3RJbnB1dCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmlyc3RJbnB1dC5mb2N1cygpO1xuICAgICAgICAvLyBNb3VudC1vbmx5IGJ5IGRlc2lnbi5cbiAgICB9LCBbXSk7XG4gICAgLy8g4pSA4pSAIFNwbGl0IGNvbnRleHQg4pSA4pSAXG4gICAgLy8gRm9ybS1sZXZlbCBwcm9wIGJhZ3MgYXJlIG9mdGVuIGlubGluZSBsaXRlcmFsczoga2VlcCB0aGVpciBpZGVudGl0eVxuICAgIC8vIHN0YWJsZSB3aGlsZSBzaGFsbG93LWVxdWFsIHNvIHRoZSBzdGFibGUgc2xpY2UgZG9lc24ndCBjaHVybiBwZXIgcmVuZGVyLlxuICAgIGNvbnN0IHN0YWJsZUZpZWxkUHJvcHMgPSB1c2VTaGFsbG93U3RhYmxlKGZpZWxkUHJvcHMpO1xuICAgIGNvbnN0IHN0YWJsZUZvcm1JdGVtUHJvcHMgPSB1c2VTaGFsbG93U3RhYmxlKGZvcm1JdGVtUHJvcHMpO1xuICAgIGNvbnN0IHN0YWJsZUNvbFByb3BzID0gdXNlU2hhbGxvd1N0YWJsZShjb2xQcm9wcyk7XG4gICAgY29uc3Qgc3RhYmxlTGF5b3V0ID0gdXNlU2hhbGxvd1N0YWJsZShsYXlvdXQpO1xuICAgIC8vIFN0YWJsZSBzbGljZTogY29uZmlndXJhdGlvbiArIGlkZW50aXR5LXN0YWJsZSBkaXNwYXRjaGVycy9pbnN0YW5jZS5cbiAgICAvLyBDaGFuZ2VzIG9ubHkgd2hlbiBmb3JtLWxldmVsIHByb3BzIGNoYW5nZSDigJQgTk9UIG9uIGtleXN0cm9rZXMsIHNvXG4gICAgLy8gc3Vic2NyaWJlcnMgbGlrZSBTdWJtaXR0ZXIgYW5kIHRoZSBmaWVsZCBmYWN0b3JpZXMgc2tpcCB0aG9zZSByZW5kZXJzLlxuICAgIGNvbnN0IHN0YWJsZVZhbHVlID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICBmb3JtSW5zdGFuY2U6IHByb0Zvcm1Gb3JtSW5zdGFuY2UsXG4gICAgICAgIHNldEZpZWxkVmFsdWU6IGludGVybmFscy5zZXRGaWVsZFZhbHVlLFxuICAgICAgICBzZXRGaWVsZEVycm9yOiBpbnRlcm5hbHMuc2V0RmllbGRFcnJvcixcbiAgICAgICAgc2V0RmllbGRXYXJuaW5nOiBpbnRlcm5hbHMuc2V0RmllbGRXYXJuaW5nLFxuICAgICAgICB2YWxpZGF0ZUZpZWxkQXN5bmM6IGludGVybmFscy52YWxpZGF0ZUZpZWxkQXN5bmMsXG4gICAgICAgIHJlZ2lzdGVyRmllbGQ6IGludGVybmFscy5yZWdpc3RlckZpZWxkLFxuICAgICAgICB1bnJlZ2lzdGVyRmllbGQ6IGludGVybmFscy51bnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIHJldGFpbkZpZWxkOiBpbnRlcm5hbHMucmV0YWluRmllbGQsXG4gICAgICAgIHJlbGVhc2VGaWVsZDogaW50ZXJuYWxzLnJlbGVhc2VGaWVsZCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbGFiZWxBbGlnbixcbiAgICAgICAgLy8gU3VibWl0dGluZy9sb2FkaW5nIGRvZXMgTk9UIGRpc2FibGUgZmllbGRzIOKAlCBvbmx5IHRoZVxuICAgICAgICAvLyBleHBsaWNpdCBgZGlzYWJsZWRgIHByb3AgZG9lcy4gS2VlcGluZyBpc0xvYWRpbmcgb3V0IG9mIHRoaXMgc2xpY2VcbiAgICAgICAgLy8gbWVhbnMgYSBzdWJtaXQgY3ljbGUgbm8gbG9uZ2VyIHJlLXJlbmRlcnMgZXZlcnkgZmllbGQgc2hlbGwuXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgICAgIC8vIFByb0Zvcm0gc3BlY2lmaWNzXG4gICAgICAgIG1vZGUsXG4gICAgICAgIGdyaWQsXG4gICAgICAgIGNvbFByb3BzOiBzdGFibGVDb2xQcm9wcyAhPT0gbnVsbCAmJiBzdGFibGVDb2xQcm9wcyAhPT0gdm9pZCAwID8gc3RhYmxlQ29sUHJvcHMgOiBERUZBVUxUX0NPTF9QUk9QUyxcbiAgICAgICAgcmVnaXN0ZXJUcmFuc2Zvcm06IHJlZ2lzdGVyVHJhbnNmb3JtLFxuICAgICAgICB1bnJlZ2lzdGVyVHJhbnNmb3JtOiB1bnJlZ2lzdGVyVHJhbnNmb3JtLFxuICAgICAgICByZWdpc3RlclZhbHVlVHlwZSxcbiAgICAgICAgdW5yZWdpc3RlclZhbHVlVHlwZSxcbiAgICAgICAgZmllbGRQcm9wczogc3RhYmxlRmllbGRQcm9wcyxcbiAgICAgICAgZm9ybUl0ZW1Qcm9wczogc3RhYmxlRm9ybUl0ZW1Qcm9wcyxcbiAgICAgICAgbGF5b3V0OiBzdGFibGVMYXlvdXQsXG4gICAgICAgIGZvcm1Db21wb25lbnRUeXBlLFxuICAgIH0pLCBbXG4gICAgICAgIHByb0Zvcm1Gb3JtSW5zdGFuY2UsXG4gICAgICAgIGludGVybmFscy5zZXRGaWVsZFZhbHVlLFxuICAgICAgICBpbnRlcm5hbHMuc2V0RmllbGRFcnJvcixcbiAgICAgICAgaW50ZXJuYWxzLnNldEZpZWxkV2FybmluZyxcbiAgICAgICAgaW50ZXJuYWxzLnZhbGlkYXRlRmllbGRBc3luYyxcbiAgICAgICAgaW50ZXJuYWxzLnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIGludGVybmFscy51bnJlZ2lzdGVyRmllbGQsXG4gICAgICAgIGludGVybmFscy5yZXRhaW5GaWVsZCxcbiAgICAgICAgaW50ZXJuYWxzLnJlbGVhc2VGaWVsZCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbGFiZWxBbGlnbixcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHZhbGlkYXRlVHJpZ2dlcixcbiAgICAgICAgbW9kZSxcbiAgICAgICAgZ3JpZCxcbiAgICAgICAgc3RhYmxlQ29sUHJvcHMsXG4gICAgICAgIHJlZ2lzdGVyVHJhbnNmb3JtLFxuICAgICAgICB1bnJlZ2lzdGVyVHJhbnNmb3JtLFxuICAgICAgICByZWdpc3RlclZhbHVlVHlwZSxcbiAgICAgICAgdW5yZWdpc3RlclZhbHVlVHlwZSxcbiAgICAgICAgc3RhYmxlRmllbGRQcm9wcyxcbiAgICAgICAgc3RhYmxlRm9ybUl0ZW1Qcm9wcyxcbiAgICAgICAgc3RhYmxlTGF5b3V0LFxuICAgICAgICBmb3JtQ29tcG9uZW50VHlwZSxcbiAgICBdKTtcbiAgICBjb25zdCBXcmFwcGVyQ29tcG9uZW50ID0gZ3JpZCA/IFJvdyA6IEZyYWdtZW50O1xuICAgIGNvbnN0IHdyYXBwZXJQcm9wcyA9IGdyaWQgPyBPYmplY3QuYXNzaWduKHt9LCByb3dQcm9wcykgOiB7fTtcbiAgICAvLyBSZXNldCBjYWxsYmFjayBjaGFpbjogdGhlIFN1Ym1pdHRlciByZXNldHMgdGhlIHZhbHVlcyBmaXJzdCwgdGhlbiB0aGVcbiAgICAvLyBzdWJtaXR0ZXItbGV2ZWwgb25SZXNldCwgdGhlbiB0aGUgZm9ybS1sZXZlbCBvblJlc2V0ICh3aXRoIGZpbmFsVmFsdWVzKVxuICAgIC8vIGFuZCB0aGUgVVJMIGNsZWFudXAg4oCUIGZpcmVkIGV4YWN0bHkgb25jZSBwZXIgcmVzZXQgYWN0aW9uLlxuICAgIGNvbnN0IGhhbmRsZVN1Ym1pdHRlclJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKHR5cGVvZiBzdWJtaXR0ZXIgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgKF9hID0gc3VibWl0dGVyLm9uUmVzZXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHN1Ym1pdHRlcik7XG4gICAgICAgIGZpcmVGb3JtUmVzZXQoKTtcbiAgICB9KTtcbiAgICBjb25zdCBzdWJtaXR0ZXJOb2RlID0gc3VibWl0dGVyICE9PSBmYWxzZSAmJiBtb2RlICE9PSAncmVhZCcgPyAoX2pzeChTdWJtaXR0ZXIsIE9iamVjdC5hc3NpZ24oe30sICh0eXBlb2Ygc3VibWl0dGVyID09PSAnb2JqZWN0JyA/IHN1Ym1pdHRlciA6IHt9KSwgeyBvblJlc2V0OiBoYW5kbGVTdWJtaXR0ZXJSZXNldCwgbG9hZGluZzogaXNMb2FkaW5nIH0pKSkgOiBudWxsO1xuICAgIHJldHVybiAoX2pzeChQcm9Gb3JtU3RhYmxlQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZTogc3RhYmxlVmFsdWUsIGNoaWxkcmVuOiBfanN4KFByb0Zvcm1TdGF0ZUNvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWU6IHN0b3JlLCBjaGlsZHJlbjogX2pzeHMoXCJmb3JtXCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBmb3JtRWxSZWYsIGNsYXNzTmFtZTogZm9ybUNsYXNzZXModW5kZWZpbmVkLCBqb2luQ2xzKGNsYXNzZXMoKSwgY2xhc3NOYW1lKSksIG9uU3VibWl0OiB3cmFwcGVkSGFuZGxlU3VibWl0LCBvblJlc2V0OiBpbnRlcm5hbHMuaGFuZGxlUmVzZXQsIGNoaWxkcmVuOiBbX2pzeChXcmFwcGVyQ29tcG9uZW50LCBPYmplY3QuYXNzaWduKHt9LCB3cmFwcGVyUHJvcHMsIHsgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSwgc3VibWl0dGVyTm9kZV0gfSkpIH0pIH0pKTtcbn07XG5Qcm9Gb3JtQmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtJztcbmV4cG9ydCBjb25zdCBQcm9Gb3JtID0gbWVtbyhQcm9Gb3JtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
2
|
import type { ProFormDependencyProps } from './interface';
|
|
3
|
+
import type { ProFormFieldName } from './core/namePathType';
|
|
3
4
|
/**
|
|
4
5
|
* Generic-aware component type — `memo()` erases generics, so the export is
|
|
5
6
|
* re-asserted to keep `<ProForm.Dependency<MyValues> name={['a']}>` fully
|
|
6
7
|
* typed (autocompleted `name`, typed `form` in children).
|
|
7
8
|
*/
|
|
8
9
|
export interface ProFormDependencyComponent {
|
|
9
|
-
<Values = Record<string,
|
|
10
|
+
<Values = Record<string, any>, Name extends ProFormFieldName<Values> = ProFormFieldName<Values>>(props: ProFormDependencyProps<Values, Name>): ReactElement | null;
|
|
10
11
|
displayName?: string;
|
|
11
12
|
}
|
|
12
13
|
export declare const ProFormDependency: ProFormDependencyComponent;
|
|
@@ -52,4 +52,4 @@ var ProFormDependencyBase = function ProFormDependencyBase(_ref) {
|
|
|
52
52
|
ProFormDependencyBase.displayName = 'ProFormDependency';
|
|
53
53
|
var ProFormDependency = exports.ProFormDependency = /*#__PURE__*/(0, _react.memo)(ProFormDependencyBase);
|
|
54
54
|
var _default = exports["default"] = ProFormDependency;
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtRGVwZW5kZW5jeS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtRGVwZW5kZW5jeS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY29udGV4dCIsIl9mb3JtU3RvcmUiLCJfdXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJQcm9Gb3JtRGVwZW5kZW5jeUJhc2UiLCJfcmVmIiwibmFtZSIsImNoaWxkcmVuIiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwiZm9ybUluc3RhbmNlIiwic3RvcmUiLCJ1c2VQcm9Gb3JtU3RvcmUiLCJ3YXRjaGVkQXJyYXkiLCJ1c2VTdG9yZVNlbGVjdG9yIiwic3RhdGUiLCJtYXAiLCJwYXRoIiwiaW5jbHVkZXMiLCJnZXROZXN0ZWRWYWx1ZSIsInZhbHVlcyIsInNoYWxsb3dFcXVhbEFycmF5cyIsIndhdGNoZWRWYWx1ZXMiLCJ1c2VNZW1vIiwiZm9ybWF0dGVkIiwiZ2V0RmllbGRGb3JtYXRWYWx1ZU9iamVjdCIsInJlc3VsdCIsImxlbmd0aCIsInZhbHVlIiwiZm9ybWF0dGVkVmFsdWUiLCJ1bmRlZmluZWQiLCJfanN4IiwiX0ZyYWdtZW50IiwiZGlzcGxheU5hbWUiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsImV4cG9ydHMiLCJtZW1vIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFB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QyxJQUFNZSxJQUFJLEdBQUdYLElBQUksQ0FBQ0osQ0FBQyxDQUFDO01BQ3BCLElBQUkwQixLQUFLLEdBQVFmLFlBQVksQ0FBQ1gsQ0FBQyxDQUFDO01BQ2hDLElBQU0yQixjQUFjLEdBQUdaLElBQUksQ0FBQ0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUNyQyxJQUFBQyxxQkFBYyxFQUFDSyxTQUFTLEVBQUVQLElBQUksQ0FBQyxHQUM5QkEsSUFBSSxJQUFJTyxTQUFTLEdBQUdBLFNBQVMsQ0FBQ1AsSUFBSSxDQUFDLEdBQUdhLFNBQVU7TUFDckQsSUFBSUQsY0FBYyxLQUFLQyxTQUFTLEVBQUU7UUFDaENGLEtBQUssR0FBR0MsY0FBYztNQUN4QjtNQUNBSCxNQUFNLENBQUNULElBQUksQ0FBQyxHQUFHVyxLQUFLO0lBQ3RCO0lBQ0EsT0FBT0YsTUFBMkQ7RUFDcEUsQ0FBQyxFQUFFLENBQUNwQixJQUFJLEVBQUVPLFlBQVksRUFBRUgsWUFBWSxDQUFDLENBQUM7RUFFdEMsT0FBTyxJQUFBcUIsZUFBQSxFQUFBQyxvQkFBQSxFQUFBO0lBQUF6QixRQUFBLEVBQUdBLFFBQVEsQ0FBQ2UsYUFBYSxFQUFFWixZQUFZO0VBQUMsQ0FBQSxDQUFJO0FBQ3JELENBQUM7QUFFRE4scUJBQXFCLENBQUM2QixXQUFXLEdBQUcsbUJBQW1CO0FBaUJoRCxJQUFNQyxpQkFBaUIsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQ25DaEMscUJBQXFCLENBQ2U7QUFBQyxJQUFBaUMsUUFBQSxHQUFBRixPQUFBLGNBRXhCRCxpQkFBaUIiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL1Byb0Zvcm1EZXBlbmRlbmN5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnJhZ21lbnQgYXMgX0ZyYWdtZW50LCBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IG1lbW8sIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtU3RhYmxlLCB1c2VQcm9Gb3JtU3RvcmUgfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlU3RvcmVTZWxlY3Rvciwgc2hhbGxvd0VxdWFsQXJyYXlzIH0gZnJvbSAnLi9jb3JlL2Zvcm1TdG9yZSc7XG5pbXBvcnQgeyBnZXROZXN0ZWRWYWx1ZSB9IGZyb20gJy4vdXRpbHMnO1xuY29uc3QgUHJvRm9ybURlcGVuZGVuY3lCYXNlID0gKHsgbmFtZSwgY2hpbGRyZW4sIH0pID0+IHtcbiAgICBjb25zdCB7IGZvcm1JbnN0YW5jZSB9ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gU3Vic2NyaWJlIE9OTFkgdG8gdGhlIHdhdGNoZWQgcGF0aHM6IGEgY29tbWl0IHRoYXQgbGVhdmVzIGV2ZXJ5IHdhdGNoZWRcbiAgICAvLyB2YWx1ZSBPYmplY3QuaXMtZXF1YWwgc2hvcnQtY2lyY3VpdHMsIHNvIGNoaWxkcmVuIGFyZSBOT1QgcmUtaW52b2tlZCB3aGVuXG4gICAgLy8gdW5yZWxhdGVkIGZpZWxkcyBjaGFuZ2UuIFJlYWN0aXZpdHkgdHJhY2tzIHRoZSBSQVcgdmFsdWVzOyB0aGUgcGF5bG9hZFxuICAgIC8vIGJlbG93IGlzIGRlcml2ZWQgZnJvbSB0aGUgRk9STUFUVEVEIHZhbHVlcy5cbiAgICBjb25zdCB3YXRjaGVkQXJyYXkgPSB1c2VTdG9yZVNlbGVjdG9yKHN0b3JlLCAoc3RhdGUpID0+IG5hbWUubWFwKChwYXRoKSA9PiBwYXRoLmluY2x1ZGVzKCcuJykgPyBnZXROZXN0ZWRWYWx1ZShzdGF0ZS52YWx1ZXMsIHBhdGgpIDogc3RhdGUudmFsdWVzW3BhdGhdKSwgc2hhbGxvd0VxdWFsQXJyYXlzKTtcbiAgICBjb25zdCB3YXRjaGVkVmFsdWVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIC8vIENoaWxkcmVuIHJlY2VpdmUgRk9STUFUVEVEIHZhbHVlcyAoZGF0ZUZvcm1hdHRlciArIHRyYW5zZm9ybSBhcHBsaWVkKSxcbiAgICAgICAgLy8gbWF0Y2hpbmcgd2hhdCBvbkZpbmlzaCB3b3VsZCBzdWJtaXQgZm9yIHRob3NlIGZpZWxkcy4gQSB0cmFuc2Zvcm0gdGhhdFxuICAgICAgICAvLyBSRU5BTUVTIGl0cyBrZXkgZGVsZXRlcyB0aGUgb3JpZ2luYWwgcGF0aCBmcm9tIHRoZSBmb3JtYXR0ZWQgb2JqZWN0IOKAlFxuICAgICAgICAvLyBmYWxsIGJhY2sgdG8gdGhlIHJhdyB2YWx1ZSBzbyB0aGUgd2F0Y2hlciBzdGlsbCBzZWVzIHRoZSBmaWVsZC5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybUluc3RhbmNlLmdldEZpZWxkRm9ybWF0VmFsdWVPYmplY3QoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbmFtZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IG5hbWVbaV07XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSB3YXRjaGVkQXJyYXlbaV07XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHBhdGguaW5jbHVkZXMoJy4nKVxuICAgICAgICAgICAgICAgID8gZ2V0TmVzdGVkVmFsdWUoZm9ybWF0dGVkLCBwYXRoKVxuICAgICAgICAgICAgICAgIDogKHBhdGggaW4gZm9ybWF0dGVkID8gZm9ybWF0dGVkW3BhdGhdIDogdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGlmIChmb3JtYXR0ZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdFtwYXRoXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW25hbWUsIHdhdGNoZWRBcnJheSwgZm9ybUluc3RhbmNlXSk7XG4gICAgcmV0dXJuIF9qc3goX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBjaGlsZHJlbih3YXRjaGVkVmFsdWVzLCBmb3JtSW5zdGFuY2UpIH0pO1xufTtcblByb0Zvcm1EZXBlbmRlbmN5QmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtRGVwZW5kZW5jeSc7XG5leHBvcnQgY29uc3QgUHJvRm9ybURlcGVuZGVuY3kgPSBtZW1vKFByb0Zvcm1EZXBlbmRlbmN5QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtRGVwZW5kZW5jeTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
2
|
import type { ProFormItemProps } from './interface';
|
|
3
|
-
|
|
3
|
+
import type { ProFormFieldName } from './core/namePathType';
|
|
4
|
+
export interface ProFormItemComponent {
|
|
5
|
+
<Values = Record<string, any>, Name extends ProFormFieldName<Values> = ProFormFieldName<Values>>(props: ProFormItemProps<Values, Name>): ReactElement | null;
|
|
6
|
+
displayName?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const ProFormItem: ProFormItemComponent;
|
|
4
9
|
export default ProFormItem;
|