@agilemotion/oui-react-js 2.0.14 → 2.0.15
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/dist/RestService.js +12 -4
- package/dist/RestUtils.js +33 -4
- package/dist/Utils.js +82 -1
- package/dist/components/AlertBar.js +22 -10
- package/dist/components/Button.js +19 -7
- package/dist/components/DataGrid.js +86 -13
- package/dist/components/ProgressTracker.js +195 -37
- package/dist/components/StepperTitleBar.js +28 -24
- package/dist/components/Turnstile.js +14 -3
- package/dist/event/RouteActionHandler.js +28 -4
- package/dist/event/ServiceCallActionHandler.js +56 -17
- package/dist/view/Dashboard.js +4 -1
- package/dist/view/security/RegisterInteractionPortal.js +100 -14
- package/package.json +1 -1
|
@@ -39,6 +39,25 @@ const host = window.location.protocol + "//" + window.location.hostname;
|
|
|
39
39
|
const REGISTRATION_TYPE_TO_VIEW = {
|
|
40
40
|
vendor: '/portal/views/registration/registration-vendor.json'
|
|
41
41
|
};
|
|
42
|
+
|
|
43
|
+
// EULA-standard footer links. The agreement HTML files are hosted under
|
|
44
|
+
// /agreements/<orgCode>/<doc>.html (served by nginx in prod / Spring
|
|
45
|
+
// static-resource mapping in dev). New legal documents add an entry
|
|
46
|
+
// here. When acceptance-checkbox capture lands in the wizard, switch
|
|
47
|
+
// these URLs to versioned paths (e.g. terms-of-service/v1.html).
|
|
48
|
+
const FOOTER_LINKS = [{
|
|
49
|
+
label: 'Terms of Service',
|
|
50
|
+
file: 'terms-of-service.html'
|
|
51
|
+
}, {
|
|
52
|
+
label: 'Privacy Policy',
|
|
53
|
+
file: 'privacy-policy.html'
|
|
54
|
+
}, {
|
|
55
|
+
label: 'Cookie Notice',
|
|
56
|
+
file: 'cookie-notice.html'
|
|
57
|
+
}, {
|
|
58
|
+
label: 'POPIA Notice',
|
|
59
|
+
file: 'popia-notice.html'
|
|
60
|
+
}];
|
|
42
61
|
const RegisterInteractionPortal = props => {
|
|
43
62
|
const navigate = (0, _reactRouterDom.useNavigate)();
|
|
44
63
|
// The :type route segment (e.g. 'vendor'). Falls back to 'vendor'
|
|
@@ -61,6 +80,9 @@ const RegisterInteractionPortal = props => {
|
|
|
61
80
|
setError("Registration type \"".concat(type, "\" is not supported."));
|
|
62
81
|
return;
|
|
63
82
|
}
|
|
83
|
+
|
|
84
|
+
// Hardcoded tenant for now until tenant resolution is implemented
|
|
85
|
+
_ApplicationManager.default.setActiveTenant('COJ');
|
|
64
86
|
_ApplicationManager.default.setServiceApiPath(props.implConfig.serviceApiPath);
|
|
65
87
|
_ApplicationManager.default.setUIConfigPath(props.implConfig.uiConfigPath);
|
|
66
88
|
_ApplicationManager.default.setContextRoot(props.contextRoot);
|
|
@@ -71,14 +93,34 @@ const RegisterInteractionPortal = props => {
|
|
|
71
93
|
|
|
72
94
|
// Public CDUI fetch — hits the unprotected endpoint we added
|
|
73
95
|
// to oui-server (whitelisted in ResourceServerConfig). The
|
|
74
|
-
// returned JSON is
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
(0, _RestUtils.sendRequest)(host + _ApplicationManager.default.getContextRoot() + '/ui/api/v1/view/public/get?version=1.0&id=' +
|
|
80
|
-
//
|
|
81
|
-
|
|
96
|
+
// returned JSON is dispatched the same way RouteActionHandler
|
|
97
|
+
// does it: single-page `view` → addView + navigate; multi-step
|
|
98
|
+
// `graph` → loadGraph (which owns stepper state + first-node
|
|
99
|
+
// routing). Mixing them up routes a graph through addView and
|
|
100
|
+
// leaves the wizard nodes unreachable.
|
|
101
|
+
(0, _RestUtils.sendRequest)(host + _ApplicationManager.default.getContextRoot() + '/ui/api/v1/view/public/get?version=1.0&id=' + viewPath, data => {
|
|
102
|
+
// sendRequest auto-decodes the {_cdui_z} wire wrap for
|
|
103
|
+
// /ui/api/v*/ URLs — data here is the raw view config.
|
|
104
|
+
if (!data) {
|
|
105
|
+
console.error('Public registration view fetch returned empty payload');
|
|
106
|
+
setError('Registration view could not be loaded.');
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (data.type === 'graph') {
|
|
110
|
+
// Mirror RouteActionHandler's graph branch: hand the
|
|
111
|
+
// raw config to loadGraph, which manages internal
|
|
112
|
+
// node navigation. No manual navigate here —
|
|
113
|
+
// loadGraph routes to the first node itself.
|
|
114
|
+
data.isWindow = false;
|
|
115
|
+
_ApplicationManager.default.loadGraph(true, data, [], 'main');
|
|
116
|
+
setViewLoaded(true);
|
|
117
|
+
} else if (data.type === 'view') {
|
|
118
|
+
// Single-page view: build the envelope and register
|
|
119
|
+
// it on the 'main' context, then navigate to the
|
|
120
|
+
// type-scoped register route so the ViewPort
|
|
121
|
+
// resolves it. Mirrors RouteActionHandler's view
|
|
122
|
+
// branch, with the register-portal URL pattern
|
|
123
|
+
// (/register/:type/:id) substituted for /view/:id.
|
|
82
124
|
const defaultModel = {};
|
|
83
125
|
const view = {
|
|
84
126
|
config: data,
|
|
@@ -108,7 +150,7 @@ const RegisterInteractionPortal = props => {
|
|
|
108
150
|
setViewLoaded(true);
|
|
109
151
|
_ApplicationManager.default.navigate('/register/' + type + '/' + data.id);
|
|
110
152
|
} else {
|
|
111
|
-
console.error('Public registration view fetch returned unexpected
|
|
153
|
+
console.error('Public registration view fetch returned unexpected type', data.type, data);
|
|
112
154
|
setError('Registration view could not be loaded.');
|
|
113
155
|
}
|
|
114
156
|
}, e => {
|
|
@@ -149,10 +191,24 @@ const RegisterInteractionPortal = props => {
|
|
|
149
191
|
}
|
|
150
192
|
}, "Back to login")));
|
|
151
193
|
}
|
|
194
|
+
|
|
195
|
+
// Tenant code that scopes the agreement-asset path. Default to 'coj'
|
|
196
|
+
// until implConfig.orgCode is plumbed through from the portal config
|
|
197
|
+
// endpoint — the existing pages live under /agreements/coj/.
|
|
198
|
+
const orgCode = (props.implConfig && props.implConfig.orgCode ? String(props.implConfig.orgCode) : 'coj').toLowerCase();
|
|
199
|
+
const agreementBase = window.location.origin + '/agreements/' + orgCode;
|
|
152
200
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
153
|
-
className: "main w-100 h-100 d-inline-block coj-skin"
|
|
201
|
+
className: "main w-100 h-100 d-inline-block coj-skin",
|
|
202
|
+
style: {
|
|
203
|
+
display: 'flex',
|
|
204
|
+
flexDirection: 'column'
|
|
205
|
+
}
|
|
154
206
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
155
|
-
|
|
207
|
+
style: {
|
|
208
|
+
flex: '1 1 auto',
|
|
209
|
+
minHeight: 'calc(100vh - 72px)',
|
|
210
|
+
position: 'relative'
|
|
211
|
+
}
|
|
156
212
|
}, /*#__PURE__*/_react.default.createElement(_react2.ThemeProvider, {
|
|
157
213
|
theme: (0, _material.createTheme)({
|
|
158
214
|
palette: {
|
|
@@ -208,9 +264,39 @@ const RegisterInteractionPortal = props => {
|
|
|
208
264
|
landingPage: "NONE",
|
|
209
265
|
style: {
|
|
210
266
|
width: '100%',
|
|
211
|
-
height: '100%'
|
|
267
|
+
height: 'calc(100% - 72px)',
|
|
268
|
+
position: 'fixed'
|
|
269
|
+
}
|
|
270
|
+
})))), /*#__PURE__*/_react.default.createElement("footer", {
|
|
271
|
+
style: {
|
|
272
|
+
flexShrink: 0,
|
|
273
|
+
padding: '16px 24px',
|
|
274
|
+
background: '#ffffff',
|
|
275
|
+
borderTop: '1px solid #e6eaf0',
|
|
276
|
+
fontSize: '13px',
|
|
277
|
+
color: '#6b7785',
|
|
278
|
+
textAlign: 'center'
|
|
279
|
+
}
|
|
280
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
281
|
+
style: {
|
|
282
|
+
display: 'flex',
|
|
283
|
+
justifyContent: 'center',
|
|
284
|
+
gap: '24px',
|
|
285
|
+
flexWrap: 'wrap',
|
|
286
|
+
marginBottom: '6px'
|
|
287
|
+
}
|
|
288
|
+
}, FOOTER_LINKS.map(link => /*#__PURE__*/_react.default.createElement("a", {
|
|
289
|
+
key: link.file,
|
|
290
|
+
href: agreementBase + '/' + link.file,
|
|
291
|
+
target: "_blank",
|
|
292
|
+
CAn: true,
|
|
293
|
+
rel: "noopener noreferrer",
|
|
294
|
+
style: {
|
|
295
|
+
color: '#1a3c5e',
|
|
296
|
+
textDecoration: 'none',
|
|
297
|
+
fontWeight: 500
|
|
212
298
|
}
|
|
213
|
-
})))));
|
|
299
|
+
}, link.label))), /*#__PURE__*/_react.default.createElement("div", null, "\xA9 ", new Date().getFullYear(), " City of Johannesburg. All rights reserved.")));
|
|
214
300
|
};
|
|
215
301
|
var _default = exports.default = RegisterInteractionPortal;
|
|
216
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfTG9hZGluZ0luZGljYXRvciIsIl9VdGlscyIsIl9SZXN0VXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJob3N0Iiwid2luZG93IiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3RuYW1lIiwiUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyIsInZlbmRvciIsIlJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwiLCJwcm9wcyIsIm5hdmlnYXRlIiwidXNlTmF2aWdhdGUiLCJ0eXBlIiwicmF3VHlwZSIsInVzZVBhcmFtcyIsInRvTG93ZXJDYXNlIiwidmlld1BhdGgiLCJ2aWV3TG9hZGVkIiwic2V0Vmlld0xvYWRlZCIsIlJlYWN0IiwidXNlU3RhdGUiLCJlcnJvciIsInNldEVycm9yIiwidXNlRWZmZWN0IiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImVuY29kZVVSSUNvbXBvbmVudCIsImRhdGEiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNvbnNvbGUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwibWF4V2lkdGgiLCJwYWRkaW5nIiwidGV4dEFsaWduIiwiY29sb3IiLCJtYXJnaW4iLCJocmVmIiwidGV4dERlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiVGhlbWVQcm92aWRlciIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJwcmltYXJ5Q29sb3IiLCJzZWNvbmRhcnkiLCJzZWNvbmRhcnlDb2xvciIsImNvbXBvbmVudHMiLCJNdWlDc3NCYXNlbGluZSIsInN0eWxlT3ZlcnJpZGVzIiwiYm9keSIsInNjcm9sbGJhckNvbG9yIiwic2Nyb2xsYmFyV2lkdGgiLCJ3aWR0aCIsImhlaWdodCIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJ0cmFuc2l0aW9uIiwiQ3NzQmFzZWxpbmUiLCJ3aW5kb3dQaW5uZWQiLCJtZW51T2Zmc2V0IiwibGFuZGluZ1BhZ2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZpZXcvc2VjdXJpdHkvUmVnaXN0ZXJJbnRlcmFjdGlvblBvcnRhbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHt1c2VOYXZpZ2F0ZSwgdXNlUGFyYW1zfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHtjcmVhdGVUaGVtZSwgQ3NzQmFzZWxpbmV9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgVGhlbWVQcm92aWRlciBmcm9tIFwiQG11aS9zdHlsZXMvVGhlbWVQcm92aWRlclwiO1xuaW1wb3J0IHtUaGVtZVByb3ZpZGVyIGFzIEVtb3Rpb25UaGVtZVByb3ZpZGVyfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcblxuaW1wb3J0IGFwcGxpY2F0aW9NYW5hZ2VyIGZyb20gXCIuLi8uLi9BcHBsaWNhdGlvbk1hbmFnZXJcIjtcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IFZpZXdQb3J0IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2xheW91dC9WaWV3UG9ydFwiO1xuaW1wb3J0IExvYWRpbmdJbmRpY2F0b3IgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9hZGluZ0luZGljYXRvclwiO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuLi8uLi9VdGlsc1wiO1xuaW1wb3J0IHtzZW5kUmVxdWVzdH0gZnJvbSBcIi4uLy4uL1Jlc3RVdGlsc1wiO1xuXG4vLyBIb3N0bmFtZSBvbmx5IOKAlCBtYXRjaGVzIHRoZSBVUkwtY29uc3RydWN0aW9uIHN0eWxlIGluXG4vLyBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanMuIGNvbnRleHQtcm9vdCArIHNlcnZpY2UgcGF0aCBnZXQgYXBwZW5kZWRcbi8vIHdoZW4gdGhlIGFjdHVhbCByZXF1ZXN0IGlzIGJ1aWx0LlxuY29uc3QgaG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcblxuLyoqXG4gKiBTa2VsZXRvbiBmb3IgdGhlIHJlZ2lzdHJhdGlvbiBwb3J0YWwg4oCUIHdpcmVzIHRoZSBBcHBsaWNhdGlvbk1hbmFnZXIsXG4gKiB0aGUgZHVhbCBFbW90aW9uL01VSSB0aGVtZSBwcm92aWRlcnMsIGFuZCBhIENEVUkge0BsaW5rIFZpZXdQb3J0fS5cbiAqIFRoZSBhY3R1YWwgcmVnaXN0cmF0aW9uIHZpZXcgbGFuZHMgaW4gYSBmb2xsb3ctdXAgc3ByaW50XG4gKiAoc3BlYy9yZWdpc3RyYXRpb24ubWQgwqcyKS4gTWlycm9ycyB7QGNvZGUgSW50ZXJhY3Rpb25Qb3J0YWxBcHBIb21lLmpzfVxuICogZm9yIHRoZW1lICsgbWFuYWdlciBpbml0IGJ1dCBvbWl0cyB0aGUge0Bjb2RlIC9zeXN0ZW0vc2V0dXB9IGFuZFxuICoge0Bjb2RlIC9hdXRoL3VzZXIvZmluZH0gZW5kcG9pbnRzIOKAlCB0aGUgcmVnaXN0cmF0aW9uIGZsb3cgcnVuc1xuICogdW5hdXRoZW50aWNhdGVkIGFuZCB0aGVyZSBpcyBubyBsb2dnZWQtaW4gdXNlciB0byBsb29rIHVwLlxuICpcbiAqIDxwPkJlY2F1c2Ugbm8ge0Bjb2RlIGRhc2hib2FyZFNldHRpbmdzfSBpcyBsb2FkZWQgaGVyZSAobm8gYXV0aCksIGJvdGhcbiAqIHRoZSBFbW90aW9uIG91dGVyIGFuZCBNYXRlcmlhbCBpbm5lciB0aGVtZXMgYXJlIHNlZWRlZCBmcm9tXG4gKiB7QGNvZGUgcHJvcHMuaW1wbENvbmZpZy5wcmltYXJ5Q29sb3IgLyBzZWNvbmRhcnlDb2xvcn0g4oCUIHRoZSBzYW1lXG4gKiBmYWxsYmFjayB0aGUgbG9naW4gcG9ydGFsIHVzZXMuXG4gKi9cbi8vIFR5cGUtc2NvcGVkIHJlZ2lzdHJhdGlvbjogZWFjaCB0eXBlIGhhcyBpdHMgb3duIHdpemFyZCBKU09OIHVuZGVyXG4vLyAvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi8uIE5ldyB0eXBlcyBhZGQgYW4gZW50cnkgaGVyZS5cbmNvbnN0IFJFR0lTVFJBVElPTl9UWVBFX1RPX1ZJRVcgPSB7XG4gICAgdmVuZG9yOiAnL3BvcnRhbC92aWV3cy9yZWdpc3RyYXRpb24vcmVnaXN0cmF0aW9uLXZlbmRvci5qc29uJyxcbn07XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgLy8gVGhlIDp0eXBlIHJvdXRlIHNlZ21lbnQgKGUuZy4gJ3ZlbmRvcicpLiBGYWxscyBiYWNrIHRvICd2ZW5kb3InXG4gICAgLy8gd2hlbiB0aGUgcm91dGUgaGFzIG5vIHR5cGUgc2VnbWVudCB5ZXQg4oCUIGtlZXBzIGEgYmFyZSAvcmVnaXN0ZXJcbiAgICAvLyByZXF1ZXN0IHdvcmtpbmcgZHVyaW5nIHRoZSByb2xsb3V0IHdpbmRvdy5cbiAgICBjb25zdCB7dHlwZTogcmF3VHlwZX0gPSB1c2VQYXJhbXMoKTtcbiAgICBjb25zdCB0eXBlID0gKHJhd1R5cGUgfHwgJ3ZlbmRvcicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgdmlld1BhdGggPSBSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXW3R5cGVdO1xuXG4gICAgLy8gR2F0ZXMgdGhlIHJlbmRlciDigJQgYmxvY2sgdGhlIFZpZXdQb3J0IG1vdW50IHVudGlsIHRoZSB3aXphcmRcbiAgICAvLyB2aWV3IEpTT04gaGFzIGJlZW4gZmV0Y2hlZCBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZVxuICAgIC8vIEFwcGxpY2F0aW9uTWFuYWdlciwgb3RoZXJ3aXNlIHRoZSBDRFVJIHJvdXRlciBoYXMgbm90aGluZyB0b1xuICAgIC8vIHJlc29sdmUgd2hlbiBpdCBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICBjb25zdCBbdmlld0xvYWRlZCwgc2V0Vmlld0xvYWRlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghdmlld1BhdGgpIHtcbiAgICAgICAgICAgIHNldEVycm9yKGBSZWdpc3RyYXRpb24gdHlwZSBcIiR7dHlwZX1cIiBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0U2VydmljZUFwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5zZXJ2aWNlQXBpUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldFVJQ29uZmlnUGF0aChwcm9wcy5pbXBsQ29uZmlnLnVpQ29uZmlnUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldENvbnRleHRSb290KHByb3BzLmNvbnRleHRSb290KTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0RmlsZXNBcGlQYXRoKHByb3BzLmltcGxDb25maWcuZmlsZXNBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldE5hdmlnYXRvcigocGF0aCkgPT4ge1xuICAgICAgICAgICAgbmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFB1YmxpYyBDRFVJIGZldGNoIOKAlCBoaXRzIHRoZSB1bnByb3RlY3RlZCBlbmRwb2ludCB3ZSBhZGRlZFxuICAgICAgICAvLyB0byBvdWktc2VydmVyICh3aGl0ZWxpc3RlZCBpbiBSZXNvdXJjZVNlcnZlckNvbmZpZykuIFRoZVxuICAgICAgICAvLyByZXR1cm5lZCBKU09OIGlzIHdyYXBwZWQgaW50byB0aGUge2NvbmZpZywgcGFyYW1ldGVycywgcGFyZW50LFxuICAgICAgICAvLyBoYW5kbGUuYXBpfSBlbnZlbG9wZSBleHBlY3RlZCBieSBhZGRWaWV3IChtaXJyb3JzIHRoZSBwYXR0ZXJuXG4gICAgICAgIC8vIGluIFJvdXRlQWN0aW9uSGFuZGxlci5leGVjdXRlKSBhbmQgcmVnaXN0ZXJlZCBhZ2FpbnN0IHRoZVxuICAgICAgICAvLyAnbWFpbicgY29udGV4dCBzbyB0aGUgVmlld1BvcnQgYmVsb3cgcmVzb2x2ZXMgaXQgd2hlbiBpdFxuICAgICAgICAvLyBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICAgICAgc2VuZFJlcXVlc3QoXG4gICAgICAgICAgICBob3N0ICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3VpL2FwaS92MS92aWV3L3B1YmxpYy9nZXQ/dmVyc2lvbj0xLjAmaWQ9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2aWV3UGF0aCksXG4gICAgICAgICAgICAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGdyYXBoICh3aXphcmQpIEFORCB2aWV3IChzaW5nbGUgcGFnZSkgYXJlIGJvdGggYWRkYWJsZS5cbiAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiAoZGF0YS50eXBlID09PSAndmlldycgfHwgZGF0YS50eXBlID09PSAnZ3JhcGgnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0TW9kZWwgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgaWQoKSB7IHJldHVybiBkYXRhLmlkOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgbW9kZWwoKSB7IHJldHVybiBkZWZhdWx0TW9kZWw7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaWxkOiAoKSA9PiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbDogKHZhbHVlcykgPT4geyBVdGlscy51cGRhdGVNb2RlbCh2YWx1ZXMsIGRlZmF1bHRNb2RlbCk7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1vZGVsVmFsdWU6IChrZXksIHZhbHVlKSA9PiB7IGRlZmF1bHRNb2RlbFtrZXldID0gdmFsdWU7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vZGVsVmFsdWU6IChrZXkpID0+IGRlZmF1bHRNb2RlbFtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6ICgpID0+IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkVmlldyh2aWV3LCBkYXRhLmlkLCB0cnVlLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubmF2aWdhdGUoJy9yZWdpc3Rlci8nICsgdHlwZSArICcvJyArIGRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCB1bmV4cGVjdGVkIHBheWxvYWQnLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0RXJyb3IoJ1JlZ2lzdHJhdGlvbiB2aWV3IGNvdWxkIG5vdCBiZSBsb2FkZWQuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVnaXN0cmF0aW9uIHZpZXcnLCBlKTtcbiAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgIH0sIGZhbHNlLCB0cnVlXG4gICAgICAgICk7XG4gICAgfSwgW3R5cGUsIHZpZXdQYXRoXSk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9jayBjb2otc2tpblwiIHN0eWxlPXt7ZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e21heFdpZHRoOiA0MjAsIHBhZGRpbmc6IDMyLCB0ZXh0QWxpZ246ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIG1hcmdpbjogJzAgMCAxMnB4J319Pk5vdCBhdmFpbGFibGU8L2gyPlxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17e2NvbG9yOiAnIzZiNzc4NScsIG1hcmdpbjogJzAgMCAxNnB4J319PntlcnJvcn08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvbG9naW5cIiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIHRleHREZWNvcmF0aW9uOiAnbm9uZScsIGZvbnRXZWlnaHQ6IDUwMH19PkJhY2sgdG8gbG9naW48L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1haW4gdy0xMDAgaC0xMDAgZC1pbmxpbmUtYmxvY2sgY29qLXNraW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMDAgaC0xMDBcIj5cbiAgICAgICAgICAgICAgICA8RW1vdGlvblRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnNlY29uZGFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWlDc3NCYXNlbGluZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCkgdHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogJ3RoaW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC42KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3NzQmFzZWxpbmUvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdQb3J0IHdpbmRvd1Bpbm5lZD17ZmFsc2V9IG1lbnVPZmZzZXQ9ezB9IGxhbmRpbmdQYWdlPXtcIk5PTkVcIn0gc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJ319Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvRW1vdGlvblRoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLG1CQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBTSxTQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBVCxPQUFBO0FBQTRDLFNBQUFELHVCQUFBVyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRTVDO0FBQ0E7QUFDQTtBQUNBLE1BQU1HLElBQUksR0FBR0MsTUFBTSxDQUFDQyxRQUFRLENBQUNDLFFBQVEsR0FBRyxJQUFJLEdBQUdGLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRSxRQUFROztBQUV2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1DLHlCQUF5QixHQUFHO0VBQzlCQyxNQUFNLEVBQUU7QUFDWixDQUFDO0FBRUQsTUFBTUMseUJBQXlCLEdBQUlDLEtBQUssSUFBSztFQUN6QyxNQUFNQyxRQUFRLEdBQUcsSUFBQUMsMkJBQVcsRUFBQyxDQUFDO0VBQzlCO0VBQ0E7RUFDQTtFQUNBLE1BQU07SUFBQ0MsSUFBSSxFQUFFQztFQUFPLENB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
|
|
302
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfTG9hZGluZ0luZGljYXRvciIsIl9VdGlscyIsIl9SZXN0VXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJob3N0Iiwid2luZG93IiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3RuYW1lIiwiUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyIsInZlbmRvciIsIkZPT1RFUl9MSU5LUyIsImxhYmVsIiwiZmlsZSIsIlJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwiLCJwcm9wcyIsIm5hdmlnYXRlIiwidXNlTmF2aWdhdGUiLCJ0eXBlIiwicmF3VHlwZSIsInVzZVBhcmFtcyIsInRvTG93ZXJDYXNlIiwidmlld1BhdGgiLCJ2aWV3TG9hZGVkIiwic2V0Vmlld0xvYWRlZCIsIlJlYWN0IiwidXNlU3RhdGUiLCJlcnJvciIsInNldEVycm9yIiwidXNlRWZmZWN0IiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRBY3RpdmVUZW5hbnQiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImRhdGEiLCJjb25zb2xlIiwiaXNXaW5kb3ciLCJsb2FkR3JhcGgiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjb2xvciIsIm1hcmdpbiIsImhyZWYiLCJ0ZXh0RGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJvcmdDb2RlIiwiU3RyaW5nIiwiYWdyZWVtZW50QmFzZSIsIm9yaWdpbiIsImZsZXhEaXJlY3Rpb24iLCJmbGV4IiwibWluSGVpZ2h0IiwicG9zaXRpb24iLCJUaGVtZVByb3ZpZGVyIiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsInBhbGV0dGUiLCJwcmltYXJ5IiwibWFpbiIsInByaW1hcnlDb2xvciIsInNlY29uZGFyeSIsInNlY29uZGFyeUNvbG9yIiwiY29tcG9uZW50cyIsIk11aUNzc0Jhc2VsaW5lIiwic3R5bGVPdmVycmlkZXMiLCJib2R5Iiwic2Nyb2xsYmFyQ29sb3IiLCJzY3JvbGxiYXJXaWR0aCIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZCIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsInRyYW5zaXRpb24iLCJDc3NCYXNlbGluZSIsIndpbmRvd1Bpbm5lZCIsIm1lbnVPZmZzZXQiLCJsYW5kaW5nUGFnZSIsImZsZXhTaHJpbmsiLCJib3JkZXJUb3AiLCJmb250U2l6ZSIsImdhcCIsImZsZXhXcmFwIiwibWFyZ2luQm90dG9tIiwibWFwIiwibGluayIsInRhcmdldCIsIkNBbiIsInJlbCIsIkRhdGUiLCJnZXRGdWxsWWVhciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmlldy9zZWN1cml0eS9SZWdpc3RlckludGVyYWN0aW9uUG9ydGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZU5hdmlnYXRlLCB1c2VQYXJhbXN9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQge2NyZWF0ZVRoZW1lLCBDc3NCYXNlbGluZX0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBUaGVtZVByb3ZpZGVyIGZyb20gXCJAbXVpL3N0eWxlcy9UaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQge1RoZW1lUHJvdmlkZXIgYXMgRW1vdGlvblRoZW1lUHJvdmlkZXJ9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5pbXBvcnQgYXBwbGljYXRpb01hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0XCI7XG5pbXBvcnQgTG9hZGluZ0luZGljYXRvciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2FkaW5nSW5kaWNhdG9yXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vUmVzdFV0aWxzXCI7XG5cbi8vIEhvc3RuYW1lIG9ubHkg4oCUIG1hdGNoZXMgdGhlIFVSTC1jb25zdHJ1Y3Rpb24gc3R5bGUgaW5cbi8vIEludGVyYWN0aW9uUG9ydGFsQXBwSG9tZS5qcy4gY29udGV4dC1yb290ICsgc2VydmljZSBwYXRoIGdldCBhcHBlbmRlZFxuLy8gd2hlbiB0aGUgYWN0dWFsIHJlcXVlc3QgaXMgYnVpbHQuXG5jb25zdCBob3N0ID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG4vKipcbiAqIFNrZWxldG9uIGZvciB0aGUgcmVnaXN0cmF0aW9uIHBvcnRhbCDigJQgd2lyZXMgdGhlIEFwcGxpY2F0aW9uTWFuYWdlcixcbiAqIHRoZSBkdWFsIEVtb3Rpb24vTVVJIHRoZW1lIHByb3ZpZGVycywgYW5kIGEgQ0RVSSB7QGxpbmsgVmlld1BvcnR9LlxuICogVGhlIGFjdHVhbCByZWdpc3RyYXRpb24gdmlldyBsYW5kcyBpbiBhIGZvbGxvdy11cCBzcHJpbnRcbiAqIChzcGVjL3JlZ2lzdHJhdGlvbi5tZCDCpzIpLiBNaXJyb3JzIHtAY29kZSBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanN9XG4gKiBmb3IgdGhlbWUgKyBtYW5hZ2VyIGluaXQgYnV0IG9taXRzIHRoZSB7QGNvZGUgL3N5c3RlbS9zZXR1cH0gYW5kXG4gKiB7QGNvZGUgL2F1dGgvdXNlci9maW5kfSBlbmRwb2ludHMg4oCUIHRoZSByZWdpc3RyYXRpb24gZmxvdyBydW5zXG4gKiB1bmF1dGhlbnRpY2F0ZWQgYW5kIHRoZXJlIGlzIG5vIGxvZ2dlZC1pbiB1c2VyIHRvIGxvb2sgdXAuXG4gKlxuICogPHA+QmVjYXVzZSBubyB7QGNvZGUgZGFzaGJvYXJkU2V0dGluZ3N9IGlzIGxvYWRlZCBoZXJlIChubyBhdXRoKSwgYm90aFxuICogdGhlIEVtb3Rpb24gb3V0ZXIgYW5kIE1hdGVyaWFsIGlubmVyIHRoZW1lcyBhcmUgc2VlZGVkIGZyb21cbiAqIHtAY29kZSBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvciAvIHNlY29uZGFyeUNvbG9yfSDigJQgdGhlIHNhbWVcbiAqIGZhbGxiYWNrIHRoZSBsb2dpbiBwb3J0YWwgdXNlcy5cbiAqL1xuLy8gVHlwZS1zY29wZWQgcmVnaXN0cmF0aW9uOiBlYWNoIHR5cGUgaGFzIGl0cyBvd24gd2l6YXJkIEpTT04gdW5kZXJcbi8vIC9wb3J0YWwvdmlld3MvcmVnaXN0cmF0aW9uLy4gTmV3IHR5cGVzIGFkZCBhbiBlbnRyeSBoZXJlLlxuY29uc3QgUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyA9IHtcbiAgICB2ZW5kb3I6ICcvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi9yZWdpc3RyYXRpb24tdmVuZG9yLmpzb24nLFxufTtcblxuLy8gRVVMQS1zdGFuZGFyZCBmb290ZXIgbGlua3MuIFRoZSBhZ3JlZW1lbnQgSFRNTCBmaWxlcyBhcmUgaG9zdGVkIHVuZGVyXG4vLyAvYWdyZWVtZW50cy88b3JnQ29kZT4vPGRvYz4uaHRtbCAoc2VydmVkIGJ5IG5naW54IGluIHByb2QgLyBTcHJpbmdcbi8vIHN0YXRpYy1yZXNvdXJjZSBtYXBwaW5nIGluIGRldikuIE5ldyBsZWdhbCBkb2N1bWVudHMgYWRkIGFuIGVudHJ5XG4vLyBoZXJlLiBXaGVuIGFjY2VwdGFuY2UtY2hlY2tib3ggY2FwdHVyZSBsYW5kcyBpbiB0aGUgd2l6YXJkLCBzd2l0Y2hcbi8vIHRoZXNlIFVSTHMgdG8gdmVyc2lvbmVkIHBhdGhzIChlLmcuIHRlcm1zLW9mLXNlcnZpY2UvdjEuaHRtbCkuXG5jb25zdCBGT09URVJfTElOS1MgPSBbXG4gICAge2xhYmVsOiAnVGVybXMgb2YgU2VydmljZScsIGZpbGU6ICd0ZXJtcy1vZi1zZXJ2aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQcml2YWN5IFBvbGljeScsIGZpbGU6ICdwcml2YWN5LXBvbGljeS5odG1sJ30sXG4gICAge2xhYmVsOiAnQ29va2llIE5vdGljZScsIGZpbGU6ICdjb29raWUtbm90aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQT1BJQSBOb3RpY2UnLCBmaWxlOiAncG9waWEtbm90aWNlLmh0bWwnfSxcbl07XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgLy8gVGhlIDp0eXBlIHJvdXRlIHNlZ21lbnQgKGUuZy4gJ3ZlbmRvcicpLiBGYWxscyBiYWNrIHRvICd2ZW5kb3InXG4gICAgLy8gd2hlbiB0aGUgcm91dGUgaGFzIG5vIHR5cGUgc2VnbWVudCB5ZXQg4oCUIGtlZXBzIGEgYmFyZSAvcmVnaXN0ZXJcbiAgICAvLyByZXF1ZXN0IHdvcmtpbmcgZHVyaW5nIHRoZSByb2xsb3V0IHdpbmRvdy5cbiAgICBjb25zdCB7dHlwZTogcmF3VHlwZX0gPSB1c2VQYXJhbXMoKTtcbiAgICBjb25zdCB0eXBlID0gKHJhd1R5cGUgfHwgJ3ZlbmRvcicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgdmlld1BhdGggPSBSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXW3R5cGVdO1xuXG4gICAgLy8gR2F0ZXMgdGhlIHJlbmRlciDigJQgYmxvY2sgdGhlIFZpZXdQb3J0IG1vdW50IHVudGlsIHRoZSB3aXphcmRcbiAgICAvLyB2aWV3IEpTT04gaGFzIGJlZW4gZmV0Y2hlZCBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZVxuICAgIC8vIEFwcGxpY2F0aW9uTWFuYWdlciwgb3RoZXJ3aXNlIHRoZSBDRFVJIHJvdXRlciBoYXMgbm90aGluZyB0b1xuICAgIC8vIHJlc29sdmUgd2hlbiBpdCBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICBjb25zdCBbdmlld0xvYWRlZCwgc2V0Vmlld0xvYWRlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghdmlld1BhdGgpIHtcbiAgICAgICAgICAgIHNldEVycm9yKGBSZWdpc3RyYXRpb24gdHlwZSBcIiR7dHlwZX1cIiBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIYXJkY29kZWQgdGVuYW50IGZvciBub3cgdW50aWwgdGVuYW50IHJlc29sdXRpb24gaXMgaW1wbGVtZW50ZWRcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0QWN0aXZlVGVuYW50KCdDT0onKTtcblxuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRTZXJ2aWNlQXBpUGF0aChwcm9wcy5pbXBsQ29uZmlnLnNlcnZpY2VBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0VUlDb25maWdQYXRoKHByb3BzLmltcGxDb25maWcudWlDb25maWdQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0Q29udGV4dFJvb3QocHJvcHMuY29udGV4dFJvb3QpO1xuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRGaWxlc0FwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5maWxlc0FwaVBhdGgpO1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuc2V0TmF2aWdhdG9yKChwYXRoKSA9PiB7XG4gICAgICAgICAgICBuYXZpZ2F0ZShwYXRoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUHVibGljIENEVUkgZmV0Y2gg4oCUIGhpdHMgdGhlIHVucHJvdGVjdGVkIGVuZHBvaW50IHdlIGFkZGVkXG4gICAgICAgIC8vIHRvIG91aS1zZXJ2ZXIgKHdoaXRlbGlzdGVkIGluIFJlc291cmNlU2VydmVyQ29uZmlnKS4gVGhlXG4gICAgICAgIC8vIHJldHVybmVkIEpTT04gaXMgZGlzcGF0Y2hlZCB0aGUgc2FtZSB3YXkgUm91dGVBY3Rpb25IYW5kbGVyXG4gICAgICAgIC8vIGRvZXMgaXQ6IHNpbmdsZS1wYWdlIGB2aWV3YCDihpIgYWRkVmlldyArIG5hdmlnYXRlOyBtdWx0aS1zdGVwXG4gICAgICAgIC8vIGBncmFwaGAg4oaSIGxvYWRHcmFwaCAod2hpY2ggb3ducyBzdGVwcGVyIHN0YXRlICsgZmlyc3Qtbm9kZVxuICAgICAgICAvLyByb3V0aW5nKS4gTWl4aW5nIHRoZW0gdXAgcm91dGVzIGEgZ3JhcGggdGhyb3VnaCBhZGRWaWV3IGFuZFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIHdpemFyZCBub2RlcyB1bnJlYWNoYWJsZS5cbiAgICAgICAgc2VuZFJlcXVlc3QoXG4gICAgICAgICAgICBob3N0ICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3VpL2FwaS92MS92aWV3L3B1YmxpYy9nZXQ/dmVyc2lvbj0xLjAmaWQ9JyArIHZpZXdQYXRoLFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzZW5kUmVxdWVzdCBhdXRvLWRlY29kZXMgdGhlIHtfY2R1aV96fSB3aXJlIHdyYXAgZm9yXG4gICAgICAgICAgICAgICAgLy8gL3VpL2FwaS92Ki8gVVJMcyDigJQgZGF0YSBoZXJlIGlzIHRoZSByYXcgdmlldyBjb25maWcuXG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCBlbXB0eSBwYXlsb2FkJyk7XG4gICAgICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gJ2dyYXBoJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBNaXJyb3IgUm91dGVBY3Rpb25IYW5kbGVyJ3MgZ3JhcGggYnJhbmNoOiBoYW5kIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyByYXcgY29uZmlnIHRvIGxvYWRHcmFwaCwgd2hpY2ggbWFuYWdlcyBpbnRlcm5hbFxuICAgICAgICAgICAgICAgICAgICAvLyBub2RlIG5hdmlnYXRpb24uIE5vIG1hbnVhbCBuYXZpZ2F0ZSBoZXJlIOKAlFxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkR3JhcGggcm91dGVzIHRvIHRoZSBmaXJzdCBub2RlIGl0c2VsZi5cbiAgICAgICAgICAgICAgICAgICAgZGF0YS5pc1dpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubG9hZEdyYXBoKHRydWUsIGRhdGEsIFtdLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAndmlldycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2luZ2xlLXBhZ2UgdmlldzogYnVpbGQgdGhlIGVudmVsb3BlIGFuZCByZWdpc3RlclxuICAgICAgICAgICAgICAgICAgICAvLyBpdCBvbiB0aGUgJ21haW4nIGNvbnRleHQsIHRoZW4gbmF2aWdhdGUgdG8gdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIHR5cGUtc2NvcGVkIHJlZ2lzdGVyIHJvdXRlIHNvIHRoZSBWaWV3UG9ydFxuICAgICAgICAgICAgICAgICAgICAvLyByZXNvbHZlcyBpdC4gTWlycm9ycyBSb3V0ZUFjdGlvbkhhbmRsZXIncyB2aWV3XG4gICAgICAgICAgICAgICAgICAgIC8vIGJyYW5jaCwgd2l0aCB0aGUgcmVnaXN0ZXItcG9ydGFsIFVSTCBwYXR0ZXJuXG4gICAgICAgICAgICAgICAgICAgIC8vICgvcmVnaXN0ZXIvOnR5cGUvOmlkKSBzdWJzdGl0dXRlZCBmb3IgL3ZpZXcvOmlkLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0TW9kZWwgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgaWQoKSB7IHJldHVybiBkYXRhLmlkOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgbW9kZWwoKSB7IHJldHVybiBkZWZhdWx0TW9kZWw7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaWxkOiAoKSA9PiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbDogKHZhbHVlcykgPT4geyBVdGlscy51cGRhdGVNb2RlbCh2YWx1ZXMsIGRlZmF1bHRNb2RlbCk7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1vZGVsVmFsdWU6IChrZXksIHZhbHVlKSA9PiB7IGRlZmF1bHRNb2RlbFtrZXldID0gdmFsdWU7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vZGVsVmFsdWU6IChrZXkpID0+IGRlZmF1bHRNb2RlbFtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6ICgpID0+IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkVmlldyh2aWV3LCBkYXRhLmlkLCB0cnVlLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubmF2aWdhdGUoJy9yZWdpc3Rlci8nICsgdHlwZSArICcvJyArIGRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCB1bmV4cGVjdGVkIHR5cGUnLCBkYXRhLnR5cGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZWdpc3RyYXRpb24gdmlldycsIGUpO1xuICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgfSwgZmFsc2UsIHRydWVcbiAgICAgICAgKTtcbiAgICB9LCBbdHlwZSwgdmlld1BhdGhdKTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCIgc3R5bGU9e3tkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7bWF4V2lkdGg6IDQyMCwgcGFkZGluZzogMzIsIHRleHRBbGlnbjogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgbWFyZ2luOiAnMCAwIDEycHgnfX0+Tm90IGF2YWlsYWJsZTwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7Y29sb3I6ICcjNmI3Nzg1JywgbWFyZ2luOiAnMCAwIDE2cHgnfX0+e2Vycm9yfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi9sb2dpblwiIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgdGV4dERlY29yYXRpb246ICdub25lJywgZm9udFdlaWdodDogNTAwfX0+QmFjayB0byBsb2dpbjwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFRlbmFudCBjb2RlIHRoYXQgc2NvcGVzIHRoZSBhZ3JlZW1lbnQtYXNzZXQgcGF0aC4gRGVmYXVsdCB0byAnY29qJ1xuICAgIC8vIHVudGlsIGltcGxDb25maWcub3JnQ29kZSBpcyBwbHVtYmVkIHRocm91Z2ggZnJvbSB0aGUgcG9ydGFsIGNvbmZpZ1xuICAgIC8vIGVuZHBvaW50IOKAlCB0aGUgZXhpc3RpbmcgcGFnZXMgbGl2ZSB1bmRlciAvYWdyZWVtZW50cy9jb2ovLlxuICAgIGNvbnN0IG9yZ0NvZGUgPSAocHJvcHMuaW1wbENvbmZpZyAmJiBwcm9wcy5pbXBsQ29uZmlnLm9yZ0NvZGVcbiAgICAgICAgPyBTdHJpbmcocHJvcHMuaW1wbENvbmZpZy5vcmdDb2RlKVxuICAgICAgICA6ICdjb2onKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGFncmVlbWVudEJhc2UgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9hZ3JlZW1lbnRzLycgKyBvcmdDb2RlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9jayBjb2otc2tpblwiXG4gICAgICAgICAgICBzdHlsZT17e2Rpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbid9fVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZmxleDogJzEgMSBhdXRvJywgbWluSGVpZ2h0OiAnY2FsYygxMDB2aCAtIDcycHgpJywgcG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICAgICAgICA8RW1vdGlvblRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnNlY29uZGFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWlDc3NCYXNlbGluZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCkgdHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogJ3RoaW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC42KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3NzQmFzZWxpbmUvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdQb3J0IHdpbmRvd1Bpbm5lZD17ZmFsc2V9IG1lbnVPZmZzZXQ9ezB9IGxhbmRpbmdQYWdlPXtcIk5PTkVcIn0gc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA3MnB4KScsIHBvc2l0aW9uOiAnZml4ZWQnfX0vPlxuICAgICAgICAgICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9FbW90aW9uVGhlbWVQcm92aWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZvb3RlclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcxNnB4IDI0cHgnLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCAjZTZlYWYwJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxM3B4JyxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNmI3Nzg1JyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJ1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMjRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnNnB4J1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge0ZPT1RFUl9MSU5LUy5tYXAoKGxpbmspID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtsaW5rLmZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YWdyZWVtZW50QmFzZSArICcvJyArIGxpbmsuZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIkNBblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgdGV4dERlY29yYXRpb246ICdub25lJywgZm9udFdlaWdodDogNTAwfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bGluay5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgJmNvcHk7IHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9IENpdHkgb2YgSm9oYW5uZXNidXJnLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWdpc3RlckludGVyYWN0aW9uUG9ydGFsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFK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
|
package/package.json
CHANGED