@kaspernj/api-maker 1.0.2111 → 1.0.2113
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/build/base-model/attribute.d.ts +8 -8
- package/build/base-model/attribute.d.ts.map +1 -1
- package/build/base-model/attribute.js +5 -5
- package/build/base-model/column.d.ts +8 -2
- package/build/base-model/column.d.ts.map +1 -1
- package/build/base-model/column.js +5 -2
- package/build/base-model.js +39 -26
- package/build/bootstrap/attribute-rows.js +2 -3
- package/build/bootstrap/paginate.js +2 -3
- package/build/collection.js +6 -6
- package/build/deserializer.d.ts.map +1 -1
- package/build/deserializer.js +8 -3
- package/build/draggable-sort/index.js +2 -3
- package/build/inputs/money.js +2 -3
- package/build/inputs/select.js +2 -3
- package/build/instance-of-class-name.js +2 -2
- package/build/model-recipes-model-loader.d.ts +13 -11
- package/build/model-recipes-model-loader.d.ts.map +1 -1
- package/build/model-recipes-model-loader.js +2 -2
- package/build/source-maps-loader.js +2 -2
- package/build/super-admin/edit-page/edit-attribute.js +2 -2
- package/build/super-admin/edit-page.js +2 -3
- package/build/super-admin/layout/menu/index.js +2 -2
- package/build/table/filters/filter-form.js +2 -2
- package/build/table/settings/download-action.js +2 -2
- package/build/table/table.js +2 -2
- package/build/use-input.js +2 -2
- package/build/utils/text.js +6 -4
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable comma-dangle, implicit-arrow-linebreak, import/no-named-as-default */
|
|
3
|
-
/* eslint-disable complexity, new-cap, newline-per-chained-call, no-await-in-loop, no-
|
|
3
|
+
/* eslint-disable complexity, new-cap, newline-per-chained-call, no-await-in-loop, no-return-assign */
|
|
4
4
|
/* eslint-disable no-unused-vars, react/jsx-max-depth, react/jsx-no-literals */
|
|
5
5
|
/* eslint-disable react/jsx-sort-props, react/no-array-index-key, sort-imports */
|
|
6
6
|
import React, { useMemo, useRef } from "react";
|
|
@@ -291,4 +291,4 @@ export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends
|
|
|
291
291
|
.localeCompare(digg(b, "humanName").toLowerCase()));
|
|
292
292
|
}
|
|
293
293
|
}));
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZvcm0uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvZmlsdGVyLWZvcm0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1RkFBdUY7QUFDdkYsdUhBQXVIO0FBQ3ZILCtFQUErRTtBQUMvRSxpRkFBaUY7QUFDakYsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDcEQsT0FBTyxnQkFBZ0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQy9CLE9BQU8sTUFBTSxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLG9CQUFvQixDQUFBO0FBQ3RDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLGlCQUFpQixNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxPQUFPLE1BQU0sbUNBQW1DLENBQUE7QUFFdkQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDhCQUErQixTQUFRLGFBQWE7SUFDM0YsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3hCLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDckMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUN6QyxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3pDLGVBQWUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDN0MsQ0FBQyxDQUFBO0lBRUYsS0FBSztRQUNILE1BQU0sRUFBQyxDQUFDLEVBQUMsR0FBRyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsd0NBQXdDLEVBQUMsQ0FBQyxDQUFBO1FBRTFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUUsU0FBUztZQUNwQix1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUM7WUFDaEUsT0FBTyxFQUFFLENBQUM7WUFDVixjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLFdBQVcsQ0FBQztZQUNyRSxJQUFJLEVBQUUsRUFBRTtZQUNSLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLHFCQUFxQixFQUFFLFNBQVM7WUFDaEMsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2YsVUFBVSxFQUFFLGFBQWEsRUFBRTtZQUMzQixDQUFDO1lBQ0QsYUFBYSxFQUFFLE1BQU0sRUFBRTtTQUN4QixDQUFDLENBQUE7UUFFRixPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7WUFFNUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLHFDQUFxQyxFQUFFLENBQUE7WUFDOUMsQ0FBQztRQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVOLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN6QixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLFlBQVksQ0FBQyxDQUFBO0lBRTVFLG9CQUFvQixDQUFDLE1BQU07UUFDekIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0csU0FBUyxFQUFFLFVBQVU7WUFDckIsY0FBYyxFQUFFLGdCQUFnQjtZQUNoQyxjQUFjLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO1lBQzFELFFBQVE7U0FDVCxDQUFDLENBQUMsQ0FBQTtRQUNILE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEksYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQyxDQUFDLENBQUE7UUFDSCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQTtRQUU1RCxPQUFPLEVBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFDLENBQUE7SUFDakUsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBRXRCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWM7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO1lBRWhGLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQTtZQUN0SCxNQUFNLEVBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBRWxHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFBO1FBQ3pFLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hGLGVBQWUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXhGLEtBQUssQ0FBQyxxQ0FBcUM7UUFDekMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1lBQ3RCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDaEMsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO1FBRWhGLElBQUksTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQTtRQUNwSCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDNUMsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUE7UUFDMUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBRWYsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7WUFFdEksSUFBSSxDQUFDLFVBQVU7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUUvRyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1lBRW5ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUVuRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixTQUFTLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUMvRSxDQUFDO1lBRUQsTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBQyxDQUFDLENBQUE7WUFDekcsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3ZCLENBQUM7UUFFRCxNQUFNLEVBQUMscUJBQXFCLEVBQUMsR0FBRyxJQUFJLENBQUE7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ2pDLE1BQU0sb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQTtRQUUzSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsU0FBUyxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUV0QixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsQ0FBQTtZQUM1RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFBO1lBQy9DLElBQUksZ0JBQWdCLENBQUE7WUFFcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUM1RixDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDWixTQUFTLEVBQUUsZ0JBQWdCO2dCQUMzQixVQUFVO2FBQ1gsQ0FBQyxDQUFBO1FBQ0osQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDOUMsTUFBTSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNyRSxNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsVUFBVSxDQUFBO1FBQ3pCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQTtRQUV6QixJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixhQUFhLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLENBQUM7YUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2pCLGFBQWEsR0FBRyxJQUFJLENBQUE7UUFDdEIsQ0FBQztRQUVELE9BQU8sQ0FDTCxNQUFDLElBQUksSUFDSCxNQUFNLEVBQUMscUNBQXFDLEVBQzVDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQ2hDLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFNBQVMsRUFBRSxFQUFFO2FBQ2QsYUFFRCxNQUFDLElBQUksSUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLGFBQzlCLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxLQUFLLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBQyxZQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsY0FBYyxFQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FDdkQsTUFBQyxJQUFJLElBQTRDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxLQUFLLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBQyxhQUNsRyxhQUFhLEdBQUcsQ0FBQzt3Q0FDaEIsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLEtBQUssRUFBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUMsa0JBRTlELEVBRVQsS0FBQyxJQUFJLGNBQ0YsU0FBUyxHQUNMLEtBUkUsR0FBRyxhQUFhLElBQUksY0FBYyxFQUFFLENBU3hDLENBQ1IsR0FDSSxFQUNQLE1BQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsYUFDcEYsTUFBQyxJQUFJLElBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyx1QkFBdUIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLGFBQ3ZGLEtBQUMsTUFBTSxjQUNKLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLFlBQVksRUFBRSxlQUFlLEVBQUMsQ0FBQyxHQUM5QyxFQUNSLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQzNGLEtBQUMsaUJBQWlCLElBRWhCLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFDckMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLEVBQ3BDLFVBQVUsRUFBRSxVQUFVLElBSGpCLFVBQVUsQ0FBQyxjQUFjLENBSTlCLENBQ0gsSUFDSSxFQUNQLE1BQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsb0JBQW9CLElBQUksRUFBRSxDQUFDLEtBQUssRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxhQUNwRixLQUFDLE1BQU0sY0FDSixDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBQyxDQUFDLEdBQ3hDLEVBQ1IsSUFBSSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQzVHLEtBQUMsZ0JBQWdCLElBQ2YsTUFBTSxFQUFFLFNBQVMsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUNsRSxTQUFTLEVBQUUsU0FBUyxFQUVwQixjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQ3JDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixJQUY5QixTQUFTLENBQUMsYUFBYSxDQUc1QixDQUNILEVBQ0EsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN2QyxLQUFDLFlBQVksSUFDWCxNQUFNLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUU3QixLQUFLLEVBQUUsS0FBSyxFQUNaLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsSUFGakMsS0FBSyxDQUdWLENBQ0gsSUFDSSxFQUNQLE1BQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDLEtBQUssRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxhQUNoRixLQUFDLE1BQU0sY0FDSixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxDQUFDLEdBQ2hDLEVBQ1QsS0FBQyxJQUFJLGNBQ0YsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2dEQUMxQixLQUFDLE1BQU0sSUFDTCxTQUFTLEVBQUMsa0JBQWtCLEVBQzVCLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUM3QixZQUFZLFFBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQ3BDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQy9ELEdBRUMsRUFDUCxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixLQUFLLEVBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxZQUN6RCxDQUFDLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQztnREFDbEMsS0FBQyxLQUFLLElBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxhQUFhLEdBQUksR0FFNUUsSUFDRixJQUNGLEVBQ1AsTUFBQyxJQUFJLElBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLEtBQUssRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBQyxhQUM3RixLQUFDLE1BQU0sSUFDTCxNQUFNLFFBQ04sSUFBSSxFQUFDLFFBQVEsRUFDYixLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFDLFlBQVksRUFBRSxRQUFRLEVBQUMsQ0FBQyxFQUM3QyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQzlCLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFO3dDQUN2RCxXQUFXLEVBQUUsQ0FBQztxQ0FDZixDQUFDLEdBQ0YsRUFDRixLQUFDLE1BQU0sSUFDTCxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQ3hCLElBQUksRUFBQyxPQUFPLEVBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBQyxZQUFZLEVBQUUsT0FBTyxFQUFDLENBQUMsRUFDM0MsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUU7d0NBQ3RELEtBQUssRUFBRSxFQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUM7d0NBQ3RCLE1BQU0sRUFBRSxxQkFBcUI7cUNBQzlCLENBQUMsRUFDRixNQUFNLFNBQ04sSUFDRyxJQUNGLEVBQ04sSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQztvQkFDakIsS0FBQyxJQUFJLElBQ0gsS0FBSyxFQUFFLE1BQU0sQ0FBQyxjQUFjLEtBQUs7NEJBQy9CLFVBQVUsRUFBRSxRQUFROzRCQUNwQixjQUFjLEVBQUUsUUFBUTs0QkFDeEIsUUFBUSxFQUFFLFVBQVU7NEJBQ3BCLEtBQUssRUFBRSxNQUFNOzRCQUNiLE1BQU0sRUFBRSxNQUFNO3lCQUNmLFlBRUQsS0FBQyxpQkFBaUIsSUFBQyxJQUFJLEVBQUMsT0FBTyxHQUFHLEdBQzdCLElBRUosQ0FDUixDQUFBO0lBQ0gsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQUk7UUFDNUIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDM0IsSUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUE7UUFFbEMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM1QixNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQzdELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksaUJBQWlCLENBQUMsQ0FBQTtZQUU1SCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sMkJBQTJCLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFFakksTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsaUJBQWlCLE9BQU8sMkJBQTJCLEVBQUUsQ0FBQyxDQUFBO1lBQ2xJLENBQUM7WUFFRCxpQkFBaUIsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDOUMsQ0FBQztRQUVELE9BQU8saUJBQWlCLENBQUE7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQzNCLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNqQixJQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBQTtRQUVsQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsVUFBVTtZQUNWLFdBQVcsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDO1NBQ3RELENBQUMsQ0FBQTtRQUVGLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDNUIsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUM3RCxNQUFNLG1CQUFtQixHQUFHLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUE7WUFFbkYsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBRXpJLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsVUFBVSxFQUFFLGlCQUFpQjtnQkFDN0IsV0FBVyxFQUFFLG1CQUFtQjthQUNqQyxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRUQsa0JBQWtCLEdBQUcsQ0FBQyxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUU7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNaLFNBQVM7WUFDVCxLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDLENBQUE7SUFDSixDQUFDLENBQUE7SUFFRCxrQkFBa0IsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3pCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLG1CQUFtQixDQUFDLENBQUE7UUFFOUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLFNBQVMsRUFBQyxDQUFDLENBQUE7SUFDNUIsQ0FBQyxDQUFBO0lBRUQsbUJBQW1CLEdBQUcsQ0FBQyxFQUFDLFVBQVUsRUFBQyxFQUFFLEVBQUU7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtRQUVoRCxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osWUFBWSxFQUFFLElBQUk7WUFDbEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsdUJBQXVCLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBQztZQUNuRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztZQUNsRCxJQUFJLEVBQUUsT0FBTztZQUNiLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQTtJQUVELGNBQWMsR0FBRyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRTtRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSztTQUNOLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQTtJQUVELFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDZCxNQUFNLEVBQUMsTUFBTSxFQUFFLGVBQWUsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDeEMsTUFBTSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDbEQsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDakQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUMxRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzdELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7UUFDcEYsTUFBTSxlQUFlLEdBQUc7WUFDdEIsQ0FBQztZQUNELENBQUMsRUFBRSxLQUFLO1NBQ1QsQ0FBQTtRQUVELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxlQUFlLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUE7WUFDcEQsZUFBZSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQy9DLENBQUM7YUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2pCLGVBQWUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFBO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFBO1FBQ3ZFLENBQUM7UUFFRCxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUUzRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUE7UUFFcEIsU0FBUyxDQUFDLGVBQWUsQ0FBQyxHQUFHLFlBQVksQ0FBQTtRQUV6QyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRTlCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUE7SUFDN0IsQ0FBQyxDQUFBO0lBRUQseUJBQXlCLENBQUMsV0FBVztRQUNuQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFBO2dCQUV2QixPQUFPLElBQUksQ0FBQTtZQUNiLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELHNCQUFzQixDQUFDLFVBQVU7UUFDL0IsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQzlCLElBQUksQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDO2FBQ2pCLFdBQVcsRUFBRTthQUNiLGFBQWEsQ0FDWixJQUFJLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNuQyxDQUNKLENBQUE7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsV0FBVztRQUNqQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUM7YUFDakIsV0FBVyxFQUFFO2FBQ2IsYUFBYSxDQUNaLElBQUksQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ25DLENBQ0osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbW1hLWRhbmdsZSwgaW1wbGljaXQtYXJyb3ctbGluZWJyZWFrLCBpbXBvcnQvbm8tbmFtZWQtYXMtZGVmYXVsdCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSwgbmV3LWNhcCwgbmV3bGluZS1wZXItY2hhaW5lZC1jYWxsLCBuby1hd2FpdC1pbi1sb29wLCBuby1leHRyYS1wYXJlbnMsIG5vLXJldHVybi1hc3NpZ24gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzLCByZWFjdC9qc3gtbWF4LWRlcHRoLCByZWFjdC9qc3gtbm8tbGl0ZXJhbHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1zb3J0LXByb3BzLCByZWFjdC9uby1hcnJheS1pbmRleC1rZXksIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtBY3Rpdml0eUluZGljYXRvciwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQXR0cmlidXRlRWxlbWVudCBmcm9tIFwiLi9hdHRyaWJ1dGUtZWxlbWVudFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vdXRpbHMvYnV0dG9uXCJcbmltcG9ydCBDYXJkIGZyb20gXCIuLi8uLi91dGlscy9jYXJkXCJcbmltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7Rm9ybX0gZnJvbSBcIi4uLy4uL2Zvcm1cIlxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi4vLi4vdXRpbHMvaGVhZGVyXCJcbmltcG9ydCBJbnB1dCBmcm9tIFwiLi4vLi4vaW5wdXRzL2lucHV0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uLy4uL3BhcmFtcy5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVmbGVjdGlvbkVsZW1lbnQgZnJvbSBcIi4vcmVmbGVjdGlvbi1lbGVtZW50XCJcbmltcG9ydCBTY29wZUVsZW1lbnQgZnJvbSBcIi4vc2NvcGUtZWxlbWVudFwiXG5pbXBvcnQgU2VsZWN0IGZyb20gXCIuLi8uLi9pbnB1dHMvc2VsZWN0XCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi4vLi4vc2VydmljZXMuanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4bi5tanNcIlxuXG5jb25zdCBzdHlsZXMgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVGaWx0ZXJzRmlsdGVyRm9ybSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3Qoe1xuICAgIGZpbHRlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQXBwbHlDbGlja2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVxdWVzdENsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5U2VhcmNoTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci50YWJsZS5maWx0ZXJzLmZpbHRlcl9mb3JtXCJ9KVxuXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgYXNzb2NpYXRpb25zOiBudWxsLFxuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBhY3R1YWxDdXJyZW50TW9kZWxDbGFzczogKCkgPT4gKHttb2RlbENsYXNzOiB0aGlzLnAubW9kZWxDbGFzc30pLFxuICAgICAgbG9hZGluZzogMCxcbiAgICAgIG1vZGVsQ2xhc3NOYW1lOiBkaWdnKHRoaXMucC5tb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwiY2xhc3NOYW1lXCIpLFxuICAgICAgcGF0aDogW10sXG4gICAgICBwcmVkaWNhdGU6IHVuZGVmaW5lZCxcbiAgICAgIHByZWRpY2F0ZXM6IHVuZGVmaW5lZCxcbiAgICAgIHJhbnNhY2thYmxlQXR0cmlidXRlczogdW5kZWZpbmVkLFxuICAgICAgcmFuc2Fja2FibGVTY29wZXM6IHVuZGVmaW5lZCxcbiAgICAgIHNjb3BlOiB0aGlzLnByb3BzLmZpbHRlci5zYyxcbiAgICAgIHZhbHVlOiB0aGlzLnByb3BzLmZpbHRlci52XG4gICAgfSlcblxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe1xuICAgICAgYnJlYWtwb2ludDogdXNlQnJlYWtwb2ludCgpLFxuICAgICAgdCxcbiAgICAgIHZhbHVlSW5wdXRSZWY6IHVzZVJlZigpLFxuICAgIH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZFJhbnNhY2tQcmVkaWNhdGVzKClcblxuICAgICAgaWYgKHRoaXMucHJvcHMuZmlsdGVyLnYpIHtcbiAgICAgICAgdGhpcy5sb2FkSW5pdGlhbFZhbHVlc1dpdGhMb2FkaW5nSW5kaWNhdG9yKClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkQXNzb2NpYXRpb25zKClcbiAgICB9LCBbdGhpcy5zLm1vZGVsQ2xhc3NOYW1lXSlcbiAgfVxuXG4gIGN1cnJlbnRNb2RlbENsYXNzID0gKCkgPT4gZGlnZyh0aGlzLnMuYWN0dWFsQ3VycmVudE1vZGVsQ2xhc3MsIFwibW9kZWxDbGFzc1wiKVxuXG4gIHBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdCkge1xuICAgIGNvbnN0IGFzc29jaWF0aW9ucyA9IHJlc3VsdC5hc3NvY2lhdGlvbnMubWFwKCh7aHVtYW5fbmFtZSwgbW9kZWxfY2xhc3NfbmFtZSwgcmVmbGVjdGlvbl9uYW1lLCByZXNvdXJjZX0pID0+ICh7XG4gICAgICBodW1hbk5hbWU6IGh1bWFuX25hbWUsXG4gICAgICBtb2RlbENsYXNzTmFtZTogbW9kZWxfY2xhc3NfbmFtZSxcbiAgICAgIHJlZmxlY3Rpb25OYW1lOiBpbmZsZWN0aW9uLmNhbWVsaXplKHJlZmxlY3Rpb25fbmFtZSwgdHJ1ZSksXG4gICAgICByZXNvdXJjZVxuICAgIH0pKVxuICAgIGNvbnN0IHJhbnNhY2thYmxlQXR0cmlidXRlcyA9IGRpZ2cocmVzdWx0LCBcInJhbnNhY2thYmxlX2F0dHJpYnV0ZXNcIikubWFwKCh7YXR0cmlidXRlX25hbWU6IGF0dHJpYnV0ZU5hbWUsIGh1bWFuX25hbWU6IGh1bWFuTmFtZX0pID0+ICh7XG4gICAgICBhdHRyaWJ1dGVOYW1lLCBodW1hbk5hbWVcbiAgICB9KSlcbiAgICBjb25zdCByYW5zYWNrYWJsZVNjb3BlcyA9IGRpZ2cocmVzdWx0LCBcInJhbnNhY2thYmxlX3Njb3Blc1wiKVxuXG4gICAgcmV0dXJuIHthc3NvY2lhdGlvbnMsIHJhbnNhY2thYmxlQXR0cmlidXRlcywgcmFuc2Fja2FibGVTY29wZXN9XG4gIH1cblxuICBhc3luYyBsb2FkQXNzb2NpYXRpb25zKCkge1xuICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcblxuICAgIHRyeSB7XG4gICAgICBpZiAoIXRoaXMucy5tb2RlbENsYXNzTmFtZSkgdGhyb3cgbmV3IEVycm9yKFwiJ21vZGVsQ2xhc3NOYW1lJyBub3Qgc2V0IGluIHN0YXRlXCIpXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiB0aGlzLnMubW9kZWxDbGFzc05hbWV9KVxuICAgICAgY29uc3Qge2Fzc29jaWF0aW9ucywgcmFuc2Fja2FibGVBdHRyaWJ1dGVzLCByYW5zYWNrYWJsZVNjb3Blc30gPSB0aGlzLnBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdClcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7YXNzb2NpYXRpb25zLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMsIHJhbnNhY2thYmxlU2NvcGVzfSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGRlY3JlYXNlTG9hZGluZyA9ICgpID0+IHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4gKHtsb2FkaW5nOiBwcmV2U3RhdGUubG9hZGluZyAtIDF9KSlcbiAgaW5jcmVhc2VMb2FkaW5nID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiAoe2xvYWRpbmc6IHByZXZTdGF0ZS5sb2FkaW5nICsgMX0pKVxuXG4gIGFzeW5jIGxvYWRJbml0aWFsVmFsdWVzV2l0aExvYWRpbmdJbmRpY2F0b3IoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcbiAgICAgIGF3YWl0IHRoaXMubG9hZEluaXRpYWxWYWx1ZXMoKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRlY3JlYXNlTG9hZGluZygpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZEluaXRpYWxWYWx1ZXMoKSB7XG4gICAgaWYgKCF0aGlzLnMubW9kZWxDbGFzc05hbWUpIHRocm93IG5ldyBFcnJvcihcIidtb2RlbENsYXNzTmFtZScgbm90IHNldCBpbiBzdGF0ZVwiKVxuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiB0aGlzLnMubW9kZWxDbGFzc05hbWV9KVxuICAgIGxldCBkYXRhID0gdGhpcy5wYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpXG4gICAgbGV0IG1vZGVsQ2xhc3NOYW1lID0gdGhpcy5zLm1vZGVsQ2xhc3NOYW1lXG4gICAgY29uc3QgcGF0aCA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHRoaXMucHJvcHMuZmlsdGVyLnApIHtcbiAgICAgIGNvbnN0IHJlZmxlY3Rpb24gPSBkYXRhLmFzc29jaWF0aW9ucy5maW5kKChhc3NvY2lhdGlvbikgPT4gZGlnZyhhc3NvY2lhdGlvbiwgXCJyZWZsZWN0aW9uTmFtZVwiKSA9PSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhdGhQYXJ0LCB0cnVlKSlcblxuICAgICAgaWYgKCFyZWZsZWN0aW9uKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpbmQgYXNzb2NpYXRpb24gYnkgdGhhdCBuYW1lICR7dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfSMke3BhdGhQYXJ0fWApXG5cbiAgICAgIG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhyZWZsZWN0aW9uLCBcIm1vZGVsQ2xhc3NOYW1lXCIpXG5cbiAgICAgIGlmICghbW9kZWxDbGFzc05hbWUpIHtcbiAgICAgICAgY29uc3QgcGF0aE5hbWVzID0gcGF0aC5tYXAoKHBhdGhQYXJ0KSA9PiBwYXRoUGFydC5uYW1lKCkpLmpvaW4oXCIuXCIpXG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbCBjbGFzcyBuYW1lIGZyb20gJHtwYXRoTmFtZXN9LiR7cmVmbGVjdGlvbi5uYW1lKCl9YClcbiAgICAgIH1cblxuICAgICAgcmVzdWx0ID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiTW9kZWxzOjpBc3NvY2lhdGlvbnNcIiwge21vZGVsX2NsYXNzX25hbWU6IG1vZGVsQ2xhc3NOYW1lfSlcbiAgICAgIGRhdGEgPSB0aGlzLnBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdClcblxuICAgICAgcGF0aC5wdXNoKHJlZmxlY3Rpb24pXG4gICAgfVxuXG4gICAgY29uc3Qge3JhbnNhY2thYmxlQXR0cmlidXRlc30gPSBkYXRhXG4gICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5wLmZpbHRlci5hXG4gICAgY29uc3QgcmFuc2Fja2FibGVBdHRyaWJ1dGUgPSByYW5zYWNrYWJsZUF0dHJpYnV0ZXMuZmluZCgocmFuc2Fja2FibGVBdHRyaWJ1dGUpID0+IGRpZ2cocmFuc2Fja2FibGVBdHRyaWJ1dGUsIFwiYXR0cmlidXRlTmFtZVwiKSA9PSBhdHRyaWJ1dGUpXG5cbiAgICB0aGlzLnNldFN0YXRlKHthdHRyaWJ1dGU6IHJhbnNhY2thYmxlQXR0cmlidXRlLCBtb2RlbENsYXNzTmFtZSwgcGF0aH0pXG4gIH1cblxuICBhc3luYyBsb2FkUmFuc2Fja1ByZWRpY2F0ZXMoKSB7XG4gICAgdGhpcy5pbmNyZWFzZUxvYWRpbmcoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiUmFuc2Fjazo6UHJlZGljYXRlc1wiKVxuICAgICAgY29uc3QgcHJlZGljYXRlcyA9IGRpZ2cocmVzcG9uc2UsIFwicHJlZGljYXRlc1wiKVxuICAgICAgbGV0IGN1cnJlbnRQcmVkaWNhdGVcblxuICAgICAgaWYgKHRoaXMucHJvcHMuZmlsdGVyLnByZSkge1xuICAgICAgICBjdXJyZW50UHJlZGljYXRlID0gcHJlZGljYXRlcy5maW5kKChwcmVkaWNhdGUpID0+IHByZWRpY2F0ZS5uYW1lID09IHRoaXMucHJvcHMuZmlsdGVyLnByZSlcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHByZWRpY2F0ZTogY3VycmVudFByZWRpY2F0ZSxcbiAgICAgICAgcHJlZGljYXRlc1xuICAgICAgfSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7YnJlYWtwb2ludCwgdCwgdmFsdWVJbnB1dFJlZn0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgcGF0aCwgcHJlZGljYXRlLCBwcmVkaWNhdGVzLCBzY29wZSwgdmFsdWV9ID0gdGhpcy5zXG4gICAgY29uc3Qge21kVXB9ID0gYnJlYWtwb2ludFxuICAgIGxldCBzdWJtaXRFbmFibGVkID0gZmFsc2VcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgcHJlZGljYXRlKSB7XG4gICAgICBzdWJtaXRFbmFibGVkID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoc2NvcGUpIHtcbiAgICAgIHN1Ym1pdEVuYWJsZWQgPSB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDYXJkXG4gICAgICAgIHRlc3RJRD1cImFwaS1tYWtlci90YWJsZS9maWx0ZXJzL2ZpbHRlci1mb3JtXCJcbiAgICAgICAgc3R5bGU9e3N0eWxlc1tgY2FyZC0ke21kVXB9YF0gfHw9IHtcbiAgICAgICAgICB3aWR0aDogbWRVcCA/IHVuZGVmaW5lZCA6IFwiMTAwJVwiLFxuICAgICAgICAgIG1pbldpZHRoOiA1MCxcbiAgICAgICAgICBtaW5IZWlnaHQ6IDUwXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXt0aGlzLnR0Lm9uU3VibWl0fT5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLnBhdGhSb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wifX0+XG4gICAgICAgICAgICB7cGF0aC5tYXAoKHtodW1hbk5hbWUsIHJlZmxlY3Rpb25OYW1lfSwgcGF0aFBhcnRJbmRleCkgPT5cbiAgICAgICAgICAgICAgPFZpZXcga2V5PXtgJHtwYXRoUGFydEluZGV4fS0ke3JlZmxlY3Rpb25OYW1lfWB9IHN0eWxlPXtzdHlsZXMucGF0aEl0ZW1Sb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wifX0+XG4gICAgICAgICAgICAgICAge3BhdGhQYXJ0SW5kZXggPiAwICYmXG4gICAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLnBhdGhTZXBhcmF0b3IgfHw9IHttYXJnaW5SaWdodDogNSwgbWFyZ2luTGVmdDogNX19PlxuICAgICAgICAgICAgICAgICAgICAtXG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAge2h1bWFuTmFtZX1cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXNbYGZpbHRlcnNSb3ctJHttZFVwfWBdIHx8PSB7ZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwifX0+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2ByZWxhdGlvbnNoaXBzQ29sdW1uLSR7bWRVcH1gXSB8fD0ge21hcmdpblRvcDogbWRVcCA/IHVuZGVmaW5lZCA6IDI1fX0+XG4gICAgICAgICAgICAgIDxIZWFkZXI+XG4gICAgICAgICAgICAgICAge3QoXCIucmVsYXRpb25zaGlwc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlJlbGF0aW9uc2hpcHNcIn0pfVxuICAgICAgICAgICAgICA8L0hlYWRlcj5cbiAgICAgICAgICAgICAge3RoaXMucy5hc3NvY2lhdGlvbnMgJiYgdGhpcy5zb3J0ZWRSZWZsZWN0aW9uc0J5TmFtZSh0aGlzLnMuYXNzb2NpYXRpb25zKS5tYXAoKHJlZmxlY3Rpb24pID0+XG4gICAgICAgICAgICAgICAgPFJlZmxlY3Rpb25FbGVtZW50XG4gICAgICAgICAgICAgICAgICBrZXk9e3JlZmxlY3Rpb24ucmVmbGVjdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICBtb2RlbENsYXNzTmFtZT17dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50dC5vblJlZmxlY3Rpb25DbGlja2VkfVxuICAgICAgICAgICAgICAgICAgcmVmbGVjdGlvbj17cmVmbGVjdGlvbn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgYXR0cmlidXRlc0NvbHVtbi0ke21kVXB9YF0gfHw9IHttYXJnaW5Ub3A6IG1kVXAgPyB1bmRlZmluZWQgOiAyNX19PlxuICAgICAgICAgICAgICA8SGVhZGVyPlxuICAgICAgICAgICAgICAgIHt0KFwiLmF0dHJpYnV0ZXNcIiwge2RlZmF1bHRWYWx1ZTogXCJBdHRyaWJ1dGVzXCJ9KX1cbiAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgIHt0aGlzLnMucmFuc2Fja2FibGVBdHRyaWJ1dGVzICYmIHRoaXMuc29ydGVkQXR0cmlidXRlc0J5TmFtZSh0aGlzLnMucmFuc2Fja2FibGVBdHRyaWJ1dGVzKT8ubWFwKChhdHRyaWJ1dGUpID0+XG4gICAgICAgICAgICAgICAgPEF0dHJpYnV0ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17YXR0cmlidXRlLmF0dHJpYnV0ZU5hbWUgPT0gdGhpcy5zLmF0dHJpYnV0ZT8uYXR0cmlidXRlTmFtZX1cbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZT17YXR0cmlidXRlfVxuICAgICAgICAgICAgICAgICAga2V5PXthdHRyaWJ1dGUuYXR0cmlidXRlTmFtZX1cbiAgICAgICAgICAgICAgICAgIG1vZGVsQ2xhc3NOYW1lPXt0aGlzLnMubW9kZWxDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uQXR0cmlidXRlQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7dGhpcy5zLnJhbnNhY2thYmxlU2NvcGVzPy5tYXAoKHNjb3BlKSA9PlxuICAgICAgICAgICAgICAgIDxTY29wZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17c2NvcGUgPT0gdGhpcy5zLnNjb3BlfVxuICAgICAgICAgICAgICAgICAga2V5PXtzY29wZX1cbiAgICAgICAgICAgICAgICAgIHNjb3BlPXtzY29wZX1cbiAgICAgICAgICAgICAgICAgIG9uU2NvcGVDbGlja2VkPXt0aGlzLnR0Lm9uU2NvcGVDbGlja2VkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2BzZWFyY2hDb2x1bW4tJHttZFVwfWBdIHx8PSB7bWFyZ2luVG9wOiBtZFVwID8gdW5kZWZpbmVkIDogMjV9fT5cbiAgICAgICAgICAgICAgPEhlYWRlcj5cbiAgICAgICAgICAgICAgICB7dChcIi5zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJTZWFyY2hcIn0pfVxuICAgICAgICAgICAgICA8L0hlYWRlcj5cbiAgICAgICAgICAgICAgPFZpZXc+XG4gICAgICAgICAgICAgICAge3ByZWRpY2F0ZXMgJiYgIXRoaXMucy5zY29wZSAmJlxuICAgICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwcmVkaWNhdGUtc2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtwcmVkaWNhdGU/Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGVCbGFua1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vblByZWRpY2F0ZUNoYW5nZWR9XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3ByZWRpY2F0ZXMubWFwKChwcmVkaWNhdGUpID0+IGRpZ2cocHJlZGljYXRlLCBcIm5hbWVcIikpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5zZWFyY2hJbnB1dENvbnRhaW5lciB8fD0ge21hcmdpblRvcDogMTB9fT5cbiAgICAgICAgICAgICAgICB7KChhdHRyaWJ1dGUgJiYgcHJlZGljYXRlKSB8fCBzY29wZSkgJiZcbiAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzc05hbWU9XCJ2YWx1ZS1pbnB1dFwiIGRlZmF1bHRWYWx1ZT17dmFsdWV9IGlucHV0UmVmPXt2YWx1ZUlucHV0UmVmfSAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLmFjdGlvbnNSb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBqdXN0aWZ5Q29udGVudDogXCJlbmRcIiwgbWFyZ2luVG9wOiAxMH19PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBkYW5nZXJcbiAgICAgICAgICAgICAgaWNvbj1cInJlbW92ZVwiXG4gICAgICAgICAgICAgIGxhYmVsPXt0KFwiLmNhbmNlbFwiLCB7ZGVmYXVsdFZhbHVlOiBcIkNhbmNlbFwifSl9XG4gICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMucC5vblJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgICAgcHJlc3NhYmxlUHJvcHM9e3RoaXMuY2FjaGUoXCJjYW5jZWxCdXR0b25QcmVzc2FibGVQcm9wc1wiLCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IDVcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17IXN1Ym1pdEVuYWJsZWR9XG4gICAgICAgICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICAgICAgICAgIGxhYmVsPXt0KFwiLmFwcGx5XCIsIHtkZWZhdWx0VmFsdWU6IFwiQXBwbHlcIn0pfVxuICAgICAgICAgICAgICBwcmVzc2FibGVQcm9wcz17dGhpcy5jYWNoZShcImFwcGxlQnV0dG9uUHJlc3NhYmxlUHJvcHNcIiwge1xuICAgICAgICAgICAgICAgIHN0eWxlOiB7bWFyZ2luTGVmdDogNX0sXG4gICAgICAgICAgICAgICAgdGVzdElEOiBcImFwcGx5LWZpbHRlci1idXR0b25cIlxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgc3VibWl0XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgPC9Gb3JtPlxuICAgICAgICB7dGhpcy5zLmxvYWRpbmcgPiAwICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubG9hZGluZ092ZXJsYXkgfHw9IHtcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIlxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QWN0aXZpdHlJbmRpY2F0b3Igc2l6ZT1cImxhcmdlXCIgLz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvQ2FyZD5cbiAgICApXG4gIH1cblxuICBjdXJyZW50TW9kZWxDbGFzc0Zyb21QYXRoKHBhdGgpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBsZXQgY3VycmVudE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHBhdGgpIHtcbiAgICAgIGNvbnN0IGNhbWVsaXplZFBhdGhQYXJ0ID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSlcbiAgICAgIGNvbnN0IGFzc29jaWF0aW9uID0gY3VycmVudE1vZGVsQ2xhc3MucmFuc2Fja2FibGVBc3NvY2lhdGlvbnMoKS5maW5kKChyZWZsZWN0aW9uKSA9PiByZWZsZWN0aW9uLm5hbWUoKSA9PSBjYW1lbGl6ZWRQYXRoUGFydClcblxuICAgICAgaWYgKCFhc3NvY2lhdGlvbikge1xuICAgICAgICBjb25zdCByYW5zYWNrYWJsZUFzc29jaWF0aW9uTmFtZXMgPSBjdXJyZW50TW9kZWxDbGFzcy5yYW5zYWNrYWJsZUFzc29jaWF0aW9ucygpLm1hcCgocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5uYW1lKCkpLmpvaW4oXCIsIFwiKVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgYSBSYW5zYWNrYWJsZSBhc3NvY2lhdGlvbiBieSB0aGF0IG5hbWU6ICR7Y2FtZWxpemVkUGF0aFBhcnR9IGluICR7cmFuc2Fja2FibGVBc3NvY2lhdGlvbk5hbWVzfWApXG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRNb2RlbENsYXNzID0gYXNzb2NpYXRpb24ubW9kZWxDbGFzcygpXG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRNb2RlbENsYXNzXG4gIH1cblxuICBjdXJyZW50UGF0aFBhcnRzKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMuc1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdXG4gICAgbGV0IGN1cnJlbnRNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuXG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgbW9kZWxDbGFzcyxcbiAgICAgIHRyYW5zbGF0aW9uOiBtb2RlbENsYXNzLm1vZGVsTmFtZSgpLmh1bWFuKHtjb3VudDogMn0pXG4gICAgfSlcblxuICAgIGZvciAoY29uc3QgcGF0aFBhcnQgb2YgcGF0aCkge1xuICAgICAgY29uc3QgY2FtZWxpemVkUGF0aFBhcnQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhdGhQYXJ0LCB0cnVlKVxuICAgICAgY29uc3QgcGF0aFBhcnRUcmFuc2xhdGlvbiA9IGN1cnJlbnRNb2RlbENsYXNzLmh1bWFuQXR0cmlidXRlTmFtZShjYW1lbGl6ZWRQYXRoUGFydClcblxuICAgICAgY3VycmVudE1vZGVsQ2xhc3MgPSBjdXJyZW50TW9kZWxDbGFzcy5yYW5zYWNrYWJsZUFzc29jaWF0aW9ucygpLmZpbmQoKHJlZmxlY3Rpb24pID0+IHJlZmxlY3Rpb24ubmFtZSgpID09IGNhbWVsaXplZFBhdGhQYXJ0KS5tb2RlbENsYXNzKClcblxuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICBtb2RlbENsYXNzOiBjdXJyZW50TW9kZWxDbGFzcyxcbiAgICAgICAgdHJhbnNsYXRpb246IHBhdGhQYXJ0VHJhbnNsYXRpb25cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgb25BdHRyaWJ1dGVDbGlja2VkID0gKHthdHRyaWJ1dGV9KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBzY29wZTogdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxuXG4gIG9uUHJlZGljYXRlQ2hhbmdlZCA9IChlKSA9PiB7XG4gICAgY29uc3QgY2hvc2VuUHJlZGljYXRlTmFtZSA9IGRpZ2coZSwgXCJ0YXJnZXRcIiwgXCJ2YWx1ZVwiKVxuICAgIGNvbnN0IHByZWRpY2F0ZSA9IHRoaXMucy5wcmVkaWNhdGVzLmZpbmQoKHByZWRpY2F0ZSkgPT4gcHJlZGljYXRlLm5hbWUgPT0gY2hvc2VuUHJlZGljYXRlTmFtZSlcblxuICAgIHRoaXMuc2V0U3RhdGUoe3ByZWRpY2F0ZX0pXG4gIH1cblxuICBvblJlZmxlY3Rpb25DbGlja2VkID0gKHtyZWZsZWN0aW9ufSkgPT4ge1xuICAgIGNvbnN0IG5ld1BhdGggPSB0aGlzLnMucGF0aC5jb25jYXQoW3JlZmxlY3Rpb25dKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhc3NvY2lhdGlvbnM6IG51bGwsXG4gICAgICBhdHRyaWJ1dGU6IHVuZGVmaW5lZCxcbiAgICAgIGFjdHVhbEN1cnJlbnRNb2RlbENsYXNzOiB7bW9kZWxDbGFzczogZGlnZyhyZWZsZWN0aW9uLCBcInJlc291cmNlXCIpfSxcbiAgICAgIG1vZGVsQ2xhc3NOYW1lOiBkaWdnKHJlZmxlY3Rpb24sIFwibW9kZWxDbGFzc05hbWVcIiksXG4gICAgICBwYXRoOiBuZXdQYXRoLFxuICAgICAgcHJlZGljYXRlOiB1bmRlZmluZWRcbiAgICB9KVxuICB9XG5cbiAgb25TY29wZUNsaWNrZWQgPSAoe3Njb3BlfSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBwcmVkaWNhdGU6IHVuZGVmaW5lZCxcbiAgICAgIHNjb3BlXG4gICAgfSlcbiAgfVxuXG4gIG9uU3VibWl0ID0gKCkgPT4ge1xuICAgIGNvbnN0IHtmaWx0ZXIsIHF1ZXJ5U2VhcmNoTmFtZX0gPSB0aGlzLnBcbiAgICBjb25zdCB7YXR0cmlidXRlLCBwYXRoLCBwcmVkaWNhdGUsIHNjb3BlfSA9IHRoaXMuc1xuICAgIGNvbnN0IHtmaWx0ZXJJbmRleH0gPSBkaWdzKGZpbHRlciwgXCJmaWx0ZXJJbmRleFwiKVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IFBhcmFtcy5wYXJzZSgpW3F1ZXJ5U2VhcmNoTmFtZV0gfHwge31cbiAgICBjb25zdCB2YWx1ZSA9IGRpZ2codGhpcy50dC52YWx1ZUlucHV0UmVmLCBcImN1cnJlbnRcIiwgXCJ2YWx1ZVwiKVxuICAgIGNvbnN0IHAgPSBwYXRoLm1hcCgocmVmbGVjdGlvbikgPT4gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHJlZmxlY3Rpb24ucmVmbGVjdGlvbk5hbWUpKVxuICAgIGNvbnN0IG5ld1NlYXJjaFBhcmFtcyA9IHtcbiAgICAgIHAsXG4gICAgICB2OiB2YWx1ZVxuICAgIH1cblxuICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgIG5ld1NlYXJjaFBhcmFtcy5hID0gZGlnZyhhdHRyaWJ1dGUsIFwiYXR0cmlidXRlTmFtZVwiKVxuICAgICAgbmV3U2VhcmNoUGFyYW1zLnByZSA9IGRpZ2cocHJlZGljYXRlLCBcIm5hbWVcIilcbiAgICB9IGVsc2UgaWYgKHNjb3BlKSB7XG4gICAgICBuZXdTZWFyY2hQYXJhbXMuc2MgPSBzY29wZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEb250IGtub3cgaWYgc2hvdWxkIHNlYXJjaCBmb3IgYXR0cmlidXRlIG9yIHNjb3BlP1wiKVxuICAgIH1cblxuICAgIHNlYXJjaFBhcmFtc1tmaWx0ZXJJbmRleF0gPSBKU09OLnN0cmluZ2lmeShuZXdTZWFyY2hQYXJhbXMpXG5cbiAgICBjb25zdCBuZXdQYXJhbXMgPSB7fVxuXG4gICAgbmV3UGFyYW1zW3F1ZXJ5U2VhcmNoTmFtZV0gPSBzZWFyY2hQYXJhbXNcblxuICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMobmV3UGFyYW1zKVxuXG4gICAgdGhpcy5wcm9wcy5vbkFwcGx5Q2xpY2tlZCgpXG4gIH1cblxuICByZWZsZWN0aW9uc1dpdGhNb2RlbENsYXNzKHJlZmxlY3Rpb25zKSB7XG4gICAgcmV0dXJuIHJlZmxlY3Rpb25zLmZpbHRlcigocmVmbGVjdGlvbikgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVmbGVjdGlvbi5tb2RlbENsYXNzKClcblxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNvcnRlZEF0dHJpYnV0ZXNCeU5hbWUoYXR0cmlidXRlcykge1xuICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvcnQoKGEsIGIpID0+XG4gICAgICBkaWdnKGEsIFwiaHVtYW5OYW1lXCIpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5sb2NhbGVDb21wYXJlKFxuICAgICAgICAgIGRpZ2coYiwgXCJodW1hbk5hbWVcIikudG9Mb3dlckNhc2UoKVxuICAgICAgICApXG4gICAgKVxuICB9XG5cbiAgc29ydGVkUmVmbGVjdGlvbnNCeU5hbWUocmVmbGVjdGlvbnMpIHtcbiAgICByZXR1cm4gcmVmbGVjdGlvbnMuc29ydCgoYSwgYikgPT5cbiAgICAgIGRpZ2coYSwgXCJodW1hbk5hbWVcIilcbiAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgLmxvY2FsZUNvbXBhcmUoXG4gICAgICAgICAgZGlnZyhiLCBcImh1bWFuTmFtZVwiKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgIClcbiAgICApXG4gIH1cbn0pKVxuIl19
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZvcm0uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvZmlsdGVyLWZvcm0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1RkFBdUY7QUFDdkYsc0dBQXNHO0FBQ3RHLCtFQUErRTtBQUMvRSxpRkFBaUY7QUFDakYsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDcEQsT0FBTyxnQkFBZ0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQy9CLE9BQU8sTUFBTSxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLG9CQUFvQixDQUFBO0FBQ3RDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLGlCQUFpQixNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBQyxj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QUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbW1hLWRhbmdsZSwgaW1wbGljaXQtYXJyb3ctbGluZWJyZWFrLCBpbXBvcnQvbm8tbmFtZWQtYXMtZGVmYXVsdCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSwgbmV3LWNhcCwgbmV3bGluZS1wZXItY2hhaW5lZC1jYWxsLCBuby1hd2FpdC1pbi1sb29wLCBuby1yZXR1cm4tYXNzaWduICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycywgcmVhY3QvanN4LW1heC1kZXB0aCwgcmVhY3QvanN4LW5vLWxpdGVyYWxzICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtc29ydC1wcm9wcywgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5LCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7QWN0aXZpdHlJbmRpY2F0b3IsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEF0dHJpYnV0ZUVsZW1lbnQgZnJvbSBcIi4vYXR0cmlidXRlLWVsZW1lbnRcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL3V0aWxzL2J1dHRvblwiXG5pbXBvcnQgQ2FyZCBmcm9tIFwiLi4vLi4vdXRpbHMvY2FyZFwiXG5pbXBvcnQge2RpZ2csIGRpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge0Zvcm19IGZyb20gXCIuLi8uLi9mb3JtXCJcbmltcG9ydCBIZWFkZXIgZnJvbSBcIi4uLy4uL3V0aWxzL2hlYWRlclwiXG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uLy4uL2lucHV0cy9pbnB1dFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi8uLi9wYXJhbXMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlZmxlY3Rpb25FbGVtZW50IGZyb20gXCIuL3JlZmxlY3Rpb24tZWxlbWVudFwiXG5pbXBvcnQgU2NvcGVFbGVtZW50IGZyb20gXCIuL3Njb3BlLWVsZW1lbnRcIlxuaW1wb3J0IFNlbGVjdCBmcm9tIFwiLi4vLi4vaW5wdXRzL3NlbGVjdFwiXG5pbXBvcnQgU2VydmljZXMgZnJvbSBcIi4uLy4uL3NlcnZpY2VzLmpzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuY29uc3Qgc3R5bGVzID0ge31cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyc0ZpbHRlckZvcm0gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBmaWx0ZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbW9kZWxDbGFzczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkFwcGx5Q2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblJlcXVlc3RDbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeVNlYXJjaE5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVycy5maWx0ZXJfZm9ybVwifSlcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGFzc29jaWF0aW9uczogbnVsbCxcbiAgICAgIGF0dHJpYnV0ZTogdW5kZWZpbmVkLFxuICAgICAgYWN0dWFsQ3VycmVudE1vZGVsQ2xhc3M6ICgpID0+ICh7bW9kZWxDbGFzczogdGhpcy5wLm1vZGVsQ2xhc3N9KSxcbiAgICAgIGxvYWRpbmc6IDAsXG4gICAgICBtb2RlbENsYXNzTmFtZTogZGlnZyh0aGlzLnAubW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcImNsYXNzTmFtZVwiKSxcbiAgICAgIHBhdGg6IFtdLFxuICAgICAgcHJlZGljYXRlOiB1bmRlZmluZWQsXG4gICAgICBwcmVkaWNhdGVzOiB1bmRlZmluZWQsXG4gICAgICByYW5zYWNrYWJsZUF0dHJpYnV0ZXM6IHVuZGVmaW5lZCxcbiAgICAgIHJhbnNhY2thYmxlU2NvcGVzOiB1bmRlZmluZWQsXG4gICAgICBzY29wZTogdGhpcy5wcm9wcy5maWx0ZXIuc2MsXG4gICAgICB2YWx1ZTogdGhpcy5wcm9wcy5maWx0ZXIudlxuICAgIH0pXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtcbiAgICAgIGJyZWFrcG9pbnQ6IHVzZUJyZWFrcG9pbnQoKSxcbiAgICAgIHQsXG4gICAgICB2YWx1ZUlucHV0UmVmOiB1c2VSZWYoKSxcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRSYW5zYWNrUHJlZGljYXRlcygpXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbHRlci52KSB7XG4gICAgICAgIHRoaXMubG9hZEluaXRpYWxWYWx1ZXNXaXRoTG9hZGluZ0luZGljYXRvcigpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZEFzc29jaWF0aW9ucygpXG4gICAgfSwgW3RoaXMucy5tb2RlbENsYXNzTmFtZV0pXG4gIH1cblxuICBjdXJyZW50TW9kZWxDbGFzcyA9ICgpID0+IGRpZ2codGhpcy5zLmFjdHVhbEN1cnJlbnRNb2RlbENsYXNzLCBcIm1vZGVsQ2xhc3NcIilcblxuICBwYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpIHtcbiAgICBjb25zdCBhc3NvY2lhdGlvbnMgPSByZXN1bHQuYXNzb2NpYXRpb25zLm1hcCgoe2h1bWFuX25hbWUsIG1vZGVsX2NsYXNzX25hbWUsIHJlZmxlY3Rpb25fbmFtZSwgcmVzb3VyY2V9KSA9PiAoe1xuICAgICAgaHVtYW5OYW1lOiBodW1hbl9uYW1lLFxuICAgICAgbW9kZWxDbGFzc05hbWU6IG1vZGVsX2NsYXNzX25hbWUsXG4gICAgICByZWZsZWN0aW9uTmFtZTogaW5mbGVjdGlvbi5jYW1lbGl6ZShyZWZsZWN0aW9uX25hbWUsIHRydWUpLFxuICAgICAgcmVzb3VyY2VcbiAgICB9KSlcbiAgICBjb25zdCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMgPSBkaWdnKHJlc3VsdCwgXCJyYW5zYWNrYWJsZV9hdHRyaWJ1dGVzXCIpLm1hcCgoe2F0dHJpYnV0ZV9uYW1lOiBhdHRyaWJ1dGVOYW1lLCBodW1hbl9uYW1lOiBodW1hbk5hbWV9KSA9PiAoe1xuICAgICAgYXR0cmlidXRlTmFtZSwgaHVtYW5OYW1lXG4gICAgfSkpXG4gICAgY29uc3QgcmFuc2Fja2FibGVTY29wZXMgPSBkaWdnKHJlc3VsdCwgXCJyYW5zYWNrYWJsZV9zY29wZXNcIilcblxuICAgIHJldHVybiB7YXNzb2NpYXRpb25zLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMsIHJhbnNhY2thYmxlU2NvcGVzfVxuICB9XG5cbiAgYXN5bmMgbG9hZEFzc29jaWF0aW9ucygpIHtcbiAgICB0aGlzLmluY3JlYXNlTG9hZGluZygpXG5cbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLnMubW9kZWxDbGFzc05hbWUpIHRocm93IG5ldyBFcnJvcihcIidtb2RlbENsYXNzTmFtZScgbm90IHNldCBpbiBzdGF0ZVwiKVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJNb2RlbHM6OkFzc29jaWF0aW9uc1wiLCB7bW9kZWxfY2xhc3NfbmFtZTogdGhpcy5zLm1vZGVsQ2xhc3NOYW1lfSlcbiAgICAgIGNvbnN0IHthc3NvY2lhdGlvbnMsIHJhbnNhY2thYmxlQXR0cmlidXRlcywgcmFuc2Fja2FibGVTY29wZXN9ID0gdGhpcy5wYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe2Fzc29jaWF0aW9ucywgcmFuc2Fja2FibGVBdHRyaWJ1dGVzLCByYW5zYWNrYWJsZVNjb3Blc30pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZGVjcmVhc2VMb2FkaW5nKClcbiAgICB9XG4gIH1cblxuICBkZWNyZWFzZUxvYWRpbmcgPSAoKSA9PiB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+ICh7bG9hZGluZzogcHJldlN0YXRlLmxvYWRpbmcgLSAxfSkpXG4gIGluY3JlYXNlTG9hZGluZyA9ICgpID0+IHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4gKHtsb2FkaW5nOiBwcmV2U3RhdGUubG9hZGluZyArIDF9KSlcblxuICBhc3luYyBsb2FkSW5pdGlhbFZhbHVlc1dpdGhMb2FkaW5nSW5kaWNhdG9yKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmluY3JlYXNlTG9hZGluZygpXG4gICAgICBhd2FpdCB0aGlzLmxvYWRJbml0aWFsVmFsdWVzKClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRJbml0aWFsVmFsdWVzKCkge1xuICAgIGlmICghdGhpcy5zLm1vZGVsQ2xhc3NOYW1lKSB0aHJvdyBuZXcgRXJyb3IoXCInbW9kZWxDbGFzc05hbWUnIG5vdCBzZXQgaW4gc3RhdGVcIilcblxuICAgIGxldCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJNb2RlbHM6OkFzc29jaWF0aW9uc1wiLCB7bW9kZWxfY2xhc3NfbmFtZTogdGhpcy5zLm1vZGVsQ2xhc3NOYW1lfSlcbiAgICBsZXQgZGF0YSA9IHRoaXMucGFyc2VBc3NvY2lhdGlvbkRhdGEocmVzdWx0KVxuICAgIGxldCBtb2RlbENsYXNzTmFtZSA9IHRoaXMucy5tb2RlbENsYXNzTmFtZVxuICAgIGNvbnN0IHBhdGggPSBbXVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiB0aGlzLnByb3BzLmZpbHRlci5wKSB7XG4gICAgICBjb25zdCByZWZsZWN0aW9uID0gZGF0YS5hc3NvY2lhdGlvbnMuZmluZCgoYXNzb2NpYXRpb24pID0+IGRpZ2coYXNzb2NpYXRpb24sIFwicmVmbGVjdGlvbk5hbWVcIikgPT0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSkpXG5cbiAgICAgIGlmICghcmVmbGVjdGlvbikgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBmaW5kIGFzc29jaWF0aW9uIGJ5IHRoYXQgbmFtZSAke3RoaXMucy5tb2RlbENsYXNzTmFtZX0jJHtwYXRoUGFydH1gKVxuXG4gICAgICBtb2RlbENsYXNzTmFtZSA9IGRpZ2cocmVmbGVjdGlvbiwgXCJtb2RlbENsYXNzTmFtZVwiKVxuXG4gICAgICBpZiAoIW1vZGVsQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNvbnN0IHBhdGhOYW1lcyA9IHBhdGgubWFwKChwYXRoUGFydCkgPT4gcGF0aFBhcnQubmFtZSgpKS5qb2luKFwiLlwiKVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbW9kZWwgY2xhc3MgbmFtZSBmcm9tICR7cGF0aE5hbWVzfS4ke3JlZmxlY3Rpb24ubmFtZSgpfWApXG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiBtb2RlbENsYXNzTmFtZX0pXG4gICAgICBkYXRhID0gdGhpcy5wYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpXG5cbiAgICAgIHBhdGgucHVzaChyZWZsZWN0aW9uKVxuICAgIH1cblxuICAgIGNvbnN0IHtyYW5zYWNrYWJsZUF0dHJpYnV0ZXN9ID0gZGF0YVxuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMucC5maWx0ZXIuYVxuICAgIGNvbnN0IHJhbnNhY2thYmxlQXR0cmlidXRlID0gcmFuc2Fja2FibGVBdHRyaWJ1dGVzLmZpbmQoKHJhbnNhY2thYmxlQXR0cmlidXRlKSA9PiBkaWdnKHJhbnNhY2thYmxlQXR0cmlidXRlLCBcImF0dHJpYnV0ZU5hbWVcIikgPT0gYXR0cmlidXRlKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7YXR0cmlidXRlOiByYW5zYWNrYWJsZUF0dHJpYnV0ZSwgbW9kZWxDbGFzc05hbWUsIHBhdGh9KVxuICB9XG5cbiAgYXN5bmMgbG9hZFJhbnNhY2tQcmVkaWNhdGVzKCkge1xuICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIlJhbnNhY2s6OlByZWRpY2F0ZXNcIilcbiAgICAgIGNvbnN0IHByZWRpY2F0ZXMgPSBkaWdnKHJlc3BvbnNlLCBcInByZWRpY2F0ZXNcIilcbiAgICAgIGxldCBjdXJyZW50UHJlZGljYXRlXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbHRlci5wcmUpIHtcbiAgICAgICAgY3VycmVudFByZWRpY2F0ZSA9IHByZWRpY2F0ZXMuZmluZCgocHJlZGljYXRlKSA9PiBwcmVkaWNhdGUubmFtZSA9PSB0aGlzLnByb3BzLmZpbHRlci5wcmUpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBwcmVkaWNhdGU6IGN1cnJlbnRQcmVkaWNhdGUsXG4gICAgICAgIHByZWRpY2F0ZXNcbiAgICAgIH0pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZGVjcmVhc2VMb2FkaW5nKClcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2JyZWFrcG9pbnQsIHQsIHZhbHVlSW5wdXRSZWZ9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthdHRyaWJ1dGUsIHBhdGgsIHByZWRpY2F0ZSwgcHJlZGljYXRlcywgc2NvcGUsIHZhbHVlfSA9IHRoaXMuc1xuICAgIGNvbnN0IHttZFVwfSA9IGJyZWFrcG9pbnRcbiAgICBsZXQgc3VibWl0RW5hYmxlZCA9IGZhbHNlXG5cbiAgICBpZiAoYXR0cmlidXRlICYmIHByZWRpY2F0ZSkge1xuICAgICAgc3VibWl0RW5hYmxlZCA9IHRydWVcbiAgICB9IGVsc2UgaWYgKHNjb3BlKSB7XG4gICAgICBzdWJtaXRFbmFibGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Q2FyZFxuICAgICAgICB0ZXN0SUQ9XCJhcGktbWFrZXIvdGFibGUvZmlsdGVycy9maWx0ZXItZm9ybVwiXG4gICAgICAgIHN0eWxlPXtzdHlsZXNbYGNhcmQtJHttZFVwfWBdIHx8PSB7XG4gICAgICAgICAgd2lkdGg6IG1kVXAgPyB1bmRlZmluZWQgOiBcIjEwMCVcIixcbiAgICAgICAgICBtaW5XaWR0aDogNTAsXG4gICAgICAgICAgbWluSGVpZ2h0OiA1MFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Rm9ybSBvblN1Ym1pdD17dGhpcy50dC5vblN1Ym1pdH0+XG4gICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5wYXRoUm93IHx8PSB7ZmxleERpcmVjdGlvbjogXCJyb3dcIn19PlxuICAgICAgICAgICAge3BhdGgubWFwKCh7aHVtYW5OYW1lLCByZWZsZWN0aW9uTmFtZX0sIHBhdGhQYXJ0SW5kZXgpID0+XG4gICAgICAgICAgICAgIDxWaWV3IGtleT17YCR7cGF0aFBhcnRJbmRleH0tJHtyZWZsZWN0aW9uTmFtZX1gfSBzdHlsZT17c3R5bGVzLnBhdGhJdGVtUm93IHx8PSB7ZmxleERpcmVjdGlvbjogXCJyb3dcIn19PlxuICAgICAgICAgICAgICAgIHtwYXRoUGFydEluZGV4ID4gMCAmJlxuICAgICAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy5wYXRoU2VwYXJhdG9yIHx8PSB7bWFyZ2luUmlnaHQ6IDUsIG1hcmdpbkxlZnQ6IDV9fT5cbiAgICAgICAgICAgICAgICAgICAgLVxuICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICAgIHtodW1hbk5hbWV9XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2BmaWx0ZXJzUm93LSR7bWRVcH1gXSB8fD0ge2ZsZXhEaXJlY3Rpb246IG1kVXAgPyBcInJvd1wiIDogXCJjb2x1bW5cIn19PlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgcmVsYXRpb25zaGlwc0NvbHVtbi0ke21kVXB9YF0gfHw9IHttYXJnaW5Ub3A6IG1kVXAgPyB1bmRlZmluZWQgOiAyNX19PlxuICAgICAgICAgICAgICA8SGVhZGVyPlxuICAgICAgICAgICAgICAgIHt0KFwiLnJlbGF0aW9uc2hpcHNcIiwge2RlZmF1bHRWYWx1ZTogXCJSZWxhdGlvbnNoaXBzXCJ9KX1cbiAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgIHt0aGlzLnMuYXNzb2NpYXRpb25zICYmIHRoaXMuc29ydGVkUmVmbGVjdGlvbnNCeU5hbWUodGhpcy5zLmFzc29jaWF0aW9ucykubWFwKChyZWZsZWN0aW9uKSA9PlxuICAgICAgICAgICAgICAgIDxSZWZsZWN0aW9uRWxlbWVudFxuICAgICAgICAgICAgICAgICAga2V5PXtyZWZsZWN0aW9uLnJlZmxlY3Rpb25OYW1lfVxuICAgICAgICAgICAgICAgICAgbW9kZWxDbGFzc05hbWU9e3RoaXMucy5tb2RlbENsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25SZWZsZWN0aW9uQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICAgIHJlZmxlY3Rpb249e3JlZmxlY3Rpb259XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXNbYGF0dHJpYnV0ZXNDb2x1bW4tJHttZFVwfWBdIHx8PSB7bWFyZ2luVG9wOiBtZFVwID8gdW5kZWZpbmVkIDogMjV9fT5cbiAgICAgICAgICAgICAgPEhlYWRlcj5cbiAgICAgICAgICAgICAgICB7dChcIi5hdHRyaWJ1dGVzXCIsIHtkZWZhdWx0VmFsdWU6IFwiQXR0cmlidXRlc1wifSl9XG4gICAgICAgICAgICAgIDwvSGVhZGVyPlxuICAgICAgICAgICAgICB7dGhpcy5zLnJhbnNhY2thYmxlQXR0cmlidXRlcyAmJiB0aGlzLnNvcnRlZEF0dHJpYnV0ZXNCeU5hbWUodGhpcy5zLnJhbnNhY2thYmxlQXR0cmlidXRlcyk/Lm1hcCgoYXR0cmlidXRlKSA9PlxuICAgICAgICAgICAgICAgIDxBdHRyaWJ1dGVFbGVtZW50XG4gICAgICAgICAgICAgICAgICBhY3RpdmU9e2F0dHJpYnV0ZS5hdHRyaWJ1dGVOYW1lID09IHRoaXMucy5hdHRyaWJ1dGU/LmF0dHJpYnV0ZU5hbWV9XG4gICAgICAgICAgICAgICAgICBhdHRyaWJ1dGU9e2F0dHJpYnV0ZX1cbiAgICAgICAgICAgICAgICAgIGtleT17YXR0cmlidXRlLmF0dHJpYnV0ZU5hbWV9XG4gICAgICAgICAgICAgICAgICBtb2RlbENsYXNzTmFtZT17dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50dC5vbkF0dHJpYnV0ZUNsaWNrZWR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3RoaXMucy5yYW5zYWNrYWJsZVNjb3Blcz8ubWFwKChzY29wZSkgPT5cbiAgICAgICAgICAgICAgICA8U2NvcGVFbGVtZW50XG4gICAgICAgICAgICAgICAgICBhY3RpdmU9e3Njb3BlID09IHRoaXMucy5zY29wZX1cbiAgICAgICAgICAgICAgICAgIGtleT17c2NvcGV9XG4gICAgICAgICAgICAgICAgICBzY29wZT17c2NvcGV9XG4gICAgICAgICAgICAgICAgICBvblNjb3BlQ2xpY2tlZD17dGhpcy50dC5vblNjb3BlQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgc2VhcmNoQ29sdW1uLSR7bWRVcH1gXSB8fD0ge21hcmdpblRvcDogbWRVcCA/IHVuZGVmaW5lZCA6IDI1fX0+XG4gICAgICAgICAgICAgIDxIZWFkZXI+XG4gICAgICAgICAgICAgICAge3QoXCIuc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiU2VhcmNoXCJ9KX1cbiAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgIDxWaWV3PlxuICAgICAgICAgICAgICAgIHtwcmVkaWNhdGVzICYmICF0aGlzLnMuc2NvcGUgJiZcbiAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicHJlZGljYXRlLXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17cHJlZGljYXRlPy5uYW1lfVxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlQmxhbmtcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25QcmVkaWNhdGVDaGFuZ2VkfVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtwcmVkaWNhdGVzLm1hcCgocHJlZGljYXRlKSA9PiBkaWdnKHByZWRpY2F0ZSwgXCJuYW1lXCIpKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuc2VhcmNoSW5wdXRDb250YWluZXIgfHw9IHttYXJnaW5Ub3A6IDEwfX0+XG4gICAgICAgICAgICAgICAgeygoYXR0cmlidXRlICYmIHByZWRpY2F0ZSkgfHwgc2NvcGUpICYmXG4gICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3NOYW1lPVwidmFsdWUtaW5wdXRcIiBkZWZhdWx0VmFsdWU9e3ZhbHVlfSBpbnB1dFJlZj17dmFsdWVJbnB1dFJlZn0gLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5hY3Rpb25zUm93IHx8PSB7ZmxleERpcmVjdGlvbjogXCJyb3dcIiwganVzdGlmeUNvbnRlbnQ6IFwiZW5kXCIsIG1hcmdpblRvcDogMTB9fT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgZGFuZ2VyXG4gICAgICAgICAgICAgIGljb249XCJyZW1vdmVcIlxuICAgICAgICAgICAgICBsYWJlbD17dChcIi5jYW5jZWxcIiwge2RlZmF1bHRWYWx1ZTogXCJDYW5jZWxcIn0pfVxuICAgICAgICAgICAgICBvblByZXNzPXt0aGlzLnAub25SZXF1ZXN0Q2xvc2V9XG4gICAgICAgICAgICAgIHByZXNzYWJsZVByb3BzPXt0aGlzLmNhY2hlKFwiY2FuY2VsQnV0dG9uUHJlc3NhYmxlUHJvcHNcIiwge1xuICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiA1XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFzdWJtaXRFbmFibGVkfVxuICAgICAgICAgICAgICBpY29uPVwiY2hlY2tcIlxuICAgICAgICAgICAgICBsYWJlbD17dChcIi5hcHBseVwiLCB7ZGVmYXVsdFZhbHVlOiBcIkFwcGx5XCJ9KX1cbiAgICAgICAgICAgICAgcHJlc3NhYmxlUHJvcHM9e3RoaXMuY2FjaGUoXCJhcHBsZUJ1dHRvblByZXNzYWJsZVByb3BzXCIsIHtcbiAgICAgICAgICAgICAgICBzdHlsZToge21hcmdpbkxlZnQ6IDV9LFxuICAgICAgICAgICAgICAgIHRlc3RJRDogXCJhcHBseS1maWx0ZXItYnV0dG9uXCJcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIHN1Ym1pdFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIDwvRm9ybT5cbiAgICAgICAge3RoaXMucy5sb2FkaW5nID4gMCAmJlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBzdHlsZT17c3R5bGVzLmxvYWRpbmdPdmVybGF5IHx8PSB7XG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIGhlaWdodDogXCIxMDAlXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFjdGl2aXR5SW5kaWNhdG9yIHNpemU9XCJsYXJnZVwiIC8+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICB9XG4gICAgICA8L0NhcmQ+XG4gICAgKVxuICB9XG5cbiAgY3VycmVudE1vZGVsQ2xhc3NGcm9tUGF0aChwYXRoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGhpcy5wXG4gICAgbGV0IGN1cnJlbnRNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiBwYXRoKSB7XG4gICAgICBjb25zdCBjYW1lbGl6ZWRQYXRoUGFydCA9IGluZmxlY3Rpb24uY2FtZWxpemUocGF0aFBhcnQsIHRydWUpXG4gICAgICBjb25zdCBhc3NvY2lhdGlvbiA9IGN1cnJlbnRNb2RlbENsYXNzLnJhbnNhY2thYmxlQXNzb2NpYXRpb25zKCkuZmluZCgocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5uYW1lKCkgPT0gY2FtZWxpemVkUGF0aFBhcnQpXG5cbiAgICAgIGlmICghYXNzb2NpYXRpb24pIHtcbiAgICAgICAgY29uc3QgcmFuc2Fja2FibGVBc3NvY2lhdGlvbk5hbWVzID0gY3VycmVudE1vZGVsQ2xhc3MucmFuc2Fja2FibGVBc3NvY2lhdGlvbnMoKS5tYXAoKHJlZmxlY3Rpb24pID0+IHJlZmxlY3Rpb24ubmFtZSgpKS5qb2luKFwiLCBcIilcblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIGEgUmFuc2Fja2FibGUgYXNzb2NpYXRpb24gYnkgdGhhdCBuYW1lOiAke2NhbWVsaXplZFBhdGhQYXJ0fSBpbiAke3JhbnNhY2thYmxlQXNzb2NpYXRpb25OYW1lc31gKVxuICAgICAgfVxuXG4gICAgICBjdXJyZW50TW9kZWxDbGFzcyA9IGFzc29jaWF0aW9uLm1vZGVsQ2xhc3MoKVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50TW9kZWxDbGFzc1xuICB9XG5cbiAgY3VycmVudFBhdGhQYXJ0cygpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnNcbiAgICBjb25zdCByZXN1bHQgPSBbXVxuICAgIGxldCBjdXJyZW50TW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcblxuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIG1vZGVsQ2xhc3MsXG4gICAgICB0cmFuc2xhdGlvbjogbW9kZWxDbGFzcy5tb2RlbE5hbWUoKS5odW1hbih7Y291bnQ6IDJ9KVxuICAgIH0pXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHBhdGgpIHtcbiAgICAgIGNvbnN0IGNhbWVsaXplZFBhdGhQYXJ0ID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSlcbiAgICAgIGNvbnN0IHBhdGhQYXJ0VHJhbnNsYXRpb24gPSBjdXJyZW50TW9kZWxDbGFzcy5odW1hbkF0dHJpYnV0ZU5hbWUoY2FtZWxpemVkUGF0aFBhcnQpXG5cbiAgICAgIGN1cnJlbnRNb2RlbENsYXNzID0gY3VycmVudE1vZGVsQ2xhc3MucmFuc2Fja2FibGVBc3NvY2lhdGlvbnMoKS5maW5kKChyZWZsZWN0aW9uKSA9PiByZWZsZWN0aW9uLm5hbWUoKSA9PSBjYW1lbGl6ZWRQYXRoUGFydCkubW9kZWxDbGFzcygpXG5cbiAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgbW9kZWxDbGFzczogY3VycmVudE1vZGVsQ2xhc3MsXG4gICAgICAgIHRyYW5zbGF0aW9uOiBwYXRoUGFydFRyYW5zbGF0aW9uXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIG9uQXR0cmlidXRlQ2xpY2tlZCA9ICh7YXR0cmlidXRlfSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXR0cmlidXRlLFxuICAgICAgc2NvcGU6IHVuZGVmaW5lZFxuICAgIH0pXG4gIH1cblxuICBvblByZWRpY2F0ZUNoYW5nZWQgPSAoZSkgPT4ge1xuICAgIGNvbnN0IGNob3NlblByZWRpY2F0ZU5hbWUgPSBkaWdnKGUsIFwidGFyZ2V0XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBwcmVkaWNhdGUgPSB0aGlzLnMucHJlZGljYXRlcy5maW5kKChwcmVkaWNhdGUpID0+IHByZWRpY2F0ZS5uYW1lID09IGNob3NlblByZWRpY2F0ZU5hbWUpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtwcmVkaWNhdGV9KVxuICB9XG5cbiAgb25SZWZsZWN0aW9uQ2xpY2tlZCA9ICh7cmVmbGVjdGlvbn0pID0+IHtcbiAgICBjb25zdCBuZXdQYXRoID0gdGhpcy5zLnBhdGguY29uY2F0KFtyZWZsZWN0aW9uXSlcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXNzb2NpYXRpb25zOiBudWxsLFxuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBhY3R1YWxDdXJyZW50TW9kZWxDbGFzczoge21vZGVsQ2xhc3M6IGRpZ2cocmVmbGVjdGlvbiwgXCJyZXNvdXJjZVwiKX0sXG4gICAgICBtb2RlbENsYXNzTmFtZTogZGlnZyhyZWZsZWN0aW9uLCBcIm1vZGVsQ2xhc3NOYW1lXCIpLFxuICAgICAgcGF0aDogbmV3UGF0aCxcbiAgICAgIHByZWRpY2F0ZTogdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxuXG4gIG9uU2NvcGVDbGlja2VkID0gKHtzY29wZX0pID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGF0dHJpYnV0ZTogdW5kZWZpbmVkLFxuICAgICAgcHJlZGljYXRlOiB1bmRlZmluZWQsXG4gICAgICBzY29wZVxuICAgIH0pXG4gIH1cblxuICBvblN1Ym1pdCA9ICgpID0+IHtcbiAgICBjb25zdCB7ZmlsdGVyLCBxdWVyeVNlYXJjaE5hbWV9ID0gdGhpcy5wXG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgcGF0aCwgcHJlZGljYXRlLCBzY29wZX0gPSB0aGlzLnNcbiAgICBjb25zdCB7ZmlsdGVySW5kZXh9ID0gZGlncyhmaWx0ZXIsIFwiZmlsdGVySW5kZXhcIilcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBQYXJhbXMucGFyc2UoKVtxdWVyeVNlYXJjaE5hbWVdIHx8IHt9XG4gICAgY29uc3QgdmFsdWUgPSBkaWdnKHRoaXMudHQudmFsdWVJbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBwID0gcGF0aC5tYXAoKHJlZmxlY3Rpb24pID0+IGluZmxlY3Rpb24udW5kZXJzY29yZShyZWZsZWN0aW9uLnJlZmxlY3Rpb25OYW1lKSlcbiAgICBjb25zdCBuZXdTZWFyY2hQYXJhbXMgPSB7XG4gICAgICBwLFxuICAgICAgdjogdmFsdWVcbiAgICB9XG5cbiAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICBuZXdTZWFyY2hQYXJhbXMuYSA9IGRpZ2coYXR0cmlidXRlLCBcImF0dHJpYnV0ZU5hbWVcIilcbiAgICAgIG5ld1NlYXJjaFBhcmFtcy5wcmUgPSBkaWdnKHByZWRpY2F0ZSwgXCJuYW1lXCIpXG4gICAgfSBlbHNlIGlmIChzY29wZSkge1xuICAgICAgbmV3U2VhcmNoUGFyYW1zLnNjID0gc2NvcGVcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRG9udCBrbm93IGlmIHNob3VsZCBzZWFyY2ggZm9yIGF0dHJpYnV0ZSBvciBzY29wZT9cIilcbiAgICB9XG5cbiAgICBzZWFyY2hQYXJhbXNbZmlsdGVySW5kZXhdID0gSlNPTi5zdHJpbmdpZnkobmV3U2VhcmNoUGFyYW1zKVxuXG4gICAgY29uc3QgbmV3UGFyYW1zID0ge31cblxuICAgIG5ld1BhcmFtc1txdWVyeVNlYXJjaE5hbWVdID0gc2VhcmNoUGFyYW1zXG5cbiAgICBQYXJhbXMuY2hhbmdlUGFyYW1zKG5ld1BhcmFtcylcblxuICAgIHRoaXMucHJvcHMub25BcHBseUNsaWNrZWQoKVxuICB9XG5cbiAgcmVmbGVjdGlvbnNXaXRoTW9kZWxDbGFzcyhyZWZsZWN0aW9ucykge1xuICAgIHJldHVybiByZWZsZWN0aW9ucy5maWx0ZXIoKHJlZmxlY3Rpb24pID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlZmxlY3Rpb24ubW9kZWxDbGFzcygpXG5cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzb3J0ZWRBdHRyaWJ1dGVzQnlOYW1lKGF0dHJpYnV0ZXMpIHtcbiAgICByZXR1cm4gYXR0cmlidXRlcy5zb3J0KChhLCBiKSA9PlxuICAgICAgZGlnZyhhLCBcImh1bWFuTmFtZVwiKVxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAubG9jYWxlQ29tcGFyZShcbiAgICAgICAgICBkaWdnKGIsIFwiaHVtYW5OYW1lXCIpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHNvcnRlZFJlZmxlY3Rpb25zQnlOYW1lKHJlZmxlY3Rpb25zKSB7XG4gICAgcmV0dXJuIHJlZmxlY3Rpb25zLnNvcnQoKGEsIGIpID0+XG4gICAgICBkaWdnKGEsIFwiaHVtYW5OYW1lXCIpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5sb2NhbGVDb21wYXJlKFxuICAgICAgICAgIGRpZ2coYiwgXCJodW1hbk5hbWVcIikudG9Mb3dlckNhc2UoKVxuICAgICAgICApXG4gICAgKVxuICB9XG59KSlcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/* eslint-disable implicit-arrow-linebreak,
|
|
2
|
+
/* eslint-disable implicit-arrow-linebreak, react/jsx-no-literals, sort-imports */
|
|
3
3
|
import BaseComponent from "../../base-component";
|
|
4
4
|
import ColumnContent from "../column-content";
|
|
5
5
|
import columnIdentifier from "../column-identifier.js";
|
|
@@ -37,4 +37,4 @@ export default memo(shapeComponent(class ApiMakerTableSettingsDownloadAction ext
|
|
|
37
37
|
saveAs(blob, fileName);
|
|
38
38
|
};
|
|
39
39
|
}));
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9zZXR0aW5ncy9kb3dubG9hZC1hY3Rpb24uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxrRkFBa0Y7QUFDbEYsT0FBTyxhQUFhLE1BQU0sc0JBQXNCLENBQUE7QUFDaEQsT0FBTyxhQUFhLE1BQU0sbUJBQW1CLENBQUE7QUFDN0MsT0FBTyxnQkFBZ0IsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RCxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFBLENBQUMsMkNBQTJDO0FBQzNGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBRW5DLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLG1DQUFvQyxTQUFRLGFBQWE7SUFDaEcsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUM1QixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ25DLENBQUMsQ0FBQTtJQUVGLE1BQU07UUFDSixPQUFPLENBQ0wsTUFBQyxTQUFTLElBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxTQUFTLEVBQUUsMENBQTBDLEVBQUMsQ0FBQyxFQUNoRyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLENBQUMsYUFFakYsS0FBQyxJQUFJLElBQUMsSUFBSSxFQUFDLFVBQVUsRUFBQyxJQUFJLEVBQUUsRUFBRSxHQUFJLEVBQ2xDLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUMsQ0FBQyx5QkFFOUMsSUFDRyxDQUNiLENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZSxHQUFHLEdBQUcsRUFBRTtRQUNyQixNQUFNLEVBQUMsQ0FBQyxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDekIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDNUIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUE7UUFDN0IsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLFVBQVUsQ0FBQTtRQUMzQixNQUFNLEVBQUMsZUFBZSxFQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNqQyxNQUFNLFlBQVksR0FBRyxDQUNuQiw0QkFDRSwwQkFDRSx1QkFDRyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQzs0QkFDL0YsdUJBQ0csS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUQ1QixnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FFNUIsQ0FDTixHQUNFLEdBQ0MsRUFDUiwwQkFDRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDcEIsdUJBQ0csZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7NEJBQy9GLHVCQUNHLElBQUksYUFBYSxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUQ5RCxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FFNUIsQ0FDTixJQUxNLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FNZCxDQUNOLEdBQ0ssSUFDRixDQUNULENBQUE7UUFDRCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBQyxDQUFDLENBQUE7UUFDckUsTUFBTSxRQUFRLEdBQUcsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQTtRQUVuRSxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3hCLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wbGljaXQtYXJyb3ctbGluZWJyZWFrLCByZWFjdC9qc3gtbm8tbGl0ZXJhbHMsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBDb2x1bW5Db250ZW50IGZyb20gXCIuLi9jb2x1bW4tY29udGVudFwiXG5pbXBvcnQgY29sdW1uSWRlbnRpZmllciBmcm9tIFwiLi4vY29sdW1uLWlkZW50aWZpZXIuanNcIlxuaW1wb3J0IGNvbHVtblZpc2libGUgZnJvbSBcIi4uL2NvbHVtbi12aXNpYmxlLmpzXCJcbmltcG9ydCB7c2F2ZUFzfSBmcm9tIFwiZmlsZS1zYXZlclwiXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vdXRpbHMvaWNvblwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7cmVuZGVyVG9TdHJpbmd9IGZyb20gXCJyZWFjdC1kb20vc2VydmVyXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBpbXBvcnQvbm8tdW5yZXNvbHZlZFxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge1ByZXNzYWJsZX0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJUYWJsZVNldHRpbmdzRG93bmxvYWRBY3Rpb24gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBsOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHRhYmxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcInByZXNzYWJsZURhdGFTZXRcIiwge2NvbXBvbmVudDogXCJhcGktbWFrZXIvdGFibGUvc2V0dGluZ3MvZG93bmxvYWQtYWN0aW9uXCJ9KX1cbiAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkRvd25sb2FkUHJlc3N9XG4gICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicHJlc3NhYmxlU3R5bGVcIiwge2ZsZXhEaXJlY3Rpb246IFwicm93XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCJ9KX1cbiAgICAgID5cbiAgICAgICAgPEljb24gbmFtZT1cImRvd25sb2FkXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgIDxUZXh0IHN0eWxlPXt0aGlzLmNhY2hlKFwidGV4dFN0eWxlXCIsIHttYXJnaW5MZWZ0OiA1fSl9PlxuICAgICAgICAgIERvd25sb2FkXG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvUHJlc3NhYmxlPlxuICAgIClcbiAgfVxuXG4gIG9uRG93bmxvYWRQcmVzcyA9ICgpID0+IHtcbiAgICBjb25zdCB7bCwgdGFibGV9ID0gdGhpcy5wXG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGFibGUucFxuICAgIGNvbnN0IHtjb2xsZWN0aW9ufSA9IHRhYmxlLnR0XG4gICAgY29uc3Qge21vZGVsc30gPSBjb2xsZWN0aW9uXG4gICAgY29uc3Qge3ByZXBhcmVkQ29sdW1uc30gPSB0YWJsZS5zXG4gICAgY29uc3QgdGFibGVFbGVtZW50ID0gKFxuICAgICAgPHRhYmxlPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAge3ByZXBhcmVkQ29sdW1ucz8ubWFwKCh7Y29sdW1uLCB0YWJsZVNldHRpbmdDb2x1bW59KSA9PiBjb2x1bW5WaXNpYmxlKGNvbHVtbiwgdGFibGVTZXR0aW5nQ29sdW1uKSAmJlxuICAgICAgICAgICAgICA8dGgga2V5PXtjb2x1bW5JZGVudGlmaWVyKGNvbHVtbil9PlxuICAgICAgICAgICAgICAgIHt0YWJsZS5oZWFkZXJMYWJlbEZvckNvbHVtbihjb2x1bW4pfVxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAge21vZGVscy5tYXAoKG1vZGVsKSA9PlxuICAgICAgICAgICAgPHRyIGtleT17bW9kZWwuaWQoKX0+XG4gICAgICAgICAgICAgIHtwcmVwYXJlZENvbHVtbnM/Lm1hcCgoe2NvbHVtbiwgdGFibGVTZXR0aW5nQ29sdW1ufSkgPT4gY29sdW1uVmlzaWJsZShjb2x1bW4sIHRhYmxlU2V0dGluZ0NvbHVtbikgJiZcbiAgICAgICAgICAgICAgICA8dGQga2V5PXtjb2x1bW5JZGVudGlmaWVyKGNvbHVtbil9PlxuICAgICAgICAgICAgICAgICAge25ldyBDb2x1bW5Db250ZW50KHtjb2x1bW4sIGwsIG1vZGU6IFwiaHRtbFwiLCBtb2RlbCwgdGFibGV9KS5jb250ZW50KCl9XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgKVxuICAgIGNvbnN0IHRhYmxlSFRNTCA9IHJlbmRlclRvU3RyaW5nKHRhYmxlRWxlbWVudClcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3RhYmxlSFRNTF0sIHt0eXBlOiBcInRleHQvaHRtbDtjaGFyc2V0PXV0Zi04XCJ9KVxuICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7bW9kZWxDbGFzcy5tb2RlbE5hbWUoKS5odW1hbih7Y291bnQ6IDJ9KX0uaHRtbGBcblxuICAgIHNhdmVBcyhibG9iLCBmaWxlTmFtZSlcbiAgfVxufSkpXG4iXX0=
|