@comet/cms-admin 7.24.0 → 7.25.0-canary-20250630081601

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.
Files changed (47) hide show
  1. package/lib/blocks/DamVideoBlock.d.ts.map +1 -1
  2. package/lib/blocks/DamVideoBlock.js +9 -117
  3. package/lib/blocks/PixelImageBlock.d.ts.map +1 -1
  4. package/lib/blocks/PixelImageBlock.js +49 -162
  5. package/lib/blocks/SvgImageBlock.d.ts.map +1 -1
  6. package/lib/blocks/SvgImageBlock.js +12 -119
  7. package/lib/blocks.generated.d.ts +5 -0
  8. package/lib/blocks.generated.d.ts.map +1 -1
  9. package/lib/common/DropdownMenuItem.sc.d.ts +1 -1
  10. package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts +1 -1
  11. package/lib/dam/FileActions/ConfirmDeleteDialog.sc.d.ts +3 -3
  12. package/lib/dam/FileForm/EditFile.d.ts.map +1 -1
  13. package/lib/dam/FileForm/EditFile.js +38 -3
  14. package/lib/dam/FileForm/previews/VideoPreview.d.ts +1 -0
  15. package/lib/dam/FileForm/previews/VideoPreview.d.ts.map +1 -1
  16. package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts +28 -0
  17. package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts.map +1 -0
  18. package/lib/dam/FileForm/previews/VideoPreview.generated.js +11 -0
  19. package/lib/dam/FileForm/previews/VideoPreview.js +26 -6
  20. package/lib/dam/blocks/DamFileDownloadLinkBlock.d.ts.map +1 -1
  21. package/lib/dam/blocks/DamFileDownloadLinkBlock.js +1 -26
  22. package/lib/dam/config/damDefaultAcceptedMimeTypes.d.ts.map +1 -1
  23. package/lib/dam/config/damDefaultAcceptedMimeTypes.js +2 -0
  24. package/lib/dam/config/useDamAcceptedMimeTypes.d.ts +1 -0
  25. package/lib/dam/config/useDamAcceptedMimeTypes.d.ts.map +1 -1
  26. package/lib/dam/config/useDamAcceptedMimeTypes.js +9 -2
  27. package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts +15 -0
  28. package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts.map +1 -0
  29. package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts +57 -0
  30. package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts.map +1 -0
  31. package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.js +15 -0
  32. package/lib/dam/mediaAlternatives/MediaAlternativeForm.js +153 -0
  33. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts +14 -0
  34. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -0
  35. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts +72 -0
  36. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts.map +1 -0
  37. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.js +17 -0
  38. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +204 -0
  39. package/lib/form/file/FileField.d.ts +10 -3
  40. package/lib/form/file/FileField.d.ts.map +1 -1
  41. package/lib/form/file/FileField.js +140 -9
  42. package/lib/graphql.generated.d.ts +60 -0
  43. package/lib/graphql.generated.d.ts.map +1 -1
  44. package/lib/pages/pageTree/PageDeleteDialog.sc.d.ts +1 -1
  45. package/lib/preview/block/SplitPreview.sc.d.ts +1 -1
  46. package/lib/preview/site/SitePreview.sc.d.ts +1 -1
  47. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"DamVideoBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/DamVideoBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,EAMH,cAAc,EAEd,UAAU,EAIb,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQ5E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAAG;IAAE,YAAY,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;CAAE,CAAC;AAE5G,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,CAmMtF,CAAC"}
1
+ {"version":3,"file":"DamVideoBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/DamVideoBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIH,cAAc,EAEd,UAAU,EAIb,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAK5E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAAG;IAAE,YAAY,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;CAAE,CAAC;AAE5G,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,CAoItF,CAAC"}
@@ -10,23 +10,13 @@ var _adminIcons = require("@comet/admin-icons");
10
10
  var _blocksAdmin = require("@comet/blocks-admin");
11
11
  var _material = require("@mui/material");
12
12
  var _utils = require("@mui/x-data-grid/utils/utils");
13
- var _react = require("react");
14
13
  var _reactIntl = require("react-intl");
15
- var _Provider = require("../contentScope/Provider");
16
- var _DependenciesConfig = require("../dependencies/DependenciesConfig");
17
- var _DamPathLazy = require("../form/file/DamPathLazy");
18
14
  var _FileField = require("../form/file/FileField");
19
15
  var _VideoOptionsFields = require("./helpers/VideoOptionsFields");
20
16
  var _PixelImageBlock = require("./PixelImageBlock");
21
17
  var _jsxRuntime = require("react/jsx-runtime");
22
18
  var _templateObject;
23
19
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
24
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
28
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
29
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
20
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
31
21
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
32
22
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
@@ -157,122 +147,24 @@ var DamVideoBlock = exports.DamVideoBlock = _objectSpread(_objectSpread({}, (0,
157
147
  },
158
148
  definesOwnPadding: true,
159
149
  AdminComponent: function AdminComponent(_ref) {
160
- var _state$damFile3;
161
150
  var state = _ref.state,
162
151
  _updateState = _ref.updateState;
163
- var _useState = (0, _react.useState)(null),
164
- _useState2 = _slicedToArray(_useState, 2),
165
- anchorEl = _useState2[0],
166
- setAnchorEl = _useState2[1];
167
152
  var isInPaper = (0, _blocksAdmin.useAdminComponentPaper)();
168
- var contentScope = (0, _Provider.useContentScope)();
169
- var apolloClient = (0, _client.useApolloClient)();
170
- var dependencyMap = (0, _DependenciesConfig.useDependenciesConfig)();
171
- var showMenu = Boolean(dependencyMap["DamFile"]);
172
- var handleMenuClose = function handleMenuClose() {
173
- setAnchorEl(null);
174
- };
175
153
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
176
154
  padding: isInPaper ? 3 : 0,
177
155
  pb: 0,
178
156
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blocksAdmin.BlocksFinalForm, {
179
157
  onSubmit: _updateState,
180
158
  initialValues: state,
181
- children: [state.damFile ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.FieldContainer, {
182
- fullWidth: true,
183
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blocksAdmin.AdminComponentPaper, {
184
- disablePadding: true,
185
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
186
- padding: 3,
187
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Grid, {
188
- container: true,
189
- alignItems: "center",
190
- spacing: 3,
191
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
192
- item: true,
193
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Video, {
194
- fontSize: "large",
195
- color: "primary"
196
- })
197
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Grid, {
198
- item: true,
199
- xs: true,
200
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
201
- variant: "subtitle1",
202
- children: state.damFile.name
203
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
204
- variant: "body1",
205
- color: "textSecondary",
206
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DamPathLazy.DamPathLazy, {
207
- fileId: state.damFile.id
208
- })
209
- })]
210
- }), showMenu && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
211
- item: true,
212
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
213
- onMouseDown: function onMouseDown(event) {
214
- return event.stopPropagation();
215
- },
216
- onClick: function onClick(event) {
217
- event.stopPropagation();
218
- setAnchorEl(event.currentTarget);
219
- },
220
- size: "large",
221
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.MoreVertical, {})
222
- })
223
- })]
224
- })
225
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Divider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blocksAdmin.AdminComponentButton, {
226
- startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Delete, {}),
227
- onClick: function onClick() {
228
- return _updateState(_objectSpread(_objectSpread({}, state), {}, {
229
- damFile: undefined
230
- }));
231
- },
232
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
233
- id: "comet.blocks.image.empty",
234
- defaultMessage: "Empty"
235
- })
236
- }), showMenu && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Menu, {
237
- anchorEl: anchorEl,
238
- keepMounted: true,
239
- open: Boolean(anchorEl),
240
- onClose: handleMenuClose,
241
- children: dependencyMap["DamFile"] && ((_state$damFile3 = state.damFile) === null || _state$damFile3 === void 0 ? void 0 : _state$damFile3.id) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
242
- onClick: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
243
- var path, url;
244
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
245
- while (1) switch (_context2.prev = _context2.next) {
246
- case 0:
247
- _context2.next = 2;
248
- return dependencyMap["DamFile"].resolvePath({
249
- apolloClient: apolloClient,
250
- id: state.damFile.id
251
- });
252
- case 2:
253
- path = _context2.sent;
254
- url = contentScope.match.url + path;
255
- window.open(url, "_blank");
256
- case 5:
257
- case "end":
258
- return _context2.stop();
259
- }
260
- }, _callee2);
261
- })),
262
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
263
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.OpenNewTab, {})
264
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
265
- id: "comet.blocks.image.openInDam",
266
- defaultMessage: "Open in DAM"
267
- })]
268
- })
269
- })]
270
- })
271
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.Field, {
159
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.Field, {
272
160
  name: "damFile",
273
161
  component: _FileField.FileField,
274
162
  fullWidth: true,
275
- allowedMimetypes: ["video/mp4", "video/webm"]
163
+ allowedMimetypes: ["video/mp4", "video/webm"],
164
+ preview: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Video, {
165
+ fontSize: "large",
166
+ color: "primary"
167
+ })
276
168
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_VideoOptionsFields.VideoOptionsFields, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blocksAdmin.AdminComponentSection, {
277
169
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
278
170
  id: "comet.blocks.video.previewImage",
@@ -300,10 +192,10 @@ var DamVideoBlock = exports.DamVideoBlock = _objectSpread(_objectSpread({}, (0,
300
192
  }] : [];
301
193
  },
302
194
  extractTextContents: function extractTextContents(state) {
303
- var _state$damFile4, _state$damFile5;
195
+ var _state$damFile3, _state$damFile4;
304
196
  var contents = [];
305
- if ((_state$damFile4 = state.damFile) !== null && _state$damFile4 !== void 0 && _state$damFile4.altText) contents.push(state.damFile.altText);
306
- if ((_state$damFile5 = state.damFile) !== null && _state$damFile5 !== void 0 && _state$damFile5.title) contents.push(state.damFile.title);
197
+ if ((_state$damFile3 = state.damFile) !== null && _state$damFile3 !== void 0 && _state$damFile3.altText) contents.push(state.damFile.altText);
198
+ if ((_state$damFile4 = state.damFile) !== null && _state$damFile4 !== void 0 && _state$damFile4.title) contents.push(state.damFile.title);
307
199
  return contents;
308
200
  }
309
201
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PixelImageBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/PixelImageBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIH,cAAc,EAKjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAWhF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,uFAAuF,CAAC;AACrH,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAmB3I;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,CAuPtG,CAAC"}
1
+ {"version":3,"file":"PixelImageBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/PixelImageBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiB,cAAc,EAAiF,MAAM,qBAAqB,CAAC;AAOnJ,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAQhF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,uFAAuF,CAAC;AACrH,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAmB3I;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,CA2LtG,CAAC"}
@@ -11,15 +11,11 @@ var _client = require("@apollo/client");
11
11
  var _admin = require("@comet/admin");
12
12
  var _adminIcons = require("@comet/admin-icons");
13
13
  var _blocksAdmin = require("@comet/blocks-admin");
14
- var _material = require("@mui/material");
15
14
  var _styles = require("@mui/material/styles");
16
15
  var _utils = require("@mui/x-data-grid/utils/utils");
17
16
  var _react = require("react");
18
17
  var _reactIntl = require("react-intl");
19
- var _Provider = require("../contentScope/Provider");
20
18
  var _useDamAcceptedMimeTypes = require("../dam/config/useDamAcceptedMimeTypes");
21
- var _DependenciesConfig = require("../dependencies/DependenciesConfig");
22
- var _DamPathLazy = require("../form/file/DamPathLazy");
23
19
  var _FileField = require("../form/file/FileField");
24
20
  var _EditImageDialog = require("./image/EditImageDialog");
25
21
  var _useCmsBlockContext = require("./useCmsBlockContext");
@@ -154,23 +150,16 @@ var PixelImageBlock = exports.PixelImageBlock = _objectSpread(_objectSpread({},
154
150
  },
155
151
  definesOwnPadding: true,
156
152
  AdminComponent: function AdminComponent(_ref3) {
157
- var _state$damFile2, _state$damFile3, _state$cropArea;
153
+ var _state$damFile2, _state$cropArea;
158
154
  var state = _ref3.state,
159
155
  updateState = _ref3.updateState;
160
156
  var _useState = (0, _react.useState)(false),
161
157
  _useState2 = _slicedToArray(_useState, 2),
162
158
  open = _useState2[0],
163
159
  setOpen = _useState2[1];
164
- var _useState3 = (0, _react.useState)(null),
165
- _useState4 = _slicedToArray(_useState3, 2),
166
- anchorEl = _useState4[0],
167
- setAnchorEl = _useState4[1];
168
160
  var context = (0, _useCmsBlockContext.useCmsBlockContext)();
169
161
  var _useDamAcceptedMimeTy = (0, _useDamAcceptedMimeTypes.useDamAcceptedMimeTypes)(),
170
162
  filteredAcceptedMimeTypes = _useDamAcceptedMimeTy.filteredAcceptedMimeTypes;
171
- var contentScope = (0, _Provider.useContentScope)();
172
- var apolloClient = (0, _client.useApolloClient)();
173
- var dependencyMap = (0, _DependenciesConfig.useDependenciesConfig)();
174
163
 
175
164
  // useSyncImageAttributes({ state, updateState });
176
165
 
@@ -179,144 +168,13 @@ var PixelImageBlock = exports.PixelImageBlock = _objectSpread(_objectSpread({},
179
168
  }, [setOpen]);
180
169
  var handleCropClick = function handleCropClick() {
181
170
  setOpen(true);
182
- handleMenuClose();
183
- };
184
- var handleMenuClose = function handleMenuClose() {
185
- setAnchorEl(null);
186
171
  };
187
172
  var previewUrl = createPreviewUrl(state, context.damConfig.apiUrl, {
188
173
  width: 320,
189
174
  height: 320
190
175
  });
191
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_blocksAdmin.SelectPreviewComponent, {
192
- children: (_state$damFile2 = state.damFile) !== null && _state$damFile2 !== void 0 && _state$damFile2.image ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
193
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_blocksAdmin.AdminComponentPaper, {
194
- disablePadding: true,
195
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ContentRoot, {
196
- component: "div",
197
- onClick: function onClick() {
198
- return setOpen(true);
199
- },
200
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Grid, {
201
- container: true,
202
- alignItems: "center",
203
- spacing: 3,
204
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
205
- item: true,
206
- children: previewUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewImage, {
207
- src: previewUrl,
208
- width: "70",
209
- height: "70"
210
- })
211
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Grid, {
212
- item: true,
213
- xs: true,
214
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
215
- variant: "subtitle1",
216
- children: state.damFile.name
217
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
218
- variant: "body1",
219
- color: "textSecondary",
220
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DamPathLazy.DamPathLazy, {
221
- fileId: state.damFile.id
222
- })
223
- })]
224
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Grid, {
225
- item: true,
226
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, {
227
- onMouseDown: function onMouseDown(event) {
228
- return event.stopPropagation();
229
- },
230
- onClick: function onClick(event) {
231
- event.stopPropagation();
232
- setAnchorEl(event.currentTarget);
233
- },
234
- size: "large",
235
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.MoreVertical, {})
236
- })
237
- })]
238
- })
239
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Divider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blocksAdmin.AdminComponentButton, {
240
- startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Delete, {}),
241
- onClick: function onClick() {
242
- return updateState({
243
- damFile: undefined,
244
- cropArea: undefined
245
- });
246
- },
247
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
248
- id: "comet.blocks.image.empty",
249
- defaultMessage: "Empty"
250
- })
251
- })]
252
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Menu, {
253
- anchorEl: anchorEl,
254
- keepMounted: true,
255
- open: Boolean(anchorEl),
256
- onClose: handleMenuClose,
257
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
258
- onClick: handleCropClick,
259
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
260
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Crop, {})
261
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
262
- id: "comet.blocks.image.cropImage",
263
- defaultMessage: "Crop image"
264
- })]
265
- }), dependencyMap["DamFile"] && ((_state$damFile3 = state.damFile) === null || _state$damFile3 === void 0 ? void 0 : _state$damFile3.id) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
266
- onClick: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
267
- var path, url;
268
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
269
- while (1) switch (_context2.prev = _context2.next) {
270
- case 0:
271
- _context2.next = 2;
272
- return dependencyMap["DamFile"].resolvePath({
273
- apolloClient: apolloClient,
274
- id: state.damFile.id
275
- });
276
- case 2:
277
- path = _context2.sent;
278
- url = contentScope.match.url + path;
279
- window.open(url, "_blank");
280
- case 5:
281
- case "end":
282
- return _context2.stop();
283
- }
284
- }, _callee2);
285
- })),
286
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
287
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.OpenNewTab, {})
288
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
289
- id: "comet.blocks.image.openInDam",
290
- defaultMessage: "Open in DAM"
291
- })]
292
- })]
293
- }), open && /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditImageDialog.EditImageDialog, {
294
- image: {
295
- name: state.damFile.name,
296
- url: state.damFile.fileUrl,
297
- width: state.damFile.image.width,
298
- height: state.damFile.image.height,
299
- size: state.damFile.size
300
- },
301
- damFileId: state.damFile.id,
302
- initialValues: {
303
- useInheritedDamSettings: state.cropArea === undefined,
304
- cropArea: (_state$cropArea = state.cropArea) !== null && _state$cropArea !== void 0 ? _state$cropArea : state.damFile.image.cropArea
305
- },
306
- inheritedDamSettings: {
307
- cropArea: state.damFile.image.cropArea
308
- },
309
- onSubmit: function onSubmit(cropArea) {
310
- updateState(function (prevState) {
311
- return _objectSpread(_objectSpread({}, prevState), {}, {
312
- cropArea: cropArea
313
- });
314
- });
315
- setOpen(false);
316
- },
317
- onClose: handleClose
318
- })]
319
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_blocksAdmin.BlocksFinalForm, {
176
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blocksAdmin.SelectPreviewComponent, {
177
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blocksAdmin.BlocksFinalForm, {
320
178
  onSubmit: function onSubmit(newValues) {
321
179
  updateState(function (prevState) {
322
180
  return _objectSpread(_objectSpread({}, prevState), {}, {
@@ -337,14 +195,52 @@ var PixelImageBlock = exports.PixelImageBlock = _objectSpread(_objectSpread({},
337
195
  id: "comet.blocks.image.chooseImage",
338
196
  defaultMessage: "Choose image"
339
197
  }),
340
- allowedMimetypes: filteredAcceptedMimeTypes.pixelImage
198
+ allowedMimetypes: filteredAcceptedMimeTypes.pixelImage,
199
+ preview: /*#__PURE__*/(0, _jsxRuntime.jsx)(PreviewImage, {
200
+ src: previewUrl,
201
+ width: "70",
202
+ height: "70"
203
+ }),
204
+ menuActions: [{
205
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
206
+ id: "comet.blocks.image.cropImage",
207
+ defaultMessage: "Crop image"
208
+ }),
209
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Crop, {}),
210
+ onClick: handleCropClick
211
+ }]
341
212
  })
342
- })
213
+ }), open && ((_state$damFile2 = state.damFile) === null || _state$damFile2 === void 0 ? void 0 : _state$damFile2.image) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditImageDialog.EditImageDialog, {
214
+ image: {
215
+ name: state.damFile.name,
216
+ url: state.damFile.fileUrl,
217
+ width: state.damFile.image.width,
218
+ height: state.damFile.image.height,
219
+ size: state.damFile.size
220
+ },
221
+ damFileId: state.damFile.id,
222
+ initialValues: {
223
+ useInheritedDamSettings: state.cropArea === undefined,
224
+ cropArea: (_state$cropArea = state.cropArea) !== null && _state$cropArea !== void 0 ? _state$cropArea : state.damFile.image.cropArea
225
+ },
226
+ inheritedDamSettings: {
227
+ cropArea: state.damFile.image.cropArea
228
+ },
229
+ onSubmit: function onSubmit(cropArea) {
230
+ updateState(function (prevState) {
231
+ return _objectSpread(_objectSpread({}, prevState), {}, {
232
+ cropArea: cropArea
233
+ });
234
+ });
235
+ setOpen(false);
236
+ },
237
+ onClose: handleClose
238
+ })]
343
239
  });
344
240
  },
345
241
  previewContent: function previewContent(state, ctx) {
346
- var _state$damFile4, _ctx$damConfig;
347
- if (!state.damFile || !((_state$damFile4 = state.damFile) !== null && _state$damFile4 !== void 0 && _state$damFile4.fileUrl) || !(ctx !== null && ctx !== void 0 && (_ctx$damConfig = ctx.damConfig) !== null && _ctx$damConfig !== void 0 && _ctx$damConfig.apiUrl)) {
242
+ var _state$damFile3, _ctx$damConfig;
243
+ if (!state.damFile || !((_state$damFile3 = state.damFile) !== null && _state$damFile3 !== void 0 && _state$damFile3.fileUrl) || !(ctx !== null && ctx !== void 0 && (_ctx$damConfig = ctx.damConfig) !== null && _ctx$damConfig !== void 0 && _ctx$damConfig.apiUrl)) {
348
244
  return [];
349
245
  }
350
246
  var imageSize = {
@@ -362,22 +258,13 @@ var PixelImageBlock = exports.PixelImageBlock = _objectSpread(_objectSpread({},
362
258
  }];
363
259
  },
364
260
  extractTextContents: function extractTextContents(state) {
365
- var _state$damFile5, _state$damFile6;
261
+ var _state$damFile4, _state$damFile5;
366
262
  var contents = [];
367
- if ((_state$damFile5 = state.damFile) !== null && _state$damFile5 !== void 0 && _state$damFile5.altText) contents.push(state.damFile.altText);
368
- if ((_state$damFile6 = state.damFile) !== null && _state$damFile6 !== void 0 && _state$damFile6.title) contents.push(state.damFile.title);
263
+ if ((_state$damFile4 = state.damFile) !== null && _state$damFile4 !== void 0 && _state$damFile4.altText) contents.push(state.damFile.altText);
264
+ if ((_state$damFile5 = state.damFile) !== null && _state$damFile5 !== void 0 && _state$damFile5.title) contents.push(state.damFile.title);
369
265
  return contents;
370
266
  }
371
267
  });
372
- var ContentRoot = /*#__PURE__*/(0, _styles.styled)(_material.ButtonBase, process.env.NODE_ENV === "production" ? {
373
- target: "eplad9t1"
374
- } : {
375
- target: "eplad9t1",
376
- label: "ContentRoot"
377
- })("padding:", function (_ref5) {
378
- var theme = _ref5.theme;
379
- return theme.spacing(3);
380
- }, ";width:100%;text-align:left;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9ja3MvUGl4ZWxJbWFnZUJsb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnVHNDIiwiZmlsZSI6Ii4uLy4uL3NyYy9ibG9ja3MvUGl4ZWxJbWFnZUJsb2NrLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCwgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IENyb3AsIERlbGV0ZSwgTW9yZVZlcnRpY2FsLCBPcGVuTmV3VGFiIH0gZnJvbSBcIkBjb21ldC9hZG1pbi1pY29uc1wiO1xuaW1wb3J0IHtcbiAgICBBZG1pbkNvbXBvbmVudEJ1dHRvbixcbiAgICBBZG1pbkNvbXBvbmVudFBhcGVyLFxuICAgIEJsb2NrQ2F0ZWdvcnksXG4gICAgQmxvY2tJbnRlcmZhY2UsXG4gICAgQmxvY2tzRmluYWxGb3JtLFxuICAgIGNyZWF0ZUJsb2NrU2tlbGV0b24sXG4gICAgSVByZXZpZXdDb250ZXh0LFxuICAgIFNlbGVjdFByZXZpZXdDb21wb25lbnQsXG59IGZyb20gXCJAY29tZXQvYmxvY2tzLWFkbWluXCI7XG5pbXBvcnQgeyBCbG9ja0RlcGVuZGVuY3kgfSBmcm9tIFwiQGNvbWV0L2Jsb2Nrcy1hZG1pbi9saWIvYmxvY2tzL3R5cGVzXCI7XG5pbXBvcnQgeyBCdXR0b25CYXNlLCBEaXZpZGVyLCBHcmlkLCBJY29uQnV0dG9uLCBMaXN0SXRlbUljb24sIE1lbnUsIE1lbnVJdGVtLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSBcIkBtdWkveC1kYXRhLWdyaWQvdXRpbHMvdXRpbHNcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5cbmltcG9ydCB7IFBpeGVsSW1hZ2VCbG9ja0RhdGEsIFBpeGVsSW1hZ2VCbG9ja0lucHV0IH0gZnJvbSBcIi4uL2Jsb2Nrcy5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHVzZUNvbnRlbnRTY29wZSB9IGZyb20gXCIuLi9jb250ZW50U2NvcGUvUHJvdmlkZXJcIjtcbmltcG9ydCB7IHVzZURhbUFjY2VwdGVkTWltZVR5cGVzIH0gZnJvbSBcIi4uL2RhbS9jb25maWcvdXNlRGFtQWNjZXB0ZWRNaW1lVHlwZXNcIjtcbmltcG9ydCB7IHVzZURlcGVuZGVuY2llc0NvbmZpZyB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXMvRGVwZW5kZW5jaWVzQ29uZmlnXCI7XG5pbXBvcnQgeyBEYW1QYXRoTGF6eSB9IGZyb20gXCIuLi9mb3JtL2ZpbGUvRGFtUGF0aExhenlcIjtcbmltcG9ydCB7IEZpbGVGaWVsZCB9IGZyb20gXCIuLi9mb3JtL2ZpbGUvRmlsZUZpZWxkXCI7XG5pbXBvcnQgeyBDbXNCbG9ja0NvbnRleHQgfSBmcm9tIFwiLi9DbXNCbG9ja0NvbnRleHRQcm92aWRlclwiO1xuaW1wb3J0IHsgRWRpdEltYWdlRGlhbG9nIH0gZnJvbSBcIi4vaW1hZ2UvRWRpdEltYWdlRGlhbG9nXCI7XG5pbXBvcnQgeyBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5LCBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5VmFyaWFibGVzIH0gZnJvbSBcIi4vUGl4ZWxJbWFnZUJsb2NrLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgdXNlQ21zQmxvY2tDb250ZXh0IH0gZnJvbSBcIi4vdXNlQ21zQmxvY2tDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEltYWdlQmxvY2tTdGF0ZSA9IE9taXQ8UGl4ZWxJbWFnZUJsb2NrRGF0YSwgXCJ1cmxUZW1wbGF0ZVwiPjtcblxuZXhwb3J0IGNvbnN0IHVybFRlbXBsYXRlUm91dGUgPSBcIi9kYW0vaW1hZ2VzL3ByZXZpZXcvJGZpbGVJZC9jcm9wOiRjcm9wL3Jlc2l6ZTokcmVzaXplV2lkdGg6JHJlc2l6ZUhlaWdodC8kZmlsZU5hbWVcIjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcmV2aWV3VXJsKHsgZGFtRmlsZSwgY3JvcEFyZWEgfTogSW1hZ2VCbG9ja1N0YXRlLCBhcGlVcmw6IHN0cmluZywgcmVzaXplPzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9KTogc3RyaW5nIHtcbiAgICBpZiAoIWRhbUZpbGUgfHwgIWRhbUZpbGUuaW1hZ2UpIHJldHVybiBcIlwiO1xuXG4gICAgY29uc3QgaW1hZ2VDcm9wQXJlYSA9IGNyb3BBcmVhID8gY3JvcEFyZWEgOiBkYW1GaWxlLmltYWdlLmNyb3BBcmVhO1xuICAgIGNvbnN0IGNyb3AgPVxuICAgICAgICBpbWFnZUNyb3BBcmVhLmZvY2FsUG9pbnQgPT09IFwiU01BUlRcIlxuICAgICAgICAgICAgPyBbaW1hZ2VDcm9wQXJlYS5mb2NhbFBvaW50XVxuICAgICAgICAgICAgOiBbaW1hZ2VDcm9wQXJlYS53aWR0aCwgaW1hZ2VDcm9wQXJlYS5oZWlnaHQsIGltYWdlQ3JvcEFyZWEuZm9jYWxQb2ludCwgaW1hZ2VDcm9wQXJlYS54LCBpbWFnZUNyb3BBcmVhLnldO1xuXG4gICAgY29uc3QgZmlsZW5hbWVDb250YWluc0V4dGVuc2lvbiA9IGRhbUZpbGUubmFtZS5sYXN0SW5kZXhPZihcIi5cIikgPj0gMDtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGVuYW1lQ29udGFpbnNFeHRlbnNpb24gPyBkYW1GaWxlLm5hbWUuc3Vic3RyKDAsIGRhbUZpbGUubmFtZS5sYXN0SW5kZXhPZihcIi5cIikpIDogZGFtRmlsZS5uYW1lO1xuXG4gICAgbGV0IHVybFRlbXBsYXRlID0gYXBpVXJsICsgdXJsVGVtcGxhdGVSb3V0ZTtcbiAgICBpZiAocmVzaXplKSB7XG4gICAgICAgIHVybFRlbXBsYXRlID0gdXJsVGVtcGxhdGUucmVwbGFjZShcIiRyZXNpemVXaWR0aFwiLCBTdHJpbmcocmVzaXplLndpZHRoKSkucmVwbGFjZShcIiRyZXNpemVIZWlnaHRcIiwgU3RyaW5nKHJlc2l6ZS5oZWlnaHQpKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFRlbXBsYXRlLnJlcGxhY2UoXCIkZmlsZUlkXCIsIGRhbUZpbGUuaWQpLnJlcGxhY2UoXCIkY3JvcFwiLCBjcm9wLmpvaW4oXCI6XCIpKS5yZXBsYWNlKFwiJGZpbGVOYW1lXCIsIGZpbGVuYW1lKSk7XG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xufVxuXG5leHBvcnQgY29uc3QgUGl4ZWxJbWFnZUJsb2NrOiBCbG9ja0ludGVyZmFjZTxQaXhlbEltYWdlQmxvY2tEYXRhLCBJbWFnZUJsb2NrU3RhdGUsIFBpeGVsSW1hZ2VCbG9ja0lucHV0PiA9IHtcbiAgICAuLi5jcmVhdGVCbG9ja1NrZWxldG9uKCksXG5cbiAgICBuYW1lOiBcIkltYWdlXCIsXG5cbiAgICBkaXNwbGF5TmFtZTogPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkltYWdlXCIgLz4sXG5cbiAgICBkZWZhdWx0VmFsdWVzOiAoKSA9PiAoe1xuICAgICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICAgIGNyb3BBcmVhOiB1bmRlZmluZWQsXG4gICAgfSksXG5cbiAgICBjYXRlZ29yeTogQmxvY2tDYXRlZ29yeS5NZWRpYSxcblxuICAgIGNyZWF0ZVByZXZpZXdTdGF0ZTogKHN0YXRlLCBwcmV2aWV3Q3R4OiBJUHJldmlld0NvbnRleHQgJiBDbXNCbG9ja0NvbnRleHQpID0+ICh7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB1cmxUZW1wbGF0ZTogY3JlYXRlUHJldmlld1VybChzdGF0ZSwgcHJldmlld0N0eC5kYW1Db25maWcuYXBpVXJsKSxcbiAgICAgICAgYWRtaW5NZXRhOiB7IHJvdXRlOiBwcmV2aWV3Q3R4LnBhcmVudFVybCB9LFxuICAgIH0pLFxuXG4gICAgc3RhdGUyT3V0cHV0OiAodikgPT4ge1xuICAgICAgICBpZiAoIXYuZGFtRmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhbUZpbGVJZDogdi5kYW1GaWxlLmlkLFxuICAgICAgICAgICAgY3JvcEFyZWE6IHYuY3JvcEFyZWEsXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIG91dHB1dDJTdGF0ZTogYXN5bmMgKG91dHB1dCwgeyBhcG9sbG9DbGllbnQgfTogQ21zQmxvY2tDb250ZXh0KTogUHJvbWlzZTxJbWFnZUJsb2NrU3RhdGU+ID0+IHtcbiAgICAgICAgaWYgKCFvdXRwdXQuZGFtRmlsZUlkKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGFwb2xsb0NsaWVudC5xdWVyeTxHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5LCBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5VmFyaWFibGVzPih7XG4gICAgICAgICAgICBxdWVyeTogZ3FsYFxuICAgICAgICAgICAgICAgIHF1ZXJ5IEltYWdlQmxvY2tEYW1GaWxlKCRpZDogSUQhKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhbUZpbGUoaWQ6ICRpZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbWV0eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50SGFzaFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcm9wQXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVVcmxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGAsXG4gICAgICAgICAgICB2YXJpYWJsZXM6IHsgaWQ6IG91dHB1dC5kYW1GaWxlSWQgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVE9ETyBjb25zaWRlciB0aHJvd2luZyBhbiBlcnJvclxuICAgICAgICAvLyBUT0RPIGZpeCB0eXBpbmc6IGdlbmVyYXRlZCBHcmFwaFFMIGZpbGVzIHVzZSBudWxsLCB3ZSB1c2UgdW5kZWZpbmVkLCBlLmcuIHRpdGxlOiBzdHJpbmcgfCBudWxsIHZzIHRpdGxlPzogc3RyaW5nXG4gICAgICAgIGNvbnN0IGRhbUZpbGUgPSBkYXRhLmRhbUZpbGUgYXMgdW5rbm93biBhcyBQaXhlbEltYWdlQmxvY2tEYXRhW1wiZGFtRmlsZVwiXTtcblxuICAgICAgICByZXR1cm4geyBkYW1GaWxlLCBjcm9wQXJlYTogb3V0cHV0LmNyb3BBcmVhIH07XG4gICAgfSxcblxuICAgIGRlcGVuZGVuY2llczogKHN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlcGVuZGVuY2llczogQmxvY2tEZXBlbmRlbmN5W10gPSBbXTtcblxuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8uaWQpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llcy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0YXJnZXRHcmFwaHFsT2JqZWN0VHlwZTogXCJEYW1GaWxlXCIsXG4gICAgICAgICAgICAgICAgaWQ6IHN0YXRlLmRhbUZpbGUuaWQsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBkYW1GaWxlOiBzdGF0ZS5kYW1GaWxlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkZXBlbmRlbmNpZXM7XG4gICAgfSxcblxuICAgIHJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dDogKG91dHB1dCwgcmVwbGFjZW1lbnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lZE91dHB1dDogUGl4ZWxJbWFnZUJsb2NrSW5wdXQgPSBkZWVwQ2xvbmUob3V0cHV0KTtcbiAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSByZXBsYWNlbWVudHMuZmluZCgocmVwbGFjZW1lbnQpID0+IHJlcGxhY2VtZW50LnR5cGUgPT09IFwiRGFtRmlsZVwiICYmIHJlcGxhY2VtZW50Lm9yaWdpbmFsSWQgPT09IG91dHB1dC5kYW1GaWxlSWQpO1xuXG4gICAgICAgIGlmIChyZXBsYWNlbWVudCkge1xuICAgICAgICAgICAgY2xvbmVkT3V0cHV0LmRhbUZpbGVJZCA9IHJlcGxhY2VtZW50LnJlcGxhY2VXaXRoSWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xvbmVkT3V0cHV0O1xuICAgIH0sXG5cbiAgICBkZWZpbmVzT3duUGFkZGluZzogdHJ1ZSxcblxuICAgIEFkbWluQ29tcG9uZW50OiAoeyBzdGF0ZSwgdXBkYXRlU3RhdGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFthbmNob3JFbCwgc2V0QW5jaG9yRWxdID0gdXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHVzZUNtc0Jsb2NrQ29udGV4dCgpO1xuICAgICAgICBjb25zdCB7IGZpbHRlcmVkQWNjZXB0ZWRNaW1lVHlwZXMgfSA9IHVzZURhbUFjY2VwdGVkTWltZVR5cGVzKCk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRTY29wZSA9IHVzZUNvbnRlbnRTY29wZSgpO1xuICAgICAgICBjb25zdCBhcG9sbG9DbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeU1hcCA9IHVzZURlcGVuZGVuY2llc0NvbmZpZygpO1xuXG4gICAgICAgIC8vIHVzZVN5bmNJbWFnZUF0dHJpYnV0ZXMoeyBzdGF0ZSwgdXBkYXRlU3RhdGUgfSk7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICAgICAgfSwgW3NldE9wZW5dKTtcblxuICAgICAgICBjb25zdCBoYW5kbGVDcm9wQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRPcGVuKHRydWUpO1xuXG4gICAgICAgICAgICBoYW5kbGVNZW51Q2xvc2UoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBoYW5kbGVNZW51Q2xvc2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRBbmNob3JFbChudWxsKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBwcmV2aWV3VXJsID0gY3JlYXRlUHJldmlld1VybChzdGF0ZSwgY29udGV4dC5kYW1Db25maWcuYXBpVXJsLCB7IHdpZHRoOiAzMjAsIGhlaWdodDogMzIwIH0pO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U2VsZWN0UHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICB7c3RhdGUuZGFtRmlsZT8uaW1hZ2UgPyAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8QWRtaW5Db21wb25lbnRQYXBlciBkaXNhYmxlUGFkZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29udGVudFJvb3QgY29tcG9uZW50PVwiZGl2XCIgb25DbGljaz17KCkgPT4gc2V0T3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGNvbnRhaW5lciBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgc3BhY2luZz17M30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtPntwcmV2aWV3VXJsICYmIDxQcmV2aWV3SW1hZ2Ugc3JjPXtwcmV2aWV3VXJsfSB3aWR0aD1cIjcwXCIgaGVpZ2h0PVwiNzBcIiAvPn08L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9XCJzdWJ0aXRsZTFcIj57c3RhdGUuZGFtRmlsZS5uYW1lfTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB2YXJpYW50PVwiYm9keTFcIiBjb2xvcj1cInRleHRTZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERhbVBhdGhMYXp5IGZpbGVJZD17c3RhdGUuZGFtRmlsZS5pZH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoZXZlbnQpID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QW5jaG9yRWwoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TW9yZVZlcnRpY2FsIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Db250ZW50Um9vdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBZG1pbkNvbXBvbmVudEJ1dHRvbiBzdGFydEljb249ezxEZWxldGUgLz59IG9uQ2xpY2s9eygpID0+IHVwZGF0ZVN0YXRlKHsgZGFtRmlsZTogdW5kZWZpbmVkLCBjcm9wQXJlYTogdW5kZWZpbmVkIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2UuZW1wdHlcIiBkZWZhdWx0TWVzc2FnZT1cIkVtcHR5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FkbWluQ29tcG9uZW50QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9BZG1pbkNvbXBvbmVudFBhcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnUgYW5jaG9yRWw9e2FuY2hvckVsfSBrZWVwTW91bnRlZCBvcGVuPXtCb29sZWFuKGFuY2hvckVsKX0gb25DbG9zZT17aGFuZGxlTWVudUNsb3NlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWVudUl0ZW0gb25DbGljaz17aGFuZGxlQ3JvcENsaWNrfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpc3RJdGVtSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDcm9wIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGlzdEl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5pbWFnZS5jcm9wSW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkNyb3AgaW1hZ2VcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RlcGVuZGVuY3lNYXBbXCJEYW1GaWxlXCJdICYmIHN0YXRlLmRhbUZpbGU/LmlkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWQgaXMgY2hlY2tlZCB0aHJlZSBsaW5lcyBhYm92ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IGF3YWl0IGRlcGVuZGVuY3lNYXBbXCJEYW1GaWxlXCJdLnJlc29sdmVQYXRoKHsgYXBvbGxvQ2xpZW50LCBpZDogc3RhdGUuZGFtRmlsZSEuaWQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gY29udGVudFNjb3BlLm1hdGNoLnVybCArIHBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCBcIl9ibGFua1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0SXRlbUljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE9wZW5OZXdUYWIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGlzdEl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2Uub3BlbkluRGFtXCIgZGVmYXVsdE1lc3NhZ2U9XCJPcGVuIGluIERBTVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcGVuICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RWRpdEltYWdlRGlhbG9nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBzdGF0ZS5kYW1GaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHN0YXRlLmRhbUZpbGUuZmlsZVVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzdGF0ZS5kYW1GaWxlLmltYWdlLndpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzdGF0ZS5kYW1GaWxlLmltYWdlLmhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHN0YXRlLmRhbUZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFtRmlsZUlkPXtzdGF0ZS5kYW1GaWxlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWVzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VJbmhlcml0ZWREYW1TZXR0aW5nczogc3RhdGUuY3JvcEFyZWEgPT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyb3BBcmVhOiBzdGF0ZS5jcm9wQXJlYSA/PyBzdGF0ZS5kYW1GaWxlLmltYWdlLmNyb3BBcmVhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ZWREYW1TZXR0aW5ncz17eyBjcm9wQXJlYTogc3RhdGUuZGFtRmlsZS5pbWFnZS5jcm9wQXJlYSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblN1Ym1pdD17KGNyb3BBcmVhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiAoeyAuLi5wcmV2U3RhdGUsIGNyb3BBcmVhIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPEJsb2Nrc0ZpbmFsRm9ybTx7IGRhbUZpbGU/OiBJbWFnZUJsb2NrU3RhdGVbXCJkYW1GaWxlXCJdIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICBvblN1Ym1pdD17KG5ld1ZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVN0YXRlKChwcmV2U3RhdGUpID0+ICh7IC4uLnByZXZTdGF0ZSwgZGFtRmlsZTogbmV3VmFsdWVzLmRhbUZpbGUgfHwgdW5kZWZpbmVkLCBjcm9wQXJlYTogdW5kZWZpbmVkIH0pKTsgLy8gcmVzZXQgbG9jYWwgY3JvcCBhcmVhIHdoZW4gaW1hZ2UgY2hhbmdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZXM9e3sgZGFtRmlsZTogc3RhdGUuZGFtRmlsZSB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGFtRmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtGaWxlRmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uVGV4dD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2UuY2hvb3NlSW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkNob29zZSBpbWFnZVwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93ZWRNaW1ldHlwZXM9e2ZpbHRlcmVkQWNjZXB0ZWRNaW1lVHlwZXMucGl4ZWxJbWFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvQmxvY2tzRmluYWxGb3JtPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBwcmV2aWV3Q29udGVudDogKHN0YXRlLCBjdHgpID0+IHtcbiAgICAgICAgaWYgKCFzdGF0ZS5kYW1GaWxlIHx8ICFzdGF0ZS5kYW1GaWxlPy5maWxlVXJsIHx8ICFjdHg/LmRhbUNvbmZpZz8uYXBpVXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW1hZ2VTaXplID0geyB3aWR0aDogMzIwLCBoZWlnaHQ6IDMyMCB9O1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyB0eXBlOiBcImltYWdlXCIsIGNvbnRlbnQ6IHsgc3JjOiBjcmVhdGVQcmV2aWV3VXJsKHN0YXRlLCBjdHguZGFtQ29uZmlnLmFwaVVybCwgaW1hZ2VTaXplKSwgLi4uaW1hZ2VTaXplIH0gfSxcbiAgICAgICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIGNvbnRlbnQ6IHN0YXRlLmRhbUZpbGUubmFtZSB9LFxuICAgICAgICBdO1xuICAgIH0sXG5cbiAgICBleHRyYWN0VGV4dENvbnRlbnRzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudHMgPSBbXTtcblxuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8uYWx0VGV4dCkgY29udGVudHMucHVzaChzdGF0ZS5kYW1GaWxlLmFsdFRleHQpO1xuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8udGl0bGUpIGNvbnRlbnRzLnB1c2goc3RhdGUuZGFtRmlsZS50aXRsZSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnRzO1xuICAgIH0sXG59O1xuXG5jb25zdCBDb250ZW50Um9vdCA9IHN0eWxlZChCdXR0b25CYXNlKWBcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNpbmcoMyl9O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5gIGFzIHR5cGVvZiBCdXR0b25CYXNlO1xuXG5jb25zdCBQcmV2aWV3SW1hZ2UgPSBzdHlsZWQoXCJpbWdcIilgXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG5gO1xuIl19 */"));
381
268
  var PreviewImage = /*#__PURE__*/(0, _styles.styled)("img", process.env.NODE_ENV === "production" ? {
382
269
  target: "eplad9t0"
383
270
  } : {
@@ -389,6 +276,6 @@ var PreviewImage = /*#__PURE__*/(0, _styles.styled)("img", process.env.NODE_ENV
389
276
  } : {
390
277
  name: "1vfhcql",
391
278
  styles: "object-fit:cover",
392
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9ja3MvUGl4ZWxJbWFnZUJsb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzVGtDIiwiZmlsZSI6Ii4uLy4uL3NyYy9ibG9ja3MvUGl4ZWxJbWFnZUJsb2NrLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCwgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IENyb3AsIERlbGV0ZSwgTW9yZVZlcnRpY2FsLCBPcGVuTmV3VGFiIH0gZnJvbSBcIkBjb21ldC9hZG1pbi1pY29uc1wiO1xuaW1wb3J0IHtcbiAgICBBZG1pbkNvbXBvbmVudEJ1dHRvbixcbiAgICBBZG1pbkNvbXBvbmVudFBhcGVyLFxuICAgIEJsb2NrQ2F0ZWdvcnksXG4gICAgQmxvY2tJbnRlcmZhY2UsXG4gICAgQmxvY2tzRmluYWxGb3JtLFxuICAgIGNyZWF0ZUJsb2NrU2tlbGV0b24sXG4gICAgSVByZXZpZXdDb250ZXh0LFxuICAgIFNlbGVjdFByZXZpZXdDb21wb25lbnQsXG59IGZyb20gXCJAY29tZXQvYmxvY2tzLWFkbWluXCI7XG5pbXBvcnQgeyBCbG9ja0RlcGVuZGVuY3kgfSBmcm9tIFwiQGNvbWV0L2Jsb2Nrcy1hZG1pbi9saWIvYmxvY2tzL3R5cGVzXCI7XG5pbXBvcnQgeyBCdXR0b25CYXNlLCBEaXZpZGVyLCBHcmlkLCBJY29uQnV0dG9uLCBMaXN0SXRlbUljb24sIE1lbnUsIE1lbnVJdGVtLCBUeXBvZ3JhcGh5IH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSBcIkBtdWkveC1kYXRhLWdyaWQvdXRpbHMvdXRpbHNcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5cbmltcG9ydCB7IFBpeGVsSW1hZ2VCbG9ja0RhdGEsIFBpeGVsSW1hZ2VCbG9ja0lucHV0IH0gZnJvbSBcIi4uL2Jsb2Nrcy5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHVzZUNvbnRlbnRTY29wZSB9IGZyb20gXCIuLi9jb250ZW50U2NvcGUvUHJvdmlkZXJcIjtcbmltcG9ydCB7IHVzZURhbUFjY2VwdGVkTWltZVR5cGVzIH0gZnJvbSBcIi4uL2RhbS9jb25maWcvdXNlRGFtQWNjZXB0ZWRNaW1lVHlwZXNcIjtcbmltcG9ydCB7IHVzZURlcGVuZGVuY2llc0NvbmZpZyB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXMvRGVwZW5kZW5jaWVzQ29uZmlnXCI7XG5pbXBvcnQgeyBEYW1QYXRoTGF6eSB9IGZyb20gXCIuLi9mb3JtL2ZpbGUvRGFtUGF0aExhenlcIjtcbmltcG9ydCB7IEZpbGVGaWVsZCB9IGZyb20gXCIuLi9mb3JtL2ZpbGUvRmlsZUZpZWxkXCI7XG5pbXBvcnQgeyBDbXNCbG9ja0NvbnRleHQgfSBmcm9tIFwiLi9DbXNCbG9ja0NvbnRleHRQcm92aWRlclwiO1xuaW1wb3J0IHsgRWRpdEltYWdlRGlhbG9nIH0gZnJvbSBcIi4vaW1hZ2UvRWRpdEltYWdlRGlhbG9nXCI7XG5pbXBvcnQgeyBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5LCBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5VmFyaWFibGVzIH0gZnJvbSBcIi4vUGl4ZWxJbWFnZUJsb2NrLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgdXNlQ21zQmxvY2tDb250ZXh0IH0gZnJvbSBcIi4vdXNlQ21zQmxvY2tDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEltYWdlQmxvY2tTdGF0ZSA9IE9taXQ8UGl4ZWxJbWFnZUJsb2NrRGF0YSwgXCJ1cmxUZW1wbGF0ZVwiPjtcblxuZXhwb3J0IGNvbnN0IHVybFRlbXBsYXRlUm91dGUgPSBcIi9kYW0vaW1hZ2VzL3ByZXZpZXcvJGZpbGVJZC9jcm9wOiRjcm9wL3Jlc2l6ZTokcmVzaXplV2lkdGg6JHJlc2l6ZUhlaWdodC8kZmlsZU5hbWVcIjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcmV2aWV3VXJsKHsgZGFtRmlsZSwgY3JvcEFyZWEgfTogSW1hZ2VCbG9ja1N0YXRlLCBhcGlVcmw6IHN0cmluZywgcmVzaXplPzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9KTogc3RyaW5nIHtcbiAgICBpZiAoIWRhbUZpbGUgfHwgIWRhbUZpbGUuaW1hZ2UpIHJldHVybiBcIlwiO1xuXG4gICAgY29uc3QgaW1hZ2VDcm9wQXJlYSA9IGNyb3BBcmVhID8gY3JvcEFyZWEgOiBkYW1GaWxlLmltYWdlLmNyb3BBcmVhO1xuICAgIGNvbnN0IGNyb3AgPVxuICAgICAgICBpbWFnZUNyb3BBcmVhLmZvY2FsUG9pbnQgPT09IFwiU01BUlRcIlxuICAgICAgICAgICAgPyBbaW1hZ2VDcm9wQXJlYS5mb2NhbFBvaW50XVxuICAgICAgICAgICAgOiBbaW1hZ2VDcm9wQXJlYS53aWR0aCwgaW1hZ2VDcm9wQXJlYS5oZWlnaHQsIGltYWdlQ3JvcEFyZWEuZm9jYWxQb2ludCwgaW1hZ2VDcm9wQXJlYS54LCBpbWFnZUNyb3BBcmVhLnldO1xuXG4gICAgY29uc3QgZmlsZW5hbWVDb250YWluc0V4dGVuc2lvbiA9IGRhbUZpbGUubmFtZS5sYXN0SW5kZXhPZihcIi5cIikgPj0gMDtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGVuYW1lQ29udGFpbnNFeHRlbnNpb24gPyBkYW1GaWxlLm5hbWUuc3Vic3RyKDAsIGRhbUZpbGUubmFtZS5sYXN0SW5kZXhPZihcIi5cIikpIDogZGFtRmlsZS5uYW1lO1xuXG4gICAgbGV0IHVybFRlbXBsYXRlID0gYXBpVXJsICsgdXJsVGVtcGxhdGVSb3V0ZTtcbiAgICBpZiAocmVzaXplKSB7XG4gICAgICAgIHVybFRlbXBsYXRlID0gdXJsVGVtcGxhdGUucmVwbGFjZShcIiRyZXNpemVXaWR0aFwiLCBTdHJpbmcocmVzaXplLndpZHRoKSkucmVwbGFjZShcIiRyZXNpemVIZWlnaHRcIiwgU3RyaW5nKHJlc2l6ZS5oZWlnaHQpKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFRlbXBsYXRlLnJlcGxhY2UoXCIkZmlsZUlkXCIsIGRhbUZpbGUuaWQpLnJlcGxhY2UoXCIkY3JvcFwiLCBjcm9wLmpvaW4oXCI6XCIpKS5yZXBsYWNlKFwiJGZpbGVOYW1lXCIsIGZpbGVuYW1lKSk7XG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xufVxuXG5leHBvcnQgY29uc3QgUGl4ZWxJbWFnZUJsb2NrOiBCbG9ja0ludGVyZmFjZTxQaXhlbEltYWdlQmxvY2tEYXRhLCBJbWFnZUJsb2NrU3RhdGUsIFBpeGVsSW1hZ2VCbG9ja0lucHV0PiA9IHtcbiAgICAuLi5jcmVhdGVCbG9ja1NrZWxldG9uKCksXG5cbiAgICBuYW1lOiBcIkltYWdlXCIsXG5cbiAgICBkaXNwbGF5TmFtZTogPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkltYWdlXCIgLz4sXG5cbiAgICBkZWZhdWx0VmFsdWVzOiAoKSA9PiAoe1xuICAgICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICAgIGNyb3BBcmVhOiB1bmRlZmluZWQsXG4gICAgfSksXG5cbiAgICBjYXRlZ29yeTogQmxvY2tDYXRlZ29yeS5NZWRpYSxcblxuICAgIGNyZWF0ZVByZXZpZXdTdGF0ZTogKHN0YXRlLCBwcmV2aWV3Q3R4OiBJUHJldmlld0NvbnRleHQgJiBDbXNCbG9ja0NvbnRleHQpID0+ICh7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB1cmxUZW1wbGF0ZTogY3JlYXRlUHJldmlld1VybChzdGF0ZSwgcHJldmlld0N0eC5kYW1Db25maWcuYXBpVXJsKSxcbiAgICAgICAgYWRtaW5NZXRhOiB7IHJvdXRlOiBwcmV2aWV3Q3R4LnBhcmVudFVybCB9LFxuICAgIH0pLFxuXG4gICAgc3RhdGUyT3V0cHV0OiAodikgPT4ge1xuICAgICAgICBpZiAoIXYuZGFtRmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhbUZpbGVJZDogdi5kYW1GaWxlLmlkLFxuICAgICAgICAgICAgY3JvcEFyZWE6IHYuY3JvcEFyZWEsXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIG91dHB1dDJTdGF0ZTogYXN5bmMgKG91dHB1dCwgeyBhcG9sbG9DbGllbnQgfTogQ21zQmxvY2tDb250ZXh0KTogUHJvbWlzZTxJbWFnZUJsb2NrU3RhdGU+ID0+IHtcbiAgICAgICAgaWYgKCFvdXRwdXQuZGFtRmlsZUlkKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGFwb2xsb0NsaWVudC5xdWVyeTxHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5LCBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5VmFyaWFibGVzPih7XG4gICAgICAgICAgICBxdWVyeTogZ3FsYFxuICAgICAgICAgICAgICAgIHF1ZXJ5IEltYWdlQmxvY2tEYW1GaWxlKCRpZDogSUQhKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhbUZpbGUoaWQ6ICRpZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbWV0eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50SGFzaFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcm9wQXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVVcmxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGAsXG4gICAgICAgICAgICB2YXJpYWJsZXM6IHsgaWQ6IG91dHB1dC5kYW1GaWxlSWQgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVE9ETyBjb25zaWRlciB0aHJvd2luZyBhbiBlcnJvclxuICAgICAgICAvLyBUT0RPIGZpeCB0eXBpbmc6IGdlbmVyYXRlZCBHcmFwaFFMIGZpbGVzIHVzZSBudWxsLCB3ZSB1c2UgdW5kZWZpbmVkLCBlLmcuIHRpdGxlOiBzdHJpbmcgfCBudWxsIHZzIHRpdGxlPzogc3RyaW5nXG4gICAgICAgIGNvbnN0IGRhbUZpbGUgPSBkYXRhLmRhbUZpbGUgYXMgdW5rbm93biBhcyBQaXhlbEltYWdlQmxvY2tEYXRhW1wiZGFtRmlsZVwiXTtcblxuICAgICAgICByZXR1cm4geyBkYW1GaWxlLCBjcm9wQXJlYTogb3V0cHV0LmNyb3BBcmVhIH07XG4gICAgfSxcblxuICAgIGRlcGVuZGVuY2llczogKHN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlcGVuZGVuY2llczogQmxvY2tEZXBlbmRlbmN5W10gPSBbXTtcblxuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8uaWQpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llcy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0YXJnZXRHcmFwaHFsT2JqZWN0VHlwZTogXCJEYW1GaWxlXCIsXG4gICAgICAgICAgICAgICAgaWQ6IHN0YXRlLmRhbUZpbGUuaWQsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBkYW1GaWxlOiBzdGF0ZS5kYW1GaWxlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkZXBlbmRlbmNpZXM7XG4gICAgfSxcblxuICAgIHJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dDogKG91dHB1dCwgcmVwbGFjZW1lbnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lZE91dHB1dDogUGl4ZWxJbWFnZUJsb2NrSW5wdXQgPSBkZWVwQ2xvbmUob3V0cHV0KTtcbiAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSByZXBsYWNlbWVudHMuZmluZCgocmVwbGFjZW1lbnQpID0+IHJlcGxhY2VtZW50LnR5cGUgPT09IFwiRGFtRmlsZVwiICYmIHJlcGxhY2VtZW50Lm9yaWdpbmFsSWQgPT09IG91dHB1dC5kYW1GaWxlSWQpO1xuXG4gICAgICAgIGlmIChyZXBsYWNlbWVudCkge1xuICAgICAgICAgICAgY2xvbmVkT3V0cHV0LmRhbUZpbGVJZCA9IHJlcGxhY2VtZW50LnJlcGxhY2VXaXRoSWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xvbmVkT3V0cHV0O1xuICAgIH0sXG5cbiAgICBkZWZpbmVzT3duUGFkZGluZzogdHJ1ZSxcblxuICAgIEFkbWluQ29tcG9uZW50OiAoeyBzdGF0ZSwgdXBkYXRlU3RhdGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFthbmNob3JFbCwgc2V0QW5jaG9yRWxdID0gdXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHVzZUNtc0Jsb2NrQ29udGV4dCgpO1xuICAgICAgICBjb25zdCB7IGZpbHRlcmVkQWNjZXB0ZWRNaW1lVHlwZXMgfSA9IHVzZURhbUFjY2VwdGVkTWltZVR5cGVzKCk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRTY29wZSA9IHVzZUNvbnRlbnRTY29wZSgpO1xuICAgICAgICBjb25zdCBhcG9sbG9DbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeU1hcCA9IHVzZURlcGVuZGVuY2llc0NvbmZpZygpO1xuXG4gICAgICAgIC8vIHVzZVN5bmNJbWFnZUF0dHJpYnV0ZXMoeyBzdGF0ZSwgdXBkYXRlU3RhdGUgfSk7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICAgICAgfSwgW3NldE9wZW5dKTtcblxuICAgICAgICBjb25zdCBoYW5kbGVDcm9wQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRPcGVuKHRydWUpO1xuXG4gICAgICAgICAgICBoYW5kbGVNZW51Q2xvc2UoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBoYW5kbGVNZW51Q2xvc2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRBbmNob3JFbChudWxsKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBwcmV2aWV3VXJsID0gY3JlYXRlUHJldmlld1VybChzdGF0ZSwgY29udGV4dC5kYW1Db25maWcuYXBpVXJsLCB7IHdpZHRoOiAzMjAsIGhlaWdodDogMzIwIH0pO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8U2VsZWN0UHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICAgICB7c3RhdGUuZGFtRmlsZT8uaW1hZ2UgPyAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8QWRtaW5Db21wb25lbnRQYXBlciBkaXNhYmxlUGFkZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29udGVudFJvb3QgY29tcG9uZW50PVwiZGl2XCIgb25DbGljaz17KCkgPT4gc2V0T3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkIGNvbnRhaW5lciBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgc3BhY2luZz17M30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtPntwcmV2aWV3VXJsICYmIDxQcmV2aWV3SW1hZ2Ugc3JjPXtwcmV2aWV3VXJsfSB3aWR0aD1cIjcwXCIgaGVpZ2h0PVwiNzBcIiAvPn08L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtIHhzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9XCJzdWJ0aXRsZTFcIj57c3RhdGUuZGFtRmlsZS5uYW1lfTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeSB2YXJpYW50PVwiYm9keTFcIiBjb2xvcj1cInRleHRTZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERhbVBhdGhMYXp5IGZpbGVJZD17c3RhdGUuZGFtRmlsZS5pZH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1R5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZCBpdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXsoZXZlbnQpID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QW5jaG9yRWwoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TW9yZVZlcnRpY2FsIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Db250ZW50Um9vdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBZG1pbkNvbXBvbmVudEJ1dHRvbiBzdGFydEljb249ezxEZWxldGUgLz59IG9uQ2xpY2s9eygpID0+IHVwZGF0ZVN0YXRlKHsgZGFtRmlsZTogdW5kZWZpbmVkLCBjcm9wQXJlYTogdW5kZWZpbmVkIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2UuZW1wdHlcIiBkZWZhdWx0TWVzc2FnZT1cIkVtcHR5XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FkbWluQ29tcG9uZW50QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9BZG1pbkNvbXBvbmVudFBhcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnUgYW5jaG9yRWw9e2FuY2hvckVsfSBrZWVwTW91bnRlZCBvcGVuPXtCb29sZWFuKGFuY2hvckVsKX0gb25DbG9zZT17aGFuZGxlTWVudUNsb3NlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWVudUl0ZW0gb25DbGljaz17aGFuZGxlQ3JvcENsaWNrfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpc3RJdGVtSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDcm9wIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGlzdEl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5pbWFnZS5jcm9wSW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkNyb3AgaW1hZ2VcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2RlcGVuZGVuY3lNYXBbXCJEYW1GaWxlXCJdICYmIHN0YXRlLmRhbUZpbGU/LmlkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWQgaXMgY2hlY2tlZCB0aHJlZSBsaW5lcyBhYm92ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IGF3YWl0IGRlcGVuZGVuY3lNYXBbXCJEYW1GaWxlXCJdLnJlc29sdmVQYXRoKHsgYXBvbGxvQ2xpZW50LCBpZDogc3RhdGUuZGFtRmlsZSEuaWQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gY29udGVudFNjb3BlLm1hdGNoLnVybCArIHBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCBcIl9ibGFua1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0SXRlbUljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE9wZW5OZXdUYWIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGlzdEl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2Uub3BlbkluRGFtXCIgZGVmYXVsdE1lc3NhZ2U9XCJPcGVuIGluIERBTVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvTWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcGVuICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RWRpdEltYWdlRGlhbG9nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBzdGF0ZS5kYW1GaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHN0YXRlLmRhbUZpbGUuZmlsZVVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzdGF0ZS5kYW1GaWxlLmltYWdlLndpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzdGF0ZS5kYW1GaWxlLmltYWdlLmhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHN0YXRlLmRhbUZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFtRmlsZUlkPXtzdGF0ZS5kYW1GaWxlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWVzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VJbmhlcml0ZWREYW1TZXR0aW5nczogc3RhdGUuY3JvcEFyZWEgPT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyb3BBcmVhOiBzdGF0ZS5jcm9wQXJlYSA/PyBzdGF0ZS5kYW1GaWxlLmltYWdlLmNyb3BBcmVhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ZWREYW1TZXR0aW5ncz17eyBjcm9wQXJlYTogc3RhdGUuZGFtRmlsZS5pbWFnZS5jcm9wQXJlYSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblN1Ym1pdD17KGNyb3BBcmVhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiAoeyAuLi5wcmV2U3RhdGUsIGNyb3BBcmVhIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPEJsb2Nrc0ZpbmFsRm9ybTx7IGRhbUZpbGU/OiBJbWFnZUJsb2NrU3RhdGVbXCJkYW1GaWxlXCJdIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICBvblN1Ym1pdD17KG5ld1ZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVN0YXRlKChwcmV2U3RhdGUpID0+ICh7IC4uLnByZXZTdGF0ZSwgZGFtRmlsZTogbmV3VmFsdWVzLmRhbUZpbGUgfHwgdW5kZWZpbmVkLCBjcm9wQXJlYTogdW5kZWZpbmVkIH0pKTsgLy8gcmVzZXQgbG9jYWwgY3JvcCBhcmVhIHdoZW4gaW1hZ2UgY2hhbmdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZXM9e3sgZGFtRmlsZTogc3RhdGUuZGFtRmlsZSB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGFtRmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtGaWxlRmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uVGV4dD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2UuY2hvb3NlSW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkNob29zZSBpbWFnZVwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93ZWRNaW1ldHlwZXM9e2ZpbHRlcmVkQWNjZXB0ZWRNaW1lVHlwZXMucGl4ZWxJbWFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvQmxvY2tzRmluYWxGb3JtPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBwcmV2aWV3Q29udGVudDogKHN0YXRlLCBjdHgpID0+IHtcbiAgICAgICAgaWYgKCFzdGF0ZS5kYW1GaWxlIHx8ICFzdGF0ZS5kYW1GaWxlPy5maWxlVXJsIHx8ICFjdHg/LmRhbUNvbmZpZz8uYXBpVXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW1hZ2VTaXplID0geyB3aWR0aDogMzIwLCBoZWlnaHQ6IDMyMCB9O1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyB0eXBlOiBcImltYWdlXCIsIGNvbnRlbnQ6IHsgc3JjOiBjcmVhdGVQcmV2aWV3VXJsKHN0YXRlLCBjdHguZGFtQ29uZmlnLmFwaVVybCwgaW1hZ2VTaXplKSwgLi4uaW1hZ2VTaXplIH0gfSxcbiAgICAgICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIGNvbnRlbnQ6IHN0YXRlLmRhbUZpbGUubmFtZSB9LFxuICAgICAgICBdO1xuICAgIH0sXG5cbiAgICBleHRyYWN0VGV4dENvbnRlbnRzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudHMgPSBbXTtcblxuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8uYWx0VGV4dCkgY29udGVudHMucHVzaChzdGF0ZS5kYW1GaWxlLmFsdFRleHQpO1xuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8udGl0bGUpIGNvbnRlbnRzLnB1c2goc3RhdGUuZGFtRmlsZS50aXRsZSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnRzO1xuICAgIH0sXG59O1xuXG5jb25zdCBDb250ZW50Um9vdCA9IHN0eWxlZChCdXR0b25CYXNlKWBcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNpbmcoMyl9O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5gIGFzIHR5cGVvZiBCdXR0b25CYXNlO1xuXG5jb25zdCBQcmV2aWV3SW1hZ2UgPSBzdHlsZWQoXCJpbWdcIilgXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG5gO1xuIl19 */",
279
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9ja3MvUGl4ZWxJbWFnZUJsb2NrLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1T2tDIiwiZmlsZSI6Ii4uLy4uL3NyYy9ibG9ja3MvUGl4ZWxJbWFnZUJsb2NrLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tIFwiQGNvbWV0L2FkbWluXCI7XG5pbXBvcnQgeyBDcm9wIH0gZnJvbSBcIkBjb21ldC9hZG1pbi1pY29uc1wiO1xuaW1wb3J0IHsgQmxvY2tDYXRlZ29yeSwgQmxvY2tJbnRlcmZhY2UsIEJsb2Nrc0ZpbmFsRm9ybSwgY3JlYXRlQmxvY2tTa2VsZXRvbiwgSVByZXZpZXdDb250ZXh0LCBTZWxlY3RQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSBcIkBjb21ldC9ibG9ja3MtYWRtaW5cIjtcbmltcG9ydCB7IEJsb2NrRGVwZW5kZW5jeSB9IGZyb20gXCJAY29tZXQvYmxvY2tzLWFkbWluL2xpYi9ibG9ja3MvdHlwZXNcIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSBcIkBtdWkveC1kYXRhLWdyaWQvdXRpbHMvdXRpbHNcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5cbmltcG9ydCB7IFBpeGVsSW1hZ2VCbG9ja0RhdGEsIFBpeGVsSW1hZ2VCbG9ja0lucHV0IH0gZnJvbSBcIi4uL2Jsb2Nrcy5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IHVzZURhbUFjY2VwdGVkTWltZVR5cGVzIH0gZnJvbSBcIi4uL2RhbS9jb25maWcvdXNlRGFtQWNjZXB0ZWRNaW1lVHlwZXNcIjtcbmltcG9ydCB7IEZpbGVGaWVsZCB9IGZyb20gXCIuLi9mb3JtL2ZpbGUvRmlsZUZpZWxkXCI7XG5pbXBvcnQgeyBDbXNCbG9ja0NvbnRleHQgfSBmcm9tIFwiLi9DbXNCbG9ja0NvbnRleHRQcm92aWRlclwiO1xuaW1wb3J0IHsgRWRpdEltYWdlRGlhbG9nIH0gZnJvbSBcIi4vaW1hZ2UvRWRpdEltYWdlRGlhbG9nXCI7XG5pbXBvcnQgeyBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5LCBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5VmFyaWFibGVzIH0gZnJvbSBcIi4vUGl4ZWxJbWFnZUJsb2NrLmdlbmVyYXRlZFwiO1xuaW1wb3J0IHsgdXNlQ21zQmxvY2tDb250ZXh0IH0gZnJvbSBcIi4vdXNlQ21zQmxvY2tDb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIEltYWdlQmxvY2tTdGF0ZSA9IE9taXQ8UGl4ZWxJbWFnZUJsb2NrRGF0YSwgXCJ1cmxUZW1wbGF0ZVwiPjtcblxuZXhwb3J0IGNvbnN0IHVybFRlbXBsYXRlUm91dGUgPSBcIi9kYW0vaW1hZ2VzL3ByZXZpZXcvJGZpbGVJZC9jcm9wOiRjcm9wL3Jlc2l6ZTokcmVzaXplV2lkdGg6JHJlc2l6ZUhlaWdodC8kZmlsZU5hbWVcIjtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcmV2aWV3VXJsKHsgZGFtRmlsZSwgY3JvcEFyZWEgfTogSW1hZ2VCbG9ja1N0YXRlLCBhcGlVcmw6IHN0cmluZywgcmVzaXplPzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9KTogc3RyaW5nIHtcbiAgICBpZiAoIWRhbUZpbGUgfHwgIWRhbUZpbGUuaW1hZ2UpIHJldHVybiBcIlwiO1xuXG4gICAgY29uc3QgaW1hZ2VDcm9wQXJlYSA9IGNyb3BBcmVhID8gY3JvcEFyZWEgOiBkYW1GaWxlLmltYWdlLmNyb3BBcmVhO1xuICAgIGNvbnN0IGNyb3AgPVxuICAgICAgICBpbWFnZUNyb3BBcmVhLmZvY2FsUG9pbnQgPT09IFwiU01BUlRcIlxuICAgICAgICAgICAgPyBbaW1hZ2VDcm9wQXJlYS5mb2NhbFBvaW50XVxuICAgICAgICAgICAgOiBbaW1hZ2VDcm9wQXJlYS53aWR0aCwgaW1hZ2VDcm9wQXJlYS5oZWlnaHQsIGltYWdlQ3JvcEFyZWEuZm9jYWxQb2ludCwgaW1hZ2VDcm9wQXJlYS54LCBpbWFnZUNyb3BBcmVhLnldO1xuXG4gICAgY29uc3QgZmlsZW5hbWVDb250YWluc0V4dGVuc2lvbiA9IGRhbUZpbGUubmFtZS5sYXN0SW5kZXhPZihcIi5cIikgPj0gMDtcbiAgICBjb25zdCBmaWxlbmFtZSA9IGZpbGVuYW1lQ29udGFpbnNFeHRlbnNpb24gPyBkYW1GaWxlLm5hbWUuc3Vic3RyKDAsIGRhbUZpbGUubmFtZS5sYXN0SW5kZXhPZihcIi5cIikpIDogZGFtRmlsZS5uYW1lO1xuXG4gICAgbGV0IHVybFRlbXBsYXRlID0gYXBpVXJsICsgdXJsVGVtcGxhdGVSb3V0ZTtcbiAgICBpZiAocmVzaXplKSB7XG4gICAgICAgIHVybFRlbXBsYXRlID0gdXJsVGVtcGxhdGUucmVwbGFjZShcIiRyZXNpemVXaWR0aFwiLCBTdHJpbmcocmVzaXplLndpZHRoKSkucmVwbGFjZShcIiRyZXNpemVIZWlnaHRcIiwgU3RyaW5nKHJlc2l6ZS5oZWlnaHQpKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybFRlbXBsYXRlLnJlcGxhY2UoXCIkZmlsZUlkXCIsIGRhbUZpbGUuaWQpLnJlcGxhY2UoXCIkY3JvcFwiLCBjcm9wLmpvaW4oXCI6XCIpKS5yZXBsYWNlKFwiJGZpbGVOYW1lXCIsIGZpbGVuYW1lKSk7XG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xufVxuXG5leHBvcnQgY29uc3QgUGl4ZWxJbWFnZUJsb2NrOiBCbG9ja0ludGVyZmFjZTxQaXhlbEltYWdlQmxvY2tEYXRhLCBJbWFnZUJsb2NrU3RhdGUsIFBpeGVsSW1hZ2VCbG9ja0lucHV0PiA9IHtcbiAgICAuLi5jcmVhdGVCbG9ja1NrZWxldG9uKCksXG5cbiAgICBuYW1lOiBcIkltYWdlXCIsXG5cbiAgICBkaXNwbGF5TmFtZTogPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkltYWdlXCIgLz4sXG5cbiAgICBkZWZhdWx0VmFsdWVzOiAoKSA9PiAoe1xuICAgICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICAgIGNyb3BBcmVhOiB1bmRlZmluZWQsXG4gICAgfSksXG5cbiAgICBjYXRlZ29yeTogQmxvY2tDYXRlZ29yeS5NZWRpYSxcblxuICAgIGNyZWF0ZVByZXZpZXdTdGF0ZTogKHN0YXRlLCBwcmV2aWV3Q3R4OiBJUHJldmlld0NvbnRleHQgJiBDbXNCbG9ja0NvbnRleHQpID0+ICh7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB1cmxUZW1wbGF0ZTogY3JlYXRlUHJldmlld1VybChzdGF0ZSwgcHJldmlld0N0eC5kYW1Db25maWcuYXBpVXJsKSxcbiAgICAgICAgYWRtaW5NZXRhOiB7IHJvdXRlOiBwcmV2aWV3Q3R4LnBhcmVudFVybCB9LFxuICAgIH0pLFxuXG4gICAgc3RhdGUyT3V0cHV0OiAodikgPT4ge1xuICAgICAgICBpZiAoIXYuZGFtRmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhbUZpbGVJZDogdi5kYW1GaWxlLmlkLFxuICAgICAgICAgICAgY3JvcEFyZWE6IHYuY3JvcEFyZWEsXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIG91dHB1dDJTdGF0ZTogYXN5bmMgKG91dHB1dCwgeyBhcG9sbG9DbGllbnQgfTogQ21zQmxvY2tDb250ZXh0KTogUHJvbWlzZTxJbWFnZUJsb2NrU3RhdGU+ID0+IHtcbiAgICAgICAgaWYgKCFvdXRwdXQuZGFtRmlsZUlkKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGFwb2xsb0NsaWVudC5xdWVyeTxHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5LCBHUUxJbWFnZUJsb2NrRGFtRmlsZVF1ZXJ5VmFyaWFibGVzPih7XG4gICAgICAgICAgICBxdWVyeTogZ3FsYFxuICAgICAgICAgICAgICAgIHF1ZXJ5IEltYWdlQmxvY2tEYW1GaWxlKCRpZDogSUQhKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhbUZpbGUoaWQ6ICRpZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbWV0eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50SGFzaFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcm9wQXJlYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVVcmxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGAsXG4gICAgICAgICAgICB2YXJpYWJsZXM6IHsgaWQ6IG91dHB1dC5kYW1GaWxlSWQgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVE9ETyBjb25zaWRlciB0aHJvd2luZyBhbiBlcnJvclxuICAgICAgICAvLyBUT0RPIGZpeCB0eXBpbmc6IGdlbmVyYXRlZCBHcmFwaFFMIGZpbGVzIHVzZSBudWxsLCB3ZSB1c2UgdW5kZWZpbmVkLCBlLmcuIHRpdGxlOiBzdHJpbmcgfCBudWxsIHZzIHRpdGxlPzogc3RyaW5nXG4gICAgICAgIGNvbnN0IGRhbUZpbGUgPSBkYXRhLmRhbUZpbGUgYXMgdW5rbm93biBhcyBQaXhlbEltYWdlQmxvY2tEYXRhW1wiZGFtRmlsZVwiXTtcblxuICAgICAgICByZXR1cm4geyBkYW1GaWxlLCBjcm9wQXJlYTogb3V0cHV0LmNyb3BBcmVhIH07XG4gICAgfSxcblxuICAgIGRlcGVuZGVuY2llczogKHN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRlcGVuZGVuY2llczogQmxvY2tEZXBlbmRlbmN5W10gPSBbXTtcblxuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8uaWQpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llcy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0YXJnZXRHcmFwaHFsT2JqZWN0VHlwZTogXCJEYW1GaWxlXCIsXG4gICAgICAgICAgICAgICAgaWQ6IHN0YXRlLmRhbUZpbGUuaWQsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBkYW1GaWxlOiBzdGF0ZS5kYW1GaWxlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkZXBlbmRlbmNpZXM7XG4gICAgfSxcblxuICAgIHJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dDogKG91dHB1dCwgcmVwbGFjZW1lbnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lZE91dHB1dDogUGl4ZWxJbWFnZUJsb2NrSW5wdXQgPSBkZWVwQ2xvbmUob3V0cHV0KTtcbiAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSByZXBsYWNlbWVudHMuZmluZCgocmVwbGFjZW1lbnQpID0+IHJlcGxhY2VtZW50LnR5cGUgPT09IFwiRGFtRmlsZVwiICYmIHJlcGxhY2VtZW50Lm9yaWdpbmFsSWQgPT09IG91dHB1dC5kYW1GaWxlSWQpO1xuXG4gICAgICAgIGlmIChyZXBsYWNlbWVudCkge1xuICAgICAgICAgICAgY2xvbmVkT3V0cHV0LmRhbUZpbGVJZCA9IHJlcGxhY2VtZW50LnJlcGxhY2VXaXRoSWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xvbmVkT3V0cHV0O1xuICAgIH0sXG5cbiAgICBkZWZpbmVzT3duUGFkZGluZzogdHJ1ZSxcblxuICAgIEFkbWluQ29tcG9uZW50OiAoeyBzdGF0ZSwgdXBkYXRlU3RhdGUgfSkgPT4ge1xuICAgICAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDbXNCbG9ja0NvbnRleHQoKTtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJlZEFjY2VwdGVkTWltZVR5cGVzIH0gPSB1c2VEYW1BY2NlcHRlZE1pbWVUeXBlcygpO1xuXG4gICAgICAgIC8vIHVzZVN5bmNJbWFnZUF0dHJpYnV0ZXMoeyBzdGF0ZSwgdXBkYXRlU3RhdGUgfSk7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICAgICAgfSwgW3NldE9wZW5dKTtcblxuICAgICAgICBjb25zdCBoYW5kbGVDcm9wQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRPcGVuKHRydWUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHByZXZpZXdVcmwgPSBjcmVhdGVQcmV2aWV3VXJsKHN0YXRlLCBjb250ZXh0LmRhbUNvbmZpZy5hcGlVcmwsIHsgd2lkdGg6IDMyMCwgaGVpZ2h0OiAzMjAgfSk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTZWxlY3RQcmV2aWV3Q29tcG9uZW50PlxuICAgICAgICAgICAgICAgIDxCbG9ja3NGaW5hbEZvcm08eyBkYW1GaWxlPzogSW1hZ2VCbG9ja1N0YXRlW1wiZGFtRmlsZVwiXSB9PlxuICAgICAgICAgICAgICAgICAgICBvblN1Ym1pdD17KG5ld1ZhbHVlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4gKHsgLi4ucHJldlN0YXRlLCBkYW1GaWxlOiBuZXdWYWx1ZXMuZGFtRmlsZSB8fCB1bmRlZmluZWQsIGNyb3BBcmVhOiB1bmRlZmluZWQgfSkpOyAvLyByZXNldCBsb2NhbCBjcm9wIGFyZWEgd2hlbiBpbWFnZSBjaGFuZ2VzXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZXM9e3sgZGFtRmlsZTogc3RhdGUuZGFtRmlsZSB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGFtRmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ZpbGVGaWVsZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uVGV4dD17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5ibG9ja3MuaW1hZ2UuY2hvb3NlSW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkNob29zZSBpbWFnZVwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dlZE1pbWV0eXBlcz17ZmlsdGVyZWRBY2NlcHRlZE1pbWVUeXBlcy5waXhlbEltYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlldz17PFByZXZpZXdJbWFnZSBzcmM9e3ByZXZpZXdVcmx9IHdpZHRoPVwiNzBcIiBoZWlnaHQ9XCI3MFwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgbWVudUFjdGlvbnM9e1tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5pbWFnZS5jcm9wSW1hZ2VcIiBkZWZhdWx0TWVzc2FnZT1cIkNyb3AgaW1hZ2VcIiAvPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogPENyb3AgLz4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IGhhbmRsZUNyb3BDbGljayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0Jsb2Nrc0ZpbmFsRm9ybT5cbiAgICAgICAgICAgICAgICB7b3BlbiAmJiBzdGF0ZS5kYW1GaWxlPy5pbWFnZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxFZGl0SW1hZ2VEaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogc3RhdGUuZGFtRmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogc3RhdGUuZGFtRmlsZS5maWxlVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzdGF0ZS5kYW1GaWxlLmltYWdlLndpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogc3RhdGUuZGFtRmlsZS5pbWFnZS5oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogc3RhdGUuZGFtRmlsZS5zaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRhbUZpbGVJZD17c3RhdGUuZGFtRmlsZS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZXM9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VJbmhlcml0ZWREYW1TZXR0aW5nczogc3RhdGUuY3JvcEFyZWEgPT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcm9wQXJlYTogc3RhdGUuY3JvcEFyZWEgPz8gc3RhdGUuZGFtRmlsZS5pbWFnZS5jcm9wQXJlYSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0ZWREYW1TZXR0aW5ncz17eyBjcm9wQXJlYTogc3RhdGUuZGFtRmlsZS5pbWFnZS5jcm9wQXJlYSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgb25TdWJtaXQ9eyhjcm9wQXJlYSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVN0YXRlKChwcmV2U3RhdGUpID0+ICh7IC4uLnByZXZTdGF0ZSwgY3JvcEFyZWEgfSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBwcmV2aWV3Q29udGVudDogKHN0YXRlLCBjdHgpID0+IHtcbiAgICAgICAgaWYgKCFzdGF0ZS5kYW1GaWxlIHx8ICFzdGF0ZS5kYW1GaWxlPy5maWxlVXJsIHx8ICFjdHg/LmRhbUNvbmZpZz8uYXBpVXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW1hZ2VTaXplID0geyB3aWR0aDogMzIwLCBoZWlnaHQ6IDMyMCB9O1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyB0eXBlOiBcImltYWdlXCIsIGNvbnRlbnQ6IHsgc3JjOiBjcmVhdGVQcmV2aWV3VXJsKHN0YXRlLCBjdHguZGFtQ29uZmlnLmFwaVVybCwgaW1hZ2VTaXplKSwgLi4uaW1hZ2VTaXplIH0gfSxcbiAgICAgICAgICAgIHsgdHlwZTogXCJ0ZXh0XCIsIGNvbnRlbnQ6IHN0YXRlLmRhbUZpbGUubmFtZSB9LFxuICAgICAgICBdO1xuICAgIH0sXG5cbiAgICBleHRyYWN0VGV4dENvbnRlbnRzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudHMgPSBbXTtcblxuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8uYWx0VGV4dCkgY29udGVudHMucHVzaChzdGF0ZS5kYW1GaWxlLmFsdFRleHQpO1xuICAgICAgICBpZiAoc3RhdGUuZGFtRmlsZT8udGl0bGUpIGNvbnRlbnRzLnB1c2goc3RhdGUuZGFtRmlsZS50aXRsZSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnRzO1xuICAgIH0sXG59O1xuXG5jb25zdCBQcmV2aWV3SW1hZ2UgPSBzdHlsZWQoXCJpbWdcIilgXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG5gO1xuIl19 */",
393
280
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
394
281
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SvgImageBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/SvgImageBlock.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIH,cAAc,EAKjB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAU5E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAExE,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOxF;AAED,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,CA+LnG,CAAC"}
1
+ {"version":3,"file":"SvgImageBlock.d.ts","sourceRoot":"","sources":["../../src/blocks/SvgImageBlock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,cAAc,EAAiF,MAAM,qBAAqB,CAAC;AAKnJ,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAO5E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAExE,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOxF;AAED,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,CAiInG,CAAC"}