@savafeed/cart-api-sdk 1.0.3 → 1.0.4

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.
@@ -611,8 +611,13 @@ async function virtualMachine(code) {
611
611
  URL,
612
612
  fetch,
613
613
  };
614
- // @ts-ignore
615
- await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');
614
+ if (typeof document === 'undefined') {
615
+ await import('reflect-metadata');
616
+ }
617
+ else {
618
+ // @ts-ignore
619
+ await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');
620
+ }
616
621
  context.Reflect = Reflect;
617
622
  const sandbox = createContext(context);
618
623
  runInContext(code, sandbox);
@@ -765,6 +770,39 @@ class DriverManager {
765
770
  ;
766
771
  }
767
772
 
773
+ class DomPolyfill {
774
+ static getDocument() {
775
+ if (typeof document !== 'undefined') {
776
+ return document;
777
+ }
778
+ if (typeof globalThis !== 'undefined') {
779
+ const documentFromGlobal = globalThis.document;
780
+ if (typeof documentFromGlobal !== 'undefined') {
781
+ return documentFromGlobal;
782
+ }
783
+ else {
784
+ return null;
785
+ }
786
+ }
787
+ return null;
788
+ }
789
+ static getWindow() {
790
+ if (typeof window !== 'undefined') {
791
+ return window;
792
+ }
793
+ if (typeof globalThis !== 'undefined') {
794
+ const windowFromGlobal = globalThis.window;
795
+ if (typeof windowFromGlobal !== 'undefined') {
796
+ return windowFromGlobal;
797
+ }
798
+ else {
799
+ return null;
800
+ }
801
+ }
802
+ return null;
803
+ }
804
+ }
805
+
768
806
  class CartSDK {
769
807
  environments;
770
808
  appContainer = container;
@@ -795,15 +833,16 @@ class CartSDK {
795
833
  mandatoryControllers.forEach((controllerName) => {
796
834
  const controllerInstance = this.driverManager.getController(controllerName);
797
835
  if (!controllerInstance) {
798
- throw new Error(`Controller ${controllerName} not found`);
836
+ throw new Error(`Mandatory controller [${controllerName}] not found`);
799
837
  }
800
838
  this.controllers.set(controllerName, controllerInstance);
801
839
  });
802
840
  }
803
841
  }
804
- if (window) {
842
+ const $window = DomPolyfill.getWindow();
843
+ if ($window) {
805
844
  // @ts-ignore
806
- window.CartSDK = CartSDK;
845
+ $window.CartSDK = CartSDK;
807
846
  }
808
847
 
809
848
  exports.CartSDK = CartSDK;
@@ -1 +1 @@
1
- {"version":3,"file":"cart-api-sdk.cjs.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"cart-api-sdk.cjs.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n if (typeof document === 'undefined') {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":";;;;AAEA,MAAM,aAAa,CAAC;AACpB,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE;AAC1B,QAAQ,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;AAChD,YAAY,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC;AACrD,YAAY,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;AACzD,KAAK;AACL,IAAI,OAAO,sBAAsB,CAAC,KAAK,EAAE;AACzC,QAAQ,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChD,QAAQ,OAAO,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,OAAO,UAAU,CAAC,KAAK,EAAE;AAC7B,QAAQ,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AAC3C,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC,KAAK,EAAE;AACtC,QAAQ,IAAI;AACZ,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,KAAK;AACL,CAAC;AACD;AACA,MAAM,SAAS,CAAC;AAChB,IAAI,eAAe,CAAC;AACpB,IAAI,MAAM,CAAC;AACX,IAAI,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5B,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,IAAI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE;AACzC,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AAC/C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,mBAAmB,mCAAmC,EAAE,CAAC;AACtE,QAAQ,IAAI,CAAC,qBAAqB,oCAAoC,EAAE,CAAC;AACzE,KAAK;AACL;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,SAAS;AACtB,YAAY,OAAO;AACnB,QAAQ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAC1C,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5C,gBAAgB,SAAS;AACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,QAAQ,CAAC,CAAC;AACzH,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;AACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;AAClE,gBAAgB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC7D,oBAAoB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3H,oBAAoB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC1G,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;AAC/E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACtH,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9F,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AAC5E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAC9H,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3F,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,aAAa,CAAC;AAC9B,YAAY,IAAI,gBAAgB,CAAC;AACjC,YAAY,IAAI,QAAQ,EAAE,KAAK,EAAE;AACjC,gBAAgB,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AACpF,gBAAgB,IAAI,CAAC,cAAc;AACnC,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oCAAoC,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACzI,gBAAgB,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC;AACrD,gBAAgB,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC;AAC3D,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACrF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,aAAa,GAAG,QAAQ,CAAC;AACzC,gBAAgB,gBAAgB,GAAG,IAAI,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC;AACjE,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7E,aAAa;AACb,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAChE,SAAS;AACT,KAAK;AACL;AACA,IAAI,6BAA6B,CAAC,cAAc,EAAE;AAClD,QAAQ,IAAI,CAAC,cAAc,EAAE,KAAK;AAClC,YAAY,OAAO,IAAI,CAAC;AACxB,QAAQ,IAAI,cAAc,CAAC;AAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;AACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;AACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;AACtD,YAAY,IAAI;AAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;AACrE,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACjE,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;AACvF,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,cAAc,CAAC,KAAK;AACvC,YAAY,QAAQ,EAAE,cAAc;AACpC,SAAS,CAAC;AACV,KAAK;AACL;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AACpD,QAAQ,IAAI,CAAC,WAAW;AACxB,YAAY,OAAO;AACnB,QAAQ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;AAC9C,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;AAChD,gBAAgB,SAAS;AACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,CAAC;AAC3H,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;AACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,KAAK;AAC3D,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AACxD,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrG,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACvE,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,IAAI,UAAU,CAAC;AACxI,YAAY,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC;AACvE,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AACtE,SAAS;AACT,KAAK;AACL;AACA,IAAI,aAAa,CAAC,eAAe,EAAE;AACnC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrD,KAAK;AACL;AACA,CAAC;AACD;AACA,SAAS,EAAE,CAAC,MAAM,EAAE;AACpB,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACnD,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AACpC,QAAQ,OAAO;AACf,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,YAAY,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3B,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,MAAM,IAAI,CAAC;AACX,IAAI,OAAO,CAAC;AACZ,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;AACtC,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,CAAC;AACD;AACA,MAAM,cAAc,CAAC;AACrB,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,IAAI,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE;AAC3C,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAClC,YAAY,QAAQ,EAAE,aAAa;AACnC,YAAY,IAAI;AAChB,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,mBAAmB,CAAC,cAAc,EAAE;AACxC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,sBAAsB,GAAG;AAC7B,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;AACvD,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,CAAC,QAAQ,iCAAiC,EAAE;AACxD,YAAY,CAAC,YAAY,qCAAqC,EAAE;AAChE,SAAS,CAAC;AACV,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK;AAClD,YAAY,MAAM,SAAS,GAAG,IAAI,KAAK,YAAY,sCAAsC,IAAI,KAAK,QAAQ,+BAA+B;AACzI,YAAY,IAAI,SAAS,EAAE;AAC3B,gBAAgB,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,QAAQ,+BAA+B,CAAC;AAChG,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,YAAY,mCAAmC,CAAC;AACxG,KAAK;AACL;AACA,IAAI,yBAAyB,CAAC,eAAe,EAAE,IAAI,EAAE;AACrD,QAAQ,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACpD,YAAY,QAAQ,IAAI;AACxB,gBAAgB,KAAK,QAAQ;AAC7B,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxD,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,YAAY;AACjC,oBAAoB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC5D,oBAAoB,MAAM;AAC1B,aAAa;AACb,YAAY,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,wBAAwB,CAAC,aAAa,EAAE;AAC5C,QAAQ,IAAI,aAAa,EAAE,KAAK,EAAE;AAClC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;AACvD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/D,SAAS;AACT,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;AACjD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACzD,SAAS;AACT,QAAQ,MAAM,YAAY,GAAG,EAAE,CAAC;AAChC,QAAQ,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,aAAa,CAAC,CAAC;AAC5H,QAAQ,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,aAAa,CAAC,CAAC;AAC9G,QAAQ,kBAAkB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;AAChE,YAAY,MAAM,WAAW,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC7G,YAAY,IAAI,cAAc,GAAG,WAAW,IAAI,eAAe,CAAC;AAChE,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;AAC7E,YAAY,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC;AAC5D,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACpD,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL;AACA,IAAI,oBAAoB,CAAC,cAAc,EAAE;AACzC,QAAQ,IAAI,cAAc,CAAC;AAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;AACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;AACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;AACtD,YAAY,IAAI;AAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;AACrE,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACjE,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;AACvF,gBAAgB,OAAO,KAAK,CAAC;AAC7B,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjE,KAAK;AACL;AACA,CAAC;AACD;AACA,MAAM,SAAS,SAAS,cAAc,CAAC;AACvC,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AACzB,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,cAAc,CAAC,MAAM,EAAE;AAC3B,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;AACrC,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACtC,QAAQ,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAClD,KAAK;AACL;AACA,IAAI,eAAe,CAAC,UAAU,EAAE;AAChC,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,UAAU,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5E,KAAK;AACL;AACA,IAAI,aAAa,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK;AACpD,YAAY,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/C,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAC9C,KAAK;AACL;AACA,IAAI,yBAAyB,CAAC,aAAa,EAAE;AAC7C,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;AAC1B,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK;AAC1D,YAAY,IAAI,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;AAChE,gBAAgB,MAAM,GAAG;AACzB,oBAAoB,KAAK,EAAE,WAAW;AACtC,oBAAoB,SAAS,EAAE,SAAS;AACxC,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL;AACA,CAAC;AACD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAClC;AACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,mBAAmB,mCAAmC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrG,KAAK,CAAC;AACN,CAAC;AACD;AACA,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;AAC/C,YAAY,KAAK,EAAE,OAAO,CAAC,IAAI;AAC/B,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;AACtD,YAAY,KAAK,EAAE,OAAO,CAAC,WAAW;AACtC,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;AACpD,YAAY,KAAK,EAAE,OAAO,CAAC,SAAS;AACpC,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,iBAAiB,CAAC,SAAS,EAAE;AACtC,IAAI,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK;AACrC,QAAQ,MAAM,gBAAgB,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;AACnF,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,YAAY,SAAS,CAAC,iBAAiB,CAAC,QAAQ,gCAAgC,QAAQ,CAAC,CAAC;AAC1F,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,UAAU,GAAG;AACtB,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,SAAS,CAAC,iBAAiB,CAAC,YAAY,oCAAoC,MAAM,CAAC,CAAC;AAC5F,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,KAAK,EAAE;AACvB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,KAAK;AAC1C,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC;AACvG,QAAQ,MAAM,CAAC,IAAI,CAAC;AACpB,YAAY,KAAK,EAAE,cAAc;AACjC,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,eAAe,+BAA+B,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7F,KAAK,CAAC;AACN,CAAC;AACD;AACA,MAAM,cAAc,CAAC;AACrB,IAAI,OAAO,IAAI,CAAC;AAChB,IAAI,OAAO,WAAW,GAAG,EAAE,CAAC;AAC5B,IAAI,OAAO,SAAS,GAAG,EAAE,CAAC;AAC1B,CAAC;AACD;AACA,MAAM,KAAK,CAAC;AACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACrD,KAAK;AACL,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAChD,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;AAC9C,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvD,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1C,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,QAAQ,OAAO,WAAW,CAAC;AAC3B,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK;AACL;;;;;;;;;;;;;;;;;ACrXA,IAAI,gBAAgB;AACpB,CAAC,UAAU,gBAAgB,EAAE;AAC7B,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,eAAe;AACjD,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,WAAW;AACzC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;;AAE/C,IAAI,eAAe;AACnB,CAAC,UAAU,eAAe,EAAE;AAC5B,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,cAAc;AACpD,CAAC,EAAE,eAAe,KAAK,eAAe,GAAG,EAAE,CAAC,CAAC;;AAE7C,IAAI,uBAAuB;AAC3B,CAAC,UAAU,uBAAuB,EAAE;AACpC,IAAI,uBAAuB,CAAC,YAAY,CAAC,GAAG,YAAY;AACxD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;AAClD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;AAClD,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;AAChE,CAAC,EAAE,uBAAuB,KAAK,uBAAuB,GAAG,EAAE,CAAC,CAAC;;AAa7D;AACA;;AAEA;AACA;;;AAGA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG;AACzC,OAAO;AACP,IAAI,IAAI,GAAG,GAAG,EAAE;AAChB,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACtC,IAAI,OAAO,GAAG;AACd;AACA;;AAEA,SAAS,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE;AACzB,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;AACtC;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACtB;AACA;AACA,IAAI,WAAW;;AAEf,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;AACzC,IAAI,WAAW,GAAG,gBAAgB;AAClC;AACA,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/B;;AAEA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI;AACN,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AACtC,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;AACvC,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,YAAY,EAAE,IAAI;AAC1B,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,KAAK;AACL,GAAG,CAAC,OAAO,CAAC,EAAE;AACd,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;AACvB,KAAK;AACL;AACA;;AAEA,IAAI,OAAO,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU;AAC3E,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY;AACrE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU;AAC9E,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ;AAChF,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE;AACtE,CAAC;;AAED,SAAS,OAAO,GAAG;AACnB,OAAO,CAAC,SAAS,GAAG,EAAE;;AAEtB,SAAS,MAAM,CAAC,IAAI,EAAE;AACtB,EAAE,IAAI,EAAE,IAAI,YAAY,MAAM,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;AACxD,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;AAC1C,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;AAChC,EAAE,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC;AAC9D,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AACrC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE;AACb,GAAG,CAAC;AACJ;AACA,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,OAAO,EAAE;AAClD,EAAE,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE;AACrC,IAAI,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC;AACxD;AACA,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;AACvB,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACxD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,EAAE;AACxC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;AAEjC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE5C,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,aAAa;AAClC,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI;AACxB,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU;;AAElC,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE;AAC/B;AACA,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;AACnC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI;AACtB;;AAEA,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;AAChD,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC7B,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AACnC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AACxB,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC/B;AACA,KAAK,CAAC;;AAEN,IAAI,IAAI,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC;;AAElC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;;AAExC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;AAC5C;AACA;AACA;AACA,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE;AAC1D,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC/B;AACA,KAAK,CAAC;;AAEN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AACnC,MAAM,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE;AAC7B,QAAQ,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1C;AACA,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE5C,IAAI,OAAO,GAAG;AACd;AACA,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAC9C,CAAC;;AAED,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,WAAW;AAC/C,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;AACrD,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;;AAED,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,OAAO,EAAE;AACrD,EAAE,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC;AAClC,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAClC,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;AAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC7B,KAAK,CAAC;AACN;;AAEA,EAAE,OAAO,GAAG;AACZ,CAAC;;AAED,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;AAC1B,IAAI,OAAO,OAAO;AAClB;AACA,EAAE,IAAI,IAAI,GAAG,IAAI,OAAO,EAAE;AAC1B,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;AAChD,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC9B,KAAK,CAAC;AACN;AACA,EAAE,OAAO,IAAI;AACb;AACA,SAAS,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE;AAC1D,EAAE,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;AAC/B,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC;AAC1D;AACA,SAAS,SAAS,CAAC,OAAO,EAAE;AAC5B,EAAE,OAAO,OAAO,YAAY,OAAO;AACnC;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO;;AAEzB,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1B,EAAE,IAAI,QAAQ,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACvC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC;AAChC;AACA,EAAE,OAAO,EAAE;AACX;;AAEA,eAAe,cAAc,CAAC,IAAI,EAAE;AACpC,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;AAC/B,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK;AACzB,YAAY,IAAI,EAAE,KAAK,0BAA0B,EAAE;AACnD,gBAAgB,OAAO,aAAa;AACpC;AACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;AACtE,SAAS;AACT,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,KAAK;AACb,KAAK;AACL,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACzC,QAAQ,MAAM,OAAO,kBAAkB,CAAC;AACxC;AACA,SAAS;AACT;AACA,QAAQ,MAAM,OAAO,qDAAqD,CAAC;AAC3E;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO;AAC7B,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;AAC1C,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;AAC/B,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO;AACxC,IAAI,OAAO,YAAY;AACvB;;AAEA,MAAM,eAAe,CAAC;AACtB;AACA,IAAI,OAAO,GAAG,GAAG,6BAA6B;AAC9C,IAAI,aAAa,eAAe,CAAC,gBAAgB,EAAE;AACnD,QAAQ,IAAI,YAAY;AACxB,QAAQ,IAAI,gBAAgB,EAAE,OAAO,EAAE;AACvC,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACjG;AACA,aAAa,IAAI,gBAAgB,EAAE,MAAM,EAAE;AAC3C,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC;AAC/F;AACA,aAAa;AACb,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;AAC/C;AACA,QAAQ,OAAO,YAAY;AAC3B;AACA;AACA,IAAI,aAAa,sBAAsB,CAAC,OAAO,EAAE;AACjD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,mCAAmC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClF,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;AAC/F,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;AACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;AAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,SAAS,CAAC;AACV,QAAQ,OAAO,YAAY;AAC3B;AACA,IAAI,aAAa,qBAAqB,CAAC,OAAO,EAAE;AAChD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,IAAI,CAAC,OAAO,EAAE,SAAS;AAC/B,YAAY,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;AAC1D,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;AAC3E,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;AACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;AAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,SAAS;AACnC,SAAS,CAAC;AACV,QAAQ,OAAO,YAAY;AAC3B;AACA,IAAI,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,QAAQ,IAAI,CAAC,MAAM;AACnB,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;AAC/C,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,KAAK;AACrF,QAAQ,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI;AAC5C,QAAQ,QAAQ,iBAAiB;AACjC,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACtH,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACtH,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAChE,YAAY;AACZ,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC5E;AACA;AACA,IAAI,aAAa,gBAAgB,CAAC,IAAI,EAAE;AACxC,QAAQ,IAAI,CAAC,IAAI;AACjB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;AAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF;AACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;AAC1D,QAAQ,OAAO,MAAM;AACrB;AACA;AACA,IAAI,aAAa,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC1D,QAAQ,IAAI,CAAC,UAAU;AACvB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,GAAG,KAAK;AACrE,QAAQ,MAAM,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;AACtH,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;AAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF;AACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;AAC1D,QAAQ,OAAO,MAAM;AACrB;AACA;AACA;;AAEA,MAAM,aAAa,CAAC;AACpB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE;AAC5C,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;AACxC,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvD;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;AAC3E,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACnG;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;AACxF,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;AACjD,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;AAC9C,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS;AAC7D,oBAAoB,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,gBAAgB;AAC1E,iBAAiB;AACjB,aAAa,CAAC;AACd;AACA,aAAa;AACb,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;AAC9C,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU;AAC9D,oBAAoB,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe;AACxE,iBAAiB;AACjB,aAAa,CAAC;AACd;AACA;AACA,IAAI,cAAc,CAAC,OAAO,EAAE;AAC5B,QAAQ,IAAI,OAAO,EAAE,GAAG,EAAE;AAC1B,YAAY,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;AAC7C;AACA;AACA,IAAI,aAAa,CAAC,cAAc,EAAE;AAClC,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC;AAC9D;AACA,IAAI,MAAM,eAAe,CAAC,gBAAgB,EAAE;AAC5C,QAAQ,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC;AACpF,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3B,YAAY,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,CAAC;AAC5D,YAAY,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;AAChE,YAAY,IAAI,aAAa;AAC7B,YAAY,IAAI;AAChB,gBAAgB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;AAChE;AACA,YAAY,OAAO,EAAE,EAAE;AACvB,gBAAgB,OAAO,CAAC,IAAI,CAAC,wEAAwE,EAAE,EAAE,CAAC;AAC1G,gBAAgB,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxD;AACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;AAChF;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC;AACtD,QAAQ,OAAO,YAAY;AAC3B;AACA;AACA;;MCrYa,WAAW,CAAA;AACf,IAAA,OAAO,WAAW,GAAA;AACvB,QAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACnC,YAAA,OAAO,QAAQ;;AAEjB,QAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACrC,YAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ;AAC9C,YAAA,IAAI,OAAO,kBAAkB,KAAK,WAAW,EAAE;AAC7C,gBAAA,OAAO,kBAAkB;;iBACpB;AACL,gBAAA,OAAO,IAAI;;;AAGf,QAAA,OAAO,IAAI;;AAGN,IAAA,OAAO,SAAS,GAAA;AACrB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,OAAO,MAAM;;AAEf,QAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACrC,YAAA,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM;AAC1C,YAAA,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;AAC3C,gBAAA,OAAO,gBAAgB;;iBAClB;AACL,gBAAA,OAAO,IAAI;;;AAGf,QAAA,OAAO,IAAI;;AAEd;;ACxBD,MAAM,OAAO,CAAA;AAMD,IAAA,YAAA;IALF,YAAY,GAAc,SAAS;AACnC,IAAA,aAAa;AACb,IAAA,WAAW,GAA8E,IAAI,GAAG,EAAE;AAE1G,IAAA,WAAA,CACU,YAA2B,EAAA;QAA3B,IAAY,CAAA,YAAA,GAAZ,YAAY;AAEpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,CAClB;;;AAGH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK;AAClC,aAAA,IAAI,CAAC,CAAC,MAAM,KAAI;YACf,IAAI,CAAC,8BAA8B,EAAE;AACrC,YAAA,OAAO,MAAM;AACf,SAAC,CAAC;;AAGC,IAAA,aAAa,CAAiD,cAA8B,EAAA;QACjG,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAuC;;IAG3E,8BAA8B,GAAA;AACpC,QAAA,MAAM,oBAAoB,GAAG;AAC3B,YAAA,uBAAuB,CAAC,UAAU;AAClC,YAAA,uBAAuB,CAAC,OAAO;AAC/B,YAAA,uBAAuB,CAAC,OAAO;AAC/B,YAAA,uBAAuB,CAAC,cAAc;SACvC;AAED,QAAA,oBAAoB,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;YAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3E,IAAI,CAAC,kBAAkB,EAAE;AACvB,gBAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,CAAA,WAAA,CAAa,CAAC;;YAEvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;AAC1D,SAAC,CAAC;;AAEL;AAED,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE;AACvC,IAAI,OAAO,EAAE;;AAEX,IAAA,OAAO,CAAC,OAAO,GAAG,OAAO;AAC3B;;;;","x_google_ignoreList":[0,1]}
@@ -609,8 +609,13 @@ async function virtualMachine(code) {
609
609
  URL,
610
610
  fetch,
611
611
  };
612
- // @ts-ignore
613
- await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');
612
+ if (typeof document === 'undefined') {
613
+ await import('reflect-metadata');
614
+ }
615
+ else {
616
+ // @ts-ignore
617
+ await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');
618
+ }
614
619
  context.Reflect = Reflect;
615
620
  const sandbox = createContext(context);
616
621
  runInContext(code, sandbox);
@@ -763,6 +768,39 @@ class DriverManager {
763
768
  ;
764
769
  }
765
770
 
771
+ class DomPolyfill {
772
+ static getDocument() {
773
+ if (typeof document !== 'undefined') {
774
+ return document;
775
+ }
776
+ if (typeof globalThis !== 'undefined') {
777
+ const documentFromGlobal = globalThis.document;
778
+ if (typeof documentFromGlobal !== 'undefined') {
779
+ return documentFromGlobal;
780
+ }
781
+ else {
782
+ return null;
783
+ }
784
+ }
785
+ return null;
786
+ }
787
+ static getWindow() {
788
+ if (typeof window !== 'undefined') {
789
+ return window;
790
+ }
791
+ if (typeof globalThis !== 'undefined') {
792
+ const windowFromGlobal = globalThis.window;
793
+ if (typeof windowFromGlobal !== 'undefined') {
794
+ return windowFromGlobal;
795
+ }
796
+ else {
797
+ return null;
798
+ }
799
+ }
800
+ return null;
801
+ }
802
+ }
803
+
766
804
  class CartSDK {
767
805
  environments;
768
806
  appContainer = container;
@@ -793,15 +831,16 @@ class CartSDK {
793
831
  mandatoryControllers.forEach((controllerName) => {
794
832
  const controllerInstance = this.driverManager.getController(controllerName);
795
833
  if (!controllerInstance) {
796
- throw new Error(`Controller ${controllerName} not found`);
834
+ throw new Error(`Mandatory controller [${controllerName}] not found`);
797
835
  }
798
836
  this.controllers.set(controllerName, controllerInstance);
799
837
  });
800
838
  }
801
839
  }
802
- if (window) {
840
+ const $window = DomPolyfill.getWindow();
841
+ if ($window) {
803
842
  // @ts-ignore
804
- window.CartSDK = CartSDK;
843
+ $window.CartSDK = CartSDK;
805
844
  }
806
845
 
807
846
  export { CartSDK };
@@ -1 +1 @@
1
- {"version":3,"file":"cart-api-sdk.esm.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null],"names":[],"mappings":";;AAEA,MAAM,aAAa,CAAC;AACpB,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE;AAC1B,QAAQ,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;AAChD,YAAY,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC;AACrD,YAAY,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;AACzD,KAAK;AACL,IAAI,OAAO,sBAAsB,CAAC,KAAK,EAAE;AACzC,QAAQ,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChD,QAAQ,OAAO,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,OAAO,UAAU,CAAC,KAAK,EAAE;AAC7B,QAAQ,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AAC3C,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC,KAAK,EAAE;AACtC,QAAQ,IAAI;AACZ,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,KAAK;AACL,CAAC;AACD;AACA,MAAM,SAAS,CAAC;AAChB,IAAI,eAAe,CAAC;AACpB,IAAI,MAAM,CAAC;AACX,IAAI,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5B,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,IAAI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE;AACzC,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AAC/C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,mBAAmB,mCAAmC,EAAE,CAAC;AACtE,QAAQ,IAAI,CAAC,qBAAqB,oCAAoC,EAAE,CAAC;AACzE,KAAK;AACL;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,SAAS;AACtB,YAAY,OAAO;AACnB,QAAQ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAC1C,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5C,gBAAgB,SAAS;AACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,QAAQ,CAAC,CAAC;AACzH,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;AACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;AAClE,gBAAgB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC7D,oBAAoB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3H,oBAAoB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC1G,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;AAC/E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACtH,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9F,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AAC5E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAC9H,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3F,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,aAAa,CAAC;AAC9B,YAAY,IAAI,gBAAgB,CAAC;AACjC,YAAY,IAAI,QAAQ,EAAE,KAAK,EAAE;AACjC,gBAAgB,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AACpF,gBAAgB,IAAI,CAAC,cAAc;AACnC,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oCAAoC,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACzI,gBAAgB,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC;AACrD,gBAAgB,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC;AAC3D,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACrF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,aAAa,GAAG,QAAQ,CAAC;AACzC,gBAAgB,gBAAgB,GAAG,IAAI,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC;AACjE,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7E,aAAa;AACb,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAChE,SAAS;AACT,KAAK;AACL;AACA,IAAI,6BAA6B,CAAC,cAAc,EAAE;AAClD,QAAQ,IAAI,CAAC,cAAc,EAAE,KAAK;AAClC,YAAY,OAAO,IAAI,CAAC;AACxB,QAAQ,IAAI,cAAc,CAAC;AAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;AACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;AACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;AACtD,YAAY,IAAI;AAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;AACrE,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACjE,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;AACvF,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,cAAc,CAAC,KAAK;AACvC,YAAY,QAAQ,EAAE,cAAc;AACpC,SAAS,CAAC;AACV,KAAK;AACL;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AACpD,QAAQ,IAAI,CAAC,WAAW;AACxB,YAAY,OAAO;AACnB,QAAQ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;AAC9C,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;AAChD,gBAAgB,SAAS;AACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,CAAC;AAC3H,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;AACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,KAAK;AAC3D,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AACxD,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrG,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACvE,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,IAAI,UAAU,CAAC;AACxI,YAAY,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC;AACvE,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AACtE,SAAS;AACT,KAAK;AACL;AACA,IAAI,aAAa,CAAC,eAAe,EAAE;AACnC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrD,KAAK;AACL;AACA,CAAC;AACD;AACA,SAAS,EAAE,CAAC,MAAM,EAAE;AACpB,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACnD,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AACpC,QAAQ,OAAO;AACf,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,YAAY,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3B,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,MAAM,IAAI,CAAC;AACX,IAAI,OAAO,CAAC;AACZ,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;AACtC,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,CAAC;AACD;AACA,MAAM,cAAc,CAAC;AACrB,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,IAAI,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE;AAC3C,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAClC,YAAY,QAAQ,EAAE,aAAa;AACnC,YAAY,IAAI;AAChB,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,mBAAmB,CAAC,cAAc,EAAE;AACxC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,sBAAsB,GAAG;AAC7B,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;AACvD,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,CAAC,QAAQ,iCAAiC,EAAE;AACxD,YAAY,CAAC,YAAY,qCAAqC,EAAE;AAChE,SAAS,CAAC;AACV,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK;AAClD,YAAY,MAAM,SAAS,GAAG,IAAI,KAAK,YAAY,sCAAsC,IAAI,KAAK,QAAQ,+BAA+B;AACzI,YAAY,IAAI,SAAS,EAAE;AAC3B,gBAAgB,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,QAAQ,+BAA+B,CAAC;AAChG,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,YAAY,mCAAmC,CAAC;AACxG,KAAK;AACL;AACA,IAAI,yBAAyB,CAAC,eAAe,EAAE,IAAI,EAAE;AACrD,QAAQ,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACpD,YAAY,QAAQ,IAAI;AACxB,gBAAgB,KAAK,QAAQ;AAC7B,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxD,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,YAAY;AACjC,oBAAoB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC5D,oBAAoB,MAAM;AAC1B,aAAa;AACb,YAAY,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,wBAAwB,CAAC,aAAa,EAAE;AAC5C,QAAQ,IAAI,aAAa,EAAE,KAAK,EAAE;AAClC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;AACvD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/D,SAAS;AACT,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;AACjD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACzD,SAAS;AACT,QAAQ,MAAM,YAAY,GAAG,EAAE,CAAC;AAChC,QAAQ,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,aAAa,CAAC,CAAC;AAC5H,QAAQ,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,aAAa,CAAC,CAAC;AAC9G,QAAQ,kBAAkB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;AAChE,YAAY,MAAM,WAAW,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC7G,YAAY,IAAI,cAAc,GAAG,WAAW,IAAI,eAAe,CAAC;AAChE,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;AAC7E,YAAY,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC;AAC5D,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACpD,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL;AACA,IAAI,oBAAoB,CAAC,cAAc,EAAE;AACzC,QAAQ,IAAI,cAAc,CAAC;AAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;AACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;AACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;AACtD,YAAY,IAAI;AAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;AACrE,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACjE,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;AACvF,gBAAgB,OAAO,KAAK,CAAC;AAC7B,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjE,KAAK;AACL;AACA,CAAC;AACD;AACA,MAAM,SAAS,SAAS,cAAc,CAAC;AACvC,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AACzB,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,cAAc,CAAC,MAAM,EAAE;AAC3B,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;AACrC,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACtC,QAAQ,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAClD,KAAK;AACL;AACA,IAAI,eAAe,CAAC,UAAU,EAAE;AAChC,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,UAAU,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5E,KAAK;AACL;AACA,IAAI,aAAa,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK;AACpD,YAAY,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/C,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAC9C,KAAK;AACL;AACA,IAAI,yBAAyB,CAAC,aAAa,EAAE;AAC7C,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;AAC1B,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK;AAC1D,YAAY,IAAI,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;AAChE,gBAAgB,MAAM,GAAG;AACzB,oBAAoB,KAAK,EAAE,WAAW;AACtC,oBAAoB,SAAS,EAAE,SAAS;AACxC,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL;AACA,CAAC;AACD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAClC;AACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,mBAAmB,mCAAmC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrG,KAAK,CAAC;AACN,CAAC;AACD;AACA,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;AAC/C,YAAY,KAAK,EAAE,OAAO,CAAC,IAAI;AAC/B,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;AACtD,YAAY,KAAK,EAAE,OAAO,CAAC,WAAW;AACtC,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;AACpD,YAAY,KAAK,EAAE,OAAO,CAAC,SAAS;AACpC,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,iBAAiB,CAAC,SAAS,EAAE;AACtC,IAAI,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK;AACrC,QAAQ,MAAM,gBAAgB,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;AACnF,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,YAAY,SAAS,CAAC,iBAAiB,CAAC,QAAQ,gCAAgC,QAAQ,CAAC,CAAC;AAC1F,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,UAAU,GAAG;AACtB,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,SAAS,CAAC,iBAAiB,CAAC,YAAY,oCAAoC,MAAM,CAAC,CAAC;AAC5F,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,KAAK,EAAE;AACvB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,KAAK;AAC1C,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC;AACvG,QAAQ,MAAM,CAAC,IAAI,CAAC;AACpB,YAAY,KAAK,EAAE,cAAc;AACjC,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,eAAe,+BAA+B,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7F,KAAK,CAAC;AACN,CAAC;AACD;AACA,MAAM,cAAc,CAAC;AACrB,IAAI,OAAO,IAAI,CAAC;AAChB,IAAI,OAAO,WAAW,GAAG,EAAE,CAAC;AAC5B,IAAI,OAAO,SAAS,GAAG,EAAE,CAAC;AAC1B,CAAC;AACD;AACA,MAAM,KAAK,CAAC;AACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACrD,KAAK;AACL,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAChD,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;AAC9C,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvD,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1C,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,QAAQ,OAAO,WAAW,CAAC;AAC3B,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK;AACL;;;;;;;;;;;;;;;;;ACrXA,IAAI,gBAAgB;AACpB,CAAC,UAAU,gBAAgB,EAAE;AAC7B,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,eAAe;AACjD,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,WAAW;AACzC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;;AAE/C,IAAI,eAAe;AACnB,CAAC,UAAU,eAAe,EAAE;AAC5B,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,cAAc;AACpD,CAAC,EAAE,eAAe,KAAK,eAAe,GAAG,EAAE,CAAC,CAAC;;AAE7C,IAAI,uBAAuB;AAC3B,CAAC,UAAU,uBAAuB,EAAE;AACpC,IAAI,uBAAuB,CAAC,YAAY,CAAC,GAAG,YAAY;AACxD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;AAClD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;AAClD,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;AAChE,CAAC,EAAE,uBAAuB,KAAK,uBAAuB,GAAG,EAAE,CAAC,CAAC;;AAa7D;AACA;;AAEA;AACA;;;AAGA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG;AACzC,OAAO;AACP,IAAI,IAAI,GAAG,GAAG,EAAE;AAChB,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACtC,IAAI,OAAO,GAAG;AACd;AACA;;AAEA,SAAS,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE;AACzB,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;AACtC;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACtB;AACA;AACA,IAAI,WAAW;;AAEf,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;AACzC,IAAI,WAAW,GAAG,gBAAgB;AAClC;AACA,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/B;;AAEA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI;AACN,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AACtC,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;AACvC,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,YAAY,EAAE,IAAI;AAC1B,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,KAAK;AACL,GAAG,CAAC,OAAO,CAAC,EAAE;AACd,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;AACvB,KAAK;AACL;AACA;;AAEA,IAAI,OAAO,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU;AAC3E,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY;AACrE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU;AAC9E,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ;AAChF,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE;AACtE,CAAC;;AAED,SAAS,OAAO,GAAG;AACnB,OAAO,CAAC,SAAS,GAAG,EAAE;;AAEtB,SAAS,MAAM,CAAC,IAAI,EAAE;AACtB,EAAE,IAAI,EAAE,IAAI,YAAY,MAAM,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;AACxD,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;AAC1C,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;AAChC,EAAE,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC;AAC9D,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AACrC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE;AACb,GAAG,CAAC;AACJ;AACA,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,OAAO,EAAE;AAClD,EAAE,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE;AACrC,IAAI,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC;AACxD;AACA,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;AACvB,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACxD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,EAAE;AACxC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;AAEjC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE5C,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,aAAa;AAClC,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI;AACxB,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU;;AAElC,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE;AAC/B;AACA,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;AACnC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI;AACtB;;AAEA,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;AAChD,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC7B,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AACnC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AACxB,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC/B;AACA,KAAK,CAAC;;AAEN,IAAI,IAAI,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC;;AAElC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;;AAExC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;AAC5C;AACA;AACA;AACA,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE;AAC1D,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC/B;AACA,KAAK,CAAC;;AAEN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AACnC,MAAM,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE;AAC7B,QAAQ,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1C;AACA,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE5C,IAAI,OAAO,GAAG;AACd;AACA,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAC9C,CAAC;;AAED,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,WAAW;AAC/C,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;AACrD,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;;AAED,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,OAAO,EAAE;AACrD,EAAE,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC;AAClC,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAClC,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;AAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC7B,KAAK,CAAC;AACN;;AAEA,EAAE,OAAO,GAAG;AACZ,CAAC;;AAED,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;AAC1B,IAAI,OAAO,OAAO;AAClB;AACA,EAAE,IAAI,IAAI,GAAG,IAAI,OAAO,EAAE;AAC1B,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;AAChD,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC9B,KAAK,CAAC;AACN;AACA,EAAE,OAAO,IAAI;AACb;AACA,SAAS,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE;AAC1D,EAAE,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;AAC/B,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC;AAC1D;AACA,SAAS,SAAS,CAAC,OAAO,EAAE;AAC5B,EAAE,OAAO,OAAO,YAAY,OAAO;AACnC;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO;;AAEzB,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1B,EAAE,IAAI,QAAQ,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACvC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC;AAChC;AACA,EAAE,OAAO,EAAE;AACX;;AAEA,eAAe,cAAc,CAAC,IAAI,EAAE;AACpC,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;AAC/B,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK;AACzB,YAAY,IAAI,EAAE,KAAK,0BAA0B,EAAE;AACnD,gBAAgB,OAAO,aAAa;AACpC;AACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;AACtE,SAAS;AACT,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,KAAK;AACb,KAAK;AACL;AACA,IAAI,MAAM,OAAO,qDAAqD,CAAC;AACvE,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO;AAC7B,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;AAC1C,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;AAC/B,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO;AACxC,IAAI,OAAO,YAAY;AACvB;;AAEA,MAAM,eAAe,CAAC;AACtB;AACA,IAAI,OAAO,GAAG,GAAG,6BAA6B;AAC9C,IAAI,aAAa,eAAe,CAAC,gBAAgB,EAAE;AACnD,QAAQ,IAAI,YAAY;AACxB,QAAQ,IAAI,gBAAgB,EAAE,OAAO,EAAE;AACvC,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACjG;AACA,aAAa,IAAI,gBAAgB,EAAE,MAAM,EAAE;AAC3C,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC;AAC/F;AACA,aAAa;AACb,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;AAC/C;AACA,QAAQ,OAAO,YAAY;AAC3B;AACA;AACA,IAAI,aAAa,sBAAsB,CAAC,OAAO,EAAE;AACjD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,mCAAmC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClF,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;AAC/F,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;AACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;AAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,SAAS,CAAC;AACV,QAAQ,OAAO,YAAY;AAC3B;AACA,IAAI,aAAa,qBAAqB,CAAC,OAAO,EAAE;AAChD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,IAAI,CAAC,OAAO,EAAE,SAAS;AAC/B,YAAY,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;AAC1D,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;AAC3E,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;AACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;AAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,SAAS;AACnC,SAAS,CAAC;AACV,QAAQ,OAAO,YAAY;AAC3B;AACA,IAAI,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,QAAQ,IAAI,CAAC,MAAM;AACnB,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;AAC/C,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,KAAK;AACrF,QAAQ,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI;AAC5C,QAAQ,QAAQ,iBAAiB;AACjC,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACtH,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACtH,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAChE,YAAY;AACZ,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC5E;AACA;AACA,IAAI,aAAa,gBAAgB,CAAC,IAAI,EAAE;AACxC,QAAQ,IAAI,CAAC,IAAI;AACjB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;AAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF;AACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;AAC1D,QAAQ,OAAO,MAAM;AACrB;AACA;AACA,IAAI,aAAa,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC1D,QAAQ,IAAI,CAAC,UAAU;AACvB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,GAAG,KAAK;AACrE,QAAQ,MAAM,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;AACtH,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;AAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF;AACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;AAC1D,QAAQ,OAAO,MAAM;AACrB;AACA;AACA;;AAEA,MAAM,aAAa,CAAC;AACpB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE;AAC5C,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;AACxC,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvD;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;AAC3E,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACnG;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;AACxF,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;AACjD,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;AAC9C,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS;AAC7D,oBAAoB,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,gBAAgB;AAC1E,iBAAiB;AACjB,aAAa,CAAC;AACd;AACA,aAAa;AACb,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;AAC9C,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU;AAC9D,oBAAoB,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe;AACxE,iBAAiB;AACjB,aAAa,CAAC;AACd;AACA;AACA,IAAI,cAAc,CAAC,OAAO,EAAE;AAC5B,QAAQ,IAAI,OAAO,EAAE,GAAG,EAAE;AAC1B,YAAY,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;AAC7C;AACA;AACA,IAAI,aAAa,CAAC,cAAc,EAAE;AAClC,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC;AAC9D;AACA,IAAI,MAAM,eAAe,CAAC,gBAAgB,EAAE;AAC5C,QAAQ,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC;AACpF,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3B,YAAY,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,CAAC;AAC5D,YAAY,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;AAChE,YAAY,IAAI,aAAa;AAC7B,YAAY,IAAI;AAChB,gBAAgB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;AAChE;AACA,YAAY,OAAO,EAAE,EAAE;AACvB,gBAAgB,OAAO,CAAC,IAAI,CAAC,wEAAwE,EAAE,EAAE,CAAC;AAC1G,gBAAgB,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxD;AACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;AAChF;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC;AACtD,QAAQ,OAAO,YAAY;AAC3B;AACA;AACA;;AC3XA,MAAM,OAAO,CAAA;AAMD,IAAA,YAAA;IALF,YAAY,GAAc,SAAS;AACnC,IAAA,aAAa;AACb,IAAA,WAAW,GAA8E,IAAI,GAAG,EAAE;AAE1G,IAAA,WAAA,CACU,YAA2B,EAAA;QAA3B,IAAY,CAAA,YAAA,GAAZ,YAAY;AAEpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,CAClB;;;AAGH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK;AAClC,aAAA,IAAI,CAAC,CAAC,MAAM,KAAI;YACf,IAAI,CAAC,8BAA8B,EAAE;AACrC,YAAA,OAAO,MAAM;AACf,SAAC,CAAC;;AAGC,IAAA,aAAa,CAAiD,cAA8B,EAAA;QACjG,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAuC;;IAG3E,8BAA8B,GAAA;AACpC,QAAA,MAAM,oBAAoB,GAAG;AAC3B,YAAA,uBAAuB,CAAC,UAAU;AAClC,YAAA,uBAAuB,CAAC,OAAO;AAC/B,YAAA,uBAAuB,CAAC,OAAO;AAC/B,YAAA,uBAAuB,CAAC,cAAc;SACvC;AAED,QAAA,oBAAoB,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;YAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3E,IAAI,CAAC,kBAAkB,EAAE;AACvB,gBAAA,MAAM,IAAI,KAAK,CAAC,cAAc,cAAc,CAAA,UAAA,CAAY,CAAC;;YAE3D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;AAC1D,SAAC,CAAC;;AAGL;AAED,IAAI,MAAM,EAAE;;AAEV,IAAA,MAAM,CAAC,OAAO,GAAG,OAAO;AAC1B;;;;","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"cart-api-sdk.esm.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n if (typeof document === 'undefined') {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -613,8 +613,13 @@
613
613
  URL,
614
614
  fetch,
615
615
  };
616
- // @ts-ignore
617
- await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');
616
+ if (typeof document === 'undefined') {
617
+ await import('reflect-metadata');
618
+ }
619
+ else {
620
+ // @ts-ignore
621
+ await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');
622
+ }
618
623
  context.Reflect = Reflect;
619
624
  const sandbox = createContext(context);
620
625
  runInContext(code, sandbox);
@@ -767,6 +772,39 @@
767
772
  ;
768
773
  }
769
774
 
775
+ class DomPolyfill {
776
+ static getDocument() {
777
+ if (typeof document !== 'undefined') {
778
+ return document;
779
+ }
780
+ if (typeof globalThis !== 'undefined') {
781
+ const documentFromGlobal = globalThis.document;
782
+ if (typeof documentFromGlobal !== 'undefined') {
783
+ return documentFromGlobal;
784
+ }
785
+ else {
786
+ return null;
787
+ }
788
+ }
789
+ return null;
790
+ }
791
+ static getWindow() {
792
+ if (typeof window !== 'undefined') {
793
+ return window;
794
+ }
795
+ if (typeof globalThis !== 'undefined') {
796
+ const windowFromGlobal = globalThis.window;
797
+ if (typeof windowFromGlobal !== 'undefined') {
798
+ return windowFromGlobal;
799
+ }
800
+ else {
801
+ return null;
802
+ }
803
+ }
804
+ return null;
805
+ }
806
+ }
807
+
770
808
  class CartSDK {
771
809
  environments;
772
810
  appContainer = container;
@@ -797,15 +835,16 @@
797
835
  mandatoryControllers.forEach((controllerName) => {
798
836
  const controllerInstance = this.driverManager.getController(controllerName);
799
837
  if (!controllerInstance) {
800
- throw new Error(`Controller ${controllerName} not found`);
838
+ throw new Error(`Mandatory controller [${controllerName}] not found`);
801
839
  }
802
840
  this.controllers.set(controllerName, controllerInstance);
803
841
  });
804
842
  }
805
843
  }
806
- if (window) {
844
+ const $window = DomPolyfill.getWindow();
845
+ if ($window) {
807
846
  // @ts-ignore
808
- window.CartSDK = CartSDK;
847
+ $window.CartSDK = CartSDK;
809
848
  }
810
849
 
811
850
  exports.CartSDK = CartSDK;
@@ -1 +1 @@
1
- {"version":3,"file":"cart-api-sdk.umd.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"cart-api-sdk.umd.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n if (typeof document === 'undefined') {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":";;;;;;IAEA,MAAM,aAAa,CAAC;IACpB,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE;IAC1B,QAAQ,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;IAChD,YAAY,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC;IACrD,YAAY,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;IACzD,KAAK;IACL,IAAI,OAAO,sBAAsB,CAAC,KAAK,EAAE;IACzC,QAAQ,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAChD,QAAQ,OAAO,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpD,KAAK;IACL,IAAI,OAAO,UAAU,CAAC,KAAK,EAAE;IAC7B,QAAQ,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;IAC3C,KAAK;IACL,IAAI,OAAO,mBAAmB,CAAC,KAAK,EAAE;IACtC,QAAQ,IAAI;IACZ,YAAY,KAAK,EAAE,CAAC;IACpB,YAAY,OAAO,IAAI,CAAC;IACxB,SAAS;IACT,QAAQ,OAAO,KAAK,EAAE;IACtB,YAAY,OAAO,KAAK,CAAC;IACzB,SAAS;IACT,KAAK;IACL,CAAC;AACD;IACA,MAAM,SAAS,CAAC;IAChB,IAAI,eAAe,CAAC;IACpB,IAAI,MAAM,CAAC;IACX,IAAI,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,IAAI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE;IACzC,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC/C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,QAAQ,IAAI,CAAC,mBAAmB,mCAAmC,EAAE,CAAC;IACtE,QAAQ,IAAI,CAAC,qBAAqB,oCAAoC,EAAE,CAAC;IACzE,KAAK;IACL;IACA,IAAI,iBAAiB,GAAG;IACxB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAChD,QAAQ,IAAI,CAAC,SAAS;IACtB,YAAY,OAAO;IACnB,QAAQ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;IAC1C,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5C,gBAAgB,SAAS;IACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,QAAQ,CAAC,CAAC;IACzH,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;IACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;IAClE,gBAAgB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;IAC7D,oBAAoB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3H,oBAAoB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC1G,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;IAC/E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACtH,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9F,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;IAC5E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9H,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3F,iBAAiB;IACjB,aAAa,CAAC,CAAC;IACf,YAAY,IAAI,aAAa,CAAC;IAC9B,YAAY,IAAI,gBAAgB,CAAC;IACjC,YAAY,IAAI,QAAQ,EAAE,KAAK,EAAE;IACjC,gBAAgB,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACpF,gBAAgB,IAAI,CAAC,cAAc;IACnC,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oCAAoC,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACzI,gBAAgB,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC;IACrD,gBAAgB,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC;IAC3D,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrF,aAAa;IACb,iBAAiB;IACjB,gBAAgB,aAAa,GAAG,QAAQ,CAAC;IACzC,gBAAgB,gBAAgB,GAAG,IAAI,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC;IACjE,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E,aAAa;IACb,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAChE,SAAS;IACT,KAAK;IACL;IACA,IAAI,6BAA6B,CAAC,cAAc,EAAE;IAClD,QAAQ,IAAI,CAAC,cAAc,EAAE,KAAK;IAClC,YAAY,OAAO,IAAI,CAAC;IACxB,QAAQ,IAAI,cAAc,CAAC;IAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;IACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;IACrD,SAAS;IACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;IACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;IACtD,YAAY,IAAI;IAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;IACrE,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;IACjE,iBAAiB;IACjB,aAAa;IACb,YAAY,OAAO,KAAK,EAAE;IAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IACvF,gBAAgB,OAAO,IAAI,CAAC;IAC5B,aAAa;IACb,SAAS;IACT,QAAQ,OAAO;IACf,YAAY,KAAK,EAAE,cAAc,CAAC,KAAK;IACvC,YAAY,QAAQ,EAAE,cAAc;IACpC,SAAS,CAAC;IACV,KAAK;IACL;IACA,IAAI,mBAAmB,GAAG;IAC1B,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACpD,QAAQ,IAAI,CAAC,WAAW;IACxB,YAAY,OAAO;IACnB,QAAQ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;IAC9C,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;IAChD,gBAAgB,SAAS;IACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,CAAC;IAC3H,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;IACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,KAAK;IAC3D,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;IACxD,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IACvE,aAAa,CAAC,CAAC;IACf,YAAY,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,IAAI,UAAU,CAAC;IACxI,YAAY,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC;IACvE,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IACtE,SAAS;IACT,KAAK;IACL;IACA,IAAI,aAAa,CAAC,eAAe,EAAE;IACnC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,KAAK;IACL;IACA,CAAC;AACD;IACA,SAAS,EAAE,CAAC,MAAM,EAAE;IACpB,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;IACpC,QAAQ,OAAO;IACf,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACzB,YAAY,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3B,SAAS,CAAC;IACV,KAAK,CAAC,CAAC;IACP,CAAC;AACD;IACA,MAAM,IAAI,CAAC;IACX,IAAI,OAAO,CAAC;IACZ,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,IAAI,WAAW,CAAC,OAAO,EAAE;IACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,KAAK;IACL;IACA,IAAI,OAAO,GAAG;IACd,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7B,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;IACtC,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK;IACL;IACA,IAAI,OAAO,CAAC,IAAI,EAAE;IAClB,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK;IACL;IACA,IAAI,MAAM,CAAC,IAAI,EAAE;IACjB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,KAAK;IACL;IACA,CAAC;AACD;IACA,MAAM,cAAc,CAAC;IACrB,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7C,IAAI,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE;IAC3C,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAClC,YAAY,QAAQ,EAAE,aAAa;IACnC,YAAY,IAAI;IAChB,SAAS,CAAC,CAAC;IACX,KAAK;IACL;IACA,IAAI,mBAAmB,CAAC,cAAc,EAAE;IACxC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAClD,KAAK;IACL,IAAI,sBAAsB,GAAG;IAC7B,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IACvD,QAAQ,MAAM,eAAe,GAAG;IAChC,YAAY,CAAC,QAAQ,iCAAiC,EAAE;IACxD,YAAY,CAAC,YAAY,qCAAqC,EAAE;IAChE,SAAS,CAAC;IACV,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK;IAClD,YAAY,MAAM,SAAS,GAAG,IAAI,KAAK,YAAY,sCAAsC,IAAI,KAAK,QAAQ,+BAA+B;IACzI,YAAY,IAAI,SAAS,EAAE;IAC3B,gBAAgB,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,aAAa;IACb,SAAS,CAAC,CAAC;IACX,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,QAAQ,+BAA+B,CAAC;IAChG,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,YAAY,mCAAmC,CAAC;IACxG,KAAK;IACL;IACA,IAAI,yBAAyB,CAAC,eAAe,EAAE,IAAI,EAAE;IACrD,QAAQ,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;IACpD,YAAY,QAAQ,IAAI;IACxB,gBAAgB,KAAK,QAAQ;IAC7B,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACxD,oBAAoB,MAAM;IAC1B,gBAAgB,KAAK,YAAY;IACjC,oBAAoB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC5D,oBAAoB,MAAM;IAC1B,aAAa;IACb,YAAY,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,SAAS,CAAC,CAAC;IACX,KAAK;IACL;IACA,IAAI,wBAAwB,CAAC,aAAa,EAAE;IAC5C,QAAQ,IAAI,aAAa,EAAE,KAAK,EAAE;IAClC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;IACvD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/D,SAAS;IACT,aAAa;IACb,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;IACjD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzD,SAAS;IACT,QAAQ,MAAM,YAAY,GAAG,EAAE,CAAC;IAChC,QAAQ,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,aAAa,CAAC,CAAC;IAC5H,QAAQ,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,aAAa,CAAC,CAAC;IAC9G,QAAQ,kBAAkB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;IAChE,YAAY,MAAM,WAAW,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC7G,YAAY,IAAI,cAAc,GAAG,WAAW,IAAI,eAAe,CAAC;IAChE,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAC7E,YAAY,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,SAAS,CAAC,CAAC;IACX,QAAQ,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC;IAC5D,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACpD,QAAQ,OAAO,QAAQ,CAAC;IACxB,KAAK;IACL;IACA,IAAI,oBAAoB,CAAC,cAAc,EAAE;IACzC,QAAQ,IAAI,cAAc,CAAC;IAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;IACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;IACrD,SAAS;IACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;IACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;IACtD,YAAY,IAAI;IAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;IACrE,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;IACjE,iBAAiB;IACjB,aAAa;IACb,YAAY,OAAO,KAAK,EAAE;IAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IACvF,gBAAgB,OAAO,KAAK,CAAC;IAC7B,aAAa;IACb,SAAS;IACT,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjE,KAAK;IACL;IACA,CAAC;AACD;IACA,MAAM,SAAS,SAAS,cAAc,CAAC;IACvC,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,IAAI,OAAO,GAAG;IAClB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC;IAC7B,KAAK;IACL;IACA,IAAI,cAAc,CAAC,MAAM,EAAE;IAC3B,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;IACrC,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC3D,QAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,QAAQ,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,KAAK;IACL;IACA,IAAI,eAAe,CAAC,UAAU,EAAE;IAChC,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,UAAU,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5E,KAAK;IACL;IACA,IAAI,aAAa,CAAC,MAAM,EAAE;IAC1B,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK;IACpD,YAAY,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,KAAK;IACL;IACA,IAAI,yBAAyB,CAAC,aAAa,EAAE;IAC7C,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK;IAC1D,YAAY,IAAI,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;IAChE,gBAAgB,MAAM,GAAG;IACzB,oBAAoB,KAAK,EAAE,WAAW;IACtC,oBAAoB,SAAS,EAAE,SAAS;IACxC,iBAAiB,CAAC;IAClB,aAAa;IACb,SAAS,CAAC,CAAC;IACX,QAAQ,OAAO,MAAM,CAAC;IACtB,KAAK;IACL;IACA,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAClC;IACA,SAAS,UAAU,CAAC,MAAM,EAAE;IAC5B,IAAI,OAAO,CAAC,MAAM,KAAK;IACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,mBAAmB,mCAAmC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrG,KAAK,CAAC;IACN,CAAC;AACD;IACA,SAAS,MAAM,CAAC,OAAO,EAAE;IACzB,IAAI,OAAO,CAAC,MAAM,KAAK;IACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;IAC/C,YAAY,KAAK,EAAE,OAAO,CAAC,IAAI;IAC/B,YAAY,QAAQ,EAAE,KAAK;IAC3B,YAAY,YAAY,EAAE,KAAK;IAC/B,SAAS,CAAC,CAAC;IACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;IACtD,YAAY,KAAK,EAAE,OAAO,CAAC,WAAW;IACtC,YAAY,QAAQ,EAAE,KAAK;IAC3B,YAAY,YAAY,EAAE,KAAK;IAC/B,SAAS,CAAC,CAAC;IACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;IACpD,YAAY,KAAK,EAAE,OAAO,CAAC,SAAS;IACpC,YAAY,QAAQ,EAAE,KAAK;IAC3B,YAAY,YAAY,EAAE,KAAK;IAC/B,SAAS,CAAC,CAAC;IACX,QAAQ,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC;IACN,CAAC;IACD,SAAS,iBAAiB,CAAC,SAAS,EAAE;IACtC,IAAI,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK;IACrC,QAAQ,MAAM,gBAAgB,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;IACnF,QAAQ,IAAI,gBAAgB,EAAE;IAC9B,YAAY,SAAS,CAAC,iBAAiB,CAAC,QAAQ,gCAAgC,QAAQ,CAAC,CAAC;IAC1F,SAAS;IACT,KAAK,CAAC,CAAC;IACP,CAAC;AACD;IACA,SAAS,UAAU,GAAG;IACtB,IAAI,OAAO,CAAC,MAAM,KAAK;IACvB,QAAQ,SAAS,CAAC,iBAAiB,CAAC,YAAY,oCAAoC,MAAM,CAAC,CAAC;IAC5F,KAAK,CAAC;IACN,CAAC;IACD,SAAS,MAAM,CAAC,KAAK,EAAE;IACvB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,KAAK;IAC1C,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC;IACvG,QAAQ,MAAM,CAAC,IAAI,CAAC;IACpB,YAAY,KAAK,EAAE,cAAc;IACjC,YAAY,KAAK;IACjB,SAAS,CAAC,CAAC;IACX,QAAQ,OAAO,CAAC,cAAc,CAAC,eAAe,+BAA+B,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7F,KAAK,CAAC;IACN,CAAC;AACD;IACA,MAAM,cAAc,CAAC;IACrB,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI,OAAO,WAAW,GAAG,EAAE,CAAC;IAC5B,IAAI,OAAO,SAAS,GAAG,EAAE,CAAC;IAC1B,CAAC;AACD;IACA,MAAM,KAAK,CAAC;IACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,IAAI,KAAK,GAAG;IAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACrD,KAAK;IACL,IAAI,OAAO,CAAC,IAAI,EAAE;IAClB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAChD,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,KAAK;IACL,IAAI,OAAO,GAAG;IACd,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9C,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvD,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,QAAQ,OAAO,WAAW,CAAC;IAC3B,KAAK;IACL,IAAI,OAAO,GAAG;IACd,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,KAAK;IACL;;;;;;;;;;;;;;;;;ICrXA,IAAI,gBAAgB;IACpB,CAAC,UAAU,gBAAgB,EAAE;IAC7B,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,eAAe;IACjD,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,WAAW;IACzC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;;IAE/C,IAAI,eAAe;IACnB,CAAC,UAAU,eAAe,EAAE;IAC5B,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,cAAc;IACpD,CAAC,EAAE,eAAe,KAAK,eAAe,GAAG,EAAE,CAAC,CAAC;;IAE7C,IAAI,uBAAuB;IAC3B,CAAC,UAAU,uBAAuB,EAAE;IACpC,IAAI,uBAAuB,CAAC,YAAY,CAAC,GAAG,YAAY;IACxD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;IAClD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;IAClD,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAChE,CAAC,EAAE,uBAAuB,KAAK,uBAAuB,GAAG,EAAE,CAAC,CAAC;;IAa7D;IACA;;IAEA;IACA;;;IAGA,SAAS,WAAW,CAAC,GAAG,EAAE;IAC1B,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG;IACzC,OAAO;IACP,IAAI,IAAI,GAAG,GAAG,EAAE;IAChB,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;IACtC,IAAI,OAAO,GAAG;IACd;IACA;;IAEA,SAAS,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE;IACzB,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;IACtC;IACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACxC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACtB;IACA;IACA,IAAI,WAAW;;IAEf,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;IACtC,EAAE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;IACzC,IAAI,WAAW,GAAG,gBAAgB;IAClC;IACA,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;IAC/B;;IAEA,SAAS,gBAAgB,GAAG;IAC5B,EAAE,IAAI;IACN,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACtC,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;IACtC,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;IACvC,QAAQ,QAAQ,EAAE,IAAI;IACtB,QAAQ,UAAU,EAAE,KAAK;IACzB,QAAQ,YAAY,EAAE,IAAI;IAC1B,QAAQ,KAAK,EAAE;IACf,OAAO,CAAC;IACR,KAAK;IACL,GAAG,CAAC,OAAO,CAAC,EAAE;IACd,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;IACtC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;IACvB,KAAK;IACL;IACA;;IAEA,IAAI,OAAO,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU;IAC3E,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY;IACrE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU;IAC9E,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ;IAChF,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE;IACtE,CAAC;;IAED,SAAS,OAAO,GAAG;IACnB,OAAO,CAAC,SAAS,GAAG,EAAE;;IAEtB,SAAS,MAAM,CAAC,IAAI,EAAE;IACtB,EAAE,IAAI,EAAE,IAAI,YAAY,MAAM,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;IACxD,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;IACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IAC1C,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;IAChC,EAAE,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC;IAC9D,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;IACrC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC;IAClB,IAAI,QAAQ,EAAE,IAAI;IAClB,IAAI,OAAO,EAAE;IACb,GAAG,CAAC;IACJ;IACA,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,OAAO,EAAE;IAClD,EAAE,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE;IACrC,IAAI,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC;IACxD;IACA,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;IACvB,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;IACxD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,EAAE;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;IAEjC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;IAE5C,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,aAAa;IAClC,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI;IACxB,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU;;IAElC,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE;IAC/B;IACA,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI;IACtB;;IAEA,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;IAChD,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAC7B,KAAK,CAAC;IACN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;IACnC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;IACxB,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAC/B;IACA,KAAK,CAAC;;IAEN,IAAI,IAAI,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC;;IAElC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;;IAExC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;IAC5C;IACA;IACA;IACA,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE;IAC1D,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;IAC/B;IACA,KAAK,CAAC;;IAEN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;IACnC,MAAM,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE;IAC7B,QAAQ,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C;IACA,KAAK,CAAC;IACN,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;IAE5C,IAAI,OAAO,GAAG;IACd;IACA,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC9C,CAAC;;IAED,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,WAAW;IAC/C,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACrD,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;;IAED,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,OAAO,EAAE;IACrD,EAAE,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC;IAClC,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;IAClC,EAAE,IAAI,OAAO,EAAE;IACf,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;IAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;IAC7B,KAAK,CAAC;IACN;;IAEA,EAAE,OAAO,GAAG;IACZ,CAAC;;IAED,SAAS,aAAa,CAAC,OAAO,EAAE;IAChC,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;IAC1B,IAAI,OAAO,OAAO;IAClB;IACA,EAAE,IAAI,IAAI,GAAG,IAAI,OAAO,EAAE;IAC1B,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;IACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;IAChD,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAC9B,KAAK,CAAC;IACN;IACA,EAAE,OAAO,IAAI;IACb;IACA,SAAS,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE;IAC1D,EAAE,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;IAC/B,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAC1D;IACA,SAAS,SAAS,CAAC,OAAO,EAAE;IAC5B,EAAE,OAAO,OAAO,YAAY,OAAO;IACnC;;;IAGA;IACA;IACA;IACA;IACA;IACA,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO;;IAEzB,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAC1B,EAAE,IAAI,QAAQ,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC;IAChC;IACA,EAAE,OAAO,EAAE;IACX;;IAEA,eAAe,cAAc,CAAC,IAAI,EAAE;IACpC,IAAI,MAAM,OAAO,GAAG;IACpB,QAAQ,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/B,QAAQ,OAAO,EAAE,EAAE;IACnB,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK;IACzB,YAAY,IAAI,EAAE,KAAK,0BAA0B,EAAE;IACnD,gBAAgB,OAAO,aAAa;IACpC;IACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;IACtE,SAAS;IACT,QAAQ,OAAO;IACf,QAAQ,UAAU;IAClB,QAAQ,WAAW;IACnB,QAAQ,OAAO;IACf,QAAQ,OAAO;IACf,QAAQ,GAAG;IACX,QAAQ,KAAK;IACb,KAAK;IACL,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;IACzC,QAAQ,MAAM,OAAO,kBAAkB,CAAC;IACxC;IACA,SAAS;IACT;IACA,QAAQ,MAAM,OAAO,qDAAqD,CAAC;IAC3E;IACA,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO;IAC7B,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IAC1C,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO;IACxC,IAAI,OAAO,YAAY;IACvB;;IAEA,MAAM,eAAe,CAAC;IACtB;IACA,IAAI,OAAO,GAAG,GAAG,6BAA6B;IAC9C,IAAI,aAAa,eAAe,CAAC,gBAAgB,EAAE;IACnD,QAAQ,IAAI,YAAY;IACxB,QAAQ,IAAI,gBAAgB,EAAE,OAAO,EAAE;IACvC,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC;IACjG;IACA,aAAa,IAAI,gBAAgB,EAAE,MAAM,EAAE;IAC3C,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAC/F;IACA,aAAa;IACb,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAC/C;IACA,QAAQ,OAAO,YAAY;IAC3B;IACA;IACA,IAAI,aAAa,sBAAsB,CAAC,OAAO,EAAE;IACjD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;IAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,mCAAmC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAClF,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;IAC/F,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;IAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;IAC9B,SAAS,CAAC;IACV,QAAQ,OAAO,YAAY;IAC3B;IACA,IAAI,aAAa,qBAAqB,CAAC,OAAO,EAAE;IAChD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;IAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;IACpD,QAAQ,IAAI,CAAC,OAAO,EAAE,SAAS;IAC/B,YAAY,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;IAC1D,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3E,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;IAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,SAAS;IACnC,SAAS,CAAC;IACV,QAAQ,OAAO,YAAY;IAC3B;IACA,IAAI,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE;IAC/C,QAAQ,IAAI,CAAC,MAAM;IACnB,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAC/C,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,KAAK;IACrF,QAAQ,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI;IAC5C,QAAQ,QAAQ,iBAAiB;IACjC,YAAY,KAAK,KAAK;IACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACtH,YAAY,KAAK,KAAK;IACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACtH,YAAY,KAAK,KAAK;IACtB,gBAAgB,OAAO,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAChE,YAAY;IACZ,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC5E;IACA;IACA,IAAI,aAAa,gBAAgB,CAAC,IAAI,EAAE;IACxC,QAAQ,IAAI,CAAC,IAAI;IACjB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;IACpD,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;IAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;IAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF;IACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;IACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;IAC1D,QAAQ,OAAO,MAAM;IACrB;IACA;IACA,IAAI,aAAa,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE;IAC1D,QAAQ,IAAI,CAAC,UAAU;IACvB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;IACpD,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,GAAG,KAAK;IACrE,QAAQ,MAAM,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;IACtH,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;IAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;IAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACrF;IACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;IACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;IAC1D,QAAQ,OAAO,MAAM;IACrB;IACA;IACA;;IAEA,MAAM,aAAa,CAAC;IACpB,IAAI,YAAY;IAChB,IAAI,YAAY;IAChB,IAAI,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE;IAC5C,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;IACxC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;IACxC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;IACxC,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IACvD;IACA;IACA;IACA,IAAI,MAAM,KAAK,GAAG;IAClB,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;IAC3E,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACnG;IACA,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;IACxF,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;IACjD,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;IAC9C,gBAAgB,OAAO,EAAE;IACzB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS;IAC7D,oBAAoB,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAC1E,iBAAiB;IACjB,aAAa,CAAC;IACd;IACA,aAAa;IACb,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;IAC9C,gBAAgB,MAAM,EAAE;IACxB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU;IAC9D,oBAAoB,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe;IACxE,iBAAiB;IACjB,aAAa,CAAC;IACd;IACA;IACA,IAAI,cAAc,CAAC,OAAO,EAAE;IAC5B,QAAQ,IAAI,OAAO,EAAE,GAAG,EAAE;IAC1B,YAAY,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;IAC7C;IACA;IACA,IAAI,aAAa,CAAC,cAAc,EAAE;IAClC,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC;IAC9D;IACA,IAAI,MAAM,eAAe,CAAC,gBAAgB,EAAE;IAC5C,QAAQ,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC;IACpF,QAAQ,IAAI,CAAC,YAAY,EAAE;IAC3B,YAAY,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,CAAC;IAC5D,YAAY,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;IAChE,YAAY,IAAI,aAAa;IAC7B,YAAY,IAAI;IAChB,gBAAgB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAChE;IACA,YAAY,OAAO,EAAE,EAAE;IACvB,gBAAgB,OAAO,CAAC,IAAI,CAAC,wEAAwE,EAAE,EAAE,CAAC;IAC1G,gBAAgB,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACxD;IACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAChF;IACA,QAAQ,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC;IACtD,QAAQ,OAAO,YAAY;IAC3B;IACA;IACA;;UCrYa,WAAW,CAAA;IACf,IAAA,OAAO,WAAW,GAAA;IACvB,QAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;IACnC,YAAA,OAAO,QAAQ;;IAEjB,QAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACrC,YAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ;IAC9C,YAAA,IAAI,OAAO,kBAAkB,KAAK,WAAW,EAAE;IAC7C,gBAAA,OAAO,kBAAkB;;qBACpB;IACL,gBAAA,OAAO,IAAI;;;IAGf,QAAA,OAAO,IAAI;;IAGN,IAAA,OAAO,SAAS,GAAA;IACrB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,YAAA,OAAO,MAAM;;IAEf,QAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACrC,YAAA,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM;IAC1C,YAAA,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;IAC3C,gBAAA,OAAO,gBAAgB;;qBAClB;IACL,gBAAA,OAAO,IAAI;;;IAGf,QAAA,OAAO,IAAI;;IAEd;;ICxBD,MAAM,OAAO,CAAA;IAMD,IAAA,YAAA;QALF,YAAY,GAAc,SAAS;IACnC,IAAA,aAAa;IACb,IAAA,WAAW,GAA8E,IAAI,GAAG,EAAE;IAE1G,IAAA,WAAA,CACU,YAA2B,EAAA;YAA3B,IAAY,CAAA,YAAA,GAAZ,YAAY;IAEpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,CAClB;;;IAGH,IAAA,MAAM,SAAS,GAAA;IACb,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK;IAClC,aAAA,IAAI,CAAC,CAAC,MAAM,KAAI;gBACf,IAAI,CAAC,8BAA8B,EAAE;IACrC,YAAA,OAAO,MAAM;IACf,SAAC,CAAC;;IAGC,IAAA,aAAa,CAAiD,cAA8B,EAAA;YACjG,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAuC;;QAG3E,8BAA8B,GAAA;IACpC,QAAA,MAAM,oBAAoB,GAAG;IAC3B,YAAA,uBAAuB,CAAC,UAAU;IAClC,YAAA,uBAAuB,CAAC,OAAO;IAC/B,YAAA,uBAAuB,CAAC,OAAO;IAC/B,YAAA,uBAAuB,CAAC,cAAc;aACvC;IAED,QAAA,oBAAoB,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;gBAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC;gBAC3E,IAAI,CAAC,kBAAkB,EAAE;IACvB,gBAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,CAAA,WAAA,CAAa,CAAC;;gBAEvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC1D,SAAC,CAAC;;IAEL;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE;IACvC,IAAI,OAAO,EAAE;;IAEX,IAAA,OAAO,CAAC,OAAO,GAAG,OAAO;IAC3B;;;;;;;;","x_google_ignoreList":[0,1]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savafeed/cart-api-sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "main": "dist/cart-api-sdk.cjs.js",
5
5
  "module": "dist/cart-api-sdk.esm.js",
6
6
  "types": "dist/cart-api-sdk.d.ts",
@@ -25,7 +25,7 @@
25
25
  "@rollup/plugin-json": "^6.1.0",
26
26
  "@rollup/plugin-node-resolve": "^16.0.1",
27
27
  "@rollup/plugin-typescript": "^12.1.2",
28
- "@savafeed/driver-manager": "^1.1.61",
28
+ "@savafeed/driver-manager": "^1.1.65",
29
29
  "@savafeed/module-manager": "^1.1.3",
30
30
  "@types/reflect-metadata": "^0.0.5",
31
31
  "reflect-metadata": "^0.2.2",