@kaspernj/api-maker 1.0.2059 → 1.0.2061
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/api.d.ts +89 -14
- package/build/api.d.ts.map +1 -1
- package/build/api.js +100 -32
- package/build/attribute-not-loaded-error.js +2 -5
- package/build/base-component.js +3 -6
- package/build/base-error.js +9 -15
- package/build/base-model/attribute.js +4 -10
- package/build/base-model/column.js +2 -5
- package/build/base-model/reflection.js +10 -49
- package/build/base-model/scope.js +5 -41
- package/build/base-model.js +76 -115
- package/build/bootstrap/attribute-row.js +39 -71
- package/build/bootstrap/attribute-rows.js +14 -20
- package/build/bootstrap/card.js +57 -72
- package/build/bootstrap/checkbox.js +40 -35
- package/build/bootstrap/checkboxes.js +45 -69
- package/build/bootstrap/index.js +1 -2
- package/build/bootstrap/input.d.ts +1 -1
- package/build/bootstrap/input.js +69 -48
- package/build/bootstrap/invalid-feedback.d.ts +5 -2
- package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
- package/build/bootstrap/invalid-feedback.js +12 -17
- package/build/bootstrap/paginate.js +74 -74
- package/build/bootstrap/radio-buttons.d.ts +1 -1
- package/build/bootstrap/radio-buttons.js +38 -33
- package/build/bootstrap/select.d.ts +1 -1
- package/build/bootstrap/select.js +46 -34
- package/build/bootstrap/sort-link.js +35 -68
- package/build/cable-connection-pool.d.ts +6 -7
- package/build/cable-connection-pool.d.ts.map +1 -1
- package/build/cable-connection-pool.js +12 -18
- package/build/cable-subscription-pool.js +19 -58
- package/build/cable-subscription.js +6 -12
- package/build/cache-key-generator.js +5 -11
- package/build/can-can.js +17 -56
- package/build/channels-consumer.js +5 -10
- package/build/collection-loader.js +31 -36
- package/build/collection.js +19 -58
- package/build/command-submit-data.js +4 -10
- package/build/commands-pool.js +33 -39
- package/build/compose.js +2 -5
- package/build/config.js +5 -40
- package/build/custom-error.js +4 -9
- package/build/data-set-to-attributes.js +3 -39
- package/build/deserializer.js +18 -57
- package/build/destroy-error.js +4 -9
- package/build/devise.js +16 -55
- package/build/draggable-sort/controller.js +11 -14
- package/build/draggable-sort/index.js +32 -69
- package/build/draggable-sort/item.js +33 -70
- package/build/error-logger.js +8 -14
- package/build/error-messages.js +5 -8
- package/build/event-connection.d.ts +4 -1
- package/build/event-connection.d.ts.map +1 -1
- package/build/event-connection.js +12 -18
- package/build/event-emitter-listener.js +4 -9
- package/build/event-model-class.d.ts +4 -1
- package/build/event-model-class.d.ts.map +1 -1
- package/build/event-model-class.js +11 -17
- package/build/events.js +4 -6
- package/build/form.d.ts +3 -2
- package/build/form.d.ts.map +1 -1
- package/build/form.js +31 -69
- package/build/history-expo.js +6 -11
- package/build/history-react-native.js +9 -14
- package/build/history.js +3 -5
- package/build/index.js +2 -5
- package/build/inputs/attachment.js +34 -29
- package/build/inputs/auto-submit.js +6 -42
- package/build/inputs/checkbox.js +37 -73
- package/build/inputs/checkboxes.d.ts +1 -1
- package/build/inputs/checkboxes.js +40 -68
- package/build/inputs/id-for-component.js +3 -39
- package/build/inputs/input-wrapper.d.ts +2 -1
- package/build/inputs/input-wrapper.d.ts.map +1 -1
- package/build/inputs/input-wrapper.js +6 -12
- package/build/inputs/input.d.ts +1 -1
- package/build/inputs/input.js +66 -101
- package/build/inputs/money.js +56 -85
- package/build/inputs/name-for-component.js +3 -39
- package/build/inputs/select.d.ts +1 -1
- package/build/inputs/select.js +33 -32
- package/build/instance-of-class-name.js +5 -7
- package/build/is-expo.js +6 -8
- package/build/key-value-store.js +4 -10
- package/build/link.js +15 -21
- package/build/logger.js +2 -5
- package/build/merge-styles.js +4 -7
- package/build/modal.js +24 -25
- package/build/model-class-require.js +4 -40
- package/build/model-events.js +14 -20
- package/build/model-name.js +5 -44
- package/build/model-prop-type.js +9 -15
- package/build/model-recipes-loader.js +8 -14
- package/build/model-recipes-model-loader.d.ts +7 -7
- package/build/model-recipes-model-loader.js +18 -57
- package/build/models-response-reader.js +7 -46
- package/build/models.js +5 -10
- package/build/money-formatter.d.ts +2 -2
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +13 -19
- package/build/not-loaded-error.js +2 -5
- package/build/params.js +13 -19
- package/build/preloaded.js +5 -44
- package/build/resize-observer.js +6 -11
- package/build/rest-props-validator.js +2 -4
- package/build/result.js +2 -5
- package/build/router/route.d.ts +4 -4
- package/build/router/route.d.ts.map +1 -1
- package/build/router/route.js +50 -82
- package/build/router/switch.d.ts +2 -1
- package/build/router/switch.d.ts.map +1 -1
- package/build/router/switch.js +18 -56
- package/build/router.d.ts +2 -1
- package/build/router.d.ts.map +1 -1
- package/build/router.js +24 -59
- package/build/routes-native.js +15 -54
- package/build/routes.js +13 -49
- package/build/run-last.js +2 -5
- package/build/serializer.js +5 -8
- package/build/services.js +4 -10
- package/build/session-status-updater.js +14 -53
- package/build/source-maps-loader.js +11 -50
- package/build/super-admin/config-reader.js +9 -45
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +24 -61
- package/build/super-admin/edit-page/edit-attribute-content.js +16 -21
- package/build/super-admin/edit-page/edit-attribute-input.js +37 -71
- package/build/super-admin/edit-page/edit-attribute.js +33 -66
- package/build/super-admin/edit-page.js +50 -79
- package/build/super-admin/has-edit-config.js +4 -9
- package/build/super-admin/index-page.js +13 -17
- package/build/super-admin/index.js +72 -84
- package/build/super-admin/layout/header/index.d.ts +25 -1
- package/build/super-admin/layout/header/index.d.ts.map +1 -1
- package/build/super-admin/layout/header/index.js +49 -71
- package/build/super-admin/layout/index.js +59 -78
- package/build/super-admin/layout/menu/index.d.ts +4 -1
- package/build/super-admin/layout/menu/index.d.ts.map +1 -1
- package/build/super-admin/layout/menu/index.js +90 -105
- package/build/super-admin/layout/menu/menu-content.js +23 -60
- package/build/super-admin/layout/menu/menu-item.js +20 -23
- package/build/super-admin/layout/no-access.js +16 -20
- package/build/super-admin/model-class-table.js +25 -64
- package/build/super-admin/models.js +3 -38
- package/build/super-admin/show-nav.js +33 -61
- package/build/super-admin/show-page/belongs-to-attribute-row.js +20 -52
- package/build/super-admin/show-page/index.js +29 -63
- package/build/super-admin/show-reflection-actions.js +27 -62
- package/build/super-admin/show-reflection-link.js +17 -19
- package/build/super-admin/show-reflection-page.js +27 -63
- package/build/table/column-content.js +14 -54
- package/build/table/column-identifier.js +2 -5
- package/build/table/column-visible.js +2 -5
- package/build/table/components/column.js +8 -14
- package/build/table/components/flat-list.js +8 -14
- package/build/table/components/header.js +10 -16
- package/build/table/components/row.js +10 -16
- package/build/table/filters/attribute-element.js +24 -26
- package/build/table/filters/filter-form.js +124 -118
- package/build/table/filters/filter.js +36 -32
- package/build/table/filters/index.js +55 -43
- package/build/table/filters/load-search-modal.js +67 -81
- package/build/table/filters/reflection-element.js +20 -22
- package/build/table/filters/save-search-modal.js +29 -27
- package/build/table/filters/scope-element.js +17 -19
- package/build/table/header-column-content.js +27 -28
- package/build/table/header-column.js +45 -80
- package/build/table/header-select.js +39 -32
- package/build/table/model-callback-args.js +3 -39
- package/build/table/model-column.js +45 -75
- package/build/table/model-row.js +57 -79
- package/build/table/select-calculator.js +13 -52
- package/build/table/settings/column-row.js +25 -57
- package/build/table/settings/download-action.js +45 -31
- package/build/table/settings/index.js +42 -66
- package/build/table/table-settings.js +31 -70
- package/build/table/table.js +242 -212
- package/build/table/use-sorting.js +6 -12
- package/build/table/widths.js +9 -12
- package/build/table/worker-plugins-check-all-checkbox.js +25 -64
- package/build/table/worker-plugins-checkbox.js +22 -61
- package/build/translated-attributes.js +2 -5
- package/build/translated-collections.js +8 -14
- package/build/updated-attribute.d.ts +2 -1
- package/build/updated-attribute.d.ts.map +1 -1
- package/build/updated-attribute.js +15 -21
- package/build/url-encode.js +4 -10
- package/build/use-breakpoint.js +20 -58
- package/build/use-can-can.js +15 -21
- package/build/use-collection.d.ts +4 -4
- package/build/use-collection.d.ts.map +1 -1
- package/build/use-collection.js +32 -70
- package/build/use-created-event.js +22 -27
- package/build/use-current-user-context.d.ts +1 -1
- package/build/use-current-user-context.d.ts.map +1 -1
- package/build/use-current-user-context.js +37 -74
- package/build/use-current-user.js +11 -17
- package/build/use-destroyed-event.js +15 -20
- package/build/use-event-emitter.js +7 -13
- package/build/use-event-listener.js +7 -12
- package/build/use-input.js +28 -33
- package/build/use-model-event.js +13 -18
- package/build/use-model.js +28 -66
- package/build/use-resize-observer.js +10 -15
- package/build/use-router.d.ts +5 -2
- package/build/use-router.d.ts.map +1 -1
- package/build/use-router.js +35 -66
- package/build/use-screen-layout.d.ts.map +1 -1
- package/build/use-screen-layout.js +13 -8
- package/build/use-styles.d.ts +1 -1
- package/build/use-styles.d.ts.map +1 -1
- package/build/use-styles.js +16 -54
- package/build/use-updated-event.d.ts.map +1 -1
- package/build/use-updated-event.js +18 -21
- package/build/use-validation-errors.d.ts.map +1 -1
- package/build/use-validation-errors.js +10 -14
- package/build/utils/button.js +35 -33
- package/build/utils/card.js +30 -61
- package/build/utils/checkbox.js +28 -60
- package/build/utils/checkboxes.js +47 -78
- package/build/utils/default-style.d.ts +7 -3
- package/build/utils/default-style.d.ts.map +1 -1
- package/build/utils/default-style.js +18 -58
- package/build/utils/header.d.ts +2 -1
- package/build/utils/header.d.ts.map +1 -1
- package/build/utils/header.js +6 -12
- package/build/utils/icon.js +22 -61
- package/build/utils/invalid-feedback.js +13 -17
- package/build/utils/modal.js +29 -60
- package/build/utils/text.js +10 -14
- package/build/validation-error.js +6 -45
- package/build/validation-errors.d.ts.map +1 -1
- package/build/validation-errors.js +19 -59
- package/build/with-api-maker.js +13 -52
- package/build/with-collection.js +11 -50
- package/build/with-current-user.d.ts +2 -1
- package/build/with-current-user.d.ts.map +1 -1
- package/build/with-current-user.js +6 -12
- package/build/with-model.js +8 -14
- package/build/with-router.d.ts +6 -2
- package/build/with-router.d.ts.map +1 -1
- package/build/with-router.js +12 -13
- package/package.json +5 -3
|
@@ -1,42 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
|
|
12
|
-
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
13
|
-
const react_1 = __importDefault(require("react"));
|
|
14
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
15
|
-
const text_1 = __importDefault(require("../../utils/text"));
|
|
16
|
-
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerTableFilter extends base_component_js_1.default {
|
|
1
|
+
import { Pressable, View } from "react-native";
|
|
2
|
+
import BaseComponent from "../../base-component.js";
|
|
3
|
+
import Icon from "../../utils/icon";
|
|
4
|
+
import PropTypes from "prop-types";
|
|
5
|
+
import PropTypesExact from "prop-types-exact";
|
|
6
|
+
import memo from "set-state-compare/build/memo.js";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
9
|
+
import Text from "../../utils/text";
|
|
10
|
+
export default memo(shapeComponent(class ApiMakerTableFilter extends BaseComponent {
|
|
17
11
|
static defaultProps = {
|
|
18
12
|
a: null,
|
|
19
13
|
pre: null
|
|
20
14
|
};
|
|
21
|
-
static propTypes = (
|
|
22
|
-
a:
|
|
23
|
-
filterIndex:
|
|
24
|
-
onClick:
|
|
25
|
-
onRemoveClicked:
|
|
26
|
-
p:
|
|
27
|
-
pre:
|
|
28
|
-
sc:
|
|
29
|
-
v:
|
|
15
|
+
static propTypes = PropTypesExact({
|
|
16
|
+
a: PropTypes.string,
|
|
17
|
+
filterIndex: PropTypes.number.isRequired,
|
|
18
|
+
onClick: PropTypes.func.isRequired,
|
|
19
|
+
onRemoveClicked: PropTypes.func.isRequired,
|
|
20
|
+
p: PropTypes.array.isRequired,
|
|
21
|
+
pre: PropTypes.string,
|
|
22
|
+
sc: PropTypes.string,
|
|
23
|
+
v: PropTypes.string.isRequired
|
|
30
24
|
});
|
|
31
25
|
render() {
|
|
32
26
|
const { p, v } = this.p;
|
|
33
27
|
const { a, pre, sc } = this.props;
|
|
34
|
-
return (
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
return (<View style={this.cache("rootViewStyle", { alignItems: "center", flexDirection: "row", backgroundColor: "grey", paddingVertical: 10, paddingHorizontal: 6 })}>
|
|
29
|
+
<Pressable dataSet={{
|
|
30
|
+
attribute: a,
|
|
31
|
+
class: "filter-label",
|
|
32
|
+
scope: sc
|
|
33
|
+
}} onPress={this.tt.onFilterPressed}>
|
|
34
|
+
<Text>
|
|
35
|
+
{p.length > 0 &&
|
|
36
|
+
`${p.join(".")}.`}
|
|
37
|
+
{a} {sc} {pre} {v}
|
|
38
|
+
</Text>
|
|
39
|
+
</Pressable>
|
|
40
|
+
<Pressable dataSet={this.cache("removeFilterButtonDataSet", { class: "remove-filter-button" })} onPress={this.tt.onRemoveFilterPressed} style={this.cache("removeFilterButtonStyle", { marginLeft: 6 })}>
|
|
41
|
+
<Icon name="remove"/>
|
|
42
|
+
</Pressable>
|
|
43
|
+
</View>);
|
|
40
44
|
}
|
|
41
45
|
onFilterPressed = (e) => {
|
|
42
46
|
e.preventDefault();
|
|
@@ -49,4 +53,4 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
49
53
|
this.props.onRemoveClicked({ filterIndex: this.p.filterIndex });
|
|
50
54
|
};
|
|
51
55
|
}));
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9maWx0ZXJzL2ZpbHRlci5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUMsT0FBTyxhQUFhLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFDbkMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFFbkMsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sbUJBQW9CLFNBQVEsYUFBYTtJQUNoRixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLENBQUMsRUFBRSxJQUFJO1FBQ1AsR0FBRyxFQUFFLElBQUk7S0FDVixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ25CLFdBQVcsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDeEMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNsQyxlQUFlLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQzFDLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDN0IsR0FBRyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3JCLEVBQUUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNwQixDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQy9CLENBQUMsQ0FBQTtJQUVGLE1BQU07UUFDSixNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDckIsTUFBTSxFQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUUvQixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FDeko7UUFBQSxDQUFDLFNBQVMsQ0FDUixPQUFPLENBQUMsQ0FBQztnQkFDUCxTQUFTLEVBQUUsQ0FBQztnQkFDWixLQUFLLEVBQUUsY0FBYztnQkFDckIsS0FBSyxFQUFFLEVBQUU7YUFDVixDQUFDLENBQ0YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FFakM7VUFBQSxDQUFDLElBQUksQ0FDSDtZQUFBLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FDaEIsQ0FDQTtZQUFBLENBQUMsQ0FBQyxDQUFFLENBQUEsQ0FBQyxFQUFFLENBQUUsQ0FBQSxDQUFDLEdBQUcsQ0FBRSxDQUFBLENBQUMsQ0FBQyxDQUNuQjtVQUFBLEVBQUUsSUFBSSxDQUNSO1FBQUEsRUFBRSxTQUFTLENBQ1g7UUFBQSxDQUFDLFNBQVMsQ0FDUixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEVBQUMsS0FBSyxFQUFFLHNCQUFzQixFQUFDLENBQUMsQ0FBQyxDQUNsRixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQ3ZDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsRUFBQyxVQUFVLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUU5RDtVQUFBLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQ3JCO1FBQUEsRUFBRSxTQUFTLENBQ2I7TUFBQSxFQUFFLElBQUksQ0FBQyxDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDdEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRWxCLE1BQU0sRUFBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUMxQyxNQUFNLEVBQUMsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUV2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDLENBQUE7SUFFRCxxQkFBcUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzVCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUVsQixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDLENBQUE7SUFDL0QsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1ByZXNzYWJsZSwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL3V0aWxzL2ljb25cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi91dGlscy90ZXh0XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgYTogbnVsbCxcbiAgICBwcmU6IG51bGxcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgYTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBmaWx0ZXJJbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25SZW1vdmVDbGlja2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHA6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIHByZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzYzogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB2OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge3AsIHZ9ID0gdGhpcy5wXG4gICAgY29uc3Qge2EsIHByZSwgc2N9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7YWxpZ25JdGVtczogXCJjZW50ZXJcIiwgZmxleERpcmVjdGlvbjogXCJyb3dcIiwgYmFja2dyb3VuZENvbG9yOiBcImdyZXlcIiwgcGFkZGluZ1ZlcnRpY2FsOiAxMCwgcGFkZGluZ0hvcml6b250YWw6IDZ9KX0+XG4gICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICBkYXRhU2V0PXt7XG4gICAgICAgICAgICBhdHRyaWJ1dGU6IGEsXG4gICAgICAgICAgICBjbGFzczogXCJmaWx0ZXItbGFiZWxcIixcbiAgICAgICAgICAgIHNjb3BlOiBzY1xuICAgICAgICAgIH19XG4gICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkZpbHRlclByZXNzZWR9XG4gICAgICAgID5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIHtwLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgYCR7cC5qb2luKFwiLlwiKX0uYFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge2F9IHtzY30ge3ByZX0ge3Z9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJyZW1vdmVGaWx0ZXJCdXR0b25EYXRhU2V0XCIsIHtjbGFzczogXCJyZW1vdmUtZmlsdGVyLWJ1dHRvblwifSl9XG4gICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vblJlbW92ZUZpbHRlclByZXNzZWR9XG4gICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJyZW1vdmVGaWx0ZXJCdXR0b25TdHlsZVwiLCB7bWFyZ2luTGVmdDogNn0pfVxuICAgICAgICA+XG4gICAgICAgICAgPEljb24gbmFtZT1cInJlbW92ZVwiIC8+XG4gICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIG9uRmlsdGVyUHJlc3NlZCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICBjb25zdCB7YSwgZmlsdGVySW5kZXgsIHAsIHByZSwgdn0gPSB0aGlzLnBcbiAgICBjb25zdCB7c2N9ID0gdGhpcy5wcm9wc1xuXG4gICAgdGhpcy5wcm9wcy5vbkNsaWNrKHthLCBmaWx0ZXJJbmRleCwgcCwgcHJlLCBzYywgdn0pXG4gIH1cblxuICBvblJlbW92ZUZpbHRlclByZXNzZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgdGhpcy5wcm9wcy5vblJlbW92ZUNsaWNrZWQoe2ZpbHRlckluZGV4OiB0aGlzLnAuZmlsdGVySW5kZXh9KVxuICB9XG59KSlcbiJdfQ==
|
|
@@ -1,35 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
19
|
-
const react_1 = __importDefault(require("react"));
|
|
20
|
-
const use_i18n_mjs_1 = __importDefault(require("i18n-on-steroids/src/use-i18n.mjs"));
|
|
21
|
-
const use_query_params_js_1 = __importDefault(require("on-location-changed/build/use-query-params.js"));
|
|
22
|
-
const react_native_1 = require("react-native");
|
|
23
|
-
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerTableFilters extends base_component_js_1.default {
|
|
1
|
+
import BaseComponent from "../../base-component.js";
|
|
2
|
+
import { digg, digs } from "diggerize";
|
|
3
|
+
import Filter from "./filter";
|
|
4
|
+
import FilterForm from "./filter-form";
|
|
5
|
+
import { FlashNotifications } from "flash-notifications";
|
|
6
|
+
import LoadSearchModal from "./load-search-modal";
|
|
7
|
+
import SaveSearchModal from "./save-search-modal";
|
|
8
|
+
import Params from "../../params.js";
|
|
9
|
+
import PropTypes from "prop-types";
|
|
10
|
+
import { TableSearch } from "models.js";
|
|
11
|
+
import memo from "set-state-compare/build/memo.js";
|
|
12
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
13
|
+
import React from "react";
|
|
14
|
+
import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
|
|
15
|
+
import useQueryParams from "on-location-changed/build/use-query-params.js";
|
|
16
|
+
import { View } from "react-native";
|
|
17
|
+
export default memo(shapeComponent(class ApiMakerTableFilters extends BaseComponent {
|
|
24
18
|
static propTypes = {
|
|
25
|
-
currentUser:
|
|
26
|
-
modelClass:
|
|
27
|
-
queryName:
|
|
28
|
-
querySName:
|
|
19
|
+
currentUser: PropTypes.object,
|
|
20
|
+
modelClass: PropTypes.func.isRequired,
|
|
21
|
+
queryName: PropTypes.string.isRequired,
|
|
22
|
+
querySName: PropTypes.string.isRequired
|
|
29
23
|
};
|
|
30
24
|
setup() {
|
|
31
|
-
const { t } = (
|
|
32
|
-
this.queryParams = (
|
|
25
|
+
const { t } = useI18n({ namespace: "js.api_maker.table.filters" });
|
|
26
|
+
this.queryParams = useQueryParams();
|
|
33
27
|
this.t = t;
|
|
34
28
|
this.useStates({
|
|
35
29
|
filter: undefined,
|
|
@@ -38,18 +32,36 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
38
32
|
});
|
|
39
33
|
}
|
|
40
34
|
render() {
|
|
41
|
-
const { modelClass, querySName } =
|
|
35
|
+
const { modelClass, querySName } = digs(this.props, "modelClass", "querySName");
|
|
42
36
|
const { currentUser } = this.props;
|
|
43
|
-
const { filter, showLoadSearchModal, showSaveSearchModal } =
|
|
37
|
+
const { filter, showLoadSearchModal, showSaveSearchModal } = digs(this.state, "filter", "showLoadSearchModal", "showSaveSearchModal");
|
|
44
38
|
const currentFilters = this.currentFilters();
|
|
45
|
-
return (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
return (<View dataSet={this.cache("rootViewDataSet", { class: "api-maker--table--filters" })} style={this.cache("rootViewStyle", { alignItems: "flex-start" })}>
|
|
40
|
+
{filter &&
|
|
41
|
+
<FilterForm filter={filter} key={`filter-${filter.filterIndex}`} modelClass={modelClass} onApplyClicked={this.tt.onApplyClicked} onRequestClose={this.tt.onFilterFormRequestClose} querySearchName={querySName}/>}
|
|
42
|
+
{showLoadSearchModal &&
|
|
43
|
+
<LoadSearchModal currentUser={currentUser} modelClass={modelClass} onEditSearchPressed={digg(this, "onEditSearchPressed")} onRequestClose={digg(this, "onRequestCloseLoadSearchModal")} querySearchName={querySName}/>}
|
|
44
|
+
{showSaveSearchModal &&
|
|
45
|
+
<SaveSearchModal currentFilters={digg(this, "currentFilters")} currentUser={currentUser} onRequestClose={digg(this, "onRequestCloseSaveSearchModal")} search={showSaveSearchModal}/>}
|
|
46
|
+
{currentFilters?.map((filterData, filterIndex) => <Filter key={filterIndex} filterIndex={filterIndex} onClick={this.tt.onFilterClicked} onRemoveClicked={this.tt.onRemoveClicked} {...filterData}/>)}
|
|
47
|
+
<View dataSet={this.cache("filterActionsDataSet", { class: "filter-actions" })} style={this.cache("filterActionsStyle", { flexDirection: "row", marginTop: 10 })}>
|
|
48
|
+
<button className="add-new-filter-button" onClick={this.tt.onAddFilterClicked}>
|
|
49
|
+
{this.t(".add_new_filter", { defaultValue: "Add new filter" })}
|
|
50
|
+
</button>
|
|
51
|
+
{currentUser &&
|
|
52
|
+
<>
|
|
53
|
+
<button className="save-search-button" onClick={this.tt.onSaveSearchClicked} style={{ marginLeft: 10 }}>
|
|
54
|
+
{this.t(".save_search", { defaultValue: "Save search" })}
|
|
55
|
+
</button>
|
|
56
|
+
<button className="load-search-button" onClick={this.tt.onLoadSearchClicked} style={{ marginLeft: 10 }}>
|
|
57
|
+
{this.t(".load_search", { defaultValue: "Load search" })}
|
|
58
|
+
</button>
|
|
59
|
+
</>}
|
|
60
|
+
</View>
|
|
61
|
+
</View>);
|
|
50
62
|
}
|
|
51
63
|
currentFilters = () => {
|
|
52
|
-
const { querySName } =
|
|
64
|
+
const { querySName } = digs(this.props, "querySName");
|
|
53
65
|
const currentFilters = this.queryParams[querySName] || [];
|
|
54
66
|
return currentFilters.map((currentFilter) => JSON.parse(currentFilter));
|
|
55
67
|
};
|
|
@@ -78,12 +90,12 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
78
90
|
});
|
|
79
91
|
};
|
|
80
92
|
onRemoveClicked = ({ filterIndex }) => {
|
|
81
|
-
const { querySName } =
|
|
82
|
-
const searchParams =
|
|
93
|
+
const { querySName } = digs(this.props, "querySName");
|
|
94
|
+
const searchParams = Params.parse()[querySName] || {};
|
|
83
95
|
delete searchParams[filterIndex];
|
|
84
96
|
const newParams = {};
|
|
85
97
|
newParams[querySName] = searchParams;
|
|
86
|
-
|
|
98
|
+
Params.changeParams(newParams);
|
|
87
99
|
this.setState({
|
|
88
100
|
filter: undefined
|
|
89
101
|
});
|
|
@@ -93,12 +105,12 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
93
105
|
onSaveSearchClicked = (e) => {
|
|
94
106
|
e.preventDefault();
|
|
95
107
|
if (this.hasAnyFilters()) {
|
|
96
|
-
this.setState({ showSaveSearchModal: new
|
|
108
|
+
this.setState({ showSaveSearchModal: new TableSearch() });
|
|
97
109
|
}
|
|
98
110
|
else {
|
|
99
|
-
|
|
111
|
+
FlashNotifications.alert(this.t(".no_filters_has_been_set", { defaultValue: "No filters has been set" }));
|
|
100
112
|
}
|
|
101
113
|
};
|
|
102
114
|
hasAnyFilters = () => Object.keys(this.currentFilters()).length > 0;
|
|
103
115
|
}));
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdGQUFtRDtBQUNuRCx5Q0FBb0M7QUFDcEMsc0RBQTZCO0FBQzdCLGdFQUFzQztBQUN0Qyw2REFBc0Q7QUFDdEQsNEVBQWlEO0FBQ2pELDRFQUFpRDtBQUNqRCxnRUFBb0M7QUFDcEMsNERBQWtDO0FBQ2xDLHlDQUFxQztBQUNyQyw4RUFBa0Q7QUFDbEQsbUZBQXlFO0FBQ3pFLGtEQUF5QjtBQUN6QixxRkFBdUQ7QUFDdkQsd0dBQTBFO0FBQzFFLCtDQUFpQztBQUVqQyxrQkFBZSxJQUFBLGlCQUFJLEVBQUMsSUFBQSxtQ0FBYyxFQUFDLE1BQU0sb0JBQXFCLFNBQVEsMkJBQWE7SUFDakYsTUFBTSxDQUFDLFNBQVMsR0FBRztRQUNqQixXQUFXLEVBQUUsb0JBQVMsQ0FBQyxNQUFNO1FBQzdCLFVBQVUsRUFBRSxvQkFBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3JDLFNBQVMsRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ3RDLFVBQVUsRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0tBQ3hDLENBQUE7SUFFRCxLQUFLO1FBQ0gsTUFBTSxFQUFDLENBQUMsRUFBQyxHQUFHLElBQUEsc0JBQU8sRUFBQyxFQUFDLFNBQVMsRUFBRSw0QkFBNEIsRUFBQyxDQUFDLENBQUE7UUFFOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFBLDZCQUFjLEdBQUUsQ0FBQTtRQUNuQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixNQUFNLEVBQUUsU0FBUztZQUNqQixtQkFBbUIsRUFBRSxTQUFTO1lBQzlCLG1CQUFtQixFQUFFLEtBQUs7U0FDM0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU07UUFDSixNQUFN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QUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7SUFDakYsNkJBQTZCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLG1CQUFtQixFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7SUFFckYsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUMxQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUE7UUFFbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsbUJBQW1CLEVBQUUsSUFBSSx1QkFBVyxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBQ3pELENBQUM7YUFBTSxDQUFDO1lBQ04sd0NBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsRUFBQyxZQUFZLEVBQUUseUJBQXlCLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFDekcsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVELGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7Q0FDcEUsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBGaWx0ZXIgZnJvbSBcIi4vZmlsdGVyXCJcbmltcG9ydCBGaWx0ZXJGb3JtIGZyb20gXCIuL2ZpbHRlci1mb3JtXCJcbmltcG9ydCB7Rmxhc2hOb3RpZmljYXRpb25zfSBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9uc1wiXG5pbXBvcnQgTG9hZFNlYXJjaE1vZGFsIGZyb20gXCIuL2xvYWQtc2VhcmNoLW1vZGFsXCJcbmltcG9ydCBTYXZlU2VhcmNoTW9kYWwgZnJvbSBcIi4vc2F2ZS1zZWFyY2gtbW9kYWxcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vcGFyYW1zLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHtUYWJsZVNlYXJjaH0gZnJvbSBcIm1vZGVscy5qc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5pbXBvcnQgdXNlUXVlcnlQYXJhbXMgZnJvbSBcIm9uLWxvY2F0aW9uLWNoYW5nZWQvYnVpbGQvdXNlLXF1ZXJ5LXBhcmFtcy5qc1wiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVGaWx0ZXJzIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY3VycmVudFVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbW9kZWxDbGFzczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeU5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBxdWVyeVNOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVyc1wifSlcblxuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG4gICAgdGhpcy50ID0gdFxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGZpbHRlcjogdW5kZWZpbmVkLFxuICAgICAgc2hvd0xvYWRTZWFyY2hNb2RhbDogdW5kZWZpbmVkLFxuICAgICAgc2hvd1NhdmVTZWFyY2hNb2RhbDogZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzLCBxdWVyeVNOYW1lfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJtb2RlbENsYXNzXCIsIFwicXVlcnlTTmFtZVwiKVxuICAgIGNvbnN0IHtjdXJyZW50VXNlcn0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2ZpbHRlciwgc2hvd0xvYWRTZWFyY2hNb2RhbCwgc2hvd1NhdmVTZWFyY2hNb2RhbH0gPSBkaWdzKHRoaXMuc3RhdGUsIFwiZmlsdGVyXCIsIFwic2hvd0xvYWRTZWFyY2hNb2RhbFwiLCBcInNob3dTYXZlU2VhcmNoTW9kYWxcIilcbiAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuY3VycmVudEZpbHRlcnMoKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJyb290Vmlld0RhdGFTZXRcIiwge2NsYXNzOiBcImFwaS1tYWtlci0tdGFibGUtLWZpbHRlcnNcIn0pfSBzdHlsZT17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVcIiwge2FsaWduSXRlbXM6IFwiZmxleC1zdGFydFwifSl9PlxuICAgICAgICB7ZmlsdGVyICYmXG4gICAgICAgICAgPEZpbHRlckZvcm1cbiAgICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgICAga2V5PXtgZmlsdGVyLSR7ZmlsdGVyLmZpbHRlckluZGV4fWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgb25BcHBseUNsaWNrZWQ9e3RoaXMudHQub25BcHBseUNsaWNrZWR9XG4gICAgICAgICAgICBvblJlcXVlc3RDbG9zZT17dGhpcy50dC5vbkZpbHRlckZvcm1SZXF1ZXN0Q2xvc2V9XG4gICAgICAgICAgICBxdWVyeVNlYXJjaE5hbWU9e3F1ZXJ5U05hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7c2hvd0xvYWRTZWFyY2hNb2RhbCAmJlxuICAgICAgICAgIDxMb2FkU2VhcmNoTW9kYWxcbiAgICAgICAgICAgIGN1cnJlbnRVc2VyPXtjdXJyZW50VXNlcn1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBvbkVkaXRTZWFyY2hQcmVzc2VkPXtkaWdnKHRoaXMsIFwib25FZGl0U2VhcmNoUHJlc3NlZFwiKX1cbiAgICAgICAgICAgIG9uUmVxdWVzdENsb3NlPXtkaWdnKHRoaXMsIFwib25SZXF1ZXN0Q2xvc2VMb2FkU2VhcmNoTW9kYWxcIil9XG4gICAgICAgICAgICBxdWVyeVNlYXJjaE5hbWU9e3F1ZXJ5U05hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7c2hvd1NhdmVTZWFyY2hNb2RhbCAmJlxuICAgICAgICAgIDxTYXZlU2VhcmNoTW9kYWxcbiAgICAgICAgICAgIGN1cnJlbnRGaWx0ZXJzPXtkaWdnKHRoaXMsIFwiY3VycmVudEZpbHRlcnNcIil9XG4gICAgICAgICAgICBjdXJyZW50VXNlcj17Y3VycmVudFVzZXJ9XG4gICAgICAgICAgICBvblJlcXVlc3RDbG9zZT17ZGlnZyh0aGlzLCBcIm9uUmVxdWVzdENsb3NlU2F2ZVNlYXJjaE1vZGFsXCIpfVxuICAgICAgICAgICAgc2VhcmNoPXtzaG93U2F2ZVNlYXJjaE1vZGFsfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge2N1cnJlbnRGaWx0ZXJzPy5tYXAoKGZpbHRlckRhdGEsIGZpbHRlckluZGV4KSA9PlxuICAgICAgICAgIDxGaWx0ZXJcbiAgICAgICAgICAgIGtleT17ZmlsdGVySW5kZXh9XG4gICAgICAgICAgICBmaWx0ZXJJbmRleD17ZmlsdGVySW5kZXh9XG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uRmlsdGVyQ2xpY2tlZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlQ2xpY2tlZD17dGhpcy50dC5vblJlbW92ZUNsaWNrZWR9XG4gICAgICAgICAgICB7Li4uZmlsdGVyRGF0YX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8VmlldyBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiZmlsdGVyQWN0aW9uc0RhdGFTZXRcIiwge2NsYXNzOiBcImZpbHRlci1hY3Rpb25zXCJ9KX0gc3R5bGU9e3RoaXMuY2FjaGUoXCJmaWx0ZXJBY3Rpb25zU3R5bGVcIiwge2ZsZXhEaXJlY3Rpb246IFwicm93XCIsIG1hcmdpblRvcDogMTB9KX0+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtbmV3LWZpbHRlci1idXR0b25cIiBvbkNsaWNrPXt0aGlzLnR0Lm9uQWRkRmlsdGVyQ2xpY2tlZH0+XG4gICAgICAgICAgICB7dGhpcy50KFwiLmFkZF9uZXdfZmlsdGVyXCIsIHtkZWZhdWx0VmFsdWU6IFwiQWRkIG5ldyBmaWx0ZXJcIn0pfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIHtjdXJyZW50VXNlciAmJlxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJzYXZlLXNlYXJjaC1idXR0b25cIiBvbkNsaWNrPXt0aGlzLnR0Lm9uU2F2ZVNlYXJjaENsaWNrZWR9IHN0eWxlPXt7bWFyZ2luTGVmdDogMTB9fT5cbiAgICAgICAgICAgICAgICB7dGhpcy50KFwiLnNhdmVfc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiU2F2ZSBzZWFyY2hcIn0pfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJsb2FkLXNlYXJjaC1idXR0b25cIiBvbkNsaWNrPXt0aGlzLnR0Lm9uTG9hZFNlYXJjaENsaWNrZWR9IHN0eWxlPXt7bWFyZ2luTGVmdDogMTB9fT5cbiAgICAgICAgICAgICAgICB7dGhpcy50KFwiLmxvYWRfc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiTG9hZCBzZWFyY2hcIn0pfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9WaWV3PlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIGN1cnJlbnRGaWx0ZXJzID0gKCkgPT4ge1xuICAgIGNvbnN0IHtxdWVyeVNOYW1lfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJxdWVyeVNOYW1lXCIpXG4gICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnF1ZXJ5UGFyYW1zW3F1ZXJ5U05hbWVdIHx8IFtdXG5cbiAgICByZXR1cm4gY3VycmVudEZpbHRlcnMubWFwKChjdXJyZW50RmlsdGVyKSA9PiBKU09OLnBhcnNlKGN1cnJlbnRGaWx0ZXIpKVxuICB9XG5cbiAgb25BZGRGaWx0ZXJDbGlja2VkID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGNvbnN0IG5ld0ZpbHRlckluZGV4ID0gdGhpcy5jdXJyZW50RmlsdGVycygpLmxlbmd0aFxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBmaWx0ZXI6IHtcbiAgICAgICAgZmlsdGVySW5kZXg6IG5ld0ZpbHRlckluZGV4XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIG9uQXBwbHlDbGlja2VkID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7ZmlsdGVyOiB1bmRlZmluZWR9KVxuXG4gIG9uRWRpdFNlYXJjaFByZXNzZWQgPSAoe3NlYXJjaH0pID0+IHtcbiAgICB0aGlzLm9uUmVxdWVzdENsb3NlTG9hZFNlYXJjaE1vZGFsKClcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNob3dTYXZlU2VhcmNoTW9kYWw6IHNlYXJjaFxuICAgIH0pXG4gIH1cblxuICBvbkZpbHRlckNsaWNrZWQgPSAoZmlsdGVyKSA9PiB0aGlzLnNldFN0YXRlKHtmaWx0ZXJ9KVxuICBvbkZpbHRlckZvcm1SZXF1ZXN0Q2xvc2UgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHtmaWx0ZXI6IHVuZGVmaW5lZH0pXG5cbiAgb25Mb2FkU2VhcmNoQ2xpY2tlZCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNob3dMb2FkU2VhcmNoTW9kYWw6IHRydWVcbiAgICB9KVxuICB9XG5cbiAgb25SZW1vdmVDbGlja2VkID0gKHtmaWx0ZXJJbmRleH0pID0+IHtcbiAgICBjb25zdCB7cXVlcnlTTmFtZX0gPSBkaWdzKHRoaXMucHJvcHMsIFwicXVlcnlTTmFtZVwiKVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IFBhcmFtcy5wYXJzZSgpW3F1ZXJ5U05hbWVdIHx8IHt9XG5cbiAgICBkZWxldGUgc2VhcmNoUGFyYW1zW2ZpbHRlckluZGV4XVxuXG4gICAgY29uc3QgbmV3UGFyYW1zID0ge31cblxuICAgIG5ld1BhcmFtc1txdWVyeVNOYW1lXSA9IHNlYXJjaFBhcmFtc1xuXG4gICAgUGFyYW1zLmNoYW5nZVBhcmFtcyhuZXdQYXJhbXMpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGZpbHRlcjogdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxuXG4gIG9uUmVxdWVzdENsb3NlTG9hZFNlYXJjaE1vZGFsID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7c2hvd0xvYWRTZWFyY2hNb2RhbDogZmFsc2V9KVxuICBvblJlcXVlc3RDbG9zZVNhdmVTZWFyY2hNb2RhbCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe3Nob3dTYXZlU2VhcmNoTW9kYWw6IHVuZGVmaW5lZH0pXG5cbiAgb25TYXZlU2VhcmNoQ2xpY2tlZCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICBpZiAodGhpcy5oYXNBbnlGaWx0ZXJzKCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dTYXZlU2VhcmNoTW9kYWw6IG5ldyBUYWJsZVNlYXJjaCgpfSlcbiAgICB9IGVsc2Uge1xuICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmFsZXJ0KHRoaXMudChcIi5ub19maWx0ZXJzX2hhc19iZWVuX3NldFwiLCB7ZGVmYXVsdFZhbHVlOiBcIk5vIGZpbHRlcnMgaGFzIGJlZW4gc2V0XCJ9KSlcbiAgICB9XG4gIH1cblxuICBoYXNBbnlGaWx0ZXJzID0gKCkgPT4gT2JqZWN0LmtleXModGhpcy5jdXJyZW50RmlsdGVycygpKS5sZW5ndGggPiAwXG59KSlcbiJdfQ==
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sYUFBYSxNQUFNLHlCQUF5QixDQUFBO0FBQ25ELE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLFVBQVUsTUFBTSxlQUFlLENBQUE7QUFDdEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxlQUFlLE1BQU0scUJBQXFCLENBQUE7QUFDakQsT0FBTyxlQUFlLE1BQU0scUJBQXFCLENBQUE7QUFDakQsT0FBTyxNQUFNLE1BQU0saUJBQWlCLENBQUE7QUFDcEMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDckMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUN2RCxPQUFPLGNBQWMsTUFBTSwrQ0FBK0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRWpDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLG9CQUFxQixTQUFRLGFBQWE7SUFDakYsTUFBTSxDQUFDLFNBQVMsR0FBRztRQUNqQixXQUFXLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDN0IsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNyQyxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ3RDLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDeEMsQ0FBQTtJQUVELEtBQUs7UUFDSCxNQUFNLEVBQUMsQ0FBQyxFQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUMsU0FBUyxFQUFFLDRCQUE0QixFQUFDLENBQUMsQ0FBQTtRQUU5RCxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFBO1FBQ25DLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLG1CQUFtQixFQUFFLFNBQVM7WUFDOUIsbUJBQW1CLEVBQUUsS0FBSztTQUMzQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQzdFLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ2hDLE1BQU0sRUFBQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsQ0FBQTtRQUNuSSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFFNUMsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxLQUFLLEVBQUUsMkJBQTJCLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxDQUNqSjtRQUFBLENBQUMsTUFBTTtnQkFDTCxDQUFDLFVBQVUsQ0FDVCxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FDZixHQUFHLENBQUMsQ0FBQyxVQUFVLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNwQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FDdkIsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FDdkMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUNqRCxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFFaEMsQ0FDQTtRQUFBLENBQUMsbUJBQW1CO2dCQUNsQixDQUFDLGVBQWUsQ0FDZCxXQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FDekIsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3ZCLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQ3ZELGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsK0JBQStCLENBQUMsQ0FBQyxDQUM1RCxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFFaEMsQ0FDQTtRQUFBLENBQUMsbUJBQW1CO2dCQUNsQixDQUFDLGVBQWUsQ0FDZCxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FDN0MsV0FBVyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQ3pCLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsK0JBQStCLENBQUMsQ0FBQyxDQUM1RCxNQUFNLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUVoQyxDQUNBO1FBQUEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQy9DLENBQUMsTUFBTSxDQUNMLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUNqQixXQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FDakMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FDekMsSUFBSSxVQUFVLENBQUMsRUFDZixDQUNILENBQ0Q7UUFBQSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQzNKO1VBQUEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FDNUU7WUFBQSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUM5RDtVQUFBLEVBQUUsTUFBTSxDQUNSO1VBQUEsQ0FBQyxXQUFXO2dCQUNWLEVBQ0U7Y0FBQSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQ25HO2dCQUFBLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FDeEQ7Y0FBQSxFQUFFLE1BQU0sQ0FDUjtjQUFBLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxVQUFVLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FDbkc7Z0JBQUEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUN4RDtjQUFBLEVBQUUsTUFBTSxDQUNWO1lBQUEsR0FDRixDQUNGO1FBQUEsRUFBRSxJQUFJLENBQ1I7TUFBQSxFQUFFLElBQUksQ0FBQyxDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYyxHQUFHLEdBQUcsRUFBRTtRQUNwQixNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUE7UUFDbkQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUE7UUFFekQsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7SUFDekUsQ0FBQyxDQUFBO0lBRUQsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUN6QixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUE7UUFFbEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQTtRQUVuRCxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osTUFBTSxFQUFFO2dCQUNOLFdBQVcsRUFBRSxjQUFjO2FBQzVCO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFBO0lBRUQsY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtJQUV6RCxtQkFBbUIsR0FBRyxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQTtRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osbUJBQW1CLEVBQUUsTUFBTTtTQUM1QixDQUFDLENBQUE7SUFDSixDQUFDLENBQUE7SUFFRCxlQUFlLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFBO0lBQ3JELHdCQUF3QixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtJQUVuRSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzFCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUVsQixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osbUJBQW1CLEVBQUUsSUFBSTtTQUMxQixDQUFDLENBQUE7SUFDSixDQUFDLENBQUE7SUFFRCxlQUFlLEdBQUcsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQ25ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUE7UUFFckQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7UUFFaEMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFBO1FBRXBCLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUE7UUFFcEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFBO0lBRUQsNkJBQTZCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7SUFDakYsNkJBQTZCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLG1CQUFtQixFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7SUFFckYsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUMxQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUE7UUFFbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsbUJBQW1CLEVBQUUsSUFBSSxXQUFXLEVBQUUsRUFBQyxDQUFDLENBQUE7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDTixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsRUFBRSxFQUFDLFlBQVksRUFBRSx5QkFBeUIsRUFBQyxDQUFDLENBQUMsQ0FBQTtRQUN6RyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtDQUNwRSxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge2RpZ2csIGRpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEZpbHRlciBmcm9tIFwiLi9maWx0ZXJcIlxuaW1wb3J0IEZpbHRlckZvcm0gZnJvbSBcIi4vZmlsdGVyLWZvcm1cIlxuaW1wb3J0IHtGbGFzaE5vdGlmaWNhdGlvbnN9IGZyb20gXCJmbGFzaC1ub3RpZmljYXRpb25zXCJcbmltcG9ydCBMb2FkU2VhcmNoTW9kYWwgZnJvbSBcIi4vbG9hZC1zZWFyY2gtbW9kYWxcIlxuaW1wb3J0IFNhdmVTZWFyY2hNb2RhbCBmcm9tIFwiLi9zYXZlLXNlYXJjaC1tb2RhbFwiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi8uLi9wYXJhbXMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQge1RhYmxlU2VhcmNofSBmcm9tIFwibW9kZWxzLmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9idWlsZC91c2UtcXVlcnktcGFyYW1zLmpzXCJcbmltcG9ydCB7Vmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJUYWJsZUZpbHRlcnMgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjdXJyZW50VXNlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5TmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5U05hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci50YWJsZS5maWx0ZXJzXCJ9KVxuXG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHVzZVF1ZXJ5UGFyYW1zKClcbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgZmlsdGVyOiB1bmRlZmluZWQsXG4gICAgICBzaG93TG9hZFNlYXJjaE1vZGFsOiB1bmRlZmluZWQsXG4gICAgICBzaG93U2F2ZVNlYXJjaE1vZGFsOiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3MsIHF1ZXJ5U05hbWV9ID0gZGlncyh0aGlzLnByb3BzLCBcIm1vZGVsQ2xhc3NcIiwgXCJxdWVyeVNOYW1lXCIpXG4gICAgY29uc3Qge2N1cnJlbnRVc2VyfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7ZmlsdGVyLCBzaG93TG9hZFNlYXJjaE1vZGFsLCBzaG93U2F2ZVNlYXJjaE1vZGFsfSA9IGRpZ3ModGhpcy5zdGF0ZSwgXCJmaWx0ZXJcIiwgXCJzaG93TG9hZFNlYXJjaE1vZGFsXCIsIFwic2hvd1NhdmVTZWFyY2hNb2RhbFwiKVxuICAgIGNvbnN0IGN1cnJlbnRGaWx0ZXJzID0gdGhpcy5jdXJyZW50RmlsdGVycygpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y2xhc3M6IFwiYXBpLW1ha2VyLS10YWJsZS0tZmlsdGVyc1wifSl9IHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7YWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCJ9KX0+XG4gICAgICAgIHtmaWx0ZXIgJiZcbiAgICAgICAgICA8RmlsdGVyRm9ybVxuICAgICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgICAgICBrZXk9e2BmaWx0ZXItJHtmaWx0ZXIuZmlsdGVySW5kZXh9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBvbkFwcGx5Q2xpY2tlZD17dGhpcy50dC5vbkFwcGx5Q2xpY2tlZH1cbiAgICAgICAgICAgIG9uUmVxdWVzdENsb3NlPXt0aGlzLnR0Lm9uRmlsdGVyRm9ybVJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgIHF1ZXJ5U2VhcmNoTmFtZT17cXVlcnlTTmFtZX1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtzaG93TG9hZFNlYXJjaE1vZGFsICYmXG4gICAgICAgICAgPExvYWRTZWFyY2hNb2RhbFxuICAgICAgICAgICAgY3VycmVudFVzZXI9e2N1cnJlbnRVc2VyfVxuICAgICAgICAgICAgbW9kZWxDbGFzcz17bW9kZWxDbGFzc31cbiAgICAgICAgICAgIG9uRWRpdFNlYXJjaFByZXNzZWQ9e2RpZ2codGhpcywgXCJvbkVkaXRTZWFyY2hQcmVzc2VkXCIpfVxuICAgICAgICAgICAgb25SZXF1ZXN0Q2xvc2U9e2RpZ2codGhpcywgXCJvblJlcXVlc3RDbG9zZUxvYWRTZWFyY2hNb2RhbFwiKX1cbiAgICAgICAgICAgIHF1ZXJ5U2VhcmNoTmFtZT17cXVlcnlTTmFtZX1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtzaG93U2F2ZVNlYXJjaE1vZGFsICYmXG4gICAgICAgICAgPFNhdmVTZWFyY2hNb2RhbFxuICAgICAgICAgICAgY3VycmVudEZpbHRlcnM9e2RpZ2codGhpcywgXCJjdXJyZW50RmlsdGVyc1wiKX1cbiAgICAgICAgICAgIGN1cnJlbnRVc2VyPXtjdXJyZW50VXNlcn1cbiAgICAgICAgICAgIG9uUmVxdWVzdENsb3NlPXtkaWdnKHRoaXMsIFwib25SZXF1ZXN0Q2xvc2VTYXZlU2VhcmNoTW9kYWxcIil9XG4gICAgICAgICAgICBzZWFyY2g9e3Nob3dTYXZlU2VhcmNoTW9kYWx9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7Y3VycmVudEZpbHRlcnM/Lm1hcCgoZmlsdGVyRGF0YSwgZmlsdGVySW5kZXgpID0+XG4gICAgICAgICAgPEZpbHRlclxuICAgICAgICAgICAga2V5PXtmaWx0ZXJJbmRleH1cbiAgICAgICAgICAgIGZpbHRlckluZGV4PXtmaWx0ZXJJbmRleH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25GaWx0ZXJDbGlja2VkfVxuICAgICAgICAgICAgb25SZW1vdmVDbGlja2VkPXt0aGlzLnR0Lm9uUmVtb3ZlQ2xpY2tlZH1cbiAgICAgICAgICAgIHsuLi5maWx0ZXJEYXRhfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJmaWx0ZXJBY3Rpb25zRGF0YVNldFwiLCB7Y2xhc3M6IFwiZmlsdGVyLWFjdGlvbnNcIn0pfSBzdHlsZT17dGhpcy5jYWNoZShcImZpbHRlckFjdGlvbnNTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogXCJyb3dcIiwgbWFyZ2luVG9wOiAxMH0pfT5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImFkZC1uZXctZmlsdGVyLWJ1dHRvblwiIG9uQ2xpY2s9e3RoaXMudHQub25BZGRGaWx0ZXJDbGlja2VkfT5cbiAgICAgICAgICAgIHt0aGlzLnQoXCIuYWRkX25ld19maWx0ZXJcIiwge2RlZmF1bHRWYWx1ZTogXCJBZGQgbmV3IGZpbHRlclwifSl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAge2N1cnJlbnRVc2VyICYmXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInNhdmUtc2VhcmNoLWJ1dHRvblwiIG9uQ2xpY2s9e3RoaXMudHQub25TYXZlU2VhcmNoQ2xpY2tlZH0gc3R5bGU9e3ttYXJnaW5MZWZ0OiAxMH19PlxuICAgICAgICAgICAgICAgIHt0aGlzLnQoXCIuc2F2ZV9zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJTYXZlIHNlYXJjaFwifSl9XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImxvYWQtc2VhcmNoLWJ1dHRvblwiIG9uQ2xpY2s9e3RoaXMudHQub25Mb2FkU2VhcmNoQ2xpY2tlZH0gc3R5bGU9e3ttYXJnaW5MZWZ0OiAxMH19PlxuICAgICAgICAgICAgICAgIHt0aGlzLnQoXCIubG9hZF9zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJMb2FkIHNlYXJjaFwifSl9XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L1ZpZXc+XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgY3VycmVudEZpbHRlcnMgPSAoKSA9PiB7XG4gICAgY29uc3Qge3F1ZXJ5U05hbWV9ID0gZGlncyh0aGlzLnByb3BzLCBcInF1ZXJ5U05hbWVcIilcbiAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMucXVlcnlQYXJhbXNbcXVlcnlTTmFtZV0gfHwgW11cblxuICAgIHJldHVybiBjdXJyZW50RmlsdGVycy5tYXAoKGN1cnJlbnRGaWx0ZXIpID0+IEpTT04ucGFyc2UoY3VycmVudEZpbHRlcikpXG4gIH1cblxuICBvbkFkZEZpbHRlckNsaWNrZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgY29uc3QgbmV3RmlsdGVySW5kZXggPSB0aGlzLmN1cnJlbnRGaWx0ZXJzKCkubGVuZ3RoXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBmaWx0ZXJJbmRleDogbmV3RmlsdGVySW5kZXhcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgb25BcHBseUNsaWNrZWQgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHtmaWx0ZXI6IHVuZGVmaW5lZH0pXG5cbiAgb25FZGl0U2VhcmNoUHJlc3NlZCA9ICh7c2VhcmNofSkgPT4ge1xuICAgIHRoaXMub25SZXF1ZXN0Q2xvc2VMb2FkU2VhcmNoTW9kYWwoKVxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgc2hvd1NhdmVTZWFyY2hNb2RhbDogc2VhcmNoXG4gICAgfSlcbiAgfVxuXG4gIG9uRmlsdGVyQ2xpY2tlZCA9IChmaWx0ZXIpID0+IHRoaXMuc2V0U3RhdGUoe2ZpbHRlcn0pXG4gIG9uRmlsdGVyRm9ybVJlcXVlc3RDbG9zZSA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2ZpbHRlcjogdW5kZWZpbmVkfSlcblxuICBvbkxvYWRTZWFyY2hDbGlja2VkID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgc2hvd0xvYWRTZWFyY2hNb2RhbDogdHJ1ZVxuICAgIH0pXG4gIH1cblxuICBvblJlbW92ZUNsaWNrZWQgPSAoe2ZpbHRlckluZGV4fSkgPT4ge1xuICAgIGNvbnN0IHtxdWVyeVNOYW1lfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJxdWVyeVNOYW1lXCIpXG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gUGFyYW1zLnBhcnNlKClbcXVlcnlTTmFtZV0gfHwge31cblxuICAgIGRlbGV0ZSBzZWFyY2hQYXJhbXNbZmlsdGVySW5kZXhdXG5cbiAgICBjb25zdCBuZXdQYXJhbXMgPSB7fVxuXG4gICAgbmV3UGFyYW1zW3F1ZXJ5U05hbWVdID0gc2VhcmNoUGFyYW1zXG5cbiAgICBQYXJhbXMuY2hhbmdlUGFyYW1zKG5ld1BhcmFtcylcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgZmlsdGVyOiB1bmRlZmluZWRcbiAgICB9KVxuICB9XG5cbiAgb25SZXF1ZXN0Q2xvc2VMb2FkU2VhcmNoTW9kYWwgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHtzaG93TG9hZFNlYXJjaE1vZGFsOiBmYWxzZX0pXG4gIG9uUmVxdWVzdENsb3NlU2F2ZVNlYXJjaE1vZGFsID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7c2hvd1NhdmVTZWFyY2hNb2RhbDogdW5kZWZpbmVkfSlcblxuICBvblNhdmVTZWFyY2hDbGlja2VkID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGlmICh0aGlzLmhhc0FueUZpbHRlcnMoKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd1NhdmVTZWFyY2hNb2RhbDogbmV3IFRhYmxlU2VhcmNoKCl9KVxuICAgIH0gZWxzZSB7XG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuYWxlcnQodGhpcy50KFwiLm5vX2ZpbHRlcnNfaGFzX2JlZW5fc2V0XCIsIHtkZWZhdWx0VmFsdWU6IFwiTm8gZmlsdGVycyBoYXMgYmVlbiBzZXRcIn0pKVxuICAgIH1cbiAgfVxuXG4gIGhhc0FueUZpbHRlcnMgPSAoKSA9PiBPYmplY3Qua2V5cyh0aGlzLmN1cnJlbnRGaWx0ZXJzKCkpLmxlbmd0aCA+IDBcbn0pKVxuIl19
|
|
@@ -1,77 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
-
const react_1 = __importStar(require("react"));
|
|
41
|
-
const react_native_1 = require("react-native");
|
|
42
|
-
const config_js_1 = __importDefault(require("@kaspernj/api-maker/build/config.js"));
|
|
43
|
-
const base_component_js_1 = __importDefault(require("../../base-component.js"));
|
|
44
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
45
|
-
const diggerize_1 = require("diggerize");
|
|
46
|
-
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
47
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
48
|
-
const params_js_1 = __importDefault(require("../../params.js"));
|
|
49
|
-
const models_js_1 = require("models.js");
|
|
50
|
-
const text_1 = __importDefault(require("../../utils/text"));
|
|
51
|
-
const use_i18n_mjs_1 = __importDefault(require("i18n-on-steroids/src/use-i18n.mjs"));
|
|
52
|
-
const SearchLink = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class SearchLink extends base_component_js_1.default {
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
import { Pressable, View } from "react-native";
|
|
3
|
+
import apiMakerConfig from "@kaspernj/api-maker/build/config.js";
|
|
4
|
+
import BaseComponent from "../../base-component.js";
|
|
5
|
+
import classNames from "classnames";
|
|
6
|
+
import { digg } from "diggerize";
|
|
7
|
+
import memo from "set-state-compare/build/memo.js";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
9
|
+
import Params from "../../params.js";
|
|
10
|
+
import { TableSearch } from "models.js";
|
|
11
|
+
import Text from "../../utils/text";
|
|
12
|
+
import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
|
|
13
|
+
const SearchLink = memo(shapeComponent(class SearchLink extends BaseComponent {
|
|
53
14
|
render() {
|
|
54
15
|
const { search } = this.props;
|
|
55
|
-
return (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
16
|
+
return (<View dataSet={this.cache("rootViewStyle", { class: "search-row", searchId: search.id() }, [search.id()])} style={this.cache("rootViewStyleStyle", { flexDirection: "row", width: "100%" })}>
|
|
17
|
+
<Pressable dataSet={this.cache("loadSearchLinkPressableDataSet", { class: "load-search-link" })} onPress={this.tt.onSearchClicked} style={this.cache("loadSearchLinkPressableStyle", { justifyContent: "center" })}>
|
|
18
|
+
<Text>
|
|
19
|
+
{search.name()}
|
|
20
|
+
</Text>
|
|
21
|
+
</Pressable>
|
|
22
|
+
<View style={this.cache("actionsViewStyle", { flexDirection: "row", marginLeft: "auto" })}>
|
|
23
|
+
<Pressable dataSet={this.cache("editSearchButtonDataSet", { class: "edit-search-button" })} onPress={this.tt.onEditPressed} style={this.cache("editSearchButtonStyle", {
|
|
24
|
+
alignItems: "center",
|
|
25
|
+
justifyContent: "center",
|
|
26
|
+
width: 25,
|
|
27
|
+
height: 25,
|
|
28
|
+
backgroundColor: "#fff",
|
|
29
|
+
border: "1px solid #007bff",
|
|
30
|
+
borderRadius: 5,
|
|
31
|
+
color: "#007bff"
|
|
32
|
+
})}>
|
|
33
|
+
<Text>
|
|
34
|
+
✎
|
|
35
|
+
</Text>
|
|
36
|
+
</Pressable>
|
|
37
|
+
<Pressable dataSet={this.cache("deleteSearchButtonDataSet", { class: "delete-search-button" })} onPress={this.tt.onDeletePressed} style={this.cache("deleteSearchButtonStyle", {
|
|
38
|
+
alignItems: "center",
|
|
39
|
+
justifyContent: "center",
|
|
40
|
+
marginLeft: 5,
|
|
41
|
+
width: 25,
|
|
42
|
+
height: 25,
|
|
43
|
+
backgroundColor: "#fff",
|
|
44
|
+
border: "1px solid #dc3545",
|
|
45
|
+
borderRadius: 5,
|
|
46
|
+
color: "#dc3545"
|
|
47
|
+
})}>
|
|
48
|
+
<Text>
|
|
49
|
+
✕
|
|
50
|
+
</Text>
|
|
51
|
+
</Pressable>
|
|
52
|
+
</View>
|
|
53
|
+
</View>);
|
|
75
54
|
}
|
|
76
55
|
onDeletePressed = async () => {
|
|
77
56
|
if (!confirm("Are you sure?")) {
|
|
@@ -84,22 +63,22 @@ const SearchLink = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponen
|
|
|
84
63
|
onEditPressed = () => this.props.onEditPressed({ search: this.props.search });
|
|
85
64
|
onSearchClicked = () => this.props.onClick({ search: this.props.search });
|
|
86
65
|
}));
|
|
87
|
-
|
|
66
|
+
export default memo(shapeComponent(class ApiMakerTableFiltersLoadSearchModal extends BaseComponent {
|
|
88
67
|
setup() {
|
|
89
|
-
const { t } = (
|
|
68
|
+
const { t } = useI18n({ namespace: "js.api_maker.table.filters.load_search_modal" });
|
|
90
69
|
this.useStates({
|
|
91
70
|
editSearch: undefined,
|
|
92
71
|
searches: undefined
|
|
93
72
|
});
|
|
94
73
|
this.setInstance({ t });
|
|
95
|
-
|
|
74
|
+
useMemo(() => {
|
|
96
75
|
this.loadSearches();
|
|
97
76
|
}, []);
|
|
98
77
|
}
|
|
99
78
|
loadSearches = async () => {
|
|
100
79
|
const { currentUser } = this.props;
|
|
101
|
-
const userType =
|
|
102
|
-
const searches = await
|
|
80
|
+
const userType = digg(currentUser.modelClassData(), "name");
|
|
81
|
+
const searches = await TableSearch
|
|
103
82
|
.ransack({ user_id_eq: currentUser.id(), user_type_eq: userType })
|
|
104
83
|
.toArray();
|
|
105
84
|
this.setState({ searches });
|
|
@@ -107,15 +86,22 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
107
86
|
render() {
|
|
108
87
|
const { t } = this.tt;
|
|
109
88
|
const { className, currentUser, modelClass, onEditSearchPressed, onRequestClose, querySearchName, ...restProps } = this.props;
|
|
110
|
-
const Modal =
|
|
111
|
-
return (
|
|
89
|
+
const Modal = apiMakerConfig.getModal();
|
|
90
|
+
return (<Modal className={classNames("api-maker--table--filters--load-search-modal", className)} onRequestClose={onRequestClose} {...restProps}>
|
|
91
|
+
<View>
|
|
92
|
+
<Text>
|
|
93
|
+
{t(".choose_a_search", { defaultValue: "Choose a search" })}
|
|
94
|
+
</Text>
|
|
95
|
+
</View>
|
|
96
|
+
{this.state.searches?.map((search) => <SearchLink key={search.id()} onClick={this.tt.onSearchClicked} onDeleted={this.tt.onSearchDeleted} onEditPressed={onEditSearchPressed} search={search}/>)}
|
|
97
|
+
</Modal>);
|
|
112
98
|
}
|
|
113
99
|
onSearchClicked = ({ search }) => {
|
|
114
100
|
const { onRequestClose, querySearchName } = this.props;
|
|
115
101
|
const queryParams = search.queryParams();
|
|
116
102
|
const newParams = {};
|
|
117
103
|
newParams[querySearchName] = queryParams.map((queryParam) => JSON.stringify(queryParam));
|
|
118
|
-
|
|
104
|
+
Params.changeParams(newParams);
|
|
119
105
|
onRequestClose();
|
|
120
106
|
};
|
|
121
107
|
onSearchDeleted = ({ search }) => {
|
|
@@ -124,4 +110,4 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
124
110
|
});
|
|
125
111
|
};
|
|
126
112
|
}));
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1zZWFyY2gtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvbG9hZC1zZWFyY2gtbW9kYWwuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFvQztBQUNwQywrQ0FBNEM7QUFDNUMsb0ZBQWdFO0FBQ2hFLGdGQUFtRDtBQUNuRCw0REFBbUM7QUFDbkMseUNBQThCO0FBQzlCLDhFQUFrRDtBQUNsRCxtRkFBeUU7QUFDekUsZ0VBQW9DO0FBQ3BDLHlDQUFxQztBQUNyQyw0REFBbUM7QUFDbkMscUZBQXVEO0FBRXZELE1BQU0sVUFBVSxHQUFHLElBQUEsaUJBQUksRUFBQyxJQUFBLG1DQUFjLEVBQUMsTUFBTSxVQUFXLFNBQVEsMkJBQWE7SUFDM0UsTUFBTTtRQUNKLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBRTNCLE9BQU8sQ0FDTCx3QkFBQyxtQkFBSSxJQUNILE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDakcsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQyxhQUU5RSx1QkFBQyx3QkFBUyxJQUNSLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEVBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFDLENBQUMsRUFDbEYsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFD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Q0FBQyxFQUFFLEVBQUUsQ0FBQztTQUM3RixDQUFDLENBQUE7SUFDSixDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgYXBpTWFrZXJDb25maWcgZnJvbSBcIkBrYXNwZXJuai9hcGktbWFrZXIvYnVpbGQvY29uZmlnLmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi8uLi9wYXJhbXMuanNcIlxuaW1wb3J0IHtUYWJsZVNlYXJjaH0gZnJvbSBcIm1vZGVscy5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuY29uc3QgU2VhcmNoTGluayA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU2VhcmNoTGluayBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge3NlYXJjaH0gPSB0aGlzLnByb3BzXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVcIiwge2NsYXNzOiBcInNlYXJjaC1yb3dcIiwgc2VhcmNoSWQ6IHNlYXJjaC5pZCgpfSwgW3NlYXJjaC5pZCgpXSl9XG4gICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVN0eWxlXCIsIHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCB3aWR0aDogXCIxMDAlXCJ9KX1cbiAgICAgID5cbiAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJsb2FkU2VhcmNoTGlua1ByZXNzYWJsZURhdGFTZXRcIiwge2NsYXNzOiBcImxvYWQtc2VhcmNoLWxpbmtcIn0pfVxuICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25TZWFyY2hDbGlja2VkfVxuICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwibG9hZFNlYXJjaExpbmtQcmVzc2FibGVTdHlsZVwiLCB7anVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCJ9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAge3NlYXJjaC5uYW1lKCl9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgPFZpZXcgc3R5bGU9e3RoaXMuY2FjaGUoXCJhY3Rpb25zVmlld1N0eWxlXCIsIHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBtYXJnaW5MZWZ0OiBcImF1dG9cIn0pfT5cbiAgICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiZWRpdFNlYXJjaEJ1dHRvbkRhdGFTZXRcIiwge2NsYXNzOiBcImVkaXQtc2VhcmNoLWJ1dHRvblwifSl9XG4gICAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uRWRpdFByZXNzZWR9XG4gICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImVkaXRTZWFyY2hCdXR0b25TdHlsZVwiLCB7XG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICB3aWR0aDogMjUsXG4gICAgICAgICAgICAgIGhlaWdodDogMjUsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCIsXG4gICAgICAgICAgICAgIGJvcmRlcjogXCIxcHggc29saWQgIzAwN2JmZlwiLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiMwMDdiZmZcIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICYjeDI3MEU7XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImRlbGV0ZVNlYXJjaEJ1dHRvbkRhdGFTZXRcIiwge2NsYXNzOiBcImRlbGV0ZS1zZWFyY2gtYnV0dG9uXCJ9KX1cbiAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25EZWxldGVQcmVzc2VkfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJkZWxldGVTZWFyY2hCdXR0b25TdHlsZVwiLCB7XG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA1LFxuICAgICAgICAgICAgICB3aWR0aDogMjUsXG4gICAgICAgICAgICAgIGhlaWdodDogMjUsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCIsXG4gICAgICAgICAgICAgIGJvcmRlcjogXCIxcHggc29saWQgI2RjMzU0NVwiLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiNkYzM1NDVcIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICYjeDI3MTU7XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkRlbGV0ZVByZXNzZWQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFjb25maXJtKFwiQXJlIHlvdSBzdXJlP1wiKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qge3NlYXJjaH0gPSB0aGlzLnByb3BzXG5cbiAgICBhd2FpdCBzZWFyY2guZGVzdHJveSgpXG4gICAgdGhpcy5wcm9wcy5vbkRlbGV0ZWQoe3NlYXJjaH0pXG4gIH1cblxuICBvbkVkaXRQcmVzc2VkID0gKCkgPT4gdGhpcy5wcm9wcy5vbkVkaXRQcmVzc2VkKHtzZWFyY2g6IHRoaXMucHJvcHMuc2VhcmNofSlcbiAgb25TZWFyY2hDbGlja2VkID0gKCkgPT4gdGhpcy5wcm9wcy5vbkNsaWNrKHtzZWFyY2g6IHRoaXMucHJvcHMuc2VhcmNofSlcbn0pKVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVGaWx0ZXJzTG9hZFNlYXJjaE1vZGFsIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVycy5sb2FkX3NlYXJjaF9tb2RhbFwifSlcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGVkaXRTZWFyY2g6IHVuZGVmaW5lZCxcbiAgICAgIHNlYXJjaGVzOiB1bmRlZmluZWRcbiAgICB9KVxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe3R9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRTZWFyY2hlcygpXG4gICAgfSwgW10pXG4gIH1cblxuICBsb2FkU2VhcmNoZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge2N1cnJlbnRVc2VyfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB1c2VyVHlwZSA9IGRpZ2coY3VycmVudFVzZXIubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3Qgc2VhcmNoZXMgPSBhd2FpdCBUYWJsZVNlYXJjaFxuICAgICAgLnJhbnNhY2soe3VzZXJfaWRfZXE6IGN1cnJlbnRVc2VyLmlkKCksIHVzZXJfdHlwZV9lcTogdXNlclR5cGV9KVxuICAgICAgLnRvQXJyYXkoKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7c2VhcmNoZXN9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHt0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBjdXJyZW50VXNlciwgbW9kZWxDbGFzcywgb25FZGl0U2VhcmNoUHJlc3NlZCwgb25SZXF1ZXN0Q2xvc2UsIHF1ZXJ5U2VhcmNoTmFtZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBNb2RhbCA9IGFwaU1ha2VyQ29uZmlnLmdldE1vZGFsKClcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiYXBpLW1ha2VyLS10YWJsZS0tZmlsdGVycy0tbG9hZC1zZWFyY2gtbW9kYWxcIiwgY2xhc3NOYW1lKX0gb25SZXF1ZXN0Q2xvc2U9e29uUmVxdWVzdENsb3NlfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgPFZpZXc+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICB7dChcIi5jaG9vc2VfYV9zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJDaG9vc2UgYSBzZWFyY2hcIn0pfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9WaWV3PlxuICAgICAgICB7dGhpcy5zdGF0ZS5zZWFyY2hlcz8ubWFwKChzZWFyY2gpID0+XG4gICAgICAgICAgPFNlYXJjaExpbmtcbiAgICAgICAgICAgIGtleT17c2VhcmNoLmlkKCl9XG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uU2VhcmNoQ2xpY2tlZH1cbiAgICAgICAgICAgIG9uRGVsZXRlZD17dGhpcy50dC5vblNlYXJjaERlbGV0ZWR9XG4gICAgICAgICAgICBvbkVkaXRQcmVzc2VkPXtvbkVkaXRTZWFyY2hQcmVzc2VkfVxuICAgICAgICAgICAgc2VhcmNoPXtzZWFyY2h9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuICB9XG5cbiAgb25TZWFyY2hDbGlja2VkID0gKHtzZWFyY2h9KSA9PiB7XG4gICAgY29uc3Qge29uUmVxdWVzdENsb3NlLCBxdWVyeVNlYXJjaE5hbWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gc2VhcmNoLnF1ZXJ5UGFyYW1zKClcbiAgICBjb25zdCBuZXdQYXJhbXMgPSB7fVxuXG4gICAgbmV3UGFyYW1zW3F1ZXJ5U2VhcmNoTmFtZV0gPSBxdWVyeVBhcmFtcy5tYXAoKHF1ZXJ5UGFyYW0pID0+IEpTT04uc3RyaW5naWZ5KHF1ZXJ5UGFyYW0pKVxuXG4gICAgUGFyYW1zLmNoYW5nZVBhcmFtcyhuZXdQYXJhbXMpXG5cbiAgICBvblJlcXVlc3RDbG9zZSgpXG4gIH1cblxuICBvblNlYXJjaERlbGV0ZWQgPSAoe3NlYXJjaH0pID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNlYXJjaGVzOiB0aGlzLnN0YXRlLnNlYXJjaGVzLmZpbHRlcigoZXhpc3RpbmdTZWFyY2gpID0+IGV4aXN0aW5nU2VhcmNoLmlkKCkgIT0gc2VhcmNoLmlkKCkpXG4gICAgfSlcbiAgfVxufSkpXG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1zZWFyY2gtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvbG9hZC1zZWFyY2gtbW9kYWwuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sY0FBYyxNQUFNLHFDQUFxQyxDQUFBO0FBQ2hFLE9BQU8sYUFBYSxNQUFNLHlCQUF5QixDQUFBO0FBQ25ELE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQTtBQUNwQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3JDLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sT0FBTyxNQUFNLG1DQUFtQyxDQUFBO0FBRXZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxVQUFXLFNBQVEsYUFBYTtJQUMzRSxNQUFNO1FBQ0osTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFFM0IsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUNILE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2xH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Q0FBQyxDQUNuQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDZixDQUNILENBQ0g7TUFBQSxFQUFFLEtBQUssQ0FBQyxDQUNULENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZSxHQUFHLENBQUMsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFFO1FBQzdCLE1BQU0sRUFBQyxjQUFjLEVBQUUsZUFBZSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUNwRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDeEMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFBO1FBRXBCLFNBQVMsQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFFeEYsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUU5QixjQUFjLEVBQUUsQ0FBQTtJQUNsQixDQUFDLENBQUE7SUFFRCxlQUFlLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUU7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDN0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IGFwaU1ha2VyQ29uZmlnIGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL2NvbmZpZy5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vcGFyYW1zLmpzXCJcbmltcG9ydCB7VGFibGVTZWFyY2h9IGZyb20gXCJtb2RlbHMuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5cbmNvbnN0IFNlYXJjaExpbmsgPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFNlYXJjaExpbmsgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtzZWFyY2h9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJyb290Vmlld1N0eWxlXCIsIHtjbGFzczogXCJzZWFyY2gtcm93XCIsIHNlYXJjaElkOiBzZWFyY2guaWQoKX0sIFtzZWFyY2guaWQoKV0pfVxuICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogXCJyb3dcIiwgd2lkdGg6IFwiMTAwJVwifSl9XG4gICAgICA+XG4gICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwibG9hZFNlYXJjaExpbmtQcmVzc2FibGVEYXRhU2V0XCIsIHtjbGFzczogXCJsb2FkLXNlYXJjaC1saW5rXCJ9KX1cbiAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uU2VhcmNoQ2xpY2tlZH1cbiAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImxvYWRTZWFyY2hMaW5rUHJlc3NhYmxlU3R5bGVcIiwge2p1c3RpZnlDb250ZW50OiBcImNlbnRlclwifSl9XG4gICAgICAgID5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIHtzZWFyY2gubmFtZSgpfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgIDxWaWV3IHN0eWxlPXt0aGlzLmNhY2hlKFwiYWN0aW9uc1ZpZXdTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogXCJyb3dcIiwgbWFyZ2luTGVmdDogXCJhdXRvXCJ9KX0+XG4gICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImVkaXRTZWFyY2hCdXR0b25EYXRhU2V0XCIsIHtjbGFzczogXCJlZGl0LXNlYXJjaC1idXR0b25cIn0pfVxuICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkVkaXRQcmVzc2VkfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJlZGl0U2VhcmNoQnV0dG9uU3R5bGVcIiwge1xuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICBib3JkZXI6IFwiMXB4IHNvbGlkICMwMDdiZmZcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA1LFxuICAgICAgICAgICAgICBjb2xvcjogXCIjMDA3YmZmXCJcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAmI3gyNzBFO1xuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJkZWxldGVTZWFyY2hCdXR0b25EYXRhU2V0XCIsIHtjbGFzczogXCJkZWxldGUtc2VhcmNoLWJ1dHRvblwifSl9XG4gICAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uRGVsZXRlUHJlc3NlZH1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwiZGVsZXRlU2VhcmNoQnV0dG9uU3R5bGVcIiwge1xuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgbWFyZ2luTGVmdDogNSxcbiAgICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICBib3JkZXI6IFwiMXB4IHNvbGlkICNkYzM1NDVcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA1LFxuICAgICAgICAgICAgICBjb2xvcjogXCIjZGMzNTQ1XCJcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAmI3gyNzE1O1xuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICA8L1ZpZXc+XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25EZWxldGVQcmVzc2VkID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghY29uZmlybShcIkFyZSB5b3Ugc3VyZT9cIikpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHtzZWFyY2h9ID0gdGhpcy5wcm9wc1xuXG4gICAgYXdhaXQgc2VhcmNoLmRlc3Ryb3koKVxuICAgIHRoaXMucHJvcHMub25EZWxldGVkKHtzZWFyY2h9KVxuICB9XG5cbiAgb25FZGl0UHJlc3NlZCA9ICgpID0+IHRoaXMucHJvcHMub25FZGl0UHJlc3NlZCh7c2VhcmNoOiB0aGlzLnByb3BzLnNlYXJjaH0pXG4gIG9uU2VhcmNoQ2xpY2tlZCA9ICgpID0+IHRoaXMucHJvcHMub25DbGljayh7c2VhcmNoOiB0aGlzLnByb3BzLnNlYXJjaH0pXG59KSlcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyc0xvYWRTZWFyY2hNb2RhbCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLmZpbHRlcnMubG9hZF9zZWFyY2hfbW9kYWxcIn0pXG5cbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBlZGl0U2VhcmNoOiB1bmRlZmluZWQsXG4gICAgICBzZWFyY2hlczogdW5kZWZpbmVkXG4gICAgfSlcbiAgICB0aGlzLnNldEluc3RhbmNlKHt0fSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkU2VhcmNoZXMoKVxuICAgIH0sIFtdKVxuICB9XG5cbiAgbG9hZFNlYXJjaGVzID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtjdXJyZW50VXNlcn0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgdXNlclR5cGUgPSBkaWdnKGN1cnJlbnRVc2VyLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IHNlYXJjaGVzID0gYXdhaXQgVGFibGVTZWFyY2hcbiAgICAgIC5yYW5zYWNrKHt1c2VyX2lkX2VxOiBjdXJyZW50VXNlci5pZCgpLCB1c2VyX3R5cGVfZXE6IHVzZXJUeXBlfSlcbiAgICAgIC50b0FycmF5KClcblxuICAgIHRoaXMuc2V0U3RhdGUoe3NlYXJjaGVzfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7dH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NsYXNzTmFtZSwgY3VycmVudFVzZXIsIG1vZGVsQ2xhc3MsIG9uRWRpdFNlYXJjaFByZXNzZWQsIG9uUmVxdWVzdENsb3NlLCBxdWVyeVNlYXJjaE5hbWUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgTW9kYWwgPSBhcGlNYWtlckNvbmZpZy5nZXRNb2RhbCgpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImFwaS1tYWtlci0tdGFibGUtLWZpbHRlcnMtLWxvYWQtc2VhcmNoLW1vZGFsXCIsIGNsYXNzTmFtZSl9IG9uUmVxdWVzdENsb3NlPXtvblJlcXVlc3RDbG9zZX0gey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxWaWV3PlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAge3QoXCIuY2hvb3NlX2Ffc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiQ2hvb3NlIGEgc2VhcmNoXCJ9KX1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvVmlldz5cbiAgICAgICAge3RoaXMuc3RhdGUuc2VhcmNoZXM/Lm1hcCgoc2VhcmNoKSA9PlxuICAgICAgICAgIDxTZWFyY2hMaW5rXG4gICAgICAgICAgICBrZXk9e3NlYXJjaC5pZCgpfVxuICAgICAgICAgICAgb25DbGljaz17dGhpcy50dC5vblNlYXJjaENsaWNrZWR9XG4gICAgICAgICAgICBvbkRlbGV0ZWQ9e3RoaXMudHQub25TZWFyY2hEZWxldGVkfVxuICAgICAgICAgICAgb25FZGl0UHJlc3NlZD17b25FZGl0U2VhcmNoUHJlc3NlZH1cbiAgICAgICAgICAgIHNlYXJjaD17c2VhcmNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L01vZGFsPlxuICAgIClcbiAgfVxuXG4gIG9uU2VhcmNoQ2xpY2tlZCA9ICh7c2VhcmNofSkgPT4ge1xuICAgIGNvbnN0IHtvblJlcXVlc3RDbG9zZSwgcXVlcnlTZWFyY2hOYW1lfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHNlYXJjaC5xdWVyeVBhcmFtcygpXG4gICAgY29uc3QgbmV3UGFyYW1zID0ge31cblxuICAgIG5ld1BhcmFtc1txdWVyeVNlYXJjaE5hbWVdID0gcXVlcnlQYXJhbXMubWFwKChxdWVyeVBhcmFtKSA9PiBKU09OLnN0cmluZ2lmeShxdWVyeVBhcmFtKSlcblxuICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMobmV3UGFyYW1zKVxuXG4gICAgb25SZXF1ZXN0Q2xvc2UoKVxuICB9XG5cbiAgb25TZWFyY2hEZWxldGVkID0gKHtzZWFyY2h9KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzZWFyY2hlczogdGhpcy5zdGF0ZS5zZWFyY2hlcy5maWx0ZXIoKGV4aXN0aW5nU2VhcmNoKSA9PiBleGlzdGluZ1NlYXJjaC5pZCgpICE9IHNlYXJjaC5pZCgpKVxuICAgIH0pXG4gIH1cbn0pKVxuIl19
|