@cichol/sass-bridge 5.0.0 → 5.2.0

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/dists/index.cjs CHANGED
@@ -14,9 +14,6 @@ var _Object$fromEntries = require('core-js-pure/features/object/from-entries.js'
14
14
  var _pushInstanceProperty = require('core-js-pure/features/instance/push.js');
15
15
  var _fillInstanceProperty = require('core-js-pure/features/instance/fill.js');
16
16
  var chroma = require('chroma-js');
17
- var _Object$keys = require('core-js-pure/features/object/keys.js');
18
- var _startsWithInstanceProperty = require('core-js-pure/features/instance/starts-with.js');
19
- var _Object$getPrototypeOf = require('core-js-pure/features/object/get-prototype-of.js');
20
17
  var sass = require('sass');
21
18
  var _Symbol$toStringTag = require('core-js-pure/features/symbol/to-string-tag.js');
22
19
  var _everyInstanceProperty = require('core-js-pure/features/instance/every.js');
@@ -43,30 +40,32 @@ function _interopNamespaceDefault(e) {
43
40
 
44
41
  var sass__namespace = /*#__PURE__*/_interopNamespaceDefault(sass);
45
42
 
46
- var _context, _context2, _context3, _context4, _context5;
43
+ // Third-party modules.
44
+
47
45
 
48
46
  // Type definitions.
49
47
 
50
- const SassTypes = _Object$fromEntries(_mapInstanceProperty(_context = _filterInstanceProperty(_context2 = _filterInstanceProperty(_context3 = _mapInstanceProperty(_context4 = _filterInstanceProperty(_context5 = _Object$keys(sass__namespace)).call(_context5, propertyKey => _startsWithInstanceProperty(propertyKey).call(propertyKey, 'Sass'))).call(_context4, propertyKey => sass__namespace[propertyKey])).call(_context3, constructor => typeof constructor === 'function')).call(_context2, constructor => Object.prototype.isPrototypeOf.call(sass.Value.prototype, constructor.prototype))).call(_context, constructor => [constructor.name, constructor]));
51
48
  const SassTRUE = sass__namespace.sassTrue;
52
49
  const SassFALSE = sass__namespace.sassFalse;
53
50
  const SassNULL = sass__namespace.sassNull;
54
51
  const {
55
52
  SassNumber
56
- } = SassTypes;
53
+ } = sass__namespace;
57
54
  const {
58
55
  SassString
59
- } = SassTypes;
56
+ } = sass__namespace;
60
57
  const {
61
58
  SassColor
62
- } = SassTypes;
59
+ } = sass__namespace;
63
60
  const {
64
61
  SassList
65
- } = SassTypes;
62
+ } = sass__namespace;
66
63
  const {
67
64
  SassMap
68
- } = SassTypes;
69
- const SassBoolean = _Object$getPrototypeOf(SassTRUE).constructor;
65
+ } = sass__namespace;
66
+ const {
67
+ SassBoolean
68
+ } = sass__namespace;
70
69
 
71
70
  function sassToJavaScriptType(sassValue) {
72
71
  switch (true) {
@@ -210,9 +209,7 @@ function sassFunction(signature) {
210
209
  if (context.private) {
211
210
  throw new TypeError('Not supported on private methods.');
212
211
  }
213
- if (!context.metadata.functionMap) {
214
- context.metadata.functionMap = new _Map();
215
- }
212
+ context.metadata.functionMap ??= new _Map();
216
213
  const {
217
214
  functionMap
218
215
  } = context.metadata;
@@ -237,4 +234,4 @@ async function getFunctions(...moduleImports) {
237
234
 
238
235
  exports.getFunctions = getFunctions;
239
236
  exports.sassFunction = sassFunction;
240
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwic291cmNlcyI6WyIuLi9zb3VyY2VzL3R5cGVzLnRzIiwiLi4vc291cmNlcy90eXBlLWNvbnZlcnRlci9zYXNzLXRvLWphdmFzY3JpcHQudHMiLCIuLi9zb3VyY2VzL3R5cGUtY29udmVydGVyL2phdmFzY3JpcHQtdG8tc2Fzcy50cyIsIi4uL3NvdXJjZXMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB0eXBlIHsgQ29sb3IgfSBmcm9tICdjaHJvbWEtanMnXG5pbXBvcnQgKiBhcyBzYXNzIGZyb20gJ3Nhc3MnXG5pbXBvcnQgeyBWYWx1ZSB9IGZyb20gJ3Nhc3MnXG5cbi8vIFR5cGUgZGVmaW5pdGlvbnMuXG5leHBvcnQgdHlwZSBQcmltaXRpdmVzID0gYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB8IG51bGxcblxuZXhwb3J0IHR5cGUgTnVtYmVyV2l0aFVuaXQgPSB7IHZhbHVlOiBudW1iZXIsIHVuaXQ6IHN0cmluZyB9XG5cbmV4cG9ydCB0eXBlIFN0cmluZ1dpdGhRdW90ZXMgPSB7IHZhbHVlOiBzdHJpbmcsIHF1b3RlczogYm9vbGVhbiB9XG5cbmV4cG9ydCB0eXBlIEphdmFTY3JpcHRUeXBlPEJhc2UgPSBQcmltaXRpdmVzIHwgQ29sb3IgfCBOdW1iZXJXaXRoVW5pdCB8IFN0cmluZ1dpdGhRdW90ZXM+ID1cblx0fCBCYXNlXG5cdHwgSmF2YVNjcmlwdFR5cGU8QmFzZT5bXVxuXHR8IE1hcDxKYXZhU2NyaXB0VHlwZTxCYXNlPiwgSmF2YVNjcmlwdFR5cGU8QmFzZT4+XG5cbnR5cGUgRmlsdGVyU2Fzc1ByZWZpeDxUIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyBgU2FzcyR7aW5mZXIgUn1gID8gUiA6IG5ldmVyXG5cbnR5cGUgU2Fzc1R5cGVzID0gRXhjbHVkZTxgU2FzcyR7RmlsdGVyU2Fzc1ByZWZpeDxrZXlvZiB0eXBlb2Ygc2Fzcz59YCwgYFNhc3MkeydCb29sZWFuJyB8ICdDYWxjdWxhdGlvbid9YD5cblxuY29uc3QgU2Fzc1R5cGVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRPYmplY3Qua2V5cyhzYXNzKVxuXHRcdC5maWx0ZXIocHJvcGVydHlLZXkgPT4gcHJvcGVydHlLZXkuc3RhcnRzV2l0aCgnU2FzcycpKVxuXHRcdC5tYXAocHJvcGVydHlLZXkgPT4gc2Fzc1twcm9wZXJ0eUtleSBhcyBTYXNzVHlwZXNdKVxuXHRcdC5maWx0ZXIoY29uc3RydWN0b3IgPT4gdHlwZW9mIGNvbnN0cnVjdG9yID09PSAnZnVuY3Rpb24nKVxuXHRcdC5maWx0ZXIoY29uc3RydWN0b3IgPT4gT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoVmFsdWUucHJvdG90eXBlLCBjb25zdHJ1Y3Rvci5wcm90b3R5cGUpKVxuXHRcdC5tYXAoY29uc3RydWN0b3IgPT4gWyBjb25zdHJ1Y3Rvci5uYW1lLCBjb25zdHJ1Y3RvciBdIGFzIFtTYXNzVHlwZXMsICh0eXBlb2Ygc2FzcylbU2Fzc1R5cGVzXV0pLFxuKSBhcyB7IFtQIGluIFNhc3NUeXBlc106ICh0eXBlb2Ygc2FzcylbUF0gfVxuXG5leHBvcnQgY29uc3QgU2Fzc1RSVUUgPSBzYXNzLnNhc3NUcnVlXG5leHBvcnQgdHlwZSBTYXNzVFJVRSA9IHR5cGVvZiBTYXNzVFJVRVxuXG5leHBvcnQgY29uc3QgU2Fzc0ZBTFNFID0gc2Fzcy5zYXNzRmFsc2VcbmV4cG9ydCB0eXBlIFNhc3NGQUxTRSA9IHR5cGVvZiBTYXNzRkFMU0VcblxuZXhwb3J0IGNvbnN0IFNhc3NOVUxMID0gc2Fzcy5zYXNzTnVsbFxuZXhwb3J0IHR5cGUgU2Fzc05VTEwgPSB0eXBlb2YgU2Fzc05VTExcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc051bWJlciB9ID0gU2Fzc1R5cGVzXG5leHBvcnQgdHlwZSBTYXNzTnVtYmVyID0gSW5zdGFuY2VUeXBlPHR5cGVvZiBTYXNzTnVtYmVyPlxuXG5leHBvcnQgY29uc3QgeyBTYXNzU3RyaW5nIH0gPSBTYXNzVHlwZXNcbmV4cG9ydCB0eXBlIFNhc3NTdHJpbmcgPSBJbnN0YW5jZVR5cGU8dHlwZW9mIFNhc3NTdHJpbmc+XG5cbmV4cG9ydCBjb25zdCB7IFNhc3NDb2xvciB9ID0gU2Fzc1R5cGVzXG5leHBvcnQgdHlwZSBTYXNzQ29sb3IgPSBJbnN0YW5jZVR5cGU8dHlwZW9mIFNhc3NDb2xvcj5cblxuZXhwb3J0IGNvbnN0IHsgU2Fzc0xpc3QgfSA9IFNhc3NUeXBlc1xuZXhwb3J0IHR5cGUgU2Fzc0xpc3QgPSBJbnN0YW5jZVR5cGU8dHlwZW9mIFNhc3NMaXN0PlxuXG5leHBvcnQgY29uc3QgeyBTYXNzTWFwIH0gPSBTYXNzVHlwZXNcbmV4cG9ydCB0eXBlIFNhc3NNYXAgPSBJbnN0YW5jZVR5cGU8dHlwZW9mIFNhc3NNYXA+XG5cbmV4cG9ydCBjb25zdCBTYXNzQm9vbGVhbiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihTYXNzVFJVRSkuY29uc3RydWN0b3IgYXMgdHlwZW9mIHNhc3MuU2Fzc0Jvb2xlYW5cbmV4cG9ydCB0eXBlIFNhc3NCb29sZWFuID0gc2Fzcy5TYXNzQm9vbGVhblxuXG5leHBvcnQgdHlwZSBTYXNzVHlwZSA9XG5cdHwgSW5zdGFuY2VUeXBlPHR5cGVvZiBTYXNzVHlwZXMgZXh0ZW5kcyBSZWNvcmQ8YW55LCBpbmZlciBSPiA/IFIgOiBuZXZlcj5cblx0fCBTYXNzQm9vbGVhblxuIiwiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCBjaHJvbWEgZnJvbSAnY2hyb21hLWpzJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHtcblx0dHlwZSBKYXZhU2NyaXB0VHlwZSxcblx0dHlwZSBTYXNzVHlwZSxcblx0U2Fzc0Jvb2xlYW4sXG5cdFNhc3NOdW1iZXIsXG5cdFNhc3NTdHJpbmcsXG5cdFNhc3NDb2xvcixcblx0U2Fzc0xpc3QsXG5cdFNhc3NNYXAsXG59IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzYXNzVG9KYXZhU2NyaXB0VHlwZShzYXNzVmFsdWU6IFNhc3NUeXBlKTogSmF2YVNjcmlwdFR5cGUge1xuXHRzd2l0Y2ggKHRydWUpIHtcblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzQm9vbGVhbjoge1xuXHRcdHJldHVybiBzYXNzVmFsdWUudmFsdWVcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc1N0cmluZzoge1xuXHRcdHJldHVybiBzYXNzVmFsdWUudGV4dFxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzTnVtYmVyOiB7XG5cdFx0Y29uc3QgeyB2YWx1ZSwgbnVtZXJhdG9yVW5pdHMsIGRlbm9taW5hdG9yVW5pdHMgfSA9IHNhc3NWYWx1ZVxuXG5cdFx0Y29uc3QgdW5pdCA9IHNhc3NWYWx1ZS5oYXNVbml0c1xuXHRcdFx0PyBudW1lcmF0b3JVbml0cy5qb2luKCcqJykgKyAoZGVub21pbmF0b3JVbml0cy5zaXplID4gMCA/IGAvJHtkZW5vbWluYXRvclVuaXRzLmpvaW4oJyonKX1gIDogJycpXG5cdFx0XHQ6ICcnXG5cblx0XHRyZXR1cm4gdW5pdCA/IHsgdmFsdWUsIHVuaXQgfSA6IHZhbHVlXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NDb2xvcjoge1xuXHRcdGNvbnN0IHNhc3NDb2xvciA9IHNhc3NWYWx1ZS50b1NwYWNlKCdyZ2InKVxuXHRcdGNvbnN0IHsgYWxwaGEsIHNwYWNlIH0gPSBzYXNzQ29sb3Jcblx0XHRjb25zdCBjaGFubmVscyA9IFsgLi4uc2Fzc0NvbG9yLmNoYW5uZWxzIF0gYXMgWyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXVxuXG5cdFx0aWYgKGFscGhhKSB7XG5cdFx0XHRjaGFubmVscy5wdXNoKGFscGhhKVxuXHRcdH1cblxuXHRcdHJldHVybiBjaHJvbWEoLi4uY2hhbm5lbHMsIHNwYWNlIGFzICdyZ2InKVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzTGlzdDoge1xuXHRcdGNvbnN0IGxpc3RWYWx1ZSA9IHNhc3NWYWx1ZS5hc0xpc3Rcblx0XHRjb25zdCBsZW5ndGggPSBsaXN0VmFsdWUuc2l6ZVxuXHRcdGNvbnN0IGFycmF5ID0gQXJyYXkobGVuZ3RoKS5maWxsKHVuZGVmaW5lZCkgYXMgU2Fzc1R5cGVbXVxuXG5cdFx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuXHRcdFx0YXJyYXlbaW5kZXhdID0gbGlzdFZhbHVlLmdldChpbmRleCkgYXMgU2Fzc1R5cGVcblx0XHR9XG5cblx0XHRyZXR1cm4gYXJyYXkubWFwKHZhbHVlID0+IHNhc3NUb0phdmFTY3JpcHRUeXBlKHZhbHVlKSlcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc01hcDoge1xuXHRcdGNvbnN0IG1hcFZhbHVlID0gc2Fzc1ZhbHVlLmNvbnRlbnRzXG5cblx0XHRjb25zdCBlbnRyaWVzID0gQXJyYXkuZnJvbShtYXBWYWx1ZS5lbnRyaWVzKCkgYXMgSXRlcmFibGVJdGVyYXRvcjxbU2Fzc1R5cGUsIFNhc3NUeXBlXT4pXG5cdFx0XHQubWFwKChbIGtleSwgdmFsdWUgXSkgPT4gWyBzYXNzVG9KYXZhU2NyaXB0VHlwZShrZXkpLCBzYXNzVG9KYXZhU2NyaXB0VHlwZSh2YWx1ZSkgXSlcblxuXHRcdHJldHVybiBuZXcgTWFwKGVudHJpZXMgYXMgW0phdmFTY3JpcHRUeXBlLCBKYXZhU2NyaXB0VHlwZV1bXSlcblx0fVxuXG5cdGRlZmF1bHQ6IHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdH1cbn1cbiIsIi8vIE5vZGUuanMgYnVpbHQtaW4gQVBJcy5cbmltcG9ydCB1dGlsIGZyb20gJ3V0aWwnXG5cbi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgSW1tdXRhYmxlIGZyb20gJ2ltbXV0YWJsZSdcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB7XG5cdHR5cGUgTnVtYmVyV2l0aFVuaXQsXG5cdHR5cGUgU3RyaW5nV2l0aFF1b3Rlcyxcblx0dHlwZSBKYXZhU2NyaXB0VHlwZSxcblx0dHlwZSBTYXNzVHlwZSxcblx0U2Fzc051bWJlcixcblx0U2Fzc1N0cmluZyxcblx0U2Fzc0NvbG9yLFxuXHRTYXNzTGlzdCxcblx0U2Fzc01hcCxcblx0U2Fzc1RSVUUsXG5cdFNhc3NGQUxTRSxcblx0U2Fzc05VTEwsXG59IGZyb20gJy4uL3R5cGVzJ1xuXG4vLyBIZWxwZXIgZnVuY3Rpb25zLlxuZnVuY3Rpb24gaXNPYmplY3QodmFsdWU/OiB1bmtub3duKTogdmFsdWUgaXMgb2JqZWN0IHtcblx0Y29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZVxuXG5cdHJldHVybiAhIXZhbHVlICYmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKVxufVxuXG5mdW5jdGlvbiBpc01hcCh2YWx1ZT86IHVua25vd24pOiB2YWx1ZSBpcyBNYXA8dW5rbm93biwgdW5rbm93bj4ge1xuXHRpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXApIHJldHVybiB0cnVlXG5cdGlmICh1dGlsLnR5cGVzLmlzTWFwKHZhbHVlKSkgcmV0dXJuIHRydWVcblxuXHRyZXR1cm4gaXNPYmplY3QodmFsdWUpICYmIFN5bWJvbC50b1N0cmluZ1RhZyBpbiB2YWx1ZSAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTWFwJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBqYXZhU2NyaXB0VG9TYXNzVHlwZShyYXdWYWx1ZTogSmF2YVNjcmlwdFR5cGUpOiBTYXNzVHlwZSB7XG5cdHN3aXRjaCAodHJ1ZSkge1xuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ2Jvb2xlYW4nOiB7XG5cdFx0Y29uc3QgYm9vbGVhblZhbHVlID0gcmF3VmFsdWVcblxuXHRcdHJldHVybiBib29sZWFuVmFsdWUgPyBTYXNzVFJVRSA6IFNhc3NGQUxTRVxuXHR9XG5cblx0Y2FzZSB0eXBlb2YgcmF3VmFsdWUgPT09ICdudW1iZXInOiB7XG5cdFx0Y29uc3QgbnVtYmVyVmFsdWUgPSByYXdWYWx1ZVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzTnVtYmVyKG51bWJlclZhbHVlKVxuXHR9XG5cblx0Y2FzZSBpc09iamVjdChyYXdWYWx1ZSkgJiYgWyAndmFsdWUnLCAndW5pdCcgXS5ldmVyeShwcm9wZXJ0eUtleSA9PiBwcm9wZXJ0eUtleSBpbiByYXdWYWx1ZSk6IHtcblx0XHRjb25zdCB7IHZhbHVlLCB1bml0IH0gPSByYXdWYWx1ZSBhcyBOdW1iZXJXaXRoVW5pdFxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzTnVtYmVyKHZhbHVlLCB1bml0KVxuXHR9XG5cblx0Y2FzZSB0eXBlb2YgcmF3VmFsdWUgPT09ICdzdHJpbmcnOiB7XG5cdFx0Y29uc3Qgc3RyaW5nVmFsdWUgPSByYXdWYWx1ZVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzU3RyaW5nKHN0cmluZ1ZhbHVlKVxuXHR9XG5cblx0Y2FzZSBpc09iamVjdChyYXdWYWx1ZSkgJiYgWyAndmFsdWUnLCAncXVvdGVzJyBdLmV2ZXJ5KHByb3BlcnR5S2V5ID0+IHByb3BlcnR5S2V5IGluIHJhd1ZhbHVlKToge1xuXHRcdGNvbnN0IHsgdmFsdWU6IHN0cmluZ1ZhbHVlLCBxdW90ZXMgfSA9IHJhd1ZhbHVlIGFzIFN0cmluZ1dpdGhRdW90ZXNcblxuXHRcdHJldHVybiBuZXcgU2Fzc1N0cmluZyhzdHJpbmdWYWx1ZSwgeyBxdW90ZXMgfSlcblx0fVxuXG5cdGNhc2UgaXNPYmplY3QocmF3VmFsdWUpICYmICdfcmdiJyBpbiByYXdWYWx1ZToge1xuXHRcdGNvbnN0IFsgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgXSA9IHJhd1ZhbHVlLnJnYmEoKSBhcyBudW1iZXJbXVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzQ29sb3IoeyByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSB9KVxuXHR9XG5cblx0Y2FzZSBBcnJheS5pc0FycmF5KHJhd1ZhbHVlKToge1xuXHRcdHJldHVybiBuZXcgU2Fzc0xpc3QocmF3VmFsdWUubWFwKGphdmFTY3JpcHRUb1Nhc3NUeXBlKSlcblx0fVxuXG5cdGNhc2UgaXNNYXAocmF3VmFsdWUpOiB7XG5cdFx0Y29uc3QgbWFwVmFsdWUgPSByYXdWYWx1ZSBhcyBNYXA8SmF2YVNjcmlwdFR5cGUsIEphdmFTY3JpcHRUeXBlPlxuXG5cdFx0Y29uc3QgaXRlcmFibGUgPSBBcnJheS5mcm9tKG1hcFZhbHVlLmVudHJpZXMoKSlcblx0XHRcdC5tYXAoZW50cnkgPT4gKFxuXHRcdFx0XHRlbnRyeS5tYXAoamF2YVNjcmlwdFRvU2Fzc1R5cGUpIGFzIFsgU2Fzc1R5cGUsIFNhc3NUeXBlIF1cblx0XHRcdCkpXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NNYXAoSW1tdXRhYmxlLk9yZGVyZWRNYXAoaXRlcmFibGUpKVxuXHR9XG5cblx0ZGVmYXVsdDoge1xuXHRcdHJldHVybiBTYXNzTlVMTFxuXHR9XG5cdH1cbn1cbiIsIi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgeyBDdXN0b21GdW5jdGlvbiB9IGZyb20gJ3Nhc3MnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgdHlwZSB7IFNhc3NUeXBlLCBKYXZhU2NyaXB0VHlwZSB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzYXNzVG9KYXZhU2NyaXB0VHlwZSwgamF2YVNjcmlwdFRvU2Fzc1R5cGUgfSBmcm9tICcuL3R5cGUtY29udmVydGVyJ1xuXG4vLyBUeXBlIGRlZmluaXRpb25zLlxuaW50ZXJmYWNlIENvbnN0cnVjdG9yIHtcblx0bmV3ICguLi5hcmdzOiBhbnlbXSk6IG9iamVjdFxufVxuXG5pbnRlcmZhY2UgQnJpZGdlZEZ1bmN0aW9uIHtcblx0KHJhd0FyZ3M6IFNhc3NUeXBlW10pOiBQcm9taXNlPFNhc3NUeXBlPlxufVxuXG50eXBlIEJyaWRnZWRGdW5jdGlvbk1hcCA9IE1hcDxzdHJpbmcsIEJyaWRnZWRGdW5jdGlvbj5cblxuZXhwb3J0IGZ1bmN0aW9uIHNhc3NGdW5jdGlvbihzaWduYXR1cmU6IHN0cmluZykge1xuXHRyZXR1cm4gZnVuY3Rpb24gZGVjb3JhdGU8VGhpcywgQXJncyBleHRlbmRzIGFueVtdLCBSZXR1cm4gZXh0ZW5kcyBKYXZhU2NyaXB0VHlwZT4oXG5cdFx0dGFyZ2V0OiAodGhpczogVGhpcywgLi4uYXJnczogQXJncykgPT4gUmV0dXJuIHwgUHJvbWlzZTxSZXR1cm4+LFxuXHRcdGNvbnRleHQ6IENsYXNzTWV0aG9kRGVjb3JhdG9yQ29udGV4dDxUaGlzLCAodGhpczogVGhpcywgLi4uYXJnczogQXJncykgPT4gUmV0dXJuIHwgUHJvbWlzZTxSZXR1cm4+Pixcblx0KTogdm9pZCB7XG5cdFx0aWYgKGNvbnRleHQucHJpdmF0ZSkge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignTm90IHN1cHBvcnRlZCBvbiBwcml2YXRlIG1ldGhvZHMuJylcblx0XHR9XG5cblx0XHRpZiAoIWNvbnRleHQubWV0YWRhdGEuZnVuY3Rpb25NYXApIHtcblx0XHRcdGNvbnRleHQubWV0YWRhdGEuZnVuY3Rpb25NYXAgPSBuZXcgTWFwPHN0cmluZywgQnJpZGdlZEZ1bmN0aW9uPigpXG5cdFx0fVxuXG5cdFx0Y29uc3QgeyBmdW5jdGlvbk1hcCB9ID0gY29udGV4dC5tZXRhZGF0YSBhcyB7IGZ1bmN0aW9uTWFwOiBCcmlkZ2VkRnVuY3Rpb25NYXAgfVxuXG5cdFx0Y29udGV4dC5hZGRJbml0aWFsaXplcihmdW5jdGlvbiBpbml0aWFsaXplKHRoaXM6IFRoaXMpIHtcblx0XHRcdGNvbnN0IGJyaWRnZWRGdW5jdGlvbjogQnJpZGdlZEZ1bmN0aW9uID0gYXN5bmMgKHJhd0FyZ3M6IFNhc3NUeXBlW10pOiBQcm9taXNlPFNhc3NUeXBlPiA9PiB7XG5cdFx0XHRcdGNvbnN0IGFyZ3MgPSByYXdBcmdzLm1hcChzYXNzVG9KYXZhU2NyaXB0VHlwZSlcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKFJlZmxlY3QuYXBwbHkodGFyZ2V0LCB0aGlzLCBhcmdzKSkgYXMgSmF2YVNjcmlwdFR5cGVcblxuXHRcdFx0XHRyZXR1cm4gamF2YVNjcmlwdFRvU2Fzc1R5cGUocmVzdWx0KVxuXHRcdFx0fVxuXG5cdFx0XHRmdW5jdGlvbk1hcC5zZXQoc2lnbmF0dXJlLCBicmlkZ2VkRnVuY3Rpb24pXG5cdFx0fSlcblx0fVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnVuY3Rpb25zKFxuXHQuLi5tb2R1bGVJbXBvcnRzOiBQcm9taXNlPHsgZGVmYXVsdDogQ29uc3RydWN0b3IgfT5bXVxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBDdXN0b21GdW5jdGlvbjwnYXN5bmMnPj4+IHtcblx0Y29uc3QgbW9kdWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdG1vZHVsZUltcG9ydHMubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRtb2R1bGUudGhlbigoeyBkZWZhdWx0OiBNb2R1bGUgfSkgPT4gbmV3IE1vZHVsZSgpKVxuXHRcdCkpLFxuXHQpXG5cblx0Y29uc3QgZW50cmllcyA9IG1vZHVsZXNcblx0XHQubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRSZWZsZWN0LmdldFByb3RvdHlwZU9mKG1vZHVsZSk/LmNvbnN0cnVjdG9yPy5bU3ltYm9sLm1ldGFkYXRhXT8uZnVuY3Rpb25NYXAgYXMgQnJpZGdlZEZ1bmN0aW9uTWFwXG5cdFx0KSlcblx0XHQuZmlsdGVyKGZ1bmN0aW9uTWFwID0+ICEhZnVuY3Rpb25NYXApXG5cdFx0LmZsYXRNYXAoZnVuY3Rpb25NYXAgPT4gQXJyYXkuZnJvbShmdW5jdGlvbk1hcC5lbnRyaWVzKCkpKVxuXG5cdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoZW50cmllcylcbn1cbiJdLCJuYW1lcyI6WyJTYXNzVHlwZXMiLCJfT2JqZWN0JGZyb21FbnRyaWVzIiwiX21hcEluc3RhbmNlUHJvcGVydHkiLCJfY29udGV4dCIsIl9maWx0ZXJJbnN0YW5jZVByb3BlcnR5IiwiX2NvbnRleHQyIiwiX2NvbnRleHQzIiwiX2NvbnRleHQ0IiwiX2NvbnRleHQ1IiwiX09iamVjdCRrZXlzIiwic2FzcyIsImNhbGwiLCJwcm9wZXJ0eUtleSIsIl9zdGFydHNXaXRoSW5zdGFuY2VQcm9wZXJ0eSIsImNvbnN0cnVjdG9yIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaXNQcm90b3R5cGVPZiIsIlZhbHVlIiwibmFtZSIsIlNhc3NUUlVFIiwic2Fzc1RydWUiLCJTYXNzRkFMU0UiLCJzYXNzRmFsc2UiLCJTYXNzTlVMTCIsInNhc3NOdWxsIiwiU2Fzc051bWJlciIsIlNhc3NTdHJpbmciLCJTYXNzQ29sb3IiLCJTYXNzTGlzdCIsIlNhc3NNYXAiLCJTYXNzQm9vbGVhbiIsIl9PYmplY3QkZ2V0UHJvdG90eXBlT2YiLCJzYXNzVG9KYXZhU2NyaXB0VHlwZSIsInNhc3NWYWx1ZSIsInZhbHVlIiwidGV4dCIsIm51bWVyYXRvclVuaXRzIiwiZGVub21pbmF0b3JVbml0cyIsInVuaXQiLCJoYXNVbml0cyIsImpvaW4iLCJzaXplIiwic2Fzc0NvbG9yIiwidG9TcGFjZSIsImFscGhhIiwic3BhY2UiLCJjaGFubmVscyIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImNocm9tYSIsImxpc3RWYWx1ZSIsImFzTGlzdCIsImxlbmd0aCIsImFycmF5IiwiX2ZpbGxJbnN0YW5jZVByb3BlcnR5IiwiQXJyYXkiLCJ1bmRlZmluZWQiLCJpbmRleCIsImdldCIsIm1hcFZhbHVlIiwiY29udGVudHMiLCJlbnRyaWVzIiwiX0FycmF5JGZyb20iLCJfZW50cmllc0luc3RhbmNlUHJvcGVydHkiLCJrZXkiLCJfTWFwIiwiaXNPYmplY3QiLCJ0eXBlIiwiaXNNYXAiLCJ1dGlsIiwidHlwZXMiLCJfU3ltYm9sJHRvU3RyaW5nVGFnIiwiamF2YVNjcmlwdFRvU2Fzc1R5cGUiLCJyYXdWYWx1ZSIsImJvb2xlYW5WYWx1ZSIsIm51bWJlclZhbHVlIiwiX2V2ZXJ5SW5zdGFuY2VQcm9wZXJ0eSIsInN0cmluZ1ZhbHVlIiwicXVvdGVzIiwicmVkIiwiZ3JlZW4iLCJibHVlIiwicmdiYSIsIl9BcnJheSRpc0FycmF5IiwiaXRlcmFibGUiLCJlbnRyeSIsIkltbXV0YWJsZSIsIk9yZGVyZWRNYXAiLCJzYXNzRnVuY3Rpb24iLCJzaWduYXR1cmUiLCJkZWNvcmF0ZSIsInRhcmdldCIsImNvbnRleHQiLCJwcml2YXRlIiwiVHlwZUVycm9yIiwibWV0YWRhdGEiLCJmdW5jdGlvbk1hcCIsImFkZEluaXRpYWxpemVyIiwiaW5pdGlhbGl6ZSIsImJyaWRnZWRGdW5jdGlvbiIsInJhd0FyZ3MiLCJhcmdzIiwicmVzdWx0IiwiX1Byb21pc2UiLCJyZXNvbHZlIiwiX1JlZmxlY3QkYXBwbHkiLCJzZXQiLCJnZXRGdW5jdGlvbnMiLCJtb2R1bGVJbXBvcnRzIiwibW9kdWxlcyIsImFsbCIsIm1vZHVsZSIsInRoZW4iLCJkZWZhdWx0IiwiTW9kdWxlIiwiX2ZsYXRNYXBJbnN0YW5jZVByb3BlcnR5IiwiX1JlZmxlY3QkZ2V0UHJvdG90eXBlT2YiLCJfU3ltYm9sJG1ldGFkYXRhIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBOztBQWdCQSxNQUFNQSxTQUFTLEdBQUdDLG1CQUFBLENBQ2pCQyxvQkFBQSxDQUFBQyxRQUFBLEdBQUFDLHVCQUFBLENBQUFDLFNBQUEsR0FBQUQsdUJBQUEsQ0FBQUUsU0FBQSxHQUFBSixvQkFBQSxDQUFBSyxTQUFBLEdBQUFILHVCQUFBLENBQUFJLFNBQUEsR0FBQUMsWUFBQSxDQUFZQyxlQUFJLENBQUMsQ0FBQSxDQUFBQyxJQUFBLENBQUFILFNBQUEsRUFDUkksV0FBVyxJQUFJQywyQkFBQSxDQUFBRCxXQUFXLENBQUFELENBQUFBLElBQUEsQ0FBWEMsV0FBVyxFQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQUQsSUFBQSxDQUFBSixTQUFBLEVBQ2pESyxXQUFXLElBQUlGLGVBQUksQ0FBQ0UsV0FBVyxDQUFjLENBQUMsQ0FBQSxDQUFBRCxJQUFBLENBQUFMLFNBQUEsRUFDM0NRLFdBQVcsSUFBSSxPQUFPQSxXQUFXLEtBQUssVUFBVSxDQUFD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
237
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwic291cmNlcyI6WyIuLi9zb3VyY2VzL3R5cGVzLnRzIiwiLi4vc291cmNlcy90eXBlLWNvbnZlcnRlci9zYXNzLXRvLWphdmFzY3JpcHQudHMiLCIuLi9zb3VyY2VzL3R5cGUtY29udmVydGVyL2phdmFzY3JpcHQtdG8tc2Fzcy50cyIsIi4uL3NvdXJjZXMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB0eXBlIHsgQ29sb3IgfSBmcm9tICdjaHJvbWEtanMnXG5pbXBvcnQgKiBhcyBzYXNzIGZyb20gJ3Nhc3MnXG5cbi8vIFR5cGUgZGVmaW5pdGlvbnMuXG5leHBvcnQgdHlwZSBQcmltaXRpdmVzID0gYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB8IG51bGxcblxuZXhwb3J0IHR5cGUgTnVtYmVyV2l0aFVuaXQgPSB7IHZhbHVlOiBudW1iZXIsIHVuaXQ6IHN0cmluZyB9XG5cbmV4cG9ydCB0eXBlIFN0cmluZ1dpdGhRdW90ZXMgPSB7IHZhbHVlOiBzdHJpbmcsIHF1b3RlczogYm9vbGVhbiB9XG5cbmV4cG9ydCB0eXBlIEphdmFTY3JpcHRUeXBlPEJhc2UgPSBQcmltaXRpdmVzIHwgQ29sb3IgfCBOdW1iZXJXaXRoVW5pdCB8IFN0cmluZ1dpdGhRdW90ZXM+ID1cblx0fCBCYXNlXG5cdHwgSmF2YVNjcmlwdFR5cGU8QmFzZT5bXVxuXHR8IE1hcDxKYXZhU2NyaXB0VHlwZTxCYXNlPiwgSmF2YVNjcmlwdFR5cGU8QmFzZT4+XG5cbmV4cG9ydCBjb25zdCBTYXNzVFJVRSA9IHNhc3Muc2Fzc1RydWVcbmV4cG9ydCB0eXBlIFNhc3NUUlVFID0gdHlwZW9mIFNhc3NUUlVFXG5cbmV4cG9ydCBjb25zdCBTYXNzRkFMU0UgPSBzYXNzLnNhc3NGYWxzZVxuZXhwb3J0IHR5cGUgU2Fzc0ZBTFNFID0gdHlwZW9mIFNhc3NGQUxTRVxuXG5leHBvcnQgY29uc3QgU2Fzc05VTEwgPSBzYXNzLnNhc3NOdWxsXG5leHBvcnQgdHlwZSBTYXNzTlVMTCA9IHR5cGVvZiBTYXNzTlVMTFxuXG5leHBvcnQgY29uc3QgeyBTYXNzTnVtYmVyIH0gPSBzYXNzXG5leHBvcnQgdHlwZSBTYXNzTnVtYmVyID0gc2Fzcy5TYXNzTnVtYmVyXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NTdHJpbmcgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NTdHJpbmcgPSBzYXNzLlNhc3NTdHJpbmdcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc0NvbG9yIH0gPSBzYXNzXG5leHBvcnQgdHlwZSBTYXNzQ29sb3IgPSBzYXNzLlNhc3NDb2xvclxuXG5leHBvcnQgY29uc3QgeyBTYXNzTGlzdCB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc0xpc3QgPSBzYXNzLlNhc3NMaXN0XG5cbmV4cG9ydCBjb25zdCB7IFNhc3NNYXAgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NNYXAgPSBzYXNzLlNhc3NNYXBcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc0Jvb2xlYW4gfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NCb29sZWFuID0gc2Fzcy5TYXNzQm9vbGVhblxuXG5leHBvcnQgeyBWYWx1ZSBhcyBTYXNzVHlwZSB9IGZyb20gJ3Nhc3MnXG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IGNocm9tYSBmcm9tICdjaHJvbWEtanMnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQge1xuXHR0eXBlIEphdmFTY3JpcHRUeXBlLFxuXHR0eXBlIFNhc3NUeXBlLFxuXHRTYXNzQm9vbGVhbixcblx0U2Fzc051bWJlcixcblx0U2Fzc1N0cmluZyxcblx0U2Fzc0NvbG9yLFxuXHRTYXNzTGlzdCxcblx0U2Fzc01hcCxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNhc3NUb0phdmFTY3JpcHRUeXBlKHNhc3NWYWx1ZTogU2Fzc1R5cGUpOiBKYXZhU2NyaXB0VHlwZSB7XG5cdHN3aXRjaCAodHJ1ZSkge1xuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NCb29sZWFuOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS52YWx1ZVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzU3RyaW5nOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS50ZXh0XG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NOdW1iZXI6IHtcblx0XHRjb25zdCB7IHZhbHVlLCBudW1lcmF0b3JVbml0cywgZGVub21pbmF0b3JVbml0cyB9ID0gc2Fzc1ZhbHVlXG5cblx0XHRjb25zdCB1bml0ID0gc2Fzc1ZhbHVlLmhhc1VuaXRzXG5cdFx0XHQ/IG51bWVyYXRvclVuaXRzLmpvaW4oJyonKSArIChkZW5vbWluYXRvclVuaXRzLnNpemUgPiAwID8gYC8ke2Rlbm9taW5hdG9yVW5pdHMuam9pbignKicpfWAgOiAnJylcblx0XHRcdDogJydcblxuXHRcdHJldHVybiB1bml0ID8geyB2YWx1ZSwgdW5pdCB9IDogdmFsdWVcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0NvbG9yOiB7XG5cdFx0Y29uc3Qgc2Fzc0NvbG9yID0gc2Fzc1ZhbHVlLnRvU3BhY2UoJ3JnYicpXG5cdFx0Y29uc3QgeyBhbHBoYSwgc3BhY2UgfSA9IHNhc3NDb2xvclxuXHRcdGNvbnN0IGNoYW5uZWxzID0gWyAuLi5zYXNzQ29sb3IuY2hhbm5lbHMgXSBhcyBbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdXG5cblx0XHRpZiAoYWxwaGEpIHtcblx0XHRcdGNoYW5uZWxzLnB1c2goYWxwaGEpXG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNocm9tYSguLi5jaGFubmVscywgc3BhY2UgYXMgJ3JnYicpXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NMaXN0OiB7XG5cdFx0Y29uc3QgbGlzdFZhbHVlID0gc2Fzc1ZhbHVlLmFzTGlzdFxuXHRcdGNvbnN0IGxlbmd0aCA9IGxpc3RWYWx1ZS5zaXplXG5cdFx0Y29uc3QgYXJyYXkgPSBBcnJheShsZW5ndGgpLmZpbGwodW5kZWZpbmVkKSBhcyBTYXNzVHlwZVtdXG5cblx0XHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG5cdFx0XHRhcnJheVtpbmRleF0gPSBsaXN0VmFsdWUuZ2V0KGluZGV4KSBhcyBTYXNzVHlwZVxuXHRcdH1cblxuXHRcdHJldHVybiBhcnJheS5tYXAodmFsdWUgPT4gc2Fzc1RvSmF2YVNjcmlwdFR5cGUodmFsdWUpKVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzTWFwOiB7XG5cdFx0Y29uc3QgbWFwVmFsdWUgPSBzYXNzVmFsdWUuY29udGVudHNcblxuXHRcdGNvbnN0IGVudHJpZXMgPSBBcnJheS5mcm9tKG1hcFZhbHVlLmVudHJpZXMoKSlcblx0XHRcdC5tYXAoKFsga2V5LCB2YWx1ZSBdKSA9PiBbIHNhc3NUb0phdmFTY3JpcHRUeXBlKGtleSksIHNhc3NUb0phdmFTY3JpcHRUeXBlKHZhbHVlKSBdKVxuXG5cdFx0cmV0dXJuIG5ldyBNYXAoZW50cmllcyBhcyBbSmF2YVNjcmlwdFR5cGUsIEphdmFTY3JpcHRUeXBlXVtdKVxuXHR9XG5cblx0ZGVmYXVsdDoge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0fVxufVxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHV0aWwgZnJvbSAndXRpbCdcblxuLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCBJbW11dGFibGUgZnJvbSAnaW1tdXRhYmxlJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHtcblx0dHlwZSBOdW1iZXJXaXRoVW5pdCxcblx0dHlwZSBTdHJpbmdXaXRoUXVvdGVzLFxuXHR0eXBlIEphdmFTY3JpcHRUeXBlLFxuXHR0eXBlIFNhc3NUeXBlLFxuXHRTYXNzTnVtYmVyLFxuXHRTYXNzU3RyaW5nLFxuXHRTYXNzQ29sb3IsXG5cdFNhc3NMaXN0LFxuXHRTYXNzTWFwLFxuXHRTYXNzVFJVRSxcblx0U2Fzc0ZBTFNFLFxuXHRTYXNzTlVMTCxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vIEhlbHBlciBmdW5jdGlvbnMuXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZT86IHVua25vd24pOiB2YWx1ZSBpcyBvYmplY3Qge1xuXHRjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlXG5cblx0cmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5jdGlvbicpXG59XG5cbmZ1bmN0aW9uIGlzTWFwKHZhbHVlPzogdW5rbm93bik6IHZhbHVlIGlzIE1hcDx1bmtub3duLCB1bmtub3duPiB7XG5cdGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkgcmV0dXJuIHRydWVcblx0aWYgKHV0aWwudHlwZXMuaXNNYXAodmFsdWUpKSByZXR1cm4gdHJ1ZVxuXG5cdHJldHVybiBpc09iamVjdCh2YWx1ZSkgJiYgU3ltYm9sLnRvU3RyaW5nVGFnIGluIHZhbHVlICYmIHZhbHVlW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdNYXAnXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGphdmFTY3JpcHRUb1Nhc3NUeXBlKHJhd1ZhbHVlOiBKYXZhU2NyaXB0VHlwZSk6IFNhc3NUeXBlIHtcblx0c3dpdGNoICh0cnVlKSB7XG5cdGNhc2UgdHlwZW9mIHJhd1ZhbHVlID09PSAnYm9vbGVhbic6IHtcblx0XHRjb25zdCBib29sZWFuVmFsdWUgPSByYXdWYWx1ZVxuXG5cdFx0cmV0dXJuIGJvb2xlYW5WYWx1ZSA/IFNhc3NUUlVFIDogU2Fzc0ZBTFNFXG5cdH1cblxuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ251bWJlcic6IHtcblx0XHRjb25zdCBudW1iZXJWYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NOdW1iZXIobnVtYmVyVmFsdWUpXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiBbICd2YWx1ZScsICd1bml0JyBdLmV2ZXJ5KHByb3BlcnR5S2V5ID0+IHByb3BlcnR5S2V5IGluIHJhd1ZhbHVlKToge1xuXHRcdGNvbnN0IHsgdmFsdWUsIHVuaXQgfSA9IHJhd1ZhbHVlIGFzIE51bWJlcldpdGhVbml0XG5cblx0XHRyZXR1cm4gbmV3IFNhc3NOdW1iZXIodmFsdWUsIHVuaXQpXG5cdH1cblxuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ3N0cmluZyc6IHtcblx0XHRjb25zdCBzdHJpbmdWYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NTdHJpbmcoc3RyaW5nVmFsdWUpXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiBbICd2YWx1ZScsICdxdW90ZXMnIF0uZXZlcnkocHJvcGVydHlLZXkgPT4gcHJvcGVydHlLZXkgaW4gcmF3VmFsdWUpOiB7XG5cdFx0Y29uc3QgeyB2YWx1ZTogc3RyaW5nVmFsdWUsIHF1b3RlcyB9ID0gcmF3VmFsdWUgYXMgU3RyaW5nV2l0aFF1b3Rlc1xuXG5cdFx0cmV0dXJuIG5ldyBTYXNzU3RyaW5nKHN0cmluZ1ZhbHVlLCB7IHF1b3RlcyB9KVxuXHR9XG5cblx0Y2FzZSBpc09iamVjdChyYXdWYWx1ZSkgJiYgJ19yZ2InIGluIHJhd1ZhbHVlOiB7XG5cdFx0Y29uc3QgWyByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSBdID0gcmF3VmFsdWUucmdiYSgpIGFzIG51bWJlcltdXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NDb2xvcih7IHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIH0pXG5cdH1cblxuXHRjYXNlIEFycmF5LmlzQXJyYXkocmF3VmFsdWUpOiB7XG5cdFx0cmV0dXJuIG5ldyBTYXNzTGlzdChyYXdWYWx1ZS5tYXAoamF2YVNjcmlwdFRvU2Fzc1R5cGUpKVxuXHR9XG5cblx0Y2FzZSBpc01hcChyYXdWYWx1ZSk6IHtcblx0XHRjb25zdCBtYXBWYWx1ZSA9IHJhd1ZhbHVlIGFzIE1hcDxKYXZhU2NyaXB0VHlwZSwgSmF2YVNjcmlwdFR5cGU+XG5cblx0XHRjb25zdCBpdGVyYWJsZSA9IEFycmF5LmZyb20obWFwVmFsdWUuZW50cmllcygpKVxuXHRcdFx0Lm1hcChlbnRyeSA9PiAoXG5cdFx0XHRcdGVudHJ5Lm1hcChqYXZhU2NyaXB0VG9TYXNzVHlwZSkgYXMgWyBTYXNzVHlwZSwgU2Fzc1R5cGUgXVxuXHRcdFx0KSlcblxuXHRcdHJldHVybiBuZXcgU2Fzc01hcChJbW11dGFibGUuT3JkZXJlZE1hcChpdGVyYWJsZSkpXG5cdH1cblxuXHRkZWZhdWx0OiB7XG5cdFx0cmV0dXJuIFNhc3NOVUxMXG5cdH1cblx0fVxufVxuIiwiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB0eXBlIHsgQ3VzdG9tRnVuY3Rpb24gfSBmcm9tICdzYXNzJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHR5cGUgeyBTYXNzVHlwZSwgSmF2YVNjcmlwdFR5cGUgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2Fzc1RvSmF2YVNjcmlwdFR5cGUsIGphdmFTY3JpcHRUb1Nhc3NUeXBlIH0gZnJvbSAnLi90eXBlLWNvbnZlcnRlcidcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmludGVyZmFjZSBDb25zdHJ1Y3RvciB7XG5cdG5ldyAoLi4uYXJnczogYW55W10pOiBvYmplY3Rcbn1cblxuaW50ZXJmYWNlIEJyaWRnZWRGdW5jdGlvbiB7XG5cdChyYXdBcmdzOiBTYXNzVHlwZVtdKTogUHJvbWlzZTxTYXNzVHlwZT5cbn1cblxudHlwZSBCcmlkZ2VkRnVuY3Rpb25NYXAgPSBNYXA8c3RyaW5nLCBCcmlkZ2VkRnVuY3Rpb24+XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXNzRnVuY3Rpb24oc2lnbmF0dXJlOiBzdHJpbmcpIHtcblx0cmV0dXJuIGZ1bmN0aW9uIGRlY29yYXRlPFRoaXMsIEFyZ3MgZXh0ZW5kcyBhbnlbXSwgUmV0dXJuIGV4dGVuZHMgSmF2YVNjcmlwdFR5cGU+KFxuXHRcdHRhcmdldDogKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybiB8IFByb21pc2U8UmV0dXJuPixcblx0XHRjb250ZXh0OiBDbGFzc01ldGhvZERlY29yYXRvckNvbnRleHQ8VGhpcywgKHRoaXM6IFRoaXMsIC4uLmFyZ3M6IEFyZ3MpID0+IFJldHVybiB8IFByb21pc2U8UmV0dXJuPj4sXG5cdCk6IHZvaWQge1xuXHRcdGlmIChjb250ZXh0LnByaXZhdGUpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ05vdCBzdXBwb3J0ZWQgb24gcHJpdmF0ZSBtZXRob2RzLicpXG5cdFx0fVxuXG5cdFx0Y29udGV4dC5tZXRhZGF0YS5mdW5jdGlvbk1hcCA/Pz0gbmV3IE1hcDxzdHJpbmcsIEJyaWRnZWRGdW5jdGlvbj4oKVxuXG5cdFx0Y29uc3QgeyBmdW5jdGlvbk1hcCB9ID0gY29udGV4dC5tZXRhZGF0YSBhcyB7IGZ1bmN0aW9uTWFwOiBCcmlkZ2VkRnVuY3Rpb25NYXAgfVxuXG5cdFx0Y29udGV4dC5hZGRJbml0aWFsaXplcihmdW5jdGlvbiBpbml0aWFsaXplKHRoaXM6IFRoaXMpIHtcblx0XHRcdGNvbnN0IGJyaWRnZWRGdW5jdGlvbjogQnJpZGdlZEZ1bmN0aW9uID0gYXN5bmMgKHJhd0FyZ3M6IFNhc3NUeXBlW10pOiBQcm9taXNlPFNhc3NUeXBlPiA9PiB7XG5cdFx0XHRcdGNvbnN0IGFyZ3MgPSByYXdBcmdzLm1hcChzYXNzVG9KYXZhU2NyaXB0VHlwZSlcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKFJlZmxlY3QuYXBwbHkodGFyZ2V0LCB0aGlzLCBhcmdzKSkgYXMgSmF2YVNjcmlwdFR5cGVcblxuXHRcdFx0XHRyZXR1cm4gamF2YVNjcmlwdFRvU2Fzc1R5cGUocmVzdWx0KVxuXHRcdFx0fVxuXG5cdFx0XHRmdW5jdGlvbk1hcC5zZXQoc2lnbmF0dXJlLCBicmlkZ2VkRnVuY3Rpb24pXG5cdFx0fSlcblx0fVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnVuY3Rpb25zKFxuXHQuLi5tb2R1bGVJbXBvcnRzOiBQcm9taXNlPHsgZGVmYXVsdDogQ29uc3RydWN0b3IgfT5bXVxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBDdXN0b21GdW5jdGlvbjwnYXN5bmMnPj4+IHtcblx0Y29uc3QgbW9kdWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdG1vZHVsZUltcG9ydHMubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRtb2R1bGUudGhlbigoeyBkZWZhdWx0OiBNb2R1bGUgfSkgPT4gbmV3IE1vZHVsZSgpKVxuXHRcdCkpLFxuXHQpXG5cblx0Y29uc3QgZW50cmllcyA9IG1vZHVsZXNcblx0XHQubWFwKG1vZHVsZSA9PiAoXG5cdFx0XHRSZWZsZWN0LmdldFByb3RvdHlwZU9mKG1vZHVsZSk/LmNvbnN0cnVjdG9yPy5bU3ltYm9sLm1ldGFkYXRhXT8uZnVuY3Rpb25NYXAgYXMgQnJpZGdlZEZ1bmN0aW9uTWFwXG5cdFx0KSlcblx0XHQuZmlsdGVyKGZ1bmN0aW9uTWFwID0+ICEhZnVuY3Rpb25NYXApXG5cdFx0LmZsYXRNYXAoZnVuY3Rpb25NYXAgPT4gQXJyYXkuZnJvbShmdW5jdGlvbk1hcC5lbnRyaWVzKCkpKVxuXG5cdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoZW50cmllcylcbn1cbiJdLCJuYW1lcyI6WyJTYXNzVFJVRSIsInNhc3MiLCJzYXNzVHJ1ZSIsIlNhc3NGQUxTRSIsInNhc3NGYWxzZSIsIlNhc3NOVUxMIiwic2Fzc051bGwiLCJTYXNzTnVtYmVyIiwiU2Fzc1N0cmluZyIsIlNhc3NDb2xvciIsIlNhc3NMaXN0IiwiU2Fzc01hcCIsIlNhc3NCb29sZWFuIiwic2Fzc1RvSmF2YVNjcmlwdFR5cGUiLCJzYXNzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJudW1lcmF0b3JVbml0cyIsImRlbm9taW5hdG9yVW5pdHMiLCJ1bml0IiwiaGFzVW5pdHMiLCJqb2luIiwic2l6ZSIsInNhc3NDb2xvciIsInRvU3BhY2UiLCJhbHBoYSIsInNwYWNlIiwiY2hhbm5lbHMiLCJfcHVzaEluc3RhbmNlUHJvcGVydHkiLCJjYWxsIiwiY2hyb21hIiwiX2NvbnRleHQiLCJsaXN0VmFsdWUiLCJhc0xpc3QiLCJsZW5ndGgiLCJhcnJheSIsIl9maWxsSW5zdGFuY2VQcm9wZXJ0eSIsIkFycmF5IiwidW5kZWZpbmVkIiwiaW5kZXgiLCJnZXQiLCJfbWFwSW5zdGFuY2VQcm9wZXJ0eSIsIl9jb250ZXh0MiIsIm1hcFZhbHVlIiwiY29udGVudHMiLCJlbnRyaWVzIiwiX0FycmF5JGZyb20iLCJfZW50cmllc0luc3RhbmNlUHJvcGVydHkiLCJrZXkiLCJfTWFwIiwiaXNPYmplY3QiLCJ0eXBlIiwiaXNNYXAiLCJ1dGlsIiwidHlwZXMiLCJfU3ltYm9sJHRvU3RyaW5nVGFnIiwiamF2YVNjcmlwdFRvU2Fzc1R5cGUiLCJyYXdWYWx1ZSIsImJvb2xlYW5WYWx1ZSIsIm51bWJlclZhbHVlIiwiX2V2ZXJ5SW5zdGFuY2VQcm9wZXJ0eSIsInByb3BlcnR5S2V5Iiwic3RyaW5nVmFsdWUiLCJxdW90ZXMiLCJyZWQiLCJncmVlbiIsImJsdWUiLCJyZ2JhIiwiX0FycmF5JGlzQXJyYXkiLCJfY29udGV4dDMiLCJpdGVyYWJsZSIsImVudHJ5IiwiSW1tdXRhYmxlIiwiT3JkZXJlZE1hcCIsInNhc3NGdW5jdGlvbiIsInNpZ25hdHVyZSIsImRlY29yYXRlIiwidGFyZ2V0IiwiY29udGV4dCIsInByaXZhdGUiLCJUeXBlRXJyb3IiLCJtZXRhZGF0YSIsImZ1bmN0aW9uTWFwIiwiYWRkSW5pdGlhbGl6ZXIiLCJpbml0aWFsaXplIiwiYnJpZGdlZEZ1bmN0aW9uIiwicmF3QXJncyIsImFyZ3MiLCJyZXN1bHQiLCJfUHJvbWlzZSIsInJlc29sdmUiLCJfUmVmbGVjdCRhcHBseSIsInNldCIsImdldEZ1bmN0aW9ucyIsIm1vZHVsZUltcG9ydHMiLCJtb2R1bGVzIiwiYWxsIiwibW9kdWxlIiwidGhlbiIsImRlZmF1bHQiLCJNb2R1bGUiLCJfZmxhdE1hcEluc3RhbmNlUHJvcGVydHkiLCJfZmlsdGVySW5zdGFuY2VQcm9wZXJ0eSIsIl9SZWZsZWN0JGdldFByb3RvdHlwZU9mIiwiY29uc3RydWN0b3IiLCJfU3ltYm9sJG1ldGFkYXRhIiwiX09iamVjdCRmcm9tRW50cmllcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7OztBQUlBOztBQVlPLE1BQU1BLFFBQVEsR0FBR0MsZUFBSSxDQUFDQyxRQUFRO0FBRzlCLE1BQU1DLFNBQVMsR0FBR0YsZUFBSSxDQUFDRyxTQUFTO0FBR2hDLE1BQU1DLFFBQVEsR0FBR0osZUFBSSxDQUFDSyxRQUFRO0FBRzlCLE1BQU07QUFBRUMsRUFBQUE7QUFBVyxDQUFDLEdBQUdOLGVBQUk7QUFHM0IsTUFBTTtBQUFFTyxFQUFBQTtBQUFXLENBQUMsR0FBR1AsZUFBSTtBQUczQixNQUFNO0FBQUVRLEVBQUFBO0FBQVUsQ0FBQyxHQUFHUixlQUFJO0FBRzFCLE1BQU07QUFBRVMsRUFBQUE7QUFBUyxDQUFDLEdBQUdULGVBQUk7QUFHekIsTUFBTTtBQUFFVSxFQUFBQTtBQUFRLENBQUMsR0FBR1YsZUFBSTtBQUd4QixNQUFNO0FBQUVXLEVBQUFBO0FBQVksQ0FBQyxHQUFHWCxlQUFJOztBQ3pCcEIsU0FBU1ksb0JBQW9CQSxDQUFDQyxTQUFtQixFQUFrQjtBQUNqRixFQUFBLFFBQVEsSUFBSTtJQUNaLEtBQUtBLFNBQVMsWUFBWUYsV0FBVztBQUFFLE1BQUE7UUFDdEMsT0FBT0UsU0FBUyxDQUFDQyxLQUFLO0FBQ3ZCLE1BQUE7SUFFQSxLQUFLRCxTQUFTLFlBQVlOLFVBQVU7QUFBRSxNQUFBO1FBQ3JDLE9BQU9NLFNBQVMsQ0FBQ0UsSUFBSTtBQUN0QixNQUFBO0lBRUEsS0FBS0YsU0FBUyxZQUFZUCxVQUFVO0FBQUUsTUFBQTtRQUNyQyxNQUFNO1VBQUVRLEtBQUs7VUFBRUUsY0FBYztBQUFFQyxVQUFBQTtBQUFpQixTQUFDLEdBQUdKLFNBQVM7QUFFN0QsUUFBQSxNQUFNSyxJQUFJLEdBQUdM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
package/dists/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Color } from 'chroma-js';
2
- import { CustomFunction } from 'sass';
2
+ import type { CustomFunction } from 'sass';
3
3
 
4
4
  declare interface Constructor {
5
5
  new (...args: any[]): object;
package/dists/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Color } from 'chroma-js';
2
- import { CustomFunction } from 'sass';
2
+ import type { CustomFunction } from 'sass';
3
3
 
4
4
  declare interface Constructor {
5
5
  new (...args: any[]): object;
package/dists/index.js CHANGED
@@ -12,41 +12,39 @@ import _Object$fromEntries from 'core-js-pure/features/object/from-entries.js';
12
12
  import _pushInstanceProperty from 'core-js-pure/features/instance/push.js';
13
13
  import _fillInstanceProperty from 'core-js-pure/features/instance/fill.js';
14
14
  import chroma from 'chroma-js';
15
- import _Object$keys from 'core-js-pure/features/object/keys.js';
16
- import _startsWithInstanceProperty from 'core-js-pure/features/instance/starts-with.js';
17
- import _Object$getPrototypeOf from 'core-js-pure/features/object/get-prototype-of.js';
18
15
  import * as sass from 'sass';
19
- import { Value } from 'sass';
20
16
  import _Symbol$toStringTag from 'core-js-pure/features/symbol/to-string-tag.js';
21
17
  import _everyInstanceProperty from 'core-js-pure/features/instance/every.js';
22
18
  import _Array$isArray from 'core-js-pure/features/array/is-array.js';
23
19
  import util from 'util';
24
20
  import Immutable from 'immutable';
25
21
 
26
- var _context, _context2, _context3, _context4, _context5;
22
+ // Third-party modules.
23
+
27
24
 
28
25
  // Type definitions.
29
26
 
30
- const SassTypes = _Object$fromEntries(_mapInstanceProperty(_context = _filterInstanceProperty(_context2 = _filterInstanceProperty(_context3 = _mapInstanceProperty(_context4 = _filterInstanceProperty(_context5 = _Object$keys(sass)).call(_context5, propertyKey => _startsWithInstanceProperty(propertyKey).call(propertyKey, 'Sass'))).call(_context4, propertyKey => sass[propertyKey])).call(_context3, constructor => typeof constructor === 'function')).call(_context2, constructor => Object.prototype.isPrototypeOf.call(Value.prototype, constructor.prototype))).call(_context, constructor => [constructor.name, constructor]));
31
27
  const SassTRUE = sass.sassTrue;
32
28
  const SassFALSE = sass.sassFalse;
33
29
  const SassNULL = sass.sassNull;
34
30
  const {
35
31
  SassNumber
36
- } = SassTypes;
32
+ } = sass;
37
33
  const {
38
34
  SassString
39
- } = SassTypes;
35
+ } = sass;
40
36
  const {
41
37
  SassColor
42
- } = SassTypes;
38
+ } = sass;
43
39
  const {
44
40
  SassList
45
- } = SassTypes;
41
+ } = sass;
46
42
  const {
47
43
  SassMap
48
- } = SassTypes;
49
- const SassBoolean = _Object$getPrototypeOf(SassTRUE).constructor;
44
+ } = sass;
45
+ const {
46
+ SassBoolean
47
+ } = sass;
50
48
 
51
49
  function sassToJavaScriptType(sassValue) {
52
50
  switch (true) {
@@ -190,9 +188,7 @@ function sassFunction(signature) {
190
188
  if (context.private) {
191
189
  throw new TypeError('Not supported on private methods.');
192
190
  }
193
- if (!context.metadata.functionMap) {
194
- context.metadata.functionMap = new _Map();
195
- }
191
+ context.metadata.functionMap ??= new _Map();
196
192
  const {
197
193
  functionMap
198
194
  } = context.metadata;
@@ -216,4 +212,4 @@ async function getFunctions(...moduleImports) {
216
212
  }
217
213
 
218
214
  export { getFunctions, sassFunction };
219
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZXMvdHlwZXMudHMiLCIuLi9zb3VyY2VzL3R5cGUtY29udmVydGVyL3Nhc3MtdG8tamF2YXNjcmlwdC50cyIsIi4uL3NvdXJjZXMvdHlwZS1jb252ZXJ0ZXIvamF2YXNjcmlwdC10by1zYXNzLnRzIiwiLi4vc291cmNlcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJ2Nocm9tYS1qcydcbmltcG9ydCAqIGFzIHNhc3MgZnJvbSAnc2FzcydcbmltcG9ydCB7IFZhbHVlIH0gZnJvbSAnc2FzcydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmV4cG9ydCB0eXBlIFByaW1pdGl2ZXMgPSBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuXG5leHBvcnQgdHlwZSBOdW1iZXJXaXRoVW5pdCA9IHsgdmFsdWU6IG51bWJlciwgdW5pdDogc3RyaW5nIH1cblxuZXhwb3J0IHR5cGUgU3RyaW5nV2l0aFF1b3RlcyA9IHsgdmFsdWU6IHN0cmluZywgcXVvdGVzOiBib29sZWFuIH1cblxuZXhwb3J0IHR5cGUgSmF2YVNjcmlwdFR5cGU8QmFzZSA9IFByaW1pdGl2ZXMgfCBDb2xvciB8IE51bWJlcldpdGhVbml0IHwgU3RyaW5nV2l0aFF1b3Rlcz4gPVxuXHR8IEJhc2Vcblx0fCBKYXZhU2NyaXB0VHlwZTxCYXNlPltdXG5cdHwgTWFwPEphdmFTY3JpcHRUeXBlPEJhc2U+LCBKYXZhU2NyaXB0VHlwZTxCYXNlPj5cblxudHlwZSBGaWx0ZXJTYXNzUHJlZml4PFQgZXh0ZW5kcyBzdHJpbmc+ID0gVCBleHRlbmRzIGBTYXNzJHtpbmZlciBSfWAgPyBSIDogbmV2ZXJcblxudHlwZSBTYXNzVHlwZXMgPSBFeGNsdWRlPGBTYXNzJHtGaWx0ZXJTYXNzUHJlZml4PGtleW9mIHR5cGVvZiBzYXNzPn1gLCBgU2FzcyR7J0Jvb2xlYW4nIHwgJ0NhbGN1bGF0aW9uJ31gPlxuXG5jb25zdCBTYXNzVHlwZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG5cdE9iamVjdC5rZXlzKHNhc3MpXG5cdFx0LmZpbHRlcihwcm9wZXJ0eUtleSA9PiBwcm9wZXJ0eUtleS5zdGFydHNXaXRoKCdTYXNzJykpXG5cdFx0Lm1hcChwcm9wZXJ0eUtleSA9PiBzYXNzW3Byb3BlcnR5S2V5IGFzIFNhc3NUeXBlc10pXG5cdFx0LmZpbHRlcihjb25zdHJ1Y3RvciA9PiB0eXBlb2YgY29uc3RydWN0b3IgPT09ICdmdW5jdGlvbicpXG5cdFx0LmZpbHRlcihjb25zdHJ1Y3RvciA9PiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChWYWx1ZS5wcm90b3R5cGUsIGNvbnN0cnVjdG9yLnByb3RvdHlwZSkpXG5cdFx0Lm1hcChjb25zdHJ1Y3RvciA9PiBbIGNvbnN0cnVjdG9yLm5hbWUsIGNvbnN0cnVjdG9yIF0gYXMgW1Nhc3NUeXBlcywgKHR5cGVvZiBzYXNzKVtTYXNzVHlwZXNdXSksXG4pIGFzIHsgW1AgaW4gU2Fzc1R5cGVzXTogKHR5cGVvZiBzYXNzKVtQXSB9XG5cbmV4cG9ydCBjb25zdCBTYXNzVFJVRSA9IHNhc3Muc2Fzc1RydWVcbmV4cG9ydCB0eXBlIFNhc3NUUlVFID0gdHlwZW9mIFNhc3NUUlVFXG5cbmV4cG9ydCBjb25zdCBTYXNzRkFMU0UgPSBzYXNzLnNhc3NGYWxzZVxuZXhwb3J0IHR5cGUgU2Fzc0ZBTFNFID0gdHlwZW9mIFNhc3NGQUxTRVxuXG5leHBvcnQgY29uc3QgU2Fzc05VTEwgPSBzYXNzLnNhc3NOdWxsXG5leHBvcnQgdHlwZSBTYXNzTlVMTCA9IHR5cGVvZiBTYXNzTlVMTFxuXG5leHBvcnQgY29uc3QgeyBTYXNzTnVtYmVyIH0gPSBTYXNzVHlwZXNcbmV4cG9ydCB0eXBlIFNhc3NOdW1iZXIgPSBJbnN0YW5jZVR5cGU8dHlwZW9mIFNhc3NOdW1iZXI+XG5cbmV4cG9ydCBjb25zdCB7IFNhc3NTdHJpbmcgfSA9IFNhc3NUeXBlc1xuZXhwb3J0IHR5cGUgU2Fzc1N0cmluZyA9IEluc3RhbmNlVHlwZTx0eXBlb2YgU2Fzc1N0cmluZz5cblxuZXhwb3J0IGNvbnN0IHsgU2Fzc0NvbG9yIH0gPSBTYXNzVHlwZXNcbmV4cG9ydCB0eXBlIFNhc3NDb2xvciA9IEluc3RhbmNlVHlwZTx0eXBlb2YgU2Fzc0NvbG9yPlxuXG5leHBvcnQgY29uc3QgeyBTYXNzTGlzdCB9ID0gU2Fzc1R5cGVzXG5leHBvcnQgdHlwZSBTYXNzTGlzdCA9IEluc3RhbmNlVHlwZTx0eXBlb2YgU2Fzc0xpc3Q+XG5cbmV4cG9ydCBjb25zdCB7IFNhc3NNYXAgfSA9IFNhc3NUeXBlc1xuZXhwb3J0IHR5cGUgU2Fzc01hcCA9IEluc3RhbmNlVHlwZTx0eXBlb2YgU2Fzc01hcD5cblxuZXhwb3J0IGNvbnN0IFNhc3NCb29sZWFuID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKFNhc3NUUlVFKS5jb25zdHJ1Y3RvciBhcyB0eXBlb2Ygc2Fzcy5TYXNzQm9vbGVhblxuZXhwb3J0IHR5cGUgU2Fzc0Jvb2xlYW4gPSBzYXNzLlNhc3NCb29sZWFuXG5cbmV4cG9ydCB0eXBlIFNhc3NUeXBlID1cblx0fCBJbnN0YW5jZVR5cGU8dHlwZW9mIFNhc3NUeXBlcyBleHRlbmRzIFJlY29yZDxhbnksIGluZmVyIFI+ID8gUiA6IG5ldmVyPlxuXHR8IFNhc3NCb29sZWFuXG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IGNocm9tYSBmcm9tICdjaHJvbWEtanMnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQge1xuXHR0eXBlIEphdmFTY3JpcHRUeXBlLFxuXHR0eXBlIFNhc3NUeXBlLFxuXHRTYXNzQm9vbGVhbixcblx0U2Fzc051bWJlcixcblx0U2Fzc1N0cmluZyxcblx0U2Fzc0NvbG9yLFxuXHRTYXNzTGlzdCxcblx0U2Fzc01hcCxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNhc3NUb0phdmFTY3JpcHRUeXBlKHNhc3NWYWx1ZTogU2Fzc1R5cGUpOiBKYXZhU2NyaXB0VHlwZSB7XG5cdHN3aXRjaCAodHJ1ZSkge1xuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NCb29sZWFuOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS52YWx1ZVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzU3RyaW5nOiB7XG5cdFx0cmV0dXJuIHNhc3NWYWx1ZS50ZXh0XG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NOdW1iZXI6IHtcblx0XHRjb25zdCB7IHZhbHVlLCBudW1lcmF0b3JVbml0cywgZGVub21pbmF0b3JVbml0cyB9ID0gc2Fzc1ZhbHVlXG5cblx0XHRjb25zdCB1bml0ID0gc2Fzc1ZhbHVlLmhhc1VuaXRzXG5cdFx0XHQ/IG51bWVyYXRvclVuaXRzLmpvaW4oJyonKSArIChkZW5vbWluYXRvclVuaXRzLnNpemUgPiAwID8gYC8ke2Rlbm9taW5hdG9yVW5pdHMuam9pbignKicpfWAgOiAnJylcblx0XHRcdDogJydcblxuXHRcdHJldHVybiB1bml0ID8geyB2YWx1ZSwgdW5pdCB9IDogdmFsdWVcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0NvbG9yOiB7XG5cdFx0Y29uc3Qgc2Fzc0NvbG9yID0gc2Fzc1ZhbHVlLnRvU3BhY2UoJ3JnYicpXG5cdFx0Y29uc3QgeyBhbHBoYSwgc3BhY2UgfSA9IHNhc3NDb2xvclxuXHRcdGNvbnN0IGNoYW5uZWxzID0gWyAuLi5zYXNzQ29sb3IuY2hhbm5lbHMgXSBhcyBbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdXG5cblx0XHRpZiAoYWxwaGEpIHtcblx0XHRcdGNoYW5uZWxzLnB1c2goYWxwaGEpXG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNocm9tYSguLi5jaGFubmVscywgc3BhY2UgYXMgJ3JnYicpXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NMaXN0OiB7XG5cdFx0Y29uc3QgbGlzdFZhbHVlID0gc2Fzc1ZhbHVlLmFzTGlzdFxuXHRcdGNvbnN0IGxlbmd0aCA9IGxpc3RWYWx1ZS5zaXplXG5cdFx0Y29uc3QgYXJyYXkgPSBBcnJheShsZW5ndGgpLmZpbGwodW5kZWZpbmVkKSBhcyBTYXNzVHlwZVtdXG5cblx0XHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG5cdFx0XHRhcnJheVtpbmRleF0gPSBsaXN0VmFsdWUuZ2V0KGluZGV4KSBhcyBTYXNzVHlwZVxuXHRcdH1cblxuXHRcdHJldHVybiBhcnJheS5tYXAodmFsdWUgPT4gc2Fzc1RvSmF2YVNjcmlwdFR5cGUodmFsdWUpKVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzTWFwOiB7XG5cdFx0Y29uc3QgbWFwVmFsdWUgPSBzYXNzVmFsdWUuY29udGVudHNcblxuXHRcdGNvbnN0IGVudHJpZXMgPSBBcnJheS5mcm9tKG1hcFZhbHVlLmVudHJpZXMoKSBhcyBJdGVyYWJsZUl0ZXJhdG9yPFtTYXNzVHlwZSwgU2Fzc1R5cGVdPilcblx0XHRcdC5tYXAoKFsga2V5LCB2YWx1ZSBdKSA9PiBbIHNhc3NUb0phdmFTY3JpcHRUeXBlKGtleSksIHNhc3NUb0phdmFTY3JpcHRUeXBlKHZhbHVlKSBdKVxuXG5cdFx0cmV0dXJuIG5ldyBNYXAoZW50cmllcyBhcyBbSmF2YVNjcmlwdFR5cGUsIEphdmFTY3JpcHRUeXBlXVtdKVxuXHR9XG5cblx0ZGVmYXVsdDoge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0fVxufVxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHV0aWwgZnJvbSAndXRpbCdcblxuLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCBJbW11dGFibGUgZnJvbSAnaW1tdXRhYmxlJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHtcblx0dHlwZSBOdW1iZXJXaXRoVW5pdCxcblx0dHlwZSBTdHJpbmdXaXRoUXVvdGVzLFxuXHR0eXBlIEphdmFTY3JpcHRUeXBlLFxuXHR0eXBlIFNhc3NUeXBlLFxuXHRTYXNzTnVtYmVyLFxuXHRTYXNzU3RyaW5nLFxuXHRTYXNzQ29sb3IsXG5cdFNhc3NMaXN0LFxuXHRTYXNzTWFwLFxuXHRTYXNzVFJVRSxcblx0U2Fzc0ZBTFNFLFxuXHRTYXNzTlVMTCxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vIEhlbHBlciBmdW5jdGlvbnMuXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZT86IHVua25vd24pOiB2YWx1ZSBpcyBvYmplY3Qge1xuXHRjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlXG5cblx0cmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5jdGlvbicpXG59XG5cbmZ1bmN0aW9uIGlzTWFwKHZhbHVlPzogdW5rbm93bik6IHZhbHVlIGlzIE1hcDx1bmtub3duLCB1bmtub3duPiB7XG5cdGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkgcmV0dXJuIHRydWVcblx0aWYgKHV0aWwudHlwZXMuaXNNYXAodmFsdWUpKSByZXR1cm4gdHJ1ZVxuXG5cdHJldHVybiBpc09iamVjdCh2YWx1ZSkgJiYgU3ltYm9sLnRvU3RyaW5nVGFnIGluIHZhbHVlICYmIHZhbHVlW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdNYXAnXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGphdmFTY3JpcHRUb1Nhc3NUeXBlKHJhd1ZhbHVlOiBKYXZhU2NyaXB0VHlwZSk6IFNhc3NUeXBlIHtcblx0c3dpdGNoICh0cnVlKSB7XG5cdGNhc2UgdHlwZW9mIHJhd1ZhbHVlID09PSAnYm9vbGVhbic6IHtcblx0XHRjb25zdCBib29sZWFuVmFsdWUgPSByYXdWYWx1ZVxuXG5cdFx0cmV0dXJuIGJvb2xlYW5WYWx1ZSA/IFNhc3NUUlVFIDogU2Fzc0ZBTFNFXG5cdH1cblxuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ251bWJlcic6IHtcblx0XHRjb25zdCBudW1iZXJWYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NOdW1iZXIobnVtYmVyVmFsdWUpXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiBbICd2YWx1ZScsICd1bml0JyBdLmV2ZXJ5KHByb3BlcnR5S2V5ID0+IHByb3BlcnR5S2V5IGluIHJhd1ZhbHVlKToge1xuXHRcdGNvbnN0IHsgdmFsdWUsIHVuaXQgfSA9IHJhd1ZhbHVlIGFzIE51bWJlcldpdGhVbml0XG5cblx0XHRyZXR1cm4gbmV3IFNhc3NOdW1iZXIodmFsdWUsIHVuaXQpXG5cdH1cblxuXHRjYXNlIHR5cGVvZiByYXdWYWx1ZSA9PT0gJ3N0cmluZyc6IHtcblx0XHRjb25zdCBzdHJpbmdWYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NTdHJpbmcoc3RyaW5nVmFsdWUpXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiBbICd2YWx1ZScsICdxdW90ZXMnIF0uZXZlcnkocHJvcGVydHlLZXkgPT4gcHJvcGVydHlLZXkgaW4gcmF3VmFsdWUpOiB7XG5cdFx0Y29uc3QgeyB2YWx1ZTogc3RyaW5nVmFsdWUsIHF1b3RlcyB9ID0gcmF3VmFsdWUgYXMgU3RyaW5nV2l0aFF1b3Rlc1xuXG5cdFx0cmV0dXJuIG5ldyBTYXNzU3RyaW5nKHN0cmluZ1ZhbHVlLCB7IHF1b3RlcyB9KVxuXHR9XG5cblx0Y2FzZSBpc09iamVjdChyYXdWYWx1ZSkgJiYgJ19yZ2InIGluIHJhd1ZhbHVlOiB7XG5cdFx0Y29uc3QgWyByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSBdID0gcmF3VmFsdWUucmdiYSgpIGFzIG51bWJlcltdXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NDb2xvcih7IHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIH0pXG5cdH1cblxuXHRjYXNlIEFycmF5LmlzQXJyYXkocmF3VmFsdWUpOiB7XG5cdFx0cmV0dXJuIG5ldyBTYXNzTGlzdChyYXdWYWx1ZS5tYXAoamF2YVNjcmlwdFRvU2Fzc1R5cGUpKVxuXHR9XG5cblx0Y2FzZSBpc01hcChyYXdWYWx1ZSk6IHtcblx0XHRjb25zdCBtYXBWYWx1ZSA9IHJhd1ZhbHVlIGFzIE1hcDxKYXZhU2NyaXB0VHlwZSwgSmF2YVNjcmlwdFR5cGU+XG5cblx0XHRjb25zdCBpdGVyYWJsZSA9IEFycmF5LmZyb20obWFwVmFsdWUuZW50cmllcygpKVxuXHRcdFx0Lm1hcChlbnRyeSA9PiAoXG5cdFx0XHRcdGVudHJ5Lm1hcChqYXZhU2NyaXB0VG9TYXNzVHlwZSkgYXMgWyBTYXNzVHlwZSwgU2Fzc1R5cGUgXVxuXHRcdFx0KSlcblxuXHRcdHJldHVybiBuZXcgU2Fzc01hcChJbW11dGFibGUuT3JkZXJlZE1hcChpdGVyYWJsZSkpXG5cdH1cblxuXHRkZWZhdWx0OiB7XG5cdFx0cmV0dXJuIFNhc3NOVUxMXG5cdH1cblx0fVxufVxuIiwiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB7IEN1c3RvbUZ1bmN0aW9uIH0gZnJvbSAnc2FzcydcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB0eXBlIHsgU2Fzc1R5cGUsIEphdmFTY3JpcHRUeXBlIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IHNhc3NUb0phdmFTY3JpcHRUeXBlLCBqYXZhU2NyaXB0VG9TYXNzVHlwZSB9IGZyb20gJy4vdHlwZS1jb252ZXJ0ZXInXG5cbi8vIFR5cGUgZGVmaW5pdGlvbnMuXG5pbnRlcmZhY2UgQ29uc3RydWN0b3Ige1xuXHRuZXcgKC4uLmFyZ3M6IGFueVtdKTogb2JqZWN0XG59XG5cbmludGVyZmFjZSBCcmlkZ2VkRnVuY3Rpb24ge1xuXHQocmF3QXJnczogU2Fzc1R5cGVbXSk6IFByb21pc2U8U2Fzc1R5cGU+XG59XG5cbnR5cGUgQnJpZGdlZEZ1bmN0aW9uTWFwID0gTWFwPHN0cmluZywgQnJpZGdlZEZ1bmN0aW9uPlxuXG5leHBvcnQgZnVuY3Rpb24gc2Fzc0Z1bmN0aW9uKHNpZ25hdHVyZTogc3RyaW5nKSB7XG5cdHJldHVybiBmdW5jdGlvbiBkZWNvcmF0ZTxUaGlzLCBBcmdzIGV4dGVuZHMgYW55W10sIFJldHVybiBleHRlbmRzIEphdmFTY3JpcHRUeXBlPihcblx0XHR0YXJnZXQ6ICh0aGlzOiBUaGlzLCAuLi5hcmdzOiBBcmdzKSA9PiBSZXR1cm4gfCBQcm9taXNlPFJldHVybj4sXG5cdFx0Y29udGV4dDogQ2xhc3NNZXRob2REZWNvcmF0b3JDb250ZXh0PFRoaXMsICh0aGlzOiBUaGlzLCAuLi5hcmdzOiBBcmdzKSA9PiBSZXR1cm4gfCBQcm9taXNlPFJldHVybj4+LFxuXHQpOiB2b2lkIHtcblx0XHRpZiAoY29udGV4dC5wcml2YXRlKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdOb3Qgc3VwcG9ydGVkIG9uIHByaXZhdGUgbWV0aG9kcy4nKVxuXHRcdH1cblxuXHRcdGlmICghY29udGV4dC5tZXRhZGF0YS5mdW5jdGlvbk1hcCkge1xuXHRcdFx0Y29udGV4dC5tZXRhZGF0YS5mdW5jdGlvbk1hcCA9IG5ldyBNYXA8c3RyaW5nLCBCcmlkZ2VkRnVuY3Rpb24+KClcblx0XHR9XG5cblx0XHRjb25zdCB7IGZ1bmN0aW9uTWFwIH0gPSBjb250ZXh0Lm1ldGFkYXRhIGFzIHsgZnVuY3Rpb25NYXA6IEJyaWRnZWRGdW5jdGlvbk1hcCB9XG5cblx0XHRjb250ZXh0LmFkZEluaXRpYWxpemVyKGZ1bmN0aW9uIGluaXRpYWxpemUodGhpczogVGhpcykge1xuXHRcdFx0Y29uc3QgYnJpZGdlZEZ1bmN0aW9uOiBCcmlkZ2VkRnVuY3Rpb24gPSBhc3luYyAocmF3QXJnczogU2Fzc1R5cGVbXSk6IFByb21pc2U8U2Fzc1R5cGU+ID0+IHtcblx0XHRcdFx0Y29uc3QgYXJncyA9IHJhd0FyZ3MubWFwKHNhc3NUb0phdmFTY3JpcHRUeXBlKVxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoUmVmbGVjdC5hcHBseSh0YXJnZXQsIHRoaXMsIGFyZ3MpKSBhcyBKYXZhU2NyaXB0VHlwZVxuXG5cdFx0XHRcdHJldHVybiBqYXZhU2NyaXB0VG9TYXNzVHlwZShyZXN1bHQpXG5cdFx0XHR9XG5cblx0XHRcdGZ1bmN0aW9uTWFwLnNldChzaWduYXR1cmUsIGJyaWRnZWRGdW5jdGlvbilcblx0XHR9KVxuXHR9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGdW5jdGlvbnMoXG5cdC4uLm1vZHVsZUltcG9ydHM6IFByb21pc2U8eyBkZWZhdWx0OiBDb25zdHJ1Y3RvciB9PltdXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIEN1c3RvbUZ1bmN0aW9uPCdhc3luYyc+Pj4ge1xuXHRjb25zdCBtb2R1bGVzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0bW9kdWxlSW1wb3J0cy5tYXAobW9kdWxlID0+IChcblx0XHRcdG1vZHVsZS50aGVuKCh7IGRlZmF1bHQ6IE1vZHVsZSB9KSA9PiBuZXcgTW9kdWxlKCkpXG5cdFx0KSksXG5cdClcblxuXHRjb25zdCBlbnRyaWVzID0gbW9kdWxlc1xuXHRcdC5tYXAobW9kdWxlID0+IChcblx0XHRcdFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YobW9kdWxlKT8uY29uc3RydWN0b3I/LltTeW1ib2wubWV0YWRhdGFdPy5mdW5jdGlvbk1hcCBhcyBCcmlkZ2VkRnVuY3Rpb25NYXBcblx0XHQpKVxuXHRcdC5maWx0ZXIoZnVuY3Rpb25NYXAgPT4gISFmdW5jdGlvbk1hcClcblx0XHQuZmxhdE1hcChmdW5jdGlvbk1hcCA9PiBBcnJheS5mcm9tKGZ1bmN0aW9uTWFwLmVudHJpZXMoKSkpXG5cblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzKVxufVxuIl0sIm5hbWVzIjpbIlNhc3NUeXBlcyIsIl9PYmplY3QkZnJvbUVudHJpZXMiLCJfbWFwSW5zdGFuY2VQcm9wZXJ0eSIsIl9jb250ZXh0IiwiX2ZpbHRlckluc3RhbmNlUHJvcGVydHkiLCJfY29udGV4dDIiLCJfY29udGV4dDMiLCJfY29udGV4dDQiLCJfY29udGV4dDUiLCJfT2JqZWN0JGtleXMiLCJzYXNzIiwiY2FsbCIsInByb3BlcnR5S2V5IiwiX3N0YXJ0c1dpdGhJbnN0YW5jZVByb3BlcnR5IiwiY29uc3RydWN0b3IiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiVmFsdWUiLCJuYW1lIiwiU2Fzc1RSVUUiLCJzYXNzVHJ1ZSIsIlNhc3NGQUxTRSIsInNhc3NGYWxzZSIsIlNhc3NOVUxMIiwic2Fzc051bGwiLCJTYXNzTnVtYmVyIiwiU2Fzc1N0cmluZyIsIlNhc3NDb2xvciIsIlNhc3NMaXN0IiwiU2Fzc01hcCIsIlNhc3NCb29sZWFuIiwiX09iamVjdCRnZXRQcm90b3R5cGVPZiIsInNhc3NUb0phdmFTY3JpcHRUeXBlIiwic2Fzc1ZhbHVlIiwidmFsdWUiLCJ0ZXh0IiwibnVtZXJhdG9yVW5pdHMiLCJkZW5vbWluYXRvclVuaXRzIiwidW5pdCIsImhhc1VuaXRzIiwiam9pbiIsInNpemUiLCJzYXNzQ29sb3IiLCJ0b1NwYWNlIiwiYWxwaGEiLCJzcGFjZSIsImNoYW5uZWxzIiwiX3B1c2hJbnN0YW5jZVByb3BlcnR5IiwiY2hyb21hIiwibGlzdFZhbHVlIiwiYXNMaXN0IiwibGVuZ3RoIiwiYXJyYXkiLCJfZmlsbEluc3RhbmNlUHJvcGVydHkiLCJBcnJheSIsInVuZGVmaW5lZCIsImluZGV4IiwiZ2V0IiwibWFwVmFsdWUiLCJjb250ZW50cyIsImVudHJpZXMiLCJfQXJyYXkkZnJvbSIsIl9lbnRyaWVzSW5zdGFuY2VQcm9wZXJ0eSIsImtleSIsIl9NYXAiLCJpc09iamVjdCIsInR5cGUiLCJpc01hcCIsInV0aWwiLCJ0eXBlcyIsIl9TeW1ib2wkdG9TdHJpbmdUYWciLCJqYXZhU2NyaXB0VG9TYXNzVHlwZSIsInJhd1ZhbHVlIiwiYm9vbGVhblZhbHVlIiwibnVtYmVyVmFsdWUiLCJfZXZlcnlJbnN0YW5jZVByb3BlcnR5Iiwic3RyaW5nVmFsdWUiLCJxdW90ZXMiLCJyZWQiLCJncmVlbiIsImJsdWUiLCJyZ2JhIiwiX0FycmF5JGlzQXJyYXkiLCJpdGVyYWJsZSIsImVudHJ5IiwiSW1tdXRhYmxlIiwiT3JkZXJlZE1hcCIsInNhc3NGdW5jdGlvbiIsInNpZ25hdHVyZSIsImRlY29yYXRlIiwidGFyZ2V0IiwiY29udGV4dCIsInByaXZhdGUiLCJUeXBlRXJyb3IiLCJtZXRhZGF0YSIsImZ1bmN0aW9uTWFwIiwiYWRkSW5pdGlhbGl6ZXIiLCJpbml0aWFsaXplIiwiYnJpZGdlZEZ1bmN0aW9uIiwicmF3QXJncyIsImFyZ3MiLCJyZXN1bHQiLCJfUHJvbWlzZSIsInJlc29sdmUiLCJfUmVmbGVjdCRhcHBseSIsInNldCIsImdldEZ1bmN0aW9ucyIsIm1vZHVsZUltcG9ydHMiLCJtb2R1bGVzIiwiYWxsIiwibW9kdWxlIiwidGhlbiIsImRlZmF1bHQiLCJNb2R1bGUiLCJfZmxhdE1hcEluc3RhbmNlUHJvcGVydHkiLCJfUmVmbGVjdCRnZXRQcm90b3R5cGVPZiIsIl9TeW1ib2wkbWV0YWRhdGEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBOztBQWdCQSxNQUFNQSxTQUFTLEdBQUdDLG1CQUFBLENBQ2pCQyxvQkFBQSxDQUFBQyxRQUFBLEdBQUFDLHVCQUFBLENBQUFDLFNBQUEsR0FBQUQsdUJBQUEsQ0FBQUUsU0FBQSxHQUFBSixvQkFBQSxDQUFBSyxTQUFBLEdBQUFILHVCQUFBLENBQUFJLFNBQUEsR0FBQUMsWUFBQSxDQUFZQyxJQUFJLENBQUMsQ0FBQSxDQUFBQyxJQUFBLENBQUFILFNBQUEsRUFDUkksV0FBVyxJQUFJQywyQkFBQSxDQUFBRCxXQUFXLENBQUFELENBQUFBLElBQUEsQ0FBWEMsV0FBVyxFQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQUQsSUFBQSxDQUFBSixTQUFBLEVBQ2pESyxXQUFXLElBQUlGLElBQUksQ0FBQ0UsV0FBVyxDQUFjLENBQUMsQ0FBQSxDQUFBRCxJQUFBLENBQUFMLFNBQUEsRUFDM0NRLFdBQVcsSUFBSSxPQUFPQSxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUEsQ0FBQUgsSUFBQSxDQUFB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
215
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZXMvdHlwZXMudHMiLCIuLi9zb3VyY2VzL3R5cGUtY29udmVydGVyL3Nhc3MtdG8tamF2YXNjcmlwdC50cyIsIi4uL3NvdXJjZXMvdHlwZS1jb252ZXJ0ZXIvamF2YXNjcmlwdC10by1zYXNzLnRzIiwiLi4vc291cmNlcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHR5cGUgeyBDb2xvciB9IGZyb20gJ2Nocm9tYS1qcydcbmltcG9ydCAqIGFzIHNhc3MgZnJvbSAnc2FzcydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmV4cG9ydCB0eXBlIFByaW1pdGl2ZXMgPSBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbFxuXG5leHBvcnQgdHlwZSBOdW1iZXJXaXRoVW5pdCA9IHsgdmFsdWU6IG51bWJlciwgdW5pdDogc3RyaW5nIH1cblxuZXhwb3J0IHR5cGUgU3RyaW5nV2l0aFF1b3RlcyA9IHsgdmFsdWU6IHN0cmluZywgcXVvdGVzOiBib29sZWFuIH1cblxuZXhwb3J0IHR5cGUgSmF2YVNjcmlwdFR5cGU8QmFzZSA9IFByaW1pdGl2ZXMgfCBDb2xvciB8IE51bWJlcldpdGhVbml0IHwgU3RyaW5nV2l0aFF1b3Rlcz4gPVxuXHR8IEJhc2Vcblx0fCBKYXZhU2NyaXB0VHlwZTxCYXNlPltdXG5cdHwgTWFwPEphdmFTY3JpcHRUeXBlPEJhc2U+LCBKYXZhU2NyaXB0VHlwZTxCYXNlPj5cblxuZXhwb3J0IGNvbnN0IFNhc3NUUlVFID0gc2Fzcy5zYXNzVHJ1ZVxuZXhwb3J0IHR5cGUgU2Fzc1RSVUUgPSB0eXBlb2YgU2Fzc1RSVUVcblxuZXhwb3J0IGNvbnN0IFNhc3NGQUxTRSA9IHNhc3Muc2Fzc0ZhbHNlXG5leHBvcnQgdHlwZSBTYXNzRkFMU0UgPSB0eXBlb2YgU2Fzc0ZBTFNFXG5cbmV4cG9ydCBjb25zdCBTYXNzTlVMTCA9IHNhc3Muc2Fzc051bGxcbmV4cG9ydCB0eXBlIFNhc3NOVUxMID0gdHlwZW9mIFNhc3NOVUxMXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NOdW1iZXIgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NOdW1iZXIgPSBzYXNzLlNhc3NOdW1iZXJcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc1N0cmluZyB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc1N0cmluZyA9IHNhc3MuU2Fzc1N0cmluZ1xuXG5leHBvcnQgY29uc3QgeyBTYXNzQ29sb3IgfSA9IHNhc3NcbmV4cG9ydCB0eXBlIFNhc3NDb2xvciA9IHNhc3MuU2Fzc0NvbG9yXG5cbmV4cG9ydCBjb25zdCB7IFNhc3NMaXN0IH0gPSBzYXNzXG5leHBvcnQgdHlwZSBTYXNzTGlzdCA9IHNhc3MuU2Fzc0xpc3RcblxuZXhwb3J0IGNvbnN0IHsgU2Fzc01hcCB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc01hcCA9IHNhc3MuU2Fzc01hcFxuXG5leHBvcnQgY29uc3QgeyBTYXNzQm9vbGVhbiB9ID0gc2Fzc1xuZXhwb3J0IHR5cGUgU2Fzc0Jvb2xlYW4gPSBzYXNzLlNhc3NCb29sZWFuXG5cbmV4cG9ydCB7IFZhbHVlIGFzIFNhc3NUeXBlIH0gZnJvbSAnc2FzcydcbiIsIi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgY2hyb21hIGZyb20gJ2Nocm9tYS1qcydcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB7XG5cdHR5cGUgSmF2YVNjcmlwdFR5cGUsXG5cdHR5cGUgU2Fzc1R5cGUsXG5cdFNhc3NCb29sZWFuLFxuXHRTYXNzTnVtYmVyLFxuXHRTYXNzU3RyaW5nLFxuXHRTYXNzQ29sb3IsXG5cdFNhc3NMaXN0LFxuXHRTYXNzTWFwLFxufSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2Fzc1RvSmF2YVNjcmlwdFR5cGUoc2Fzc1ZhbHVlOiBTYXNzVHlwZSk6IEphdmFTY3JpcHRUeXBlIHtcblx0c3dpdGNoICh0cnVlKSB7XG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0Jvb2xlYW46IHtcblx0XHRyZXR1cm4gc2Fzc1ZhbHVlLnZhbHVlXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NTdHJpbmc6IHtcblx0XHRyZXR1cm4gc2Fzc1ZhbHVlLnRleHRcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc051bWJlcjoge1xuXHRcdGNvbnN0IHsgdmFsdWUsIG51bWVyYXRvclVuaXRzLCBkZW5vbWluYXRvclVuaXRzIH0gPSBzYXNzVmFsdWVcblxuXHRcdGNvbnN0IHVuaXQgPSBzYXNzVmFsdWUuaGFzVW5pdHNcblx0XHRcdD8gbnVtZXJhdG9yVW5pdHMuam9pbignKicpICsgKGRlbm9taW5hdG9yVW5pdHMuc2l6ZSA+IDAgPyBgLyR7ZGVub21pbmF0b3JVbml0cy5qb2luKCcqJyl9YCA6ICcnKVxuXHRcdFx0OiAnJ1xuXG5cdFx0cmV0dXJuIHVuaXQgPyB7IHZhbHVlLCB1bml0IH0gOiB2YWx1ZVxuXHR9XG5cblx0Y2FzZSBzYXNzVmFsdWUgaW5zdGFuY2VvZiBTYXNzQ29sb3I6IHtcblx0XHRjb25zdCBzYXNzQ29sb3IgPSBzYXNzVmFsdWUudG9TcGFjZSgncmdiJylcblx0XHRjb25zdCB7IGFscGhhLCBzcGFjZSB9ID0gc2Fzc0NvbG9yXG5cdFx0Y29uc3QgY2hhbm5lbHMgPSBbIC4uLnNhc3NDb2xvci5jaGFubmVscyBdIGFzIFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF1cblxuXHRcdGlmIChhbHBoYSkge1xuXHRcdFx0Y2hhbm5lbHMucHVzaChhbHBoYSlcblx0XHR9XG5cblx0XHRyZXR1cm4gY2hyb21hKC4uLmNoYW5uZWxzLCBzcGFjZSBhcyAncmdiJylcblx0fVxuXG5cdGNhc2Ugc2Fzc1ZhbHVlIGluc3RhbmNlb2YgU2Fzc0xpc3Q6IHtcblx0XHRjb25zdCBsaXN0VmFsdWUgPSBzYXNzVmFsdWUuYXNMaXN0XG5cdFx0Y29uc3QgbGVuZ3RoID0gbGlzdFZhbHVlLnNpemVcblx0XHRjb25zdCBhcnJheSA9IEFycmF5KGxlbmd0aCkuZmlsbCh1bmRlZmluZWQpIGFzIFNhc3NUeXBlW11cblxuXHRcdGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4ICs9IDEpIHtcblx0XHRcdGFycmF5W2luZGV4XSA9IGxpc3RWYWx1ZS5nZXQoaW5kZXgpIGFzIFNhc3NUeXBlXG5cdFx0fVxuXG5cdFx0cmV0dXJuIGFycmF5Lm1hcCh2YWx1ZSA9PiBzYXNzVG9KYXZhU2NyaXB0VHlwZSh2YWx1ZSkpXG5cdH1cblxuXHRjYXNlIHNhc3NWYWx1ZSBpbnN0YW5jZW9mIFNhc3NNYXA6IHtcblx0XHRjb25zdCBtYXBWYWx1ZSA9IHNhc3NWYWx1ZS5jb250ZW50c1xuXG5cdFx0Y29uc3QgZW50cmllcyA9IEFycmF5LmZyb20obWFwVmFsdWUuZW50cmllcygpKVxuXHRcdFx0Lm1hcCgoWyBrZXksIHZhbHVlIF0pID0+IFsgc2Fzc1RvSmF2YVNjcmlwdFR5cGUoa2V5KSwgc2Fzc1RvSmF2YVNjcmlwdFR5cGUodmFsdWUpIF0pXG5cblx0XHRyZXR1cm4gbmV3IE1hcChlbnRyaWVzIGFzIFtKYXZhU2NyaXB0VHlwZSwgSmF2YVNjcmlwdFR5cGVdW10pXG5cdH1cblxuXHRkZWZhdWx0OiB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHR9XG59XG4iLCIvLyBOb2RlLmpzIGJ1aWx0LWluIEFQSXMuXG5pbXBvcnQgdXRpbCBmcm9tICd1dGlsJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IEltbXV0YWJsZSBmcm9tICdpbW11dGFibGUnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQge1xuXHR0eXBlIE51bWJlcldpdGhVbml0LFxuXHR0eXBlIFN0cmluZ1dpdGhRdW90ZXMsXG5cdHR5cGUgSmF2YVNjcmlwdFR5cGUsXG5cdHR5cGUgU2Fzc1R5cGUsXG5cdFNhc3NOdW1iZXIsXG5cdFNhc3NTdHJpbmcsXG5cdFNhc3NDb2xvcixcblx0U2Fzc0xpc3QsXG5cdFNhc3NNYXAsXG5cdFNhc3NUUlVFLFxuXHRTYXNzRkFMU0UsXG5cdFNhc3NOVUxMLFxufSBmcm9tICcuLi90eXBlcydcblxuLy8gSGVscGVyIGZ1bmN0aW9ucy5cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlPzogdW5rbm93bik6IHZhbHVlIGlzIG9iamVjdCB7XG5cdGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWVcblxuXHRyZXR1cm4gISF2YWx1ZSAmJiAodHlwZSA9PT0gJ29iamVjdCcgfHwgdHlwZSA9PT0gJ2Z1bmN0aW9uJylcbn1cblxuZnVuY3Rpb24gaXNNYXAodmFsdWU/OiB1bmtub3duKTogdmFsdWUgaXMgTWFwPHVua25vd24sIHVua25vd24+IHtcblx0aWYgKHZhbHVlIGluc3RhbmNlb2YgTWFwKSByZXR1cm4gdHJ1ZVxuXHRpZiAodXRpbC50eXBlcy5pc01hcCh2YWx1ZSkpIHJldHVybiB0cnVlXG5cblx0cmV0dXJuIGlzT2JqZWN0KHZhbHVlKSAmJiBTeW1ib2wudG9TdHJpbmdUYWcgaW4gdmFsdWUgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ01hcCdcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gamF2YVNjcmlwdFRvU2Fzc1R5cGUocmF3VmFsdWU6IEphdmFTY3JpcHRUeXBlKTogU2Fzc1R5cGUge1xuXHRzd2l0Y2ggKHRydWUpIHtcblx0Y2FzZSB0eXBlb2YgcmF3VmFsdWUgPT09ICdib29sZWFuJzoge1xuXHRcdGNvbnN0IGJvb2xlYW5WYWx1ZSA9IHJhd1ZhbHVlXG5cblx0XHRyZXR1cm4gYm9vbGVhblZhbHVlID8gU2Fzc1RSVUUgOiBTYXNzRkFMU0Vcblx0fVxuXG5cdGNhc2UgdHlwZW9mIHJhd1ZhbHVlID09PSAnbnVtYmVyJzoge1xuXHRcdGNvbnN0IG51bWJlclZhbHVlID0gcmF3VmFsdWVcblxuXHRcdHJldHVybiBuZXcgU2Fzc051bWJlcihudW1iZXJWYWx1ZSlcblx0fVxuXG5cdGNhc2UgaXNPYmplY3QocmF3VmFsdWUpICYmIFsgJ3ZhbHVlJywgJ3VuaXQnIF0uZXZlcnkocHJvcGVydHlLZXkgPT4gcHJvcGVydHlLZXkgaW4gcmF3VmFsdWUpOiB7XG5cdFx0Y29uc3QgeyB2YWx1ZSwgdW5pdCB9ID0gcmF3VmFsdWUgYXMgTnVtYmVyV2l0aFVuaXRcblxuXHRcdHJldHVybiBuZXcgU2Fzc051bWJlcih2YWx1ZSwgdW5pdClcblx0fVxuXG5cdGNhc2UgdHlwZW9mIHJhd1ZhbHVlID09PSAnc3RyaW5nJzoge1xuXHRcdGNvbnN0IHN0cmluZ1ZhbHVlID0gcmF3VmFsdWVcblxuXHRcdHJldHVybiBuZXcgU2Fzc1N0cmluZyhzdHJpbmdWYWx1ZSlcblx0fVxuXG5cdGNhc2UgaXNPYmplY3QocmF3VmFsdWUpICYmIFsgJ3ZhbHVlJywgJ3F1b3RlcycgXS5ldmVyeShwcm9wZXJ0eUtleSA9PiBwcm9wZXJ0eUtleSBpbiByYXdWYWx1ZSk6IHtcblx0XHRjb25zdCB7IHZhbHVlOiBzdHJpbmdWYWx1ZSwgcXVvdGVzIH0gPSByYXdWYWx1ZSBhcyBTdHJpbmdXaXRoUXVvdGVzXG5cblx0XHRyZXR1cm4gbmV3IFNhc3NTdHJpbmcoc3RyaW5nVmFsdWUsIHsgcXVvdGVzIH0pXG5cdH1cblxuXHRjYXNlIGlzT2JqZWN0KHJhd1ZhbHVlKSAmJiAnX3JnYicgaW4gcmF3VmFsdWU6IHtcblx0XHRjb25zdCBbIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIF0gPSByYXdWYWx1ZS5yZ2JhKCkgYXMgbnVtYmVyW11cblxuXHRcdHJldHVybiBuZXcgU2Fzc0NvbG9yKHsgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgfSlcblx0fVxuXG5cdGNhc2UgQXJyYXkuaXNBcnJheShyYXdWYWx1ZSk6IHtcblx0XHRyZXR1cm4gbmV3IFNhc3NMaXN0KHJhd1ZhbHVlLm1hcChqYXZhU2NyaXB0VG9TYXNzVHlwZSkpXG5cdH1cblxuXHRjYXNlIGlzTWFwKHJhd1ZhbHVlKToge1xuXHRcdGNvbnN0IG1hcFZhbHVlID0gcmF3VmFsdWUgYXMgTWFwPEphdmFTY3JpcHRUeXBlLCBKYXZhU2NyaXB0VHlwZT5cblxuXHRcdGNvbnN0IGl0ZXJhYmxlID0gQXJyYXkuZnJvbShtYXBWYWx1ZS5lbnRyaWVzKCkpXG5cdFx0XHQubWFwKGVudHJ5ID0+IChcblx0XHRcdFx0ZW50cnkubWFwKGphdmFTY3JpcHRUb1Nhc3NUeXBlKSBhcyBbIFNhc3NUeXBlLCBTYXNzVHlwZSBdXG5cdFx0XHQpKVxuXG5cdFx0cmV0dXJuIG5ldyBTYXNzTWFwKEltbXV0YWJsZS5PcmRlcmVkTWFwKGl0ZXJhYmxlKSlcblx0fVxuXG5cdGRlZmF1bHQ6IHtcblx0XHRyZXR1cm4gU2Fzc05VTExcblx0fVxuXHR9XG59XG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHR5cGUgeyBDdXN0b21GdW5jdGlvbiB9IGZyb20gJ3Nhc3MnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgdHlwZSB7IFNhc3NUeXBlLCBKYXZhU2NyaXB0VHlwZSB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzYXNzVG9KYXZhU2NyaXB0VHlwZSwgamF2YVNjcmlwdFRvU2Fzc1R5cGUgfSBmcm9tICcuL3R5cGUtY29udmVydGVyJ1xuXG4vLyBUeXBlIGRlZmluaXRpb25zLlxuaW50ZXJmYWNlIENvbnN0cnVjdG9yIHtcblx0bmV3ICguLi5hcmdzOiBhbnlbXSk6IG9iamVjdFxufVxuXG5pbnRlcmZhY2UgQnJpZGdlZEZ1bmN0aW9uIHtcblx0KHJhd0FyZ3M6IFNhc3NUeXBlW10pOiBQcm9taXNlPFNhc3NUeXBlPlxufVxuXG50eXBlIEJyaWRnZWRGdW5jdGlvbk1hcCA9IE1hcDxzdHJpbmcsIEJyaWRnZWRGdW5jdGlvbj5cblxuZXhwb3J0IGZ1bmN0aW9uIHNhc3NGdW5jdGlvbihzaWduYXR1cmU6IHN0cmluZykge1xuXHRyZXR1cm4gZnVuY3Rpb24gZGVjb3JhdGU8VGhpcywgQXJncyBleHRlbmRzIGFueVtdLCBSZXR1cm4gZXh0ZW5kcyBKYXZhU2NyaXB0VHlwZT4oXG5cdFx0dGFyZ2V0OiAodGhpczogVGhpcywgLi4uYXJnczogQXJncykgPT4gUmV0dXJuIHwgUHJvbWlzZTxSZXR1cm4+LFxuXHRcdGNvbnRleHQ6IENsYXNzTWV0aG9kRGVjb3JhdG9yQ29udGV4dDxUaGlzLCAodGhpczogVGhpcywgLi4uYXJnczogQXJncykgPT4gUmV0dXJuIHwgUHJvbWlzZTxSZXR1cm4+Pixcblx0KTogdm9pZCB7XG5cdFx0aWYgKGNvbnRleHQucHJpdmF0ZSkge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignTm90IHN1cHBvcnRlZCBvbiBwcml2YXRlIG1ldGhvZHMuJylcblx0XHR9XG5cblx0XHRjb250ZXh0Lm1ldGFkYXRhLmZ1bmN0aW9uTWFwID8/PSBuZXcgTWFwPHN0cmluZywgQnJpZGdlZEZ1bmN0aW9uPigpXG5cblx0XHRjb25zdCB7IGZ1bmN0aW9uTWFwIH0gPSBjb250ZXh0Lm1ldGFkYXRhIGFzIHsgZnVuY3Rpb25NYXA6IEJyaWRnZWRGdW5jdGlvbk1hcCB9XG5cblx0XHRjb250ZXh0LmFkZEluaXRpYWxpemVyKGZ1bmN0aW9uIGluaXRpYWxpemUodGhpczogVGhpcykge1xuXHRcdFx0Y29uc3QgYnJpZGdlZEZ1bmN0aW9uOiBCcmlkZ2VkRnVuY3Rpb24gPSBhc3luYyAocmF3QXJnczogU2Fzc1R5cGVbXSk6IFByb21pc2U8U2Fzc1R5cGU+ID0+IHtcblx0XHRcdFx0Y29uc3QgYXJncyA9IHJhd0FyZ3MubWFwKHNhc3NUb0phdmFTY3JpcHRUeXBlKVxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoUmVmbGVjdC5hcHBseSh0YXJnZXQsIHRoaXMsIGFyZ3MpKSBhcyBKYXZhU2NyaXB0VHlwZVxuXG5cdFx0XHRcdHJldHVybiBqYXZhU2NyaXB0VG9TYXNzVHlwZShyZXN1bHQpXG5cdFx0XHR9XG5cblx0XHRcdGZ1bmN0aW9uTWFwLnNldChzaWduYXR1cmUsIGJyaWRnZWRGdW5jdGlvbilcblx0XHR9KVxuXHR9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGdW5jdGlvbnMoXG5cdC4uLm1vZHVsZUltcG9ydHM6IFByb21pc2U8eyBkZWZhdWx0OiBDb25zdHJ1Y3RvciB9PltdXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIEN1c3RvbUZ1bmN0aW9uPCdhc3luYyc+Pj4ge1xuXHRjb25zdCBtb2R1bGVzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0bW9kdWxlSW1wb3J0cy5tYXAobW9kdWxlID0+IChcblx0XHRcdG1vZHVsZS50aGVuKCh7IGRlZmF1bHQ6IE1vZHVsZSB9KSA9PiBuZXcgTW9kdWxlKCkpXG5cdFx0KSksXG5cdClcblxuXHRjb25zdCBlbnRyaWVzID0gbW9kdWxlc1xuXHRcdC5tYXAobW9kdWxlID0+IChcblx0XHRcdFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YobW9kdWxlKT8uY29uc3RydWN0b3I/LltTeW1ib2wubWV0YWRhdGFdPy5mdW5jdGlvbk1hcCBhcyBCcmlkZ2VkRnVuY3Rpb25NYXBcblx0XHQpKVxuXHRcdC5maWx0ZXIoZnVuY3Rpb25NYXAgPT4gISFmdW5jdGlvbk1hcClcblx0XHQuZmxhdE1hcChmdW5jdGlvbk1hcCA9PiBBcnJheS5mcm9tKGZ1bmN0aW9uTWFwLmVudHJpZXMoKSkpXG5cblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzKVxufVxuIl0sIm5hbWVzIjpbIlNhc3NUUlVFIiwic2FzcyIsInNhc3NUcnVlIiwiU2Fzc0ZBTFNFIiwic2Fzc0ZhbHNlIiwiU2Fzc05VTEwiLCJzYXNzTnVsbCIsIlNhc3NOdW1iZXIiLCJTYXNzU3RyaW5nIiwiU2Fzc0NvbG9yIiwiU2Fzc0xpc3QiLCJTYXNzTWFwIiwiU2Fzc0Jvb2xlYW4iLCJzYXNzVG9KYXZhU2NyaXB0VHlwZSIsInNhc3NWYWx1ZSIsInZhbHVlIiwidGV4dCIsIm51bWVyYXRvclVuaXRzIiwiZGVub21pbmF0b3JVbml0cyIsInVuaXQiLCJoYXNVbml0cyIsImpvaW4iLCJzaXplIiwic2Fzc0NvbG9yIiwidG9TcGFjZSIsImFscGhhIiwic3BhY2UiLCJjaGFubmVscyIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImNhbGwiLCJjaHJvbWEiLCJfY29udGV4dCIsImxpc3RWYWx1ZSIsImFzTGlzdCIsImxlbmd0aCIsImFycmF5IiwiX2ZpbGxJbnN0YW5jZVByb3BlcnR5IiwiQXJyYXkiLCJ1bmRlZmluZWQiLCJpbmRleCIsImdldCIsIl9tYXBJbnN0YW5jZVByb3BlcnR5IiwiX2NvbnRleHQyIiwibWFwVmFsdWUiLCJjb250ZW50cyIsImVudHJpZXMiLCJfQXJyYXkkZnJvbSIsIl9lbnRyaWVzSW5zdGFuY2VQcm9wZXJ0eSIsImtleSIsIl9NYXAiLCJpc09iamVjdCIsInR5cGUiLCJpc01hcCIsInV0aWwiLCJ0eXBlcyIsIl9TeW1ib2wkdG9TdHJpbmdUYWciLCJqYXZhU2NyaXB0VG9TYXNzVHlwZSIsInJhd1ZhbHVlIiwiYm9vbGVhblZhbHVlIiwibnVtYmVyVmFsdWUiLCJfZXZlcnlJbnN0YW5jZVByb3BlcnR5IiwicHJvcGVydHlLZXkiLCJzdHJpbmdWYWx1ZSIsInF1b3RlcyIsInJlZCIsImdyZWVuIiwiYmx1ZSIsInJnYmEiLCJfQXJyYXkkaXNBcnJheSIsIl9jb250ZXh0MyIsIml0ZXJhYmxlIiwiZW50cnkiLCJJbW11dGFibGUiLCJPcmRlcmVkTWFwIiwic2Fzc0Z1bmN0aW9uIiwic2lnbmF0dXJlIiwiZGVjb3JhdGUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicHJpdmF0ZSIsIlR5cGVFcnJvciIsIm1ldGFkYXRhIiwiZnVuY3Rpb25NYXAiLCJhZGRJbml0aWFsaXplciIsImluaXRpYWxpemUiLCJicmlkZ2VkRnVuY3Rpb24iLCJyYXdBcmdzIiwiYXJncyIsInJlc3VsdCIsIl9Qcm9taXNlIiwicmVzb2x2ZSIsIl9SZWZsZWN0JGFwcGx5Iiwic2V0IiwiZ2V0RnVuY3Rpb25zIiwibW9kdWxlSW1wb3J0cyIsIm1vZHVsZXMiLCJhbGwiLCJtb2R1bGUiLCJ0aGVuIiwiZGVmYXVsdCIsIk1vZHVsZSIsIl9mbGF0TWFwSW5zdGFuY2VQcm9wZXJ0eSIsIl9maWx0ZXJJbnN0YW5jZVByb3BlcnR5IiwiX1JlZmxlY3QkZ2V0UHJvdG90eXBlT2YiLCJjb25zdHJ1Y3RvciIsIl9TeW1ib2wkbWV0YWRhdGEiLCJfT2JqZWN0JGZyb21FbnRyaWVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7O0FBSUE7O0FBWU8sTUFBTUEsUUFBUSxHQUFHQyxJQUFJLENBQUNDLFFBQVE7QUFHOUIsTUFBTUMsU0FBUyxHQUFHRixJQUFJLENBQUNHLFNBQVM7QUFHaEMsTUFBTUMsUUFBUSxHQUFHSixJQUFJLENBQUNLLFFBQVE7QUFHOUIsTUFBTTtBQUFFQyxFQUFBQTtBQUFXLENBQUMsR0FBR04sSUFBSTtBQUczQixNQUFNO0FBQUVPLEVBQUFBO0FBQVcsQ0FBQyxHQUFHUCxJQUFJO0FBRzNCLE1BQU07QUFBRVEsRUFBQUE7QUFBVSxDQUFDLEdBQUdSLElBQUk7QUFHMUIsTUFBTTtBQUFFUyxFQUFBQTtBQUFTLENBQUMsR0FBR1QsSUFBSTtBQUd6QixNQUFNO0FBQUVVLEVBQUFBO0FBQVEsQ0FBQyxHQUFHVixJQUFJO0FBR3hCLE1BQU07QUFBRVcsRUFBQUE7QUFBWSxDQUFDLEdBQUdYLElBQUk7O0FDekJwQixTQUFTWSxvQkFBb0JBLENBQUNDLFNBQW1CLEVBQWtCO0FBQ2pGLEVBQUEsUUFBUSxJQUFJO0lBQ1osS0FBS0EsU0FBUyxZQUFZRixXQUFXO0FBQUUsTUFBQTtRQUN0QyxPQUFPRSxTQUFTLENBQUNDLEtBQUs7QUFDdkIsTUFBQTtJQUVBLEtBQUtELFNBQVMsWUFBWU4sVUFBVTtBQUFFLE1BQUE7UUFDckMsT0FBT00sU0FBUyxDQUFDRSxJQUFJO0FBQ3RCLE1BQUE7SUFFQSxLQUFLRixTQUFTLFlBQVlQLFVBQVU7QUFBRSxNQUFBO1FBQ3JDLE1BQU07VUFBRVEsS0FBSztVQUFFRSxjQUFjO0FBQUVDLFVBQUFBO0FBQWlCLFNBQUMsR0FBR0osU0FBUztBQUU3RCxRQUFBLE1BQU1LLElBQUksR0FBR0wsU0FBUyxDQUFDTSxRQUFRLEdBQzVC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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cichol/sass-bridge",
3
- "version": "5.0.0",
3
+ "version": "5.2.0",
4
4
  "description": "A bridge interface to define Sass custom functions.",
5
5
  "homepage": "https://github.com/morrighan/packages",
6
6
  "bugs": {
@@ -35,17 +35,17 @@
35
35
  "directory": "packages/sass-bridge"
36
36
  },
37
37
  "dependencies": {
38
- "@babel/runtime-corejs3": "^7.26.9",
38
+ "@babel/runtime-corejs3": "^7.28.4",
39
39
  "chroma-js": "^3.1.2",
40
- "core-js-pure": "^3.41.0",
41
- "immutable": "^5.0.3"
40
+ "core-js-pure": "^3.45.1",
41
+ "immutable": "^5.1.3"
42
42
  },
43
43
  "peerDependencies": {
44
- "sass": "npm:sass-embedded@^1.85.1"
44
+ "sass": "^1.92.1"
45
45
  },
46
46
  "engines": {
47
- "node": "^20.18.3",
48
- "npm": "^11.0.0"
47
+ "node": "^20.19.4 || ^22.17.1",
48
+ "npm": "^11.5.1"
49
49
  },
50
50
  "publishConfig": {
51
51
  "registry": "https://registry.npmjs.org/",