nsc-react-component 4.2.0 → 4.2.1
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/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/page/BasePage/index.d.ts +1 -1
- package/lib/page/BasePage/index.js +18 -4
- package/lib/page/BasePage/index.js.map +1 -1
- package/lib/page/FormPage/index.js +9 -6
- package/lib/page/FormPage/index.js.map +1 -1
- package/lib/page/SettingForm/com.d.ts +81 -0
- package/lib/page/SettingForm/com.js +81 -0
- package/lib/page/SettingForm/com.js.map +1 -0
- package/lib/page/SettingForm/index.d.ts +41 -0
- package/lib/page/SettingForm/index.js +318 -0
- package/lib/page/SettingForm/index.js.map +1 -0
- package/lib/page/SettingForm/index.less +13 -0
- package/lib/page/SettingTable/index.js +6 -2
- package/lib/page/SettingTable/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Spin","Button","React","NscCom","NscFile","NscRequest","NscUtils","cls","queryString","getLocalStore","dayjs","FormPage","defaulUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","length","map","item","index","key","type","onClick","eventOption","func","Function","code","name","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","disabled","columns","newColumns","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","jumpPage","pathname","query","id","title","serviceName","servicePath","openType","newQuery","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","SettingTable","Component","constructor","arguments","_defineProperty","formType","pageLoading","otherProps","forms","buttonLoading","createRef","res","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","setState","formCode","published","menuCode","isPublished","then","formProps","JSON","parse","_message","error","tableLoad","_this$pageRef$current","requestConfig","undefined","current","tableReload","_this$pageRef$current2","autoLoad","render","className","state","requestObject","_this","deaultFuncs","setButtonLoading","getCurrentProject","children","codeFormButtons","Array","isArray","child","style","width","height","spinning","Utils"],"sources":["../../../src/components/page/SettingForm/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport queryString from \"query-string\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport { converFunction } from \"../../utils\";\r\nimport FormPage from \"../FormPage\";\r\n// import { history } from 'umi'\r\n// import { getConfigData } from '../services';\r\n\r\nconst defaulUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\nconst renderSelfToolButton = ({ selfButton, pageRef, funcs, loading }) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\ninterface IProps {\r\n formCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n formProps?: any;\r\n children?: any;\r\n}\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n formType: \"modal\",\r\n pageLoading: false,\r\n selfButton: [] as any,\r\n props: {} as any,\r\n otherProps: {} as any,\r\n forms: [] as any,\r\n buttonLoading: {} as any,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {}\r\n\r\n initData = (res: any) => {};\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { formCode, published = true, menuCode } = this.props;\r\n // 如果tableCode存在\r\n if (formCode) {\r\n // 定义参数\r\n let params = { code: formCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let formProps = JSON.parse(res.data.formProps || \"{}\") || {};\r\n this.setState(\r\n {\r\n ...formProps,\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n\r\n render() {\r\n const { className, funcs = {} } = this.props;\r\n const {\r\n pageLoading,\r\n formType,\r\n selfButton,\r\n props = {},\r\n otherProps,\r\n forms,\r\n } = this.state;\r\n const { requestObject = {} } = otherProps;\r\n\r\n let _this = this;\r\n // const {store:tableStore}\r\n // const { store: settingTableStore } = settingTableProps;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n // const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n // this.setState({\r\n // pageProps: { ...pageProps, columns: newData },\r\n // });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n // const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n // this.setState({\r\n // pageProps: { ...pageProps, columns: newData },\r\n // });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n // const newData = setFieldPropsData(pageProps.columns, key, data);\r\n // this.setState({\r\n // pageProps: { ...pageProps, columns: newData },\r\n // });\r\n },\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n setButtonLoading(code, loading) {},\r\n\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n };\r\n const { children } = this.props;\r\n\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n codeFormButtons.push(child);\r\n });\r\n } else {\r\n codeFormButtons.push(item);\r\n }\r\n });\r\n } else if (children) {\r\n codeFormButtons.push(children);\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-formpage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <FormPage\r\n formType={formType}\r\n forms={forms}\r\n requestObject={requestObject}\r\n Utils={defaulUtil}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n >\r\n {renderSelfToolButton({\r\n selfButton,\r\n pageRef: this.pageRef,\r\n funcs,\r\n loading: this.state.buttonLoading,\r\n })}\r\n </FormPage>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -403,6 +403,7 @@ export default class SettingTable extends React.Component {
|
|
|
403
403
|
formPageProps = {},
|
|
404
404
|
selfFormButton
|
|
405
405
|
} = this.state;
|
|
406
|
+
console.log('formPageProps', formPageProps);
|
|
406
407
|
const {
|
|
407
408
|
treeProps: settingTreeProps = {},
|
|
408
409
|
tableProps: settingTableProps = {}
|
|
@@ -488,6 +489,8 @@ export default class SettingTable extends React.Component {
|
|
|
488
489
|
codeSelfButtons.push(children);
|
|
489
490
|
} else if ((props === null || props === void 0 ? void 0 : props.pageType) == "columnButton") {
|
|
490
491
|
codecolumnButtons.push(children);
|
|
492
|
+
} else if ((props === null || props === void 0 ? void 0 : props.pageType) == "formButton") {
|
|
493
|
+
codeFormButtons.push(children);
|
|
491
494
|
}
|
|
492
495
|
}
|
|
493
496
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -520,7 +523,8 @@ export default class SettingTable extends React.Component {
|
|
|
520
523
|
formPageProps: {
|
|
521
524
|
formType: formPageProps.formType || "modal",
|
|
522
525
|
props: formPageProps === null || formPageProps === void 0 ? void 0 : formPageProps.props
|
|
523
|
-
}
|
|
526
|
+
},
|
|
527
|
+
tableCode: this.props.tableCode
|
|
524
528
|
}, otherProps), renderSelfToolButton({
|
|
525
529
|
selfButton: selfToolButton,
|
|
526
530
|
pageRef: this.pageRef,
|
|
@@ -545,4 +549,4 @@ export default class SettingTable extends React.Component {
|
|
|
545
549
|
})));
|
|
546
550
|
}
|
|
547
551
|
}
|
|
548
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJCdXR0b24iLCJSZWFjdCIsIk5zY0NvbSIsIk5zY0ZpbGUiLCJOc2NSZXF1ZXN0IiwiTnNjVXRpbHMiLCJjbHMiLCJxdWVyeVN0cmluZyIsImdldExvY2FsU3RvcmUiLCJkYXlqcyIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZkJ1dHRvbiIsInBhZ2VSZWYiLCJmdW5jcyIsImxvYWRpbmciLCJ0eXBlIiwibGVuZ3RoIiwibWFwIiwiaXRlbSIsImluZGV4IiwicGFnZVR5cGUiLCJrZXkiLCJvbkNsaWNrIiwiZXZlbnRPcHRpb24iLCJmdW5jIiwiRnVuY3Rpb24iLCJjb2RlIiwibmFtZSIsInJlbmRlclNlbGZDb2x1bW5CdXR0b24iLCJfcmVmMiIsInNlbGZDb2x1bW5CdXR0b24iLCJyZWNvcmQiLCJyZWNvcmRTaG93IiwiZ2V0UGFnZURhdGEiLCJwYXJhbXMiLCJnZXQiLCJ4c3NGaWx0ZXIiLCJhdXRvUHJlZml4Iiwic2V0RmllbGREaXNhYmxlZCIsImRhdGEiLCJkaXNhYmxlZCIsImNvbHVtbnMiLCJuZXdDb2x1bW5zIiwib2JqIiwiX29iamVjdFNwcmVhZCIsImRhdGFJbmRleCIsImluZGV4T2YiLCJwcm9wcyIsInB1c2giLCJzZXRGaWVsZFZpc2libGUiLCJ2aXNpYmxlIiwiZWRpdG9yIiwic2V0RmllbGRQcm9wc0RhdGEiLCJwcm9wc0RhdGEiLCJqdW1wUGFnZSIsInBhdGhuYW1lIiwicXVlcnkiLCJpZCIsInRpdGxlIiwic2VydmljZU5hbWUiLCJzZXJ2aWNlUGF0aCIsIm9wZW5UeXBlIiwibmV3UXVlcnkiLCJ1cmxQYXJhbXMiLCJzdHJpbmdpZnkiLCJwYXRoIiwiY29uY2F0Iiwid2luZG93IiwiX19QT1dFUkVEX0JZX1FJQU5LVU5fXyIsInBhcmVudCIsInBvc3RNZXNzYWdlIiwiZXZlbnRUeXBlIiwicGF5bG9hZCIsImxvY2F0aW9uIiwib3JpZ2luIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsImdvIiwiZ2V0UHJvamVjdCIsInByb2plY3QiLCJTZXR0aW5nVGFibGUiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsInBhZ2VQcm9wcyIsInRyZWVQcm9wcyIsInN0b3JlIiwidXJsIiwiYXV0b0xvYWQiLCJ0YWJsZVByb3BzIiwic2VsZlRvb2xCdXR0b24iLCJzZWxmRm9ybUJ1dHRvbiIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImZvcm1QYWdlUHJvcHMiLCJjcmVhdGVSZWYiLCJyZXMiLCJzdGF0ZSIsInNob3dTZWFyY2giLCJkZWZhdWx0U2VhcmNoIiwidGFibGVEYXRhUmVzb3VyY2UiLCJzZXRUaW1lb3V0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MiIsImN1cnJlbnQiLCJ0YWJsZUxvYWQiLCJzZXRTZWFyY2hQYXJhbXMiLCJjb21wb25lbnREaWRNb3VudCIsImdldERhdGEiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2U3RhdGUiLCJzbmFwc2hvdCIsInRhYmxlQ29kZSIsInNldFN0YXRlIiwicHVibGlzaGVkIiwibWVudUNvZGUiLCJ0YWJQYXJhbXMiLCJpc1B1Ymxpc2hlZCIsInRoZW4iLCJfcGFnZV9wcm9wcyRwZXJtaXNzaW8iLCJ0YWJsZV9wcm9wcyIsIkpTT04iLCJwYXJzZSIsInRyZWVfcHJvcHMiLCJwYWdlX3Byb3BzIiwib3RoZXJfcHJvcHMiLCJvdGhlclBhcmFtcyIsImZvcm1fcHJvcHMiLCJmb3JtUHJvcHMiLCJwZXJtaXNzaW9uIiwiaGFzIiwiVXRpbHMiLCJwYXJhbUZ1bmMiLCJjb252ZXJUYWJQYXJhbXMiLCJyZXF1ZXN0UGFyYW1zIiwibmV3UmVxdWVzdFBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwiYWRkUGFyYW1zIiwiZWRpdG9yUGFyYW1zIiwiY29udmVyUGFyYW1zIiwib3RoZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJuZXdQYXJhbXMiLCJjb2x1bW5CdXR0b25zIiwidG9vbEJ1dHRvbnMiLCJfbWVzc2FnZSIsImVycm9yIiwiZ2V0U2VhcmNoVmFsdWVzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MyIsInZhbHVlIiwiY2FsbEJhY2siLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NSIsInJlcXVlc3RDb25maWciLCJ1bmRlZmluZWQiLCJ0YWJsZVJlbG9hZCIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDYiLCJnZXRTZWxlY3RlZFJvd0tleXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ3IiwiZ2V0U2VsZWN0ZWRSb3dEYXRhcyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDgiLCJyZXNldFNlbGVjdGVkUm93S2V5cyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDkiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJiYXNlUHJvcHMiLCJzZXR0aW5nVHJlZVByb3BzIiwic2V0dGluZ1RhYmxlUHJvcHMiLCJfZXhjbHVkZWQyIiwiX3RoaXMiLCJkZWF1bHRGdW5jcyIsIm5ld0RhdGEiLCJzZXRCdXR0b25Mb2FkaW5nIiwiZ2V0Q3VycmVudFByb2plY3QiLCJjaGlsZHJlbiIsImNvZGVTZWxmQnV0dG9ucyIsImNvZGVjb2x1bW5CdXR0b25zIiwiY29kZUZvcm1CdXR0b25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGQiLCJfY2hpbGQkcHJvcHMiLCJfY2hpbGQkcHJvcHMyIiwiX2NoaWxkJHByb3BzMyIsIl9pdGVtJHByb3BzIiwiX2l0ZW0kcHJvcHMyIiwiX2l0ZW0kcHJvcHMzIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsInNwaW5uaW5nIiwiX2V4dGVuZHMiLCJyZWYiLCJvbkhpZGVGb3JtIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MTAiLCJoaWRlRm9ybSIsImluaXREYXRhIiwiZm9ybVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYWdlL1NldHRpbmdUYWJsZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgQmFzZVBhZ2UsIHsgTlNDQmFzZUJhZ2VQcm9wcyB9IGZyb20gXCIuLi9CYXNlUGFnZVwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vLi4vYmFzZS9zcGluXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCAqIGFzIE5zY0NvbSBmcm9tIFwiLi9jb21cIjtcclxuaW1wb3J0IE5zY0ZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBOc2NSZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NVdGlscyBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHF1ZXJ5U3RyaW5nIGZyb20gXCJxdWVyeS1zdHJpbmdcIjtcclxuaW1wb3J0IHsgZ2V0TG9jYWxTdG9yZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCB7IGNvbnZlckZ1bmN0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbi8vIGltcG9ydCB7IGhpc3RvcnkgfSBmcm9tICd1bWknXHJcbi8vIGltcG9ydCB7IGdldENvbmZpZ0RhdGEgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcblxyXG5jb25zdCBkZWZhdWxVdGlsID0ge1xyXG4gIE5zY0NvbSxcclxuICBOc2NGaWxlLFxyXG4gIE5zY1JlcXVlc3QsXHJcbiAgTnNjVXRpbHMsXHJcbiAgZGF5anMsXHJcbiAgY3JlYXRlRWxlbWVudDogUmVhY3QuY3JlYXRlRWxlbWVudCxcclxufSBhcyBhbnk7XHJcbmNvbnN0IHJlbmRlclNlbGZUb29sQnV0dG9uID0gKHtcclxuICBzZWxmQnV0dG9uLFxyXG4gIHBhZ2VSZWYsXHJcbiAgZnVuY3MsXHJcbiAgbG9hZGluZyxcclxuICB0eXBlID0gXCJ0b29sQnV0dG9uXCIsXHJcbn0pID0+IHtcclxuICBpZiAoc2VsZkJ1dHRvbi5sZW5ndGggPT0gMCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBzZWxmQnV0dG9uLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgcGFnZVR5cGU9e3R5cGV9XHJcbiAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgdHlwZT17aXRlbS50eXBlfVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZXZlbnRPcHRpb24gPSB7IHBhZ2VSZWY6IHBhZ2VSZWYsIGZ1bmNzOiBmdW5jcyB9O1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgaXRlbS5vbkNsaWNrKTtcclxuICAgICAgICAgICAgZnVuYyhkZWZhdWxVdGlsLCBldmVudE9wdGlvbik7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgY29kZT17aXRlbS5jb2RlfVxyXG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ1tpdGVtLmNvZGVdID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtLm5hbWV9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCByZW5kZXJTZWxmQ29sdW1uQnV0dG9uID0gKHsgc2VsZkNvbHVtbkJ1dHRvbiwgcGFnZVJlZiwgZnVuY3MgfSkgPT4ge1xyXG4gIGlmIChzZWxmQ29sdW1uQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZDb2x1bW5CdXR0b24ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBwYWdlVHlwZT1cImNvbHVtbkJ1dHRvblwiXHJcbiAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgdHlwZT17aXRlbS50eXBlfVxyXG4gICAgICAgICAgb25DbGljaz17KHJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZXZlbnRPcHRpb24gPSB7XHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogcGFnZVJlZixcclxuICAgICAgICAgICAgICByZWNvcmQ6IHJlY29yZCxcclxuICAgICAgICAgICAgICBmdW5jczogZnVuY3MsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBpdGVtLm9uQ2xpY2spO1xyXG4gICAgICAgICAgICBmdW5jKGRlZmF1bFV0aWwsIGV2ZW50T3B0aW9uKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBjb2RlPXtpdGVtLmNvZGV9XHJcbiAgICAgICAgICByZWNvcmRTaG93PXtpdGVtLnJlY29yZFNob3d9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW0ubmFtZX1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGdldFBhZ2VEYXRhID0gKHBhcmFtczogYW55KSA9PiB7XHJcbiAgcmV0dXJuIE5zY1JlcXVlc3QuZ2V0KGAvanF1aWNrLXNldHRpbmcvc2V0dGluZy90YWJsZS9pbmZvL2AsIHtcclxuICAgIHBhcmFtcyxcclxuICAgIHhzc0ZpbHRlcjogZmFsc2UsXHJcbiAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gIH0pO1xyXG59O1xyXG5cclxuLy/orr7nva7ooajljZXlrZfmrrXlj6ror7tcclxuY29uc3Qgc2V0RmllbGREaXNhYmxlZCA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSB8fCBrZXkuaW5kZXhPZihpdGVtLmRhdGFJbmRleCkgPiAtMSkge1xyXG4gICAgICBsZXQgcHJvcHMgPSBvYmoucHJvcHMgPyB7IC4uLm9iai5wcm9wcyB9IDoge307XHJcbiAgICAgIHByb3BzLmRpc2FibGVkID0gZGlzYWJsZWQ7XHJcbiAgICAgIG9iai5wcm9wcyA9IHByb3BzO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcbi8v6K6+572u6KGo5Y2V5a2X5q616ZqQ6JePXHJcbmNvbnN0IHNldEZpZWxkVmlzaWJsZSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHZpc2libGUpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5IHx8IGtleS5pbmRleE9mKGl0ZW0uZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgIG9iai5lZGl0b3IgPSB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcblxyXG5jb25zdCBzZXRGaWVsZFByb3BzRGF0YSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHByb3BzRGF0YSkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kYXRhID0gcHJvcHNEYXRhO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG5pbnRlcmZhY2UgSVBhcmFtcyB7XHJcbiAgcGF0aG5hbWU/OiBzdHJpbmc7XHJcbiAgcXVlcnk/OiBhbnk7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgc2VydmljZU5hbWU/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgc2VydmljZVBhdGg/OiBzdHJpbmc7XHJcbiAgbWVudUNvZGU/OiBzdHJpbmc7XHJcbiAgb3BlblR5cGU/OiBudW1iZXI7XHJcbn1cclxuY29uc3QganVtcFBhZ2UgPSAocGFyYW1zOiBJUGFyYW1zLCB0eXBlPzogXCJhZGRUYWJcIiB8IFwianVtcE1lbnVcIikgPT4ge1xyXG4gIGNvbnN0IHtcclxuICAgIHBhdGhuYW1lLFxyXG4gICAgcXVlcnkgPSB7fSxcclxuICAgIGlkLFxyXG4gICAgdGl0bGUsXHJcbiAgICBzZXJ2aWNlTmFtZSxcclxuICAgIHNlcnZpY2VQYXRoLFxyXG4gICAgb3BlblR5cGUsXHJcbiAgfSA9IHBhcmFtcztcclxuICBjb25zdCBuZXdRdWVyeSA9IHsgLi4ucXVlcnkgfSBhcyBhbnk7XHJcbiAgY29uc3QgdXJsUGFyYW1zID0gcXVlcnlTdHJpbmcuc3RyaW5naWZ5KG5ld1F1ZXJ5KTtcclxuICBjb25zdCBwYXRoID0gdXJsUGFyYW1zID8gYCR7cGF0aG5hbWV9PyR7dXJsUGFyYW1zfWAgOiBwYXRobmFtZTtcclxuICAvL0B0cy1pZ25vcmVcclxuICBpZiAod2luZG93Ll9fUE9XRVJFRF9CWV9RSUFOS1VOX18pIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHRpdGxlOiB0aXRsZSB8fCBcIuaWsOagh+etvlwiLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsIC8v6YWN572u55qE5b6u5bqU55So5ZCN56ewXHJcbiAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlUGF0aCwgLy/phY3nva7nmoTlvq7lupTnlKjlhaXlj6PlnLDlnYBcclxuICAgICAgcGF0aDogcGF0aCwgLy/mlrDmoIfnrb7nmoR1cmws5rKh6YWN572uc2VydmljZU5hbWUgcGF0aOS4uuWujOaVtOi3r+W+hFxyXG4gICAgICBpZDogaWQsIC8v6Ieq5a6a5LmJ5ZSv5LiA5YC8XHJcbiAgICAgIG9wZW5UeXBlOiBvcGVuVHlwZSA/IG9wZW5UeXBlIDogNCwgLy/miZPlvIDmlrnlvI8gNOS9jeW+ruWJjeerrywgM+S4umlmcmFtZSAs6buY6K6kIDNcclxuICAgIH07XHJcbiAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZXZlbnRUeXBlOiB0eXBlID8gdHlwZSA6IFwiYWRkVGFiXCIsXHJcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lID8gc2VydmljZU5hbWUgOiBcInNldHRpbmctd2ViXCIsXHJcbiAgICAgICAgcGF5bG9hZDogdHlwZSA/IHBhcmFtcyA6IGRhdGEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgXCJcIiwgcGF0aCk7XHJcbiAgICB3aW5kb3cuaGlzdG9yeS5nbygpO1xyXG4gIH1cclxufTtcclxuY29uc3QgZ2V0UHJvamVjdCA9ICgpID0+IHtcclxuICBjb25zdCBwcm9qZWN0ID0gZ2V0TG9jYWxTdG9yZSh7IG5hbWU6IFwibnNjLWhvbWUtcHJvamVjdFwiIH0pIHx8IHt9O1xyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59O1xyXG5pbnRlcmZhY2UgSVByb3BzIHtcclxuICB0YWJsZUNvZGU6IHN0cmluZztcclxuICBjbGFzc05hbWU/OiBhbnk7XHJcbiAgbWVudUNvZGU/OiBzdHJpbmc7XHJcbiAgZnVuY3M/OiBhbnk7XHJcbiAgcHVibGlzaGVkPzogYm9vbGVhbjtcclxuICBpbnN0YW5jZVJlZj86IGFueTtcclxuICB0YWJQYXJhbXM/OiBhbnk7XHJcbiAgb25DYWxsQmFja3M/OiB7XHJcbiAgICB0cmVlU2VsZWN0Q2FsbEJhY2s/OiBhbnk7IC8v5qCR54K55Ye75p+l6K+i5ZCO5Zue6LCDXHJcbiAgICBvblF1ZXJ5Q2FsbEJhY2s/OiBhbnk7IC8v5p+l6K+i5Zue6LCD77yM5p+l6K+i5pWw5o2u5ZCO5Zue6LCDXHJcbiAgICBvblN1bWJpdENhbGxCYWNrPzogYW55OyAvL+S/neWtmOWbnuiwg++8jOS/neWtmOaVsOaNruaIkOWKn+WQjuWbnuiwg1xyXG4gICAgb25EZWxldGVDYWxsQmFjaz86IGFueTsgLy/liKDpmaTmjInpkq7lm57osIPvvIzliKDpmaTmlbDmja7lkI7miafooYxcclxuICAgIG9uRWRpdG9yQ2FsbEJhY2s/OiBhbnk7IC8v57yW6L6R5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvbkFkZENhbGxCYWNrPzogYW55OyAvL+a3u+WKoOaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gICAgb25TZWFyY2hDYWxsQmFjaz86IGFueTsgLy/liJfooajmn6Xor6LmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICB9O1xyXG4gIGJhc2VQcm9wcz86IE5TQ0Jhc2VCYWdlUHJvcHM7XHJcbiAgYXV0b0xvYWQ/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNldHRpbmdUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgcGFnZVByb3BzOiB7fSBhcyBhbnksXHJcbiAgICB0cmVlUHJvcHM6IHsgc3RvcmU6IHsgdXJsOiBcIlwiLCBhdXRvTG9hZDogZmFsc2UgfSB9IGFzIGFueSxcclxuICAgIHRhYmxlUHJvcHM6IHt9IGFzIGFueSxcclxuICAgIHNlbGZUb29sQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgICBzZWxmQ29sdW1uQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgICBzZWxmRm9ybUJ1dHRvbjogW10gYXMgYW55LFxyXG4gICAgcGFnZUxvYWRpbmc6IHRydWUsXHJcbiAgICBkZWZhdWx0Q29sdW1uczogW10gYXMgYW55LFxyXG4gICAgb3RoZXJQcm9wczoge30gYXMgYW55LFxyXG4gICAgYnV0dG9uTG9hZGluZzoge30gYXMgYW55LFxyXG4gICAgZm9ybVBhZ2VQcm9wczoge30gYXMgYW55LFxyXG4gIH07XHJcbiAgcGFnZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PElQcm9wcz4sXHJcbiAgICBwcmV2U3RhdGU6IFJlYWRvbmx5PGFueT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHByZXZQcm9wcy50YWJsZUNvZGUgIT0gdGhpcy5wcm9wcy50YWJsZUNvZGUpIHtcclxuICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0RGF0YSA9IChyZXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBvdGhlclByb3BzLCBwYWdlUHJvcHMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHBhZ2VQcm9wcy5zaG93U2VhcmNoICE9PSBmYWxzZSAmJlxyXG4gICAgICBvdGhlclByb3BzLmRlZmF1bHRTZWFyY2ggJiZcclxuICAgICAgb3RoZXJQcm9wcy50YWJsZURhdGFSZXNvdXJjZSA9PSBcInVybFwiXHJcbiAgICApIHtcclxuICAgICAgbGV0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBvdGhlclByb3BzLmRlZmF1bHRTZWFyY2gpO1xyXG4gICAgICBjb25zdCBwYXJhbXMgPSBmdW5jKGRlZmF1bFV0aWwsIHsgcGFnZVJlZjogdGhpcy5wYWdlUmVmIH0pO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVMb2FkKHsgLi4ucGFyYW1zIH0pO1xyXG4gICAgICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMoeyAuLi5wYXJhbXMgfSk7XHJcbiAgICAgIH0sIDUwKTsgLy/nm7TmjqXorr7nva7vvIxwYWdlUmVm5rKh57uR5a6a77yM5pqC5pe26YCa6L+H5bu26L+f5Ye95pWw6L+b6KGM6Kej5YazXHJcbiAgICB9XHJcbiAgfTtcclxuICAvLyDojrflj5bmlbDmja5cclxuICBnZXREYXRhKCkge1xyXG4gICAgLy8g5LuOcHJvcHPkuK3ojrflj5Z0YWJsZUNvZGXjgIFwdWJsaXNoZWTjgIFtZW51Q29kZVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IHRhYmxlQ29kZSwgcHVibGlzaGVkID0gdHJ1ZSwgbWVudUNvZGUsIHRhYlBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIC8vIOWmguaenHRhYmxlQ29kZeWtmOWcqFxyXG4gICAgaWYgKHRhYmxlQ29kZSkge1xyXG4gICAgICAvLyDlrprkuYnlj4LmlbBcclxuICAgICAgbGV0IHBhcmFtcyA9IHsgY29kZTogdGFibGVDb2RlIH0gYXMgYW55O1xyXG4gICAgICAvLyDlpoLmnpxwdWJsaXNoZWTkuLp0cnVlXHJcbiAgICAgIGlmIChwdWJsaXNoZWQpIHtcclxuICAgICAgICAvLyDorr7nva7lj4LmlbBpc1B1Ymxpc2hlZOS4ujFcclxuICAgICAgICBwYXJhbXMuaXNQdWJsaXNoZWQgPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOiwg+eUqGdldFBhZ2VEYXRh5pa55rOV6I635Y+W5pWw5o2uXHJcbiAgICAgIGdldFBhZ2VEYXRhKHsgLi4ucGFyYW1zIH0pLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSkge1xyXG4gICAgICAgICAgbGV0IHRhYmxlX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS50YWJsZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgdHJlZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEudHJlZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgcGFnZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEucGFnZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgb3RoZXJfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLm90aGVyUGFyYW1zIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgZm9ybV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEuZm9ybVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBpZiAocGFnZV9wcm9wcy5wZXJtaXNzaW9uPy5oYXMgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBwYWdlX3Byb3BzLnBlcm1pc3Npb24ubWVudUNvZGUgPSBtZW51Q29kZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChwdWJsaXNoZWQgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcGFnZV9wcm9wcy5wZXJtaXNzaW9uID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIChwYWdlX3Byb3BzLnNob3dTZWFyY2ggIT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHM/LmRlZmF1bHRTZWFyY2ggJiZcclxuICAgICAgICAgICAgICBvdGhlcl9wcm9wcz8udGFibGVEYXRhUmVzb3VyY2UgPT0gXCJ1cmxcIikgfHxcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5hdXRvTG9hZCA9PT0gZmFsc2VcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0YWJsZV9wcm9wcy5zdG9yZS5hdXRvTG9hZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRhYlBhcmFtcykge1xyXG4gICAgICAgICAgICBjb25zdCBVdGlscyA9IGRlZmF1bFV0aWwgfHwge307XHJcbiAgICAgICAgICAgIGxldCBwYXJhbUZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlsc1wiLCB0YWJQYXJhbXMpO1xyXG4gICAgICAgICAgICBsZXQgY29udmVyVGFiUGFyYW1zID0gcGFyYW1GdW5jKFV0aWxzKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcykge1xyXG4gICAgICAgICAgICAgIGxldCB7IHJlcXVlc3RQYXJhbXMgPSB7fSB9ID0gcGFnZV9wcm9wcztcclxuICAgICAgICAgICAgICBsZXQgbmV3UmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgYWRkUGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgZWRpdG9yUGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIG5ld1JlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0UGFyYW1zW2tleV0pIHtcclxuICAgICAgICAgICAgICAgICAgbGV0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlsc1wiLCByZXF1ZXN0UGFyYW1zW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgY29udmVyUGFyYW1zID0gZnVuYyhVdGlscyk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSwgLi4ub3RoZXIgfSA9IGNvbnZlclBhcmFtcztcclxuICAgICAgICAgICAgICAgICAgbGV0IG5ld1BhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcywgLi4uZGF0YSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLm90aGVyLFxyXG4gICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICBuZXdSZXF1ZXN0UGFyYW1zW2tleV0gPSBuZXdQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBuZXdSZXF1ZXN0UGFyYW1zW2tleV0gPSB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgcGFnZV9wcm9wcy5yZXF1ZXN0UGFyYW1zID0geyAuLi5uZXdSZXF1ZXN0UGFyYW1zIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcGFnZV9wcm9wcy5yZXF1ZXN0UGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgICAgYWRkUGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICAgIGVkaXRvclBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHBhZ2VQcm9wczoge1xyXG4gICAgICAgICAgICAgICAgLi4ucGFnZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHRyZWVQcm9wczoge1xyXG4gICAgICAgICAgICAgICAgLi4udHJlZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHRhYmxlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRhYmxlX3Byb3BzLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgb3RoZXJQcm9wczogeyAuLi5vdGhlcl9wcm9wcyB9LFxyXG4gICAgICAgICAgICAgIHNlbGZDb2x1bW5CdXR0b246IEpTT04ucGFyc2UocmVzLmRhdGEuY29sdW1uQnV0dG9ucykgfHwgW10sXHJcbiAgICAgICAgICAgICAgc2VsZlRvb2xCdXR0b246IEpTT04ucGFyc2UocmVzLmRhdGEudG9vbEJ1dHRvbnMpIHx8IFtdLFxyXG4gICAgICAgICAgICAgIGRlZmF1bHRDb2x1bW5zOiBwYWdlX3Byb3BzLmNvbHVtbnMsXHJcbiAgICAgICAgICAgICAgZm9ybVBhZ2VQcm9wczogZm9ybV9wcm9wcyxcclxuICAgICAgICAgICAgICBzZWxmRm9ybUJ1dHRvbjogZm9ybV9wcm9wcz8uc2VsZkJ1dHRvbiB8fCBbXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhID09IG51bGwpIHtcclxuICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmnKrmib7liLDphY3nva7kv6Hmga/vvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gb25TZWFyY2goKSB7fVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlYXJjaFZhbHVlcygpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuICBzZXRTZWFyY2hQYXJhbXMocGFyYW1zLCBjYWxsQmFjaykge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnNldFNlYXJjaFBhcmFtcyhwYXJhbXMpO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnksIHJlcXVlc3RDb25maWcgPSB7fSkge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlTG9hZChwYXJhbXMsIHJlcXVlc3RDb25maWcpO1xyXG4gIH1cclxuICB0YWJsZVJlbG9hZChwYXJhbXMgPSB7fSwgYXV0b0xvYWQgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVSZWxvYWQocGFyYW1zLCBhdXRvTG9hZCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8uZ2V0U2VsZWN0ZWRSb3dLZXlzKCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93RGF0YXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlbGVjdGVkUm93RGF0YXMoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5yZXNldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNsYXNzTmFtZSxcclxuICAgICAgZnVuY3MgPSB7fSxcclxuICAgICAgYmFzZVByb3BzID0ge30gYXMgTlNDQmFzZUJhZ2VQcm9wcyxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBwYWdlUHJvcHMsXHJcbiAgICAgIHRyZWVQcm9wcyxcclxuICAgICAgdGFibGVQcm9wcyxcclxuICAgICAgc2VsZlRvb2xCdXR0b24sXHJcbiAgICAgIHNlbGZDb2x1bW5CdXR0b24sXHJcbiAgICAgIHBhZ2VMb2FkaW5nLFxyXG4gICAgICBkZWZhdWx0Q29sdW1ucyxcclxuICAgICAgYnV0dG9uTG9hZGluZyA9IHt9LFxyXG4gICAgICBmb3JtUGFnZVByb3BzID0ge30sXHJcbiAgICAgIHNlbGZGb3JtQnV0dG9uLFxyXG4gICAgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHRyZWVQcm9wczogc2V0dGluZ1RyZWVQcm9wcyA9IHt9LFxyXG4gICAgICB0YWJsZVByb3BzOiBzZXR0aW5nVGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICAuLi5vdGhlclByb3BzXHJcbiAgICB9ID0gYmFzZVByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIC8vIGNvbnN0IHtzdG9yZTp0YWJsZVN0b3JlfVxyXG4gICAgLy8gY29uc3QgeyBzdG9yZTogc2V0dGluZ1RhYmxlU3RvcmUgfSA9IHNldHRpbmdUYWJsZVByb3BzO1xyXG4gICAgY29uc3QgZGVhdWx0RnVuY3MgPSB7XHJcbiAgICAgIHNldEZpZWxkRGlzYWJsZWQ6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkRGlzYWJsZWQocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFZpc2libGU6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkVmlzaWJsZShwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkaXNhYmxlZCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkUHJvcHNEYXRhOiAoa2V5LCBkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkUHJvcHNEYXRhKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBoaXN0b3J5OiAocGFyYW1zLCB0eXBlKSA9PiB7XHJcbiAgICAgICAganVtcFBhZ2UocGFyYW1zLCB0eXBlKTtcclxuICAgICAgfSxcclxuICAgICAgc2V0QnV0dG9uTG9hZGluZyhjb2RlLCBsb2FkaW5nKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgYnV0dG9uTG9hZGluZzogeyAuLi5idXR0b25Mb2FkaW5nLCBbY29kZV06IGxvYWRpbmcgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGdldEN1cnJlbnRQcm9qZWN0OiAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGdldFByb2plY3QoKTtcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IGNvZGVTZWxmQnV0dG9ucyA9IFtdO1xyXG4gICAgbGV0IGNvZGVjb2x1bW5CdXR0b25zID0gW107XHJcbiAgICBsZXQgY29kZUZvcm1CdXR0b25zID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgICAgaXRlbS5tYXAoKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjaGlsZD8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZVNlbGZCdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKFwibnNjLWZyYW1ld29yay10YWJsZXBhZ2VcIiwgY2xhc3NOYW1lKX0+XHJcbiAgICAgICAge3BhZ2VMb2FkaW5nID8gKFxyXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX0+XHJcbiAgICAgICAgICAgIDxTcGluIHNwaW5uaW5nPXtwYWdlTG9hZGluZ30+PC9TcGluPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxCYXNlUGFnZVxyXG4gICAgICAgICAgICB7Li4ucGFnZVByb3BzfVxyXG4gICAgICAgICAgICB0cmVlUHJvcHM9e3sgLi4udHJlZVByb3BzLCAuLi5zZXR0aW5nVHJlZVByb3BzIH19XHJcbiAgICAgICAgICAgIHRhYmxlUHJvcHM9e3sgLi4udGFibGVQcm9wcywgLi4uc2V0dGluZ1RhYmxlUHJvcHMgfX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXt7fX1cclxuICAgICAgICAgICAgVXRpbHM9e3sgLi4uZGVmYXVsVXRpbCB9fVxyXG4gICAgICAgICAgICByZWY9e3RoaXMucGFnZVJlZn1cclxuICAgICAgICAgICAgcGFnZVJlZj17dGhpcy5wYWdlUmVmfVxyXG4gICAgICAgICAgICBvbkhpZGVGb3JtPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBkZWZhdWx0Q29sdW1ucyB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBmdW5jcz17eyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfX1cclxuICAgICAgICAgICAgaW5pdERhdGE9e3RoaXMuaW5pdERhdGF9XHJcbiAgICAgICAgICAgIGZvcm1QYWdlUHJvcHM9e3tcclxuICAgICAgICAgICAgICBmb3JtVHlwZTogZm9ybVBhZ2VQcm9wcy5mb3JtVHlwZSB8fCBcIm1vZGFsXCIsXHJcbiAgICAgICAgICAgICAgcHJvcHM6IGZvcm1QYWdlUHJvcHM/LnByb3BzLFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3JlbmRlclNlbGZUb29sQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQnV0dG9uOiBzZWxmVG9vbEJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogdGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge2NvZGVTZWxmQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmQ29sdW1uQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmVG9vbEJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkJ1dHRvbjogc2VsZkZvcm1CdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiB7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9LFxyXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuc3RhdGUuYnV0dG9uTG9hZGluZyxcclxuICAgICAgICAgICAgICB0eXBlOiBcImZvcm1CdXR0b25cIixcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlRm9ybUJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPC9CYXNlUGFnZT5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQSxPQUFPQSxRQUFRLE1BQTRCLGFBQWE7QUFDeEQsT0FBT0MsSUFBSSxNQUFNLGlCQUFpQjtBQUNsQyxPQUFPQyxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLE9BQU8sY0FBYztBQUNyQixPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPLEtBQUtDLE1BQU0sTUFBTSxPQUFPO0FBQy9CLE9BQU9DLE9BQU8sTUFBTSxVQUFVO0FBQzlCLE9BQU9DLFVBQVUsTUFBTSxhQUFhO0FBQ3BDLE9BQU8sS0FBS0MsUUFBUSxNQUFNLG1CQUFtQjtBQUM3QyxPQUFPQyxHQUFHLE1BQU0sWUFBWTtBQUU1QixPQUFPQyxXQUFXLE1BQU0sY0FBYztBQUN0QyxTQUFTQyxh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
|
|
552
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJCdXR0b24iLCJSZWFjdCIsIk5zY0NvbSIsIk5zY0ZpbGUiLCJOc2NSZXF1ZXN0IiwiTnNjVXRpbHMiLCJjbHMiLCJxdWVyeVN0cmluZyIsImdldExvY2FsU3RvcmUiLCJkYXlqcyIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZkJ1dHRvbiIsInBhZ2VSZWYiLCJmdW5jcyIsImxvYWRpbmciLCJ0eXBlIiwibGVuZ3RoIiwibWFwIiwiaXRlbSIsImluZGV4IiwicGFnZVR5cGUiLCJrZXkiLCJvbkNsaWNrIiwiZXZlbnRPcHRpb24iLCJmdW5jIiwiRnVuY3Rpb24iLCJjb2RlIiwibmFtZSIsInJlbmRlclNlbGZDb2x1bW5CdXR0b24iLCJfcmVmMiIsInNlbGZDb2x1bW5CdXR0b24iLCJyZWNvcmQiLCJyZWNvcmRTaG93IiwiZ2V0UGFnZURhdGEiLCJwYXJhbXMiLCJnZXQiLCJ4c3NGaWx0ZXIiLCJhdXRvUHJlZml4Iiwic2V0RmllbGREaXNhYmxlZCIsImRhdGEiLCJkaXNhYmxlZCIsImNvbHVtbnMiLCJuZXdDb2x1bW5zIiwib2JqIiwiX29iamVjdFNwcmVhZCIsImRhdGFJbmRleCIsImluZGV4T2YiLCJwcm9wcyIsInB1c2giLCJzZXRGaWVsZFZpc2libGUiLCJ2aXNpYmxlIiwiZWRpdG9yIiwic2V0RmllbGRQcm9wc0RhdGEiLCJwcm9wc0RhdGEiLCJqdW1wUGFnZSIsInBhdGhuYW1lIiwicXVlcnkiLCJpZCIsInRpdGxlIiwic2VydmljZU5hbWUiLCJzZXJ2aWNlUGF0aCIsIm9wZW5UeXBlIiwibmV3UXVlcnkiLCJ1cmxQYXJhbXMiLCJzdHJpbmdpZnkiLCJwYXRoIiwiY29uY2F0Iiwid2luZG93IiwiX19QT1dFUkVEX0JZX1FJQU5LVU5fXyIsInBhcmVudCIsInBvc3RNZXNzYWdlIiwiZXZlbnRUeXBlIiwicGF5bG9hZCIsImxvY2F0aW9uIiwib3JpZ2luIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsImdvIiwiZ2V0UHJvamVjdCIsInByb2plY3QiLCJTZXR0aW5nVGFibGUiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsInBhZ2VQcm9wcyIsInRyZWVQcm9wcyIsInN0b3JlIiwidXJsIiwiYXV0b0xvYWQiLCJ0YWJsZVByb3BzIiwic2VsZlRvb2xCdXR0b24iLCJzZWxmRm9ybUJ1dHRvbiIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImZvcm1QYWdlUHJvcHMiLCJjcmVhdGVSZWYiLCJyZXMiLCJzdGF0ZSIsInNob3dTZWFyY2giLCJkZWZhdWx0U2VhcmNoIiwidGFibGVEYXRhUmVzb3VyY2UiLCJzZXRUaW1lb3V0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MiIsImN1cnJlbnQiLCJ0YWJsZUxvYWQiLCJzZXRTZWFyY2hQYXJhbXMiLCJjb21wb25lbnREaWRNb3VudCIsImdldERhdGEiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2U3RhdGUiLCJzbmFwc2hvdCIsInRhYmxlQ29kZSIsInNldFN0YXRlIiwicHVibGlzaGVkIiwibWVudUNvZGUiLCJ0YWJQYXJhbXMiLCJpc1B1Ymxpc2hlZCIsInRoZW4iLCJfcGFnZV9wcm9wcyRwZXJtaXNzaW8iLCJ0YWJsZV9wcm9wcyIsIkpTT04iLCJwYXJzZSIsInRyZWVfcHJvcHMiLCJwYWdlX3Byb3BzIiwib3RoZXJfcHJvcHMiLCJvdGhlclBhcmFtcyIsImZvcm1fcHJvcHMiLCJmb3JtUHJvcHMiLCJwZXJtaXNzaW9uIiwiaGFzIiwiVXRpbHMiLCJwYXJhbUZ1bmMiLCJjb252ZXJUYWJQYXJhbXMiLCJyZXF1ZXN0UGFyYW1zIiwibmV3UmVxdWVzdFBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwiYWRkUGFyYW1zIiwiZWRpdG9yUGFyYW1zIiwiY29udmVyUGFyYW1zIiwib3RoZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJuZXdQYXJhbXMiLCJjb2x1bW5CdXR0b25zIiwidG9vbEJ1dHRvbnMiLCJfbWVzc2FnZSIsImVycm9yIiwiZ2V0U2VhcmNoVmFsdWVzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MyIsInZhbHVlIiwiY2FsbEJhY2siLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NSIsInJlcXVlc3RDb25maWciLCJ1bmRlZmluZWQiLCJ0YWJsZVJlbG9hZCIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDYiLCJnZXRTZWxlY3RlZFJvd0tleXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ3IiwiZ2V0U2VsZWN0ZWRSb3dEYXRhcyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDgiLCJyZXNldFNlbGVjdGVkUm93S2V5cyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDkiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJiYXNlUHJvcHMiLCJjb25zb2xlIiwibG9nIiwic2V0dGluZ1RyZWVQcm9wcyIsInNldHRpbmdUYWJsZVByb3BzIiwiX2V4Y2x1ZGVkMiIsIl90aGlzIiwiZGVhdWx0RnVuY3MiLCJuZXdEYXRhIiwic2V0QnV0dG9uTG9hZGluZyIsImdldEN1cnJlbnRQcm9qZWN0IiwiY2hpbGRyZW4iLCJjb2RlU2VsZkJ1dHRvbnMiLCJjb2RlY29sdW1uQnV0dG9ucyIsImNvZGVGb3JtQnV0dG9ucyIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwiX2NoaWxkJHByb3BzMiIsIl9jaGlsZCRwcm9wczMiLCJfaXRlbSRwcm9wcyIsIl9pdGVtJHByb3BzMiIsIl9pdGVtJHByb3BzMyIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJzcGlubmluZyIsIl9leHRlbmRzIiwicmVmIiwib25IaWRlRm9ybSIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDEwIiwiaGlkZUZvcm0iLCJpbml0RGF0YSIsImZvcm1UeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnZS9TZXR0aW5nVGFibGUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEJhc2VQYWdlLCB7IE5TQ0Jhc2VCYWdlUHJvcHMgfSBmcm9tIFwiLi4vQmFzZVBhZ2VcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uLy4uL2Jhc2Uvc3BpblwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NDb20gZnJvbSBcIi4vY29tXCI7XHJcbmltcG9ydCBOc2NGaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgTnNjUmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0ICogYXMgTnNjVXRpbHMgZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBxdWVyeVN0cmluZyBmcm9tIFwicXVlcnktc3RyaW5nXCI7XHJcbmltcG9ydCB7IGdldExvY2FsU3RvcmUgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgeyBjb252ZXJGdW5jdGlvbiB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG4vLyBpbXBvcnQgeyBoaXN0b3J5IH0gZnJvbSAndW1pJ1xyXG4vLyBpbXBvcnQgeyBnZXRDb25maWdEYXRhIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuY29uc3QgZGVmYXVsVXRpbCA9IHtcclxuICBOc2NDb20sXHJcbiAgTnNjRmlsZSxcclxuICBOc2NSZXF1ZXN0LFxyXG4gIE5zY1V0aWxzLFxyXG4gIGRheWpzLFxyXG4gIGNyZWF0ZUVsZW1lbnQ6IFJlYWN0LmNyZWF0ZUVsZW1lbnQsXHJcbn0gYXMgYW55O1xyXG5jb25zdCByZW5kZXJTZWxmVG9vbEJ1dHRvbiA9ICh7XHJcbiAgc2VsZkJ1dHRvbixcclxuICBwYWdlUmVmLFxyXG4gIGZ1bmNzLFxyXG4gIGxvYWRpbmcsXHJcbiAgdHlwZSA9IFwidG9vbEJ1dHRvblwiLFxyXG59KSA9PiB7XHJcbiAgaWYgKHNlbGZCdXR0b24ubGVuZ3RoID09IDApIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc2VsZkJ1dHRvbi5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHBhZ2VUeXBlPXt0eXBlfVxyXG4gICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgIHR5cGU9e2l0ZW0udHlwZX1cclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgbGV0IGV2ZW50T3B0aW9uID0geyBwYWdlUmVmOiBwYWdlUmVmLCBmdW5jczogZnVuY3MgfTtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzLGV2ZW50T3B0aW9uXCIsIGl0ZW0ub25DbGljayk7XHJcbiAgICAgICAgICAgIGZ1bmMoZGVmYXVsVXRpbCwgZXZlbnRPcHRpb24pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGNvZGU9e2l0ZW0uY29kZX1cclxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmdbaXRlbS5jb2RlXSA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbS5uYW1lfVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcmVuZGVyU2VsZkNvbHVtbkJ1dHRvbiA9ICh7IHNlbGZDb2x1bW5CdXR0b24sIHBhZ2VSZWYsIGZ1bmNzIH0pID0+IHtcclxuICBpZiAoc2VsZkNvbHVtbkJ1dHRvbi5sZW5ndGggPT0gMCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBzZWxmQ29sdW1uQnV0dG9uLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgcGFnZVR5cGU9XCJjb2x1bW5CdXR0b25cIlxyXG4gICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgIHR5cGU9e2l0ZW0udHlwZX1cclxuICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQpID0+IHtcclxuICAgICAgICAgICAgbGV0IGV2ZW50T3B0aW9uID0ge1xyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgcmVjb3JkOiByZWNvcmQsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IGZ1bmNzLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgaXRlbS5vbkNsaWNrKTtcclxuICAgICAgICAgICAgZnVuYyhkZWZhdWxVdGlsLCBldmVudE9wdGlvbik7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgY29kZT17aXRlbS5jb2RlfVxyXG4gICAgICAgICAgcmVjb3JkU2hvdz17aXRlbS5yZWNvcmRTaG93fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtLm5hbWV9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBnZXRQYWdlRGF0YSA9IChwYXJhbXM6IGFueSkgPT4ge1xyXG4gIHJldHVybiBOc2NSZXF1ZXN0LmdldChgL2pxdWljay1zZXR0aW5nL3NldHRpbmcvdGFibGUvaW5mby9gLCB7XHJcbiAgICBwYXJhbXMsXHJcbiAgICB4c3NGaWx0ZXI6IGZhbHNlLFxyXG4gICAgYXV0b1ByZWZpeDogdHJ1ZSxcclxuICB9KTtcclxufTtcclxuXHJcbi8v6K6+572u6KGo5Y2V5a2X5q615Y+q6K+7XHJcbmNvbnN0IHNldEZpZWxkRGlzYWJsZWQgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG4vL+iuvue9ruihqOWNleWtl+autemakOiXj1xyXG5jb25zdCBzZXRGaWVsZFZpc2libGUgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCB2aXNpYmxlKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSB8fCBrZXkuaW5kZXhPZihpdGVtLmRhdGFJbmRleCkgPiAtMSkge1xyXG4gICAgICBvYmouZWRpdG9yID0gdmlzaWJsZTtcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG5cclxuY29uc3Qgc2V0RmllbGRQcm9wc0RhdGEgPSAoZGF0YTogQXJyYXk8YW55Piwga2V5LCBwcm9wc0RhdGEpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5KSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGF0YSA9IHByb3BzRGF0YTtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuaW50ZXJmYWNlIElQYXJhbXMge1xyXG4gIHBhdGhuYW1lPzogc3RyaW5nO1xyXG4gIHF1ZXJ5PzogYW55O1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHNlcnZpY2VOYW1lPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHNlcnZpY2VQYXRoPzogc3RyaW5nO1xyXG4gIG1lbnVDb2RlPzogc3RyaW5nO1xyXG4gIG9wZW5UeXBlPzogbnVtYmVyO1xyXG59XHJcbmNvbnN0IGp1bXBQYWdlID0gKHBhcmFtczogSVBhcmFtcywgdHlwZT86IFwiYWRkVGFiXCIgfCBcImp1bXBNZW51XCIpID0+IHtcclxuICBjb25zdCB7XHJcbiAgICBwYXRobmFtZSxcclxuICAgIHF1ZXJ5ID0ge30sXHJcbiAgICBpZCxcclxuICAgIHRpdGxlLFxyXG4gICAgc2VydmljZU5hbWUsXHJcbiAgICBzZXJ2aWNlUGF0aCxcclxuICAgIG9wZW5UeXBlLFxyXG4gIH0gPSBwYXJhbXM7XHJcbiAgY29uc3QgbmV3UXVlcnkgPSB7IC4uLnF1ZXJ5IH0gYXMgYW55O1xyXG4gIGNvbnN0IHVybFBhcmFtcyA9IHF1ZXJ5U3RyaW5nLnN0cmluZ2lmeShuZXdRdWVyeSk7XHJcbiAgY29uc3QgcGF0aCA9IHVybFBhcmFtcyA/IGAke3BhdGhuYW1lfT8ke3VybFBhcmFtc31gIDogcGF0aG5hbWU7XHJcbiAgLy9AdHMtaWdub3JlXHJcbiAgaWYgKHdpbmRvdy5fX1BPV0VSRURfQllfUUlBTktVTl9fKSB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICB0aXRsZTogdGl0bGUgfHwgXCLmlrDmoIfnrb5cIixcclxuICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLCAvL+mFjee9rueahOW+ruW6lOeUqOWQjeensFxyXG4gICAgICBzZXJ2aWNlUGF0aDogc2VydmljZVBhdGgsIC8v6YWN572u55qE5b6u5bqU55So5YWl5Y+j5Zyw5Z2AXHJcbiAgICAgIHBhdGg6IHBhdGgsIC8v5paw5qCH562+55qEdXJsLOayoemFjee9rnNlcnZpY2VOYW1lIHBhdGjkuLrlrozmlbTot6/lvoRcclxuICAgICAgaWQ6IGlkLCAvL+iHquWumuS5ieWUr+S4gOWAvFxyXG4gICAgICBvcGVuVHlwZTogb3BlblR5cGUgPyBvcGVuVHlwZSA6IDQsIC8v5omT5byA5pa55byPIDTkvY3lvq7liY3nq68sIDPkuLppZnJhbWUgLOm7mOiupCAzXHJcbiAgICB9O1xyXG4gICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShcclxuICAgICAge1xyXG4gICAgICAgIGV2ZW50VHlwZTogdHlwZSA/IHR5cGUgOiBcImFkZFRhYlwiLFxyXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSA/IHNlcnZpY2VOYW1lIDogXCJzZXR0aW5nLXdlYlwiLFxyXG4gICAgICAgIHBheWxvYWQ6IHR5cGUgPyBwYXJhbXMgOiBkYXRhLFxyXG4gICAgICB9LFxyXG4gICAgICB3aW5kb3cubG9jYXRpb24ub3JpZ2luXHJcbiAgICApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoe30sIFwiXCIsIHBhdGgpO1xyXG4gICAgd2luZG93Lmhpc3RvcnkuZ28oKTtcclxuICB9XHJcbn07XHJcbmNvbnN0IGdldFByb2plY3QgPSAoKSA9PiB7XHJcbiAgY29uc3QgcHJvamVjdCA9IGdldExvY2FsU3RvcmUoeyBuYW1lOiBcIm5zYy1ob21lLXByb2plY3RcIiB9KSB8fCB7fTtcclxuICByZXR1cm4gcHJvamVjdDtcclxufTtcclxuaW50ZXJmYWNlIElQcm9wcyB7XHJcbiAgdGFibGVDb2RlOiBzdHJpbmc7XHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG4gIG1lbnVDb2RlPzogc3RyaW5nO1xyXG4gIGZ1bmNzPzogYW55O1xyXG4gIHB1Ymxpc2hlZD86IGJvb2xlYW47XHJcbiAgaW5zdGFuY2VSZWY/OiBhbnk7XHJcbiAgdGFiUGFyYW1zPzogYW55O1xyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgdHJlZVNlbGVjdENhbGxCYWNrPzogYW55OyAvL+agkeeCueWHu+afpeivouWQjuWbnuiwg1xyXG4gICAgb25RdWVyeUNhbGxCYWNrPzogYW55OyAvL+afpeivouWbnuiwg++8jOafpeivouaVsOaNruWQjuWbnuiwg1xyXG4gICAgb25TdW1iaXRDYWxsQmFjaz86IGFueTsgLy/kv53lrZjlm57osIPvvIzkv53lrZjmlbDmja7miJDlip/lkI7lm57osINcclxuICAgIG9uRGVsZXRlQ2FsbEJhY2s/OiBhbnk7IC8v5Yig6Zmk5oyJ6ZKu5Zue6LCD77yM5Yig6Zmk5pWw5o2u5ZCO5omn6KGMXHJcbiAgICBvbkVkaXRvckNhbGxCYWNrPzogYW55OyAvL+e8lui+keaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gICAgb25BZGRDYWxsQmFjaz86IGFueTsgLy/mt7vliqDmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uU2VhcmNoQ2FsbEJhY2s/OiBhbnk7IC8v5YiX6KGo5p+l6K+i5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgfTtcclxuICBiYXNlUHJvcHM/OiBOU0NCYXNlQmFnZVByb3BzO1xyXG4gIGF1dG9Mb2FkPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXR0aW5nVGFibGUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVByb3BzLCBhbnk+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIHBhZ2VQcm9wczoge30gYXMgYW55LFxyXG4gICAgdHJlZVByb3BzOiB7IHN0b3JlOiB7IHVybDogXCJcIiwgYXV0b0xvYWQ6IGZhbHNlIH0gfSBhcyBhbnksXHJcbiAgICB0YWJsZVByb3BzOiB7fSBhcyBhbnksXHJcbiAgICBzZWxmVG9vbEJ1dHRvbjogW10gYXMgYW55LFxyXG4gICAgc2VsZkNvbHVtbkJ1dHRvbjogW10gYXMgYW55LFxyXG4gICAgc2VsZkZvcm1CdXR0b246IFtdIGFzIGFueSxcclxuICAgIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gICAgZGVmYXVsdENvbHVtbnM6IFtdIGFzIGFueSxcclxuICAgIG90aGVyUHJvcHM6IHt9IGFzIGFueSxcclxuICAgIGJ1dHRvbkxvYWRpbmc6IHt9IGFzIGFueSxcclxuICAgIGZvcm1QYWdlUHJvcHM6IHt9IGFzIGFueSxcclxuICB9O1xyXG4gIHBhZ2VSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKFxyXG4gICAgcHJldlByb3BzOiBSZWFkb25seTxJUHJvcHM+LFxyXG4gICAgcHJldlN0YXRlOiBSZWFkb25seTxhbnk+LFxyXG4gICAgc25hcHNob3Q/OiBhbnlcclxuICApOiB2b2lkIHtcclxuICAgIGlmIChwcmV2UHJvcHMudGFibGVDb2RlICE9IHRoaXMucHJvcHMudGFibGVDb2RlKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdERhdGEgPSAocmVzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgb3RoZXJQcm9wcywgcGFnZVByb3BzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKFxyXG4gICAgICBwYWdlUHJvcHMuc2hvd1NlYXJjaCAhPT0gZmFsc2UgJiZcclxuICAgICAgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgIG90aGVyUHJvcHMudGFibGVEYXRhUmVzb3VyY2UgPT0gXCJ1cmxcIlxyXG4gICAgKSB7XHJcbiAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoKTtcclxuICAgICAgY29uc3QgcGFyYW1zID0gZnVuYyhkZWZhdWxVdGlsLCB7IHBhZ2VSZWY6IHRoaXMucGFnZVJlZiB9KTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlTG9hZCh7IC4uLnBhcmFtcyB9KTtcclxuICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2V0U2VhcmNoUGFyYW1zKHsgLi4ucGFyYW1zIH0pO1xyXG4gICAgICB9LCA1MCk7IC8v55u05o6l6K6+572u77yMcGFnZVJlZuayoee7keWumu+8jOaaguaXtumAmui/h+W7tui/n+WHveaVsOi/m+ihjOino+WGs1xyXG4gICAgfVxyXG4gIH07XHJcbiAgLy8g6I635Y+W5pWw5o2uXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIC8vIOS7jnByb3Bz5Lit6I635Y+WdGFibGVDb2Rl44CBcHVibGlzaGVk44CBbWVudUNvZGVcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwYWdlTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyB0YWJsZUNvZGUsIHB1Ymxpc2hlZCA9IHRydWUsIG1lbnVDb2RlLCB0YWJQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyDlpoLmnpx0YWJsZUNvZGXlrZjlnKhcclxuICAgIGlmICh0YWJsZUNvZGUpIHtcclxuICAgICAgLy8g5a6a5LmJ5Y+C5pWwXHJcbiAgICAgIGxldCBwYXJhbXMgPSB7IGNvZGU6IHRhYmxlQ29kZSB9IGFzIGFueTtcclxuICAgICAgLy8g5aaC5p6ccHVibGlzaGVk5Li6dHJ1ZVxyXG4gICAgICBpZiAocHVibGlzaGVkKSB7XHJcbiAgICAgICAgLy8g6K6+572u5Y+C5pWwaXNQdWJsaXNoZWTkuLoxXHJcbiAgICAgICAgcGFyYW1zLmlzUHVibGlzaGVkID0gMTtcclxuICAgICAgfVxyXG4gICAgICAvLyDosIPnlKhnZXRQYWdlRGF0YeaWueazleiOt+WPluaVsOaNrlxyXG4gICAgICBnZXRQYWdlRGF0YSh7IC4uLnBhcmFtcyB9KS50aGVuKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEpIHtcclxuICAgICAgICAgIGxldCB0YWJsZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEudGFibGVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHRyZWVfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnRyZWVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHBhZ2VfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnBhZ2VQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IG90aGVyX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS5vdGhlclBhcmFtcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IGZvcm1fcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLmZvcm1Qcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgaWYgKHBhZ2VfcHJvcHMucGVybWlzc2lvbj8uaGFzID09IHRydWUpIHtcclxuICAgICAgICAgICAgcGFnZV9wcm9wcy5wZXJtaXNzaW9uLm1lbnVDb2RlID0gbWVudUNvZGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocHVibGlzaGVkID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHBhZ2VfcHJvcHMucGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAocGFnZV9wcm9wcy5zaG93U2VhcmNoICE9PSBmYWxzZSAmJlxyXG4gICAgICAgICAgICAgIG90aGVyX3Byb3BzPy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHM/LnRhYmxlRGF0YVJlc291cmNlID09IFwidXJsXCIpIHx8XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuYXV0b0xvYWQgPT09IGZhbHNlXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGFibGVfcHJvcHMuc3RvcmUuYXV0b0xvYWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0YWJQYXJhbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgVXRpbHMgPSBkZWZhdWxVdGlsIHx8IHt9O1xyXG4gICAgICAgICAgICBsZXQgcGFyYW1GdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgdGFiUGFyYW1zKTtcclxuICAgICAgICAgICAgbGV0IGNvbnZlclRhYlBhcmFtcyA9IHBhcmFtRnVuYyhVdGlscyk7XHJcbiAgICAgICAgICAgIGlmIChwYWdlX3Byb3BzLnJlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgICBsZXQgeyByZXF1ZXN0UGFyYW1zID0ge30gfSA9IHBhZ2VfcHJvcHM7XHJcbiAgICAgICAgICAgICAgbGV0IG5ld1JlcXVlc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGVkaXRvclBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBuZXdSZXF1ZXN0UGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFBhcmFtc1trZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgcmVxdWVzdFBhcmFtc1trZXldKTtcclxuICAgICAgICAgICAgICAgICAgbGV0IGNvbnZlclBhcmFtcyA9IGZ1bmMoVXRpbHMpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIC4uLm90aGVyIH0gPSBjb252ZXJQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBuZXdQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMsIC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgICAgICAgICAuLi5vdGhlcixcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0gbmV3UGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0geyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHsgLi4ubmV3UmVxdWVzdFBhcmFtcyB9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgICBlZGl0b3JQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwYWdlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnBhZ2VfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0cmVlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRyZWVfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0YWJsZVByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAuLi50YWJsZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIG90aGVyUHJvcHM6IHsgLi4ub3RoZXJfcHJvcHMgfSxcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLmNvbHVtbkJ1dHRvbnMpIHx8IFtdLFxyXG4gICAgICAgICAgICAgIHNlbGZUb29sQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLnRvb2xCdXR0b25zKSB8fCBbXSxcclxuICAgICAgICAgICAgICBkZWZhdWx0Q29sdW1uczogcGFnZV9wcm9wcy5jb2x1bW5zLFxyXG4gICAgICAgICAgICAgIGZvcm1QYWdlUHJvcHM6IGZvcm1fcHJvcHMsXHJcbiAgICAgICAgICAgICAgc2VsZkZvcm1CdXR0b246IGZvcm1fcHJvcHM/LnNlbGZCdXR0b24gfHwgW10sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5pyq5om+5Yiw6YWN572u5L+h5oGv77yBXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIG9uU2VhcmNoKCkge31cclxuICBnZXRTZWFyY2hWYWx1ZXMoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWFyY2hWYWx1ZXMoKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbiAgc2V0U2VhcmNoUGFyYW1zKHBhcmFtcywgY2FsbEJhY2spIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMocGFyYW1zKTtcclxuICB9XHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55LCByZXF1ZXN0Q29uZmlnID0ge30pIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZUxvYWQocGFyYW1zLCByZXF1ZXN0Q29uZmlnKTtcclxuICB9XHJcbiAgdGFibGVSZWxvYWQocGFyYW1zID0ge30sIGF1dG9Mb2FkID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlUmVsb2FkKHBhcmFtcywgYXV0b0xvYWQpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWxlY3RlZFJvd0RhdGFzKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8ucmVzZXRTZWxlY3RlZFJvd0tleXMoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjbGFzc05hbWUsXHJcbiAgICAgIGZ1bmNzID0ge30sXHJcbiAgICAgIGJhc2VQcm9wcyA9IHt9IGFzIE5TQ0Jhc2VCYWdlUHJvcHMsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgcGFnZVByb3BzLFxyXG4gICAgICB0cmVlUHJvcHMsXHJcbiAgICAgIHRhYmxlUHJvcHMsXHJcbiAgICAgIHNlbGZUb29sQnV0dG9uLFxyXG4gICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICBwYWdlTG9hZGluZyxcclxuICAgICAgZGVmYXVsdENvbHVtbnMsXHJcbiAgICAgIGJ1dHRvbkxvYWRpbmcgPSB7fSxcclxuICAgICAgZm9ybVBhZ2VQcm9wcyA9IHt9LFxyXG4gICAgICBzZWxmRm9ybUJ1dHRvbixcclxuICAgIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc29sZS5sb2coJ2Zvcm1QYWdlUHJvcHMnLGZvcm1QYWdlUHJvcHMpXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHRyZWVQcm9wczogc2V0dGluZ1RyZWVQcm9wcyA9IHt9LFxyXG4gICAgICB0YWJsZVByb3BzOiBzZXR0aW5nVGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICAuLi5vdGhlclByb3BzXHJcbiAgICB9ID0gYmFzZVByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIC8vIGNvbnN0IHtzdG9yZTp0YWJsZVN0b3JlfVxyXG4gICAgLy8gY29uc3QgeyBzdG9yZTogc2V0dGluZ1RhYmxlU3RvcmUgfSA9IHNldHRpbmdUYWJsZVByb3BzO1xyXG4gICAgY29uc3QgZGVhdWx0RnVuY3MgPSB7XHJcbiAgICAgIHNldEZpZWxkRGlzYWJsZWQ6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkRGlzYWJsZWQocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFZpc2libGU6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkVmlzaWJsZShwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkaXNhYmxlZCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkUHJvcHNEYXRhOiAoa2V5LCBkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkUHJvcHNEYXRhKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBoaXN0b3J5OiAocGFyYW1zLCB0eXBlKSA9PiB7XHJcbiAgICAgICAganVtcFBhZ2UocGFyYW1zLCB0eXBlKTtcclxuICAgICAgfSxcclxuICAgICAgc2V0QnV0dG9uTG9hZGluZyhjb2RlLCBsb2FkaW5nKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgYnV0dG9uTG9hZGluZzogeyAuLi5idXR0b25Mb2FkaW5nLCBbY29kZV06IGxvYWRpbmcgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGdldEN1cnJlbnRQcm9qZWN0OiAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGdldFByb2plY3QoKTtcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IGNvZGVTZWxmQnV0dG9ucyA9IFtdO1xyXG4gICAgbGV0IGNvZGVjb2x1bW5CdXR0b25zID0gW107XHJcbiAgICBsZXQgY29kZUZvcm1CdXR0b25zID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgICAgaXRlbS5tYXAoKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjaGlsZD8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZVNlbGZCdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcImZvcm1CdXR0b25cIikge1xyXG4gICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhcIm5zYy1mcmFtZXdvcmstdGFibGVwYWdlXCIsIGNsYXNzTmFtZSl9PlxyXG4gICAgICAgIHtwYWdlTG9hZGluZyA/IChcclxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiLCBoZWlnaHQ6IFwiMTAwJVwiIH19PlxyXG4gICAgICAgICAgICA8U3BpbiBzcGlubmluZz17cGFnZUxvYWRpbmd9PjwvU3Bpbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8QmFzZVBhZ2VcclxuICAgICAgICAgICAgey4uLnBhZ2VQcm9wc31cclxuICAgICAgICAgICAgdHJlZVByb3BzPXt7IC4uLnRyZWVQcm9wcywgLi4uc2V0dGluZ1RyZWVQcm9wcyB9fVxyXG4gICAgICAgICAgICB0YWJsZVByb3BzPXt7IC4uLnRhYmxlUHJvcHMsIC4uLnNldHRpbmdUYWJsZVByb3BzIH19XHJcbiAgICAgICAgICAgIGZvcm1Qcm9wcz17e319XHJcbiAgICAgICAgICAgIFV0aWxzPXt7IC4uLmRlZmF1bFV0aWwgfX1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICAgIHBhZ2VSZWY9e3RoaXMucGFnZVJlZn1cclxuICAgICAgICAgICAgb25IaWRlRm9ybT17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogZGVmYXVsdENvbHVtbnMgfSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZnVuY3M9e3sgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH19XHJcbiAgICAgICAgICAgIGluaXREYXRhPXt0aGlzLmluaXREYXRhfVxyXG4gICAgICAgICAgICBmb3JtUGFnZVByb3BzPXt7XHJcbiAgICAgICAgICAgICAgZm9ybVR5cGU6IGZvcm1QYWdlUHJvcHMuZm9ybVR5cGUgfHwgXCJtb2RhbFwiLFxyXG4gICAgICAgICAgICAgIHByb3BzOiBmb3JtUGFnZVByb3BzPy5wcm9wcyxcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgdGFibGVDb2RlPXt0aGlzLnByb3BzLnRhYmxlQ29kZX1cclxuICAgICAgICAgICAgey4uLm90aGVyUHJvcHN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmVG9vbEJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkJ1dHRvbjogc2VsZlRvb2xCdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiB7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9LFxyXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuc3RhdGUuYnV0dG9uTG9hZGluZyxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlU2VsZkJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7cmVuZGVyU2VsZkNvbHVtbkJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkNvbHVtbkJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7Y29kZWNvbHVtbkJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7cmVuZGVyU2VsZlRvb2xCdXR0b24oe1xyXG4gICAgICAgICAgICAgIHNlbGZCdXR0b246IHNlbGZGb3JtQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgICBsb2FkaW5nOiB0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgICAgICAgICAgdHlwZTogXCJmb3JtQnV0dG9uXCIsXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7Y29kZUZvcm1CdXR0b25zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgIDwvQmFzZVBhZ2U+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0EsT0FBT0EsUUFBUSxNQUE0QixhQUFhO0FBQ3hELE9BQU9DLElBQUksTUFBTSxpQkFBaUI7QUFDbEMsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxPQUFPLGNBQWM7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["BasePage","Spin","Button","React","NscCom","NscFile","NscRequest","NscUtils","cls","queryString","getLocalStore","dayjs","defaulUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","type","length","map","item","index","pageType","key","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","disabled","columns","newColumns","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","jumpPage","pathname","query","id","title","serviceName","servicePath","openType","newQuery","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","SettingTable","Component","constructor","arguments","_defineProperty","pageProps","treeProps","store","url","autoLoad","tableProps","selfToolButton","selfFormButton","pageLoading","defaultColumns","otherProps","buttonLoading","formPageProps","createRef","res","state","showSearch","defaultSearch","tableDataResource","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","form_props","formProps","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","baseProps","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","getCurrentProject","children","codeSelfButtons","codecolumnButtons","codeFormButtons","Array","isArray","child","_child$props","_child$props2","_child$props3","_item$props","_item$props2","_item$props3","style","width","height","spinning","_extends","ref","onHideForm","_this$pageRef$current10","hideForm","initData","formType"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport queryString from \"query-string\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport { converFunction } from \"../../utils\";\r\n// import { history } from 'umi'\r\n// import { getConfigData } from '../services';\r\n\r\nconst defaulUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\nconst renderSelfToolButton = ({\r\n selfButton,\r\n pageRef,\r\n funcs,\r\n loading,\r\n type = \"toolButton\",\r\n}) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType={type}\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst renderSelfColumnButton = ({ selfColumnButton, pageRef, funcs }) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n selfFormButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n formPageProps: {} as any,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.getData();\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaulUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n let form_props = JSON.parse(res.data.formProps || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props?.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaulUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n formPageProps: form_props,\r\n selfFormButton: form_props?.selfButton || [],\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n formPageProps = {},\r\n selfFormButton,\r\n } = this.state;\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n // const {store:tableStore}\r\n // const { store: settingTableStore } = settingTableProps;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n } else if (child?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n } else if (item?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n }\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...treeProps, ...settingTreeProps }}\r\n tableProps={{ ...tableProps, ...settingTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaulUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n formPageProps={{\r\n formType: formPageProps.formType || \"modal\",\r\n props: formPageProps?.props,\r\n }}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfButton: selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfToolButton({\r\n selfButton: selfFormButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n {codeFormButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["BasePage","Spin","Button","React","NscCom","NscFile","NscRequest","NscUtils","cls","queryString","getLocalStore","dayjs","defaulUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","type","length","map","item","index","pageType","key","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","disabled","columns","newColumns","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","jumpPage","pathname","query","id","title","serviceName","servicePath","openType","newQuery","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","SettingTable","Component","constructor","arguments","_defineProperty","pageProps","treeProps","store","url","autoLoad","tableProps","selfToolButton","selfFormButton","pageLoading","defaultColumns","otherProps","buttonLoading","formPageProps","createRef","res","state","showSearch","defaultSearch","tableDataResource","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","form_props","formProps","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","baseProps","console","log","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","getCurrentProject","children","codeSelfButtons","codecolumnButtons","codeFormButtons","Array","isArray","child","_child$props","_child$props2","_child$props3","_item$props","_item$props2","_item$props3","style","width","height","spinning","_extends","ref","onHideForm","_this$pageRef$current10","hideForm","initData","formType"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport queryString from \"query-string\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport { converFunction } from \"../../utils\";\r\n// import { history } from 'umi'\r\n// import { getConfigData } from '../services';\r\n\r\nconst defaulUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\nconst renderSelfToolButton = ({\r\n selfButton,\r\n pageRef,\r\n funcs,\r\n loading,\r\n type = \"toolButton\",\r\n}) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType={type}\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst renderSelfColumnButton = ({ selfColumnButton, pageRef, funcs }) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n selfFormButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n formPageProps: {} as any,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.getData();\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaulUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n let form_props = JSON.parse(res.data.formProps || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props?.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaulUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n formPageProps: form_props,\r\n selfFormButton: form_props?.selfButton || [],\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n formPageProps = {},\r\n selfFormButton,\r\n } = this.state;\r\n console.log('formPageProps',formPageProps)\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n // const {store:tableStore}\r\n // const { store: settingTableStore } = settingTableProps;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n } else if (child?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n } else if (item?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n } else if (props?.pageType == \"formButton\") {\r\n codeFormButtons.push(children);\r\n }\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...treeProps, ...settingTreeProps }}\r\n tableProps={{ ...tableProps, ...settingTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaulUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n formPageProps={{\r\n formType: formPageProps.formType || \"modal\",\r\n props: formPageProps?.props,\r\n }}\r\n tableCode={this.props.tableCode}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfButton: selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfToolButton({\r\n selfButton: selfFormButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n {codeFormButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|