{"version":3,"sources":["node_modules/@fortawesome/fontawesome-svg-core/index.mjs","node_modules/@fortawesome/angular-fontawesome/fesm2022/angular-fontawesome.mjs","node_modules/ngx-stripe/fesm2022/ngx-stripe.mjs"],"sourcesContent":["/*!\n * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function (e, r) {\n return new BabelRegExp(e, void 0, r);\n };\n var e = RegExp.prototype,\n r = new WeakMap();\n function BabelRegExp(e, t, p) {\n var o = RegExp(e, t);\n return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n }\n function buildGroups(e, t) {\n var p = r.get(t);\n return Object.keys(p).reduce(function (r, t) {\n var o = p[t];\n if (\"number\" == typeof o) r[t] = e[o];else {\n for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n r[t] = e[o[i]];\n }\n return r;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n var t = e.exec.call(this, r);\n if (t) {\n t.groups = buildGroups(t, this);\n var p = t.indices;\n p && (p.groups = buildGroups(p, this));\n }\n return t;\n }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n if (\"string\" == typeof p) {\n var o = r.get(this);\n return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)>/g, function (e, r) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\n }));\n }\n if (\"function\" == typeof p) {\n var i = this;\n return e[Symbol.replace].call(this, t, function () {\n var e = arguments;\n return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n });\n }\n return e[Symbol.replace].call(this, t, p);\n }, _wrapRegExp.apply(this, arguments);\n}\nconst noop = () => {};\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\nvar p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar S = {\n classic: {\n fa: \"solid\",\n fas: \"solid\",\n \"fa-solid\": \"solid\",\n far: \"regular\",\n \"fa-regular\": \"regular\",\n fal: \"light\",\n \"fa-light\": \"light\",\n fat: \"thin\",\n \"fa-thin\": \"thin\",\n fab: \"brands\",\n \"fa-brands\": \"brands\"\n },\n duotone: {\n fa: \"solid\",\n fad: \"solid\",\n \"fa-solid\": \"solid\",\n \"fa-duotone\": \"solid\",\n fadr: \"regular\",\n \"fa-regular\": \"regular\",\n fadl: \"light\",\n \"fa-light\": \"light\",\n fadt: \"thin\",\n \"fa-thin\": \"thin\"\n },\n sharp: {\n fa: \"solid\",\n fass: \"solid\",\n \"fa-solid\": \"solid\",\n fasr: \"regular\",\n \"fa-regular\": \"regular\",\n fasl: \"light\",\n \"fa-light\": \"light\",\n fast: \"thin\",\n \"fa-thin\": \"thin\"\n },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\",\n fasdr: \"regular\",\n \"fa-regular\": \"regular\",\n fasdl: \"light\",\n \"fa-light\": \"light\",\n fasdt: \"thin\",\n \"fa-thin\": \"thin\"\n }\n },\n A = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n P = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar s = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n L = [s, t, r, o];\nvar G = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n duotone: {\n 900: \"fad\",\n 400: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n};\nvar lt = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\",\n 400: \"fadr\",\n normal: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n normal: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n};\nvar pt = new Map([[\"classic\", {\n defaultShortPrefixId: \"fas\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp\", {\n defaultShortPrefixId: \"fass\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"duotone\", {\n defaultShortPrefixId: \"fad\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp-duotone\", {\n defaultShortPrefixId: \"fasds\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }]]),\n xt = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n brands: \"fab\"\n },\n duotone: {\n solid: \"fad\",\n regular: \"fadr\",\n light: \"fadl\",\n thin: \"fadt\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\",\n regular: \"fasdr\",\n light: \"fasdl\",\n thin: \"fasdt\"\n }\n };\nvar Ft = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n St = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n },\n At = [\"kit\"];\nvar Ct = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n};\nvar Lt = [\"fak\", \"fakd\"],\n Wt = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n };\nvar Et = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n};\nvar t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n r$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar bt$1 = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"];\nvar Yt = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n};\nvar ua = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n duotone: {\n \"fa-regular\": \"fadr\",\n \"fa-light\": \"fadl\",\n \"fa-thin\": \"fadt\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\",\n \"fa-regular\": \"fasdr\",\n \"fa-light\": \"fasdl\",\n \"fa-thin\": \"fasdt\"\n }\n },\n I$1 = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\", \"fad\"],\n duotone: [\"fadr\", \"fadl\", \"fadt\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\", \"fasdr\", \"fasdl\", \"fasdt\"]\n },\n ga = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n duotone: {\n fadr: \"fa-regular\",\n fadl: \"fa-light\",\n fadt: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\",\n fasdr: \"fa-regular\",\n fasdl: \"fa-light\",\n fasdt: \"fa-thin\"\n }\n },\n x = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\"],\n Ia = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", ...r$1, ...x],\n m$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n ma = [...Object.keys(I$1), ...m$1, \"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"fw\", \"inverse\", \"layers-counter\", \"layers-text\", \"layers\", \"li\", \"pull-left\", \"pull-right\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => \"\".concat(a, \"x\"))).concat(F$1.map(a => \"w-\".concat(a)));\nvar wa = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n};\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[s];\n }\n });\n}\nconst _PREFIX_TO_STYLE = _objectSpread2({}, S);\n\n// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding\n// {'fa-duotone': 'duotone'}\n_PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n 'fa-duotone': 'duotone'\n}), S[s]), St['kit']), St['kit-duotone']);\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = _objectSpread2({}, xt);\n\n// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}\n_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n duotone: 'fad'\n}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);\n_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);\n_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = g;\nconst _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = A;\nconst RESERVED_CLASSES = [...At, ...ma];\nconst initial = WINDOW.FontAwesomeConfig || {};\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n if (element) {\n return element.getAttribute(attr);\n }\n}\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n const attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nconst _default = {\n styleDefault: 'solid',\n familyDefault: s,\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\n// familyPrefix is deprecated but we must still support it if present\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\nconst _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n});\n\n// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\nconst d$2 = UNITS_IN_GRID;\nconst meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n for (let i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(i => i);\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-counter-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(-1 * var(--fa-li-width, 2em));\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\";\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n return s;\n}\nlet _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\nconst w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\nconst functions = [];\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\nlet loaded = false;\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\nfunction domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\nfunction toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\").concat(tag, \">\");\n }\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens \n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const expanded = !!icon.icon;\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\n }, {});\n}\nfunction defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const normalized = normalizeIcons(icons);\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\nconst duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\".*path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2\n})];\nconst {\n styles,\n shims\n} = namespace;\nconst FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nconst PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n return acc;\n}, {});\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n return acc;\n });\n\n // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n iconName\n };\n }\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getFamilyId(values) {\n let family = s;\n const famProps = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n return acc;\n }, {});\n L.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = s\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n\n // handles the exception of passing in only a family of 'duotone' with no style\n if (family === t && !styleOrPrefix) {\n return 'fad';\n }\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n let rest = [];\n let iconName = null;\n classNames.forEach(cls => {\n const result = getIconName(config.cssPrefix, cls);\n if (result) {\n iconName = result;\n } else if (cls) {\n rest.push(cls);\n }\n });\n return {\n iconName,\n rest\n };\n}\nfunction sortedUniqueValues(arr) {\n return arr.sort().filter((value, index, arr) => {\n return arr.indexOf(value) === index;\n });\n}\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n let givenPrefix = null;\n const faCombinedClasses = Ia.concat(bt$1);\n const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));\n const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));\n const faStyles = faStyleOrFamilyClasses.filter(cls => {\n givenPrefix = cls;\n return !P.includes(cls);\n });\n const [styleFromValues = null] = faStyles;\n const family = getFamilyId(faStyleOrFamilyClasses);\n const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n prefix: getCanonicalPrefix(styleFromValues, {\n family\n })\n });\n return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n values,\n family,\n styles,\n config,\n canonical,\n givenPrefix\n })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n let {\n prefix,\n iconName\n } = canonical;\n if (skipLookups || !prefix || !iconName) {\n return {\n prefix,\n iconName\n };\n }\n const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n const aliasIconName = byAlias(prefix, iconName);\n iconName = shim.iconName || aliasIconName || iconName;\n prefix = shim.prefix || prefix;\n if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n prefix = 'fas';\n }\n return {\n prefix,\n iconName\n };\n}\nconst newCanonicalFamilies = L.filter(familyId => {\n return familyId !== s || familyId !== t;\n});\nconst newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n const {\n values,\n family,\n canonical,\n givenPrefix = '',\n styles = {},\n config: config$$1 = {}\n } = prefixOptions;\n const isDuotoneFamily = family === t;\n const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';\n if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {\n canonical.prefix = 'fad';\n }\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n if (!canonical.prefix && newCanonicalFamilies.includes(family)) {\n const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));\n if (validPrefix || config$$1.autoFetchSvg) {\n const defaultPrefix = pt.get(family).defaultShortPrefixId;\n canonical.prefix = defaultPrefix;\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n }\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n return canonical;\n}\nclass Library {\n constructor() {\n this.definitions = {};\n }\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]);\n\n // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n const longPrefix = PREFIX_TO_LONG_STYLE[s][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n reset() {\n this.definitions = {};\n }\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(alias => {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n}\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(tk => {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n if (typeof mixout[tk] === 'object') {\n Object.keys(mixout[tk]).forEach(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(hook => {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n _hooks[hook].push(hooks[hook]);\n });\n }\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n let {\n iconName\n } = iconLookup;\n const prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n icon: icon => {\n if (icon === null) {\n return null;\n }\n if (typeof icon === 'object' && icon.prefix && icon.iconName) {\n return {\n prefix: icon.prefix,\n iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName\n };\n }\n if (Array.isArray(icon) && icon.length === 2) {\n const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n if (typeof icon === 'string' && (icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n const canonicalIcon = getCanonicalIcon(icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n if (typeof icon === 'string') {\n const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\nfunction asIcon(_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n return [{\n tag: 'svg',\n attributes,\n children\n }];\n}\nfunction asSymbol(_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id\n }),\n children\n }]\n }];\n}\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = Lt.includes(prefix);\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n const args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n const styles = _objectSpread2({}, extra.styles);\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n const styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let element = null;\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n return {\n found: true,\n width,\n height,\n icon: element\n };\n}\nconst missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\nfunction findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\nconst noop$1 = () => {};\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.7.2\\\"\";\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\nvar perf = {\n begin,\n end\n};\nconst noop$2 = () => {};\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n return comment;\n}\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(mutationRecord => {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n treeCallback(mutationRecord.target);\n }\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\nfunction styleParser(node) {\n const style = node.getAttribute('style');\n let val = [];\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const value = styles.slice(1);\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\n}\nfunction classParser(node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let val = getCanonicalIcon(classArray(node));\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n if (val.iconName && val.prefix) {\n return val;\n }\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n return val;\n}\nfunction attributesParser(node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const titleId = node.getAttribute('data-fa-title-id');\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n return extraAttributes;\n}\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\nconst {\n styles: styles$2\n} = namespace;\nfunction generateMutation(node) {\n const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\nfunction getKnownPrefixes() {\n return [...Ft, ...Ia];\n}\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n let candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {\n // noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask\n }));\n };\n}\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\n });\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix,\n iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((resolve, reject) => {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n let nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n};\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(a => {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n };\n }\n};\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n };\n }\n};\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n };\n },\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n};\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n}), lt), wa), Yt);\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n if (isV4) {\n const iconName4 = byOldUnicode(hexValue);\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n }\n\n // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n }));\n const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto() {\n disconnect();\n },\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n };\n }\n};\nconst parseTransformString = transformString => {\n let transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n rest = parseFloat(rest);\n if (isNaN(rest)) {\n return acc;\n }\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n return abstract;\n}\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n const defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children,\n attributes\n };\n };\n }\n};\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n };\n\n // Ring\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n const dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst counter = api.counter;\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };","import * as i0 from '@angular/core';\nimport { Injectable, Directive, Input, Component, inject, Optional, HostBinding, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { dom, config, icon, parse, counter, text } from '@fortawesome/fontawesome-svg-core';\nimport * as i2 from '@angular/platform-browser';\nconst _c0 = [\"*\"];\nconst faWarnIfIconDefinitionMissing = iconSpec => {\n throw new Error(`Could not find icon with iconName=${iconSpec.iconName} and prefix=${iconSpec.prefix} in the icon library.`);\n};\nconst faWarnIfIconSpecMissing = () => {\n throw new Error('Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.');\n};\nconst isKnownRotateValue = rotate => rotate != null && (rotate === 90 || rotate === 180 || rotate === 270 || rotate === '90' || rotate === '180' || rotate === '270');\n/**\n * Fontawesome class list.\n * Returns classes array by props.\n */\nconst faClassList = props => {\n const knownRotateValue = isKnownRotateValue(props.rotate);\n const classes = {\n [`fa-${props.animation}`]: props.animation != null && !props.animation.startsWith('spin'),\n 'fa-spin': props.animation === 'spin' || props.animation === 'spin-reverse',\n 'fa-spin-pulse': props.animation === 'spin-pulse' || props.animation === 'spin-pulse-reverse',\n 'fa-spin-reverse': props.animation === 'spin-reverse' || props.animation === 'spin-pulse-reverse',\n // According to https://fontawesome.com/docs/web/style/animate#spin fa-pulse\n // class is deprecated, remove the below line when Font Awesome 5 support\n // is dropped.\n 'fa-pulse': props.animation === 'spin-pulse' || props.animation === 'spin-pulse-reverse',\n 'fa-fw': props.fixedWidth,\n 'fa-border': props.border,\n 'fa-inverse': props.inverse,\n 'fa-layers-counter': props.counter,\n 'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n 'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both',\n [`fa-${props.size}`]: props.size !== null,\n [`fa-rotate-${props.rotate}`]: knownRotateValue,\n 'fa-rotate-by': props.rotate != null && !knownRotateValue,\n [`fa-pull-${props.pull}`]: props.pull !== null,\n [`fa-stack-${props.stackItemSize}`]: props.stackItemSize != null\n };\n return Object.keys(classes).map(key => classes[key] ? key : null).filter(key => key);\n};\nconst cssInserted = new WeakSet();\nconst autoCssId = 'fa-auto-css';\n/**\n * Ensure that Font Awesome CSS is inserted into the page.\n *\n * SVG Core has the same logic to insert the same styles into the page, however\n * it's not aware of Angular SSR and therefore styles won't be added in that\n * context leading to https://github.com/FortAwesome/angular-fontawesome/issues/48.\n * That's why the same logic is duplicated here.\n *\n * @param document - Document.\n * @param config - Font Awesome configuration.\n */\nfunction ensureCss(document, config) {\n if (!config.autoAddCss) {\n return;\n }\n if (cssInserted.has(document)) {\n return;\n }\n // Prevent adding the same styles again after hydration.\n if (document.getElementById(autoCssId) != null) {\n config.autoAddCss = false;\n cssInserted.add(document);\n return;\n }\n const style = document.createElement('style');\n style.setAttribute('type', 'text/css');\n style.setAttribute('id', autoCssId);\n style.innerHTML = dom.css();\n const headChildren = document.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = child.nodeName.toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n document.head.insertBefore(style, beforeChild);\n // Prevent SVG Core from adding the same styles.\n //\n // As the logic is present in two places and SVG Core is not aware about\n // this library, it may lead to styles being added twice. This can only\n // occur when icon is rendered by SVG Core before the Angular component\n // and should not have any significant negative impact. This is a rare\n // use case, and it's tricky to prevent, so we accept this behavior. Consumer\n // can choose to disable `FaConfig.autoAddCss` and add styles manually to\n // prevent this from happening.\n config.autoAddCss = false;\n cssInserted.add(document);\n}\n\n/**\n * Returns if is IconLookup or not.\n */\nconst isIconLookup = i => i.prefix !== undefined && i.iconName !== undefined;\n\n/**\n * Normalizing icon spec.\n */\nconst faNormalizeIconSpec = (iconSpec, defaultPrefix) => {\n if (isIconLookup(iconSpec)) {\n return iconSpec;\n }\n if (Array.isArray(iconSpec) && iconSpec.length === 2) {\n return {\n prefix: iconSpec[0],\n iconName: iconSpec[1]\n };\n }\n return {\n prefix: defaultPrefix,\n iconName: iconSpec\n };\n};\nlet FaConfig = /*#__PURE__*/(() => {\n class FaConfig {\n constructor() {\n /**\n * Default prefix to use, when one is not provided with the icon name.\n *\n * @default 'fas'\n */\n this.defaultPrefix = 'fas';\n /**\n * Provides a fallback icon to use whilst main icon is being loaded asynchronously.\n * When value is null, then fa-icon component will throw an error if icon input is missing.\n * When value is not null, then the provided icon will be used as a fallback icon if icon input is missing.\n *\n * @default null\n */\n this.fallbackIcon = null;\n this._autoAddCss = true;\n }\n /**\n * Automatically add Font Awesome styles to the document when icon is rendered.\n *\n * For the majority of the cases the automatically added CSS is sufficient,\n * please refer to the linked guide for more information on when to disable\n * this feature.\n *\n * @see {@link: https://github.com/FortAwesome/angular-fontawesome/blob/main/docs/guide/adding-css.md}\n * @default true\n */\n set autoAddCss(value) {\n config.autoAddCss = value;\n this._autoAddCss = value;\n }\n get autoAddCss() {\n return this._autoAddCss;\n }\n static {\n this.ɵfac = function FaConfig_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaConfig)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FaConfig,\n factory: FaConfig.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return FaConfig;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FaIconLibrary = /*#__PURE__*/(() => {\n class FaIconLibrary {\n constructor() {\n this.definitions = {};\n }\n addIcons(...icons) {\n for (const icon of icons) {\n if (!(icon.prefix in this.definitions)) {\n this.definitions[icon.prefix] = {};\n }\n this.definitions[icon.prefix][icon.iconName] = icon;\n for (const alias of icon.icon[2]) {\n if (typeof alias === 'string') {\n this.definitions[icon.prefix][alias] = icon;\n }\n }\n }\n }\n addIconPacks(...packs) {\n for (const pack of packs) {\n const icons = Object.keys(pack).map(key => pack[key]);\n this.addIcons(...icons);\n }\n }\n getIconDefinition(prefix, name) {\n if (prefix in this.definitions && name in this.definitions[prefix]) {\n return this.definitions[prefix][name];\n }\n return null;\n }\n static {\n this.ɵfac = function FaIconLibrary_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaIconLibrary)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FaIconLibrary,\n factory: FaIconLibrary.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return FaIconLibrary;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FaStackItemSizeDirective = /*#__PURE__*/(() => {\n class FaStackItemSizeDirective {\n constructor() {\n /**\n * Specify whether icon inside {@link FaStackComponent} should be rendered in\n * regular size (1x) or as a larger icon (2x).\n */\n this.stackItemSize = '1x';\n }\n ngOnChanges(changes) {\n if ('size' in changes) {\n throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. ' + 'Set size on the enclosing fa-stack instead: ....');\n }\n }\n static {\n this.ɵfac = function FaStackItemSizeDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaStackItemSizeDirective)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: FaStackItemSizeDirective,\n selectors: [[\"fa-icon\", \"stackItemSize\", \"\"], [\"fa-duotone-icon\", \"stackItemSize\", \"\"]],\n inputs: {\n stackItemSize: \"stackItemSize\",\n size: \"size\"\n },\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n }\n return FaStackItemSizeDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FaStackComponent = /*#__PURE__*/(() => {\n class FaStackComponent {\n constructor(renderer, elementRef) {\n this.renderer = renderer;\n this.elementRef = elementRef;\n }\n ngOnInit() {\n this.renderer.addClass(this.elementRef.nativeElement, 'fa-stack');\n }\n ngOnChanges(changes) {\n if ('size' in changes) {\n if (changes.size.currentValue != null) {\n this.renderer.addClass(this.elementRef.nativeElement, `fa-${changes.size.currentValue}`);\n }\n if (changes.size.previousValue != null) {\n this.renderer.removeClass(this.elementRef.nativeElement, `fa-${changes.size.previousValue}`);\n }\n }\n }\n static {\n this.ɵfac = function FaStackComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaStackComponent)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: FaStackComponent,\n selectors: [[\"fa-stack\"]],\n inputs: {\n size: \"size\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function FaStackComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2\n });\n }\n }\n return FaStackComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FaIconComponent = /*#__PURE__*/(() => {\n class FaIconComponent {\n constructor(sanitizer, config, iconLibrary, stackItem, stack) {\n this.sanitizer = sanitizer;\n this.config = config;\n this.iconLibrary = iconLibrary;\n this.stackItem = stackItem;\n this.document = inject(DOCUMENT);\n if (stack != null && stackItem == null) {\n console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into ' + 'fa-stack. Example: .');\n }\n }\n ngOnChanges(changes) {\n if (this.icon == null && this.config.fallbackIcon == null) {\n faWarnIfIconSpecMissing();\n return;\n }\n if (changes) {\n const iconDefinition = this.findIconDefinition(this.icon ?? this.config.fallbackIcon);\n if (iconDefinition != null) {\n const params = this.buildParams();\n ensureCss(this.document, this.config);\n const renderedIcon = icon(iconDefinition, params);\n this.renderedIconHTML = this.sanitizer.bypassSecurityTrustHtml(renderedIcon.html.join('\\n'));\n }\n }\n }\n /**\n * Programmatically trigger rendering of the icon.\n *\n * This method is useful, when creating {@link FaIconComponent} dynamically or\n * changing its inputs programmatically as in these cases icon won't be\n * re-rendered automatically.\n */\n render() {\n this.ngOnChanges({});\n }\n findIconDefinition(i) {\n const lookup = faNormalizeIconSpec(i, this.config.defaultPrefix);\n if ('icon' in lookup) {\n return lookup;\n }\n const definition = this.iconLibrary.getIconDefinition(lookup.prefix, lookup.iconName);\n if (definition != null) {\n return definition;\n }\n faWarnIfIconDefinitionMissing(lookup);\n return null;\n }\n buildParams() {\n const classOpts = {\n flip: this.flip,\n animation: this.animation,\n border: this.border,\n inverse: this.inverse,\n size: this.size || null,\n pull: this.pull || null,\n rotate: this.rotate || null,\n fixedWidth: typeof this.fixedWidth === 'boolean' ? this.fixedWidth : this.config.fixedWidth,\n stackItemSize: this.stackItem != null ? this.stackItem.stackItemSize : null\n };\n const parsedTransform = typeof this.transform === 'string' ? parse.transform(this.transform) : this.transform;\n const styles = {};\n if (classOpts.rotate != null && !isKnownRotateValue(classOpts.rotate)) {\n styles['--fa-rotate-angle'] = `${classOpts.rotate}`;\n }\n return {\n title: this.title,\n transform: parsedTransform,\n classes: faClassList(classOpts),\n mask: this.mask != null ? this.findIconDefinition(this.mask) : null,\n symbol: this.symbol,\n attributes: {\n role: this.a11yRole\n },\n styles\n };\n }\n static {\n this.ɵfac = function FaIconComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaIconComponent)(i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(FaConfig), i0.ɵɵdirectiveInject(FaIconLibrary), i0.ɵɵdirectiveInject(FaStackItemSizeDirective, 8), i0.ɵɵdirectiveInject(FaStackComponent, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: FaIconComponent,\n selectors: [[\"fa-icon\"]],\n hostAttrs: [1, \"ng-fa-icon\"],\n hostVars: 2,\n hostBindings: function FaIconComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵhostProperty(\"innerHTML\", ctx.renderedIconHTML, i0.ɵɵsanitizeHtml);\n i0.ɵɵattribute(\"title\", ctx.title);\n }\n },\n inputs: {\n icon: \"icon\",\n title: \"title\",\n animation: \"animation\",\n mask: \"mask\",\n flip: \"flip\",\n size: \"size\",\n pull: \"pull\",\n border: \"border\",\n inverse: \"inverse\",\n symbol: \"symbol\",\n rotate: \"rotate\",\n fixedWidth: \"fixedWidth\",\n transform: \"transform\",\n a11yRole: \"a11yRole\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 0,\n vars: 0,\n template: function FaIconComponent_Template(rf, ctx) {},\n encapsulation: 2\n });\n }\n }\n return FaIconComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FaDuotoneIconComponent = /*#__PURE__*/(() => {\n class FaDuotoneIconComponent extends FaIconComponent {\n findIconDefinition(i) {\n const definition = super.findIconDefinition(i);\n if (definition != null && !Array.isArray(definition.icon[4])) {\n throw new Error('The specified icon does not appear to be a Duotone icon. ' + 'Check that you specified the correct style: ' + ` ` + `or use: instead.`);\n }\n return definition;\n }\n buildParams() {\n const params = super.buildParams();\n if (this.swapOpacity === true || this.swapOpacity === 'true') {\n if (Array.isArray(params.classes)) {\n params.classes.push('fa-swap-opacity');\n } else if (typeof params.classes === 'string') {\n params.classes = [params.classes, 'fa-swap-opacity'];\n } else {\n params.classes = ['fa-swap-opacity'];\n }\n }\n if (params.styles == null) {\n params.styles = {};\n }\n if (this.primaryOpacity != null) {\n params.styles['--fa-primary-opacity'] = this.primaryOpacity.toString();\n }\n if (this.secondaryOpacity != null) {\n params.styles['--fa-secondary-opacity'] = this.secondaryOpacity.toString();\n }\n if (this.primaryColor != null) {\n params.styles['--fa-primary-color'] = this.primaryColor;\n }\n if (this.secondaryColor != null) {\n params.styles['--fa-secondary-color'] = this.secondaryColor;\n }\n return params;\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵFaDuotoneIconComponent_BaseFactory;\n return function FaDuotoneIconComponent_Factory(__ngFactoryType__) {\n return (ɵFaDuotoneIconComponent_BaseFactory || (ɵFaDuotoneIconComponent_BaseFactory = i0.ɵɵgetInheritedFactory(FaDuotoneIconComponent)))(__ngFactoryType__ || FaDuotoneIconComponent);\n };\n })();\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: FaDuotoneIconComponent,\n selectors: [[\"fa-duotone-icon\"]],\n inputs: {\n swapOpacity: \"swapOpacity\",\n primaryOpacity: \"primaryOpacity\",\n secondaryOpacity: \"secondaryOpacity\",\n primaryColor: \"primaryColor\",\n secondaryColor: \"secondaryColor\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 0,\n vars: 0,\n template: function FaDuotoneIconComponent_Template(rf, ctx) {},\n encapsulation: 2\n });\n }\n }\n return FaDuotoneIconComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Warns if parent component not existing.\n */\nconst faWarnIfParentNotExist = (parent, parentName, childName) => {\n if (!parent) {\n throw new Error(`${childName} should be used as child of ${parentName} only.`);\n }\n};\n\n/**\n * Fontawesome layers.\n */\nlet FaLayersComponent = /*#__PURE__*/(() => {\n class FaLayersComponent {\n constructor(renderer, elementRef, config) {\n this.renderer = renderer;\n this.elementRef = elementRef;\n this.config = config;\n this.document = inject(DOCUMENT);\n }\n ngOnInit() {\n this.renderer.addClass(this.elementRef.nativeElement, 'fa-layers');\n ensureCss(this.document, this.config);\n this.fixedWidth = typeof this.fixedWidth === 'boolean' ? this.fixedWidth : this.config.fixedWidth;\n }\n ngOnChanges(changes) {\n if ('size' in changes) {\n if (changes.size.currentValue != null) {\n this.renderer.addClass(this.elementRef.nativeElement, `fa-${changes.size.currentValue}`);\n }\n if (changes.size.previousValue != null) {\n this.renderer.removeClass(this.elementRef.nativeElement, `fa-${changes.size.previousValue}`);\n }\n }\n }\n static {\n this.ɵfac = function FaLayersComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaLayersComponent)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(FaConfig));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: FaLayersComponent,\n selectors: [[\"fa-layers\"]],\n hostVars: 2,\n hostBindings: function FaLayersComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"fa-fw\", ctx.fixedWidth);\n }\n },\n inputs: {\n size: \"size\",\n fixedWidth: \"fixedWidth\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function FaLayersComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2\n });\n }\n }\n return FaLayersComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FaLayersCounterComponent = /*#__PURE__*/(() => {\n class FaLayersCounterComponent {\n constructor(parent, sanitizer) {\n this.parent = parent;\n this.sanitizer = sanitizer;\n this.document = inject(DOCUMENT);\n this.config = inject(FaConfig);\n faWarnIfParentNotExist(this.parent, 'FaLayersComponent', this.constructor.name);\n }\n ngOnChanges(changes) {\n if (changes) {\n const params = this.buildParams();\n this.updateContent(params);\n }\n }\n buildParams() {\n return {\n title: this.title,\n classes: this.position != null ? [`fa-layers-${this.position}`] : undefined\n };\n }\n updateContent(params) {\n ensureCss(this.document, this.config);\n this.renderedHTML = this.sanitizer.bypassSecurityTrustHtml(counter(this.content || '', params).html.join(''));\n }\n static {\n this.ɵfac = function FaLayersCounterComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaLayersCounterComponent)(i0.ɵɵdirectiveInject(FaLayersComponent, 8), i0.ɵɵdirectiveInject(i2.DomSanitizer));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: FaLayersCounterComponent,\n selectors: [[\"fa-layers-counter\"]],\n hostAttrs: [1, \"ng-fa-layers-counter\"],\n hostVars: 1,\n hostBindings: function FaLayersCounterComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵhostProperty(\"innerHTML\", ctx.renderedHTML, i0.ɵɵsanitizeHtml);\n }\n },\n inputs: {\n content: \"content\",\n title: \"title\",\n position: \"position\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 0,\n vars: 0,\n template: function FaLayersCounterComponent_Template(rf, ctx) {},\n encapsulation: 2\n });\n }\n }\n return FaLayersCounterComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FaLayersTextComponent = /*#__PURE__*/(() => {\n class FaLayersTextComponent {\n constructor(parent, sanitizer) {\n this.parent = parent;\n this.sanitizer = sanitizer;\n this.document = inject(DOCUMENT);\n this.config = inject(FaConfig);\n faWarnIfParentNotExist(this.parent, 'FaLayersComponent', this.constructor.name);\n }\n ngOnChanges(changes) {\n if (changes) {\n const params = this.buildParams();\n this.updateContent(params);\n }\n }\n /**\n * Updating params by component props.\n */\n buildParams() {\n const classOpts = {\n flip: this.flip,\n border: this.border,\n inverse: this.inverse,\n size: this.size || null,\n pull: this.pull || null,\n rotate: this.rotate || null,\n fixedWidth: this.fixedWidth\n };\n const parsedTransform = typeof this.transform === 'string' ? parse.transform(this.transform) : this.transform;\n const styles = {};\n if (classOpts.rotate != null && !isKnownRotateValue(classOpts.rotate)) {\n styles['--fa-rotate-angle'] = `${classOpts.rotate}`;\n }\n return {\n transform: parsedTransform,\n classes: faClassList(classOpts),\n title: this.title,\n styles\n };\n }\n updateContent(params) {\n ensureCss(this.document, this.config);\n this.renderedHTML = this.sanitizer.bypassSecurityTrustHtml(text(this.content || '', params).html.join('\\n'));\n }\n static {\n this.ɵfac = function FaLayersTextComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FaLayersTextComponent)(i0.ɵɵdirectiveInject(FaLayersComponent, 8), i0.ɵɵdirectiveInject(i2.DomSanitizer));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: FaLayersTextComponent,\n selectors: [[\"fa-layers-text\"]],\n hostAttrs: [1, \"ng-fa-layers-text\"],\n hostVars: 1,\n hostBindings: function FaLayersTextComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵhostProperty(\"innerHTML\", ctx.renderedHTML, i0.ɵɵsanitizeHtml);\n }\n },\n inputs: {\n content: \"content\",\n title: \"title\",\n flip: \"flip\",\n size: \"size\",\n pull: \"pull\",\n border: \"border\",\n inverse: \"inverse\",\n rotate: \"rotate\",\n fixedWidth: \"fixedWidth\",\n transform: \"transform\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 0,\n vars: 0,\n template: function FaLayersTextComponent_Template(rf, ctx) {},\n encapsulation: 2\n });\n }\n }\n return FaLayersTextComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet FontAwesomeModule = /*#__PURE__*/(() => {\n class FontAwesomeModule {\n static {\n this.ɵfac = function FontAwesomeModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FontAwesomeModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: FontAwesomeModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return FontAwesomeModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FaConfig, FaDuotoneIconComponent, FaIconComponent, FaIconLibrary, FaLayersComponent, FaLayersCounterComponent, FaLayersTextComponent, FaStackComponent, FaStackItemSizeDirective, FontAwesomeModule };\n","import * as i3 from '@angular/common';\nimport { isPlatformBrowser, isPlatformServer, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Directive, InjectionToken, PLATFORM_ID, Injectable, Inject, EventEmitter, Input, Output, TemplateRef, Component, Optional, ContentChild, ViewChild, makeEnvironmentProviders, NgModule, inject } from '@angular/core';\nimport { filter, first, map, switchMap } from 'rxjs/operators';\nimport { BehaviorSubject, from } from 'rxjs';\nconst _c0 = [\"stripeElementRef\"];\nfunction StripeAddressComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeAffirmMessageComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeAfterpayClearpayMessageComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeCardComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeCardNumberComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeCardExpiryComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeCardCvcComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeEpsBankComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeExpressCheckoutComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeFpxBankComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeIbanComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeIdealBankComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeIssuingCardCvcDisplayComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeIssuingCardExpiryDisplayComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeIssuingCardNumberDisplayComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeIssuingCardPinDisplayComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeLinkAuthenticationComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeP24BankComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripeAuBankAccountComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nfunction StripePaymentMethodMessagingComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 2);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingTemplate);\n }\n}\nlet NgxStripeElementLoadingTemplateDirective = /*#__PURE__*/(() => {\n class NgxStripeElementLoadingTemplateDirective {\n templateRef;\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n static ɵfac = function NgxStripeElementLoadingTemplateDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgxStripeElementLoadingTemplateDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NgxStripeElementLoadingTemplateDirective,\n selectors: [[\"\", \"ngxStripeLoadingTemplate\", \"\"]]\n });\n }\n return NgxStripeElementLoadingTemplateDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst STRIPE_PUBLISHABLE_KEY = new InjectionToken('Stripe Publishable Key');\nconst STRIPE_OPTIONS = new InjectionToken('Stripe Options');\nconst NGX_STRIPE_VERSION = new InjectionToken('NGX_STRIPE_VERSION');\nclass StripeInstance {\n version;\n loader;\n window;\n key;\n options;\n stripe$ = new BehaviorSubject(undefined);\n stripe = this.stripe$.asObservable().pipe(filter(stripe => Boolean(stripe)));\n constructor(version, loader, window, key, options) {\n this.version = version;\n this.loader = loader;\n this.window = window;\n this.key = key;\n this.options = options;\n this.loader.asStream().pipe(filter(status => status.loaded === true), first(), map(() => this.window.getNativeWindow().Stripe)).subscribe(stripeInstance => {\n const stripe = this.options ? stripeInstance(this.key, this.options) : stripeInstance(this.key);\n stripe.registerAppInfo(this.getNgxStripeAppInfo(this.version));\n this.stripe$.next(stripe);\n });\n }\n getInstance() {\n return this.stripe$.getValue();\n }\n elements(options) {\n return this.stripe.pipe(map(stripe => stripe.elements(options)), first());\n }\n redirectToCheckout(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.redirectToCheckout(options))), first());\n }\n confirmPayment(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmPayment(options))), first());\n }\n confirmAcssDebitPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmAcssDebitPayment(clientSecret, data, options))), first());\n }\n confirmUsBankAccountPayment(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmUsBankAccountPayment(clientSecret, data))), first());\n }\n confirmAlipayPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmAlipayPayment(clientSecret, data, options))), first());\n }\n confirmAuBecsDebitPayment(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmAuBecsDebitPayment(clientSecret, data))), first());\n }\n confirmBancontactPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmBancontactPayment(clientSecret, data, options))), first());\n }\n confirmBlikPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmBlikPayment(clientSecret, data, options))), first());\n }\n confirmBoletoPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmBoletoPayment(clientSecret, data, options))), first());\n }\n confirmCardPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmCardPayment(clientSecret, data, options))), first());\n }\n confirmCashappPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmCashappPayment(clientSecret, data, options))), first());\n }\n confirmCustomerBalancePayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmCustomerBalancePayment(clientSecret, data, options))), first());\n }\n confirmEpsPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmEpsPayment(clientSecret, data, options))), first());\n }\n confirmFpxPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmFpxPayment(clientSecret, data, options))), first());\n }\n confirmGiropayPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmGiropayPayment(clientSecret, data, options))), first());\n }\n confirmGrabPayPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmGrabPayPayment(clientSecret, data, options))), first());\n }\n confirmIdealPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmIdealPayment(clientSecret, data, options))), first());\n }\n confirmKlarnaPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmKlarnaPayment(clientSecret, data, options))), first());\n }\n confirmKonbiniPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmKonbiniPayment(clientSecret, data, options))), first());\n }\n confirmMobilepayPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmMobilepayPayment(clientSecret, data, options))), first());\n }\n confirmOxxoPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmOxxoPayment(clientSecret, data, options))), first());\n }\n confirmP24Payment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmP24Payment(clientSecret, data, options))), first());\n }\n confirmPayNowPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmPayNowPayment(clientSecret, data, options))), first());\n }\n confirmPayPalPayment(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmPayPalPayment(clientSecret, data))), first());\n }\n confirmPixPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmPixPayment(clientSecret, data, options))), first());\n }\n confirmPromptPayPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmPromptPayPayment(clientSecret, data, options))), first());\n }\n confirmSepaDebitPayment(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmSepaDebitPayment(clientSecret, data))), first());\n }\n confirmSofortPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmSofortPayment(clientSecret, data, options))), first());\n }\n confirmWechatPayPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmWechatPayPayment(clientSecret, data, options))), first());\n }\n handleCardAction(clientSecret) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.handleCardAction(clientSecret))), first());\n }\n handleNextAction(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.handleNextAction(options))), first());\n }\n verifyMicrodepositsForPayment(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.verifyMicrodepositsForPayment(clientSecret, data))), first());\n }\n createRadarSession() {\n return this.stripe.pipe(switchMap(stripe => from(stripe.createRadarSession())), first());\n }\n collectBankAccountForPayment(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.collectBankAccountForPayment(options))), first());\n }\n createPaymentMethod(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.createPaymentMethod(options))), first());\n }\n createConfirmationToken(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.createConfirmationToken(options))), first());\n }\n retrievePaymentIntent(clientSecret) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.retrievePaymentIntent(clientSecret))), first());\n }\n confirmSetup(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmSetup(options))), first());\n }\n confirmAcssDebitSetup(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmAcssDebitSetup(clientSecret, data, options))), first());\n }\n confirmUsBankAccountSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmUsBankAccountSetup(clientSecret, data))), first());\n }\n confirmAuBecsDebitSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmAuBecsDebitSetup(clientSecret, data))), first());\n }\n confirmBacsDebitSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmBacsDebitSetup(clientSecret, data))), first());\n }\n confirmBancontactSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmBancontactSetup(clientSecret, data))), first());\n }\n confirmCardSetup(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmCardSetup(clientSecret, data, options))), first());\n }\n confirmCashappSetup(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmCashappSetup(clientSecret, data, options))), first());\n }\n confirmIdealSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmIdealSetup(clientSecret, data))), first());\n }\n confirmPayPalSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmPayPalSetup(clientSecret, data))), first());\n }\n confirmSepaDebitSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmSepaDebitSetup(clientSecret, data))), first());\n }\n confirmSofortSetup(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmSofortSetup(clientSecret, data, options))), first());\n }\n confirmAffirmPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmAffirmPayment(clientSecret, data, options))), first());\n }\n confirmAfterpayClearpayPayment(clientSecret, data, options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmAfterpayClearpayPayment(clientSecret, data, options))), first());\n }\n verifyMicrodepositsForSetup(clientSecret, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.verifyMicrodepositsForSetup(clientSecret, data))), first());\n }\n collectBankAccountForSetup(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.collectBankAccountForSetup(options))), first());\n }\n retrieveSetupIntent(clientSecret) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.retrieveSetupIntent(clientSecret))), first());\n }\n processOrder(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.processOrder(options))), first());\n }\n retrieveOrder(clientSecret) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.retrieveOrder(clientSecret))), first());\n }\n paymentRequest(options) {\n const stripe = this.getInstance();\n return stripe.paymentRequest(options);\n }\n createToken(tokenType, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.createToken(tokenType, data))), first());\n }\n createSource(a, b) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.createSource(a, b))), first());\n }\n retrieveSource(source) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.retrieveSource(source))), first());\n }\n verifyIdentity(clientSecret) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.verifyIdentity(clientSecret))), first());\n }\n collectFinancialConnectionsAccounts(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.collectFinancialConnectionsAccounts(options))), first());\n }\n collectBankAccountToken(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.collectBankAccountToken(options))), first());\n }\n createEphemeralKeyNonce(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.createEphemeralKeyNonce(options))), first());\n }\n initCheckout(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.initCheckout(options))), first());\n }\n initEmbeddedCheckout(options) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.initEmbeddedCheckout(options))), first());\n }\n /**\n * @deprecated\n */\n handleCardPayment(clientSecret, element, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.handleCardPayment(clientSecret, element, data))), first());\n }\n /**\n * @deprecated\n */\n confirmPaymentIntent(clientSecret, element, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmPaymentIntent(clientSecret, element, data))), first());\n }\n /**\n * @deprecated\n */\n handleCardSetup(clientSecret, element, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.handleCardSetup(clientSecret, element, data))), first());\n }\n /**\n * @deprecated\n */\n confirmSetupIntent(clientSecret, element, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.confirmSetupIntent(clientSecret, element, data))), first());\n }\n /**\n * @deprecated\n */\n handleFpxPayment(clientSecret, element, data) {\n return this.stripe.pipe(switchMap(stripe => from(stripe.handleFpxPayment(clientSecret, element, data))), first());\n }\n getNgxStripeAppInfo(version) {\n return {\n name: 'ngx-stripe',\n url: 'https://ngx-stripe.dev',\n partner_id: 'pp_partner_JR4l1rmvUoPP4V',\n version\n };\n }\n}\nlet WindowRef = /*#__PURE__*/(() => {\n class WindowRef {\n platformId;\n constructor(platformId) {\n this.platformId = platformId;\n }\n getNativeWindow() {\n if (isPlatformBrowser(this.platformId)) {\n return window;\n }\n return {};\n }\n static ɵfac = function WindowRef_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || WindowRef)(i0.ɵɵinject(PLATFORM_ID));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: WindowRef,\n factory: WindowRef.ɵfac\n });\n }\n return WindowRef;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet DocumentRef = /*#__PURE__*/(() => {\n class DocumentRef {\n platformId;\n constructor(platformId) {\n this.platformId = platformId;\n }\n getNativeDocument() {\n if (isPlatformBrowser(this.platformId)) {\n return document;\n }\n return {};\n }\n static ɵfac = function DocumentRef_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || DocumentRef)(i0.ɵɵinject(PLATFORM_ID));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DocumentRef,\n factory: DocumentRef.ɵfac\n });\n }\n return DocumentRef;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet LazyStripeAPILoader = /*#__PURE__*/(() => {\n class LazyStripeAPILoader {\n platformId;\n window;\n document;\n status = new BehaviorSubject({\n error: false,\n loaded: false,\n loading: false\n });\n constructor(platformId, window, document) {\n this.platformId = platformId;\n this.window = window;\n this.document = document;\n }\n asStream() {\n this.load();\n return this.status.asObservable();\n }\n isReady() {\n return this.status.getValue().loaded;\n }\n load() {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n const status = this.status.getValue();\n if (this.window.getNativeWindow().hasOwnProperty('Stripe')) {\n this.status.next({\n error: false,\n loaded: true,\n loading: false\n });\n } else if (!status.loaded && !status.loading) {\n this.status.next({\n ...status,\n loading: true\n });\n const script = this.document.getNativeDocument().createElement('script');\n script.type = 'text/javascript';\n script.async = true;\n script.defer = true;\n script.src = 'https://js.stripe.com/v3/';\n script.onload = () => {\n this.status.next({\n error: false,\n loaded: true,\n loading: false\n });\n };\n script.onerror = () => {\n this.status.next({\n error: true,\n loaded: false,\n loading: false\n });\n };\n this.document.getNativeDocument().body.appendChild(script);\n }\n }\n static ɵfac = function LazyStripeAPILoader_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || LazyStripeAPILoader)(i0.ɵɵinject(PLATFORM_ID), i0.ɵɵinject(WindowRef), i0.ɵɵinject(DocumentRef));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LazyStripeAPILoader,\n factory: LazyStripeAPILoader.ɵfac\n });\n }\n return LazyStripeAPILoader;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeService = /*#__PURE__*/(() => {\n class StripeService {\n version;\n key;\n options;\n loader;\n window;\n stripe;\n constructor(version, key, options, loader, window) {\n this.version = version;\n this.key = key;\n this.options = options;\n this.loader = loader;\n this.window = window;\n if (key) {\n this.stripe = new StripeInstance(this.version, this.loader, this.window, key, options);\n }\n }\n getStripeReference() {\n return this.loader.asStream().pipe(filter(status => status.loaded === true), map(() => this.window.getNativeWindow().Stripe));\n }\n getInstance() {\n return this.stripe.getInstance();\n }\n setKey(key, options) {\n return this.changeKey(key, options);\n }\n changeKey(key, options) {\n this.stripe = new StripeInstance(this.version, this.loader, this.window, key, options);\n return this.stripe;\n }\n elements(options) {\n return this.stripe.elements(options);\n }\n redirectToCheckout(options) {\n return this.stripe.redirectToCheckout(options);\n }\n confirmPayment(options) {\n return this.stripe.confirmPayment(options);\n }\n confirmAcssDebitPayment(clientSecret, data, options) {\n return this.stripe.confirmAcssDebitPayment(clientSecret, data, options);\n }\n confirmUsBankAccountPayment(clientSecret, data) {\n return this.stripe.confirmUsBankAccountPayment(clientSecret, data);\n }\n confirmAlipayPayment(clientSecret, data, options) {\n return this.stripe.confirmAlipayPayment(clientSecret, data, options);\n }\n confirmAuBecsDebitPayment(clientSecret, data) {\n return this.stripe.confirmAuBecsDebitPayment(clientSecret, data);\n }\n confirmBancontactPayment(clientSecret, data, options) {\n return this.stripe.confirmBancontactPayment(clientSecret, data, options);\n }\n confirmBlikPayment(clientSecret, data, options) {\n return this.stripe.confirmBlikPayment(clientSecret, data, options);\n }\n confirmBoletoPayment(clientSecret, data, options) {\n return this.stripe.confirmBoletoPayment(clientSecret, data, options);\n }\n confirmCardPayment(clientSecret, data, options) {\n return this.stripe.confirmCardPayment(clientSecret, data, options);\n }\n confirmCashappPayment(clientSecret, data, options) {\n return this.stripe.confirmCashappPayment(clientSecret, data, options);\n }\n confirmCustomerBalancePayment(clientSecret, data, options) {\n return this.stripe.confirmCustomerBalancePayment(clientSecret, data, options);\n }\n confirmEpsPayment(clientSecret, data, options) {\n return this.stripe.confirmEpsPayment(clientSecret, data, options);\n }\n confirmFpxPayment(clientSecret, data, options) {\n return this.stripe.confirmFpxPayment(clientSecret, data, options);\n }\n confirmGiropayPayment(clientSecret, data, options) {\n return this.stripe.confirmGiropayPayment(clientSecret, data, options);\n }\n confirmGrabPayPayment(clientSecret, data, options) {\n return this.stripe.confirmGrabPayPayment(clientSecret, data, options);\n }\n confirmIdealPayment(clientSecret, data, options) {\n return this.stripe.confirmIdealPayment(clientSecret, data, options);\n }\n confirmKlarnaPayment(clientSecret, data, options) {\n return this.stripe.confirmKlarnaPayment(clientSecret, data, options);\n }\n confirmKonbiniPayment(clientSecret, data, options) {\n return this.stripe.confirmKonbiniPayment(clientSecret, data, options);\n }\n confirmMobilepayPayment(clientSecret, data, options) {\n return this.stripe.confirmMobilepayPayment(clientSecret, data, options);\n }\n confirmOxxoPayment(clientSecret, data, options) {\n return this.stripe.confirmOxxoPayment(clientSecret, data, options);\n }\n confirmP24Payment(clientSecret, data, options) {\n return this.stripe.confirmP24Payment(clientSecret, data, options);\n }\n confirmPayNowPayment(clientSecret, data, options) {\n return this.stripe.confirmPayNowPayment(clientSecret, data, options);\n }\n confirmPayPalPayment(clientSecret, data) {\n return this.stripe.confirmPayPalPayment(clientSecret, data);\n }\n confirmPixPayment(clientSecret, data, options) {\n return this.stripe.confirmPixPayment(clientSecret, data, options);\n }\n confirmPromptPayPayment(clientSecret, data, options) {\n return this.stripe.confirmPromptPayPayment(clientSecret, data, options);\n }\n confirmSepaDebitPayment(clientSecret, data) {\n return this.stripe.confirmSepaDebitPayment(clientSecret, data);\n }\n confirmSofortPayment(clientSecret, data, options) {\n return this.stripe.confirmSofortPayment(clientSecret, data, options);\n }\n confirmWechatPayPayment(clientSecret, data, options) {\n return this.stripe.confirmWechatPayPayment(clientSecret, data, options);\n }\n handleCardAction(clientSecret) {\n return this.stripe.handleCardAction(clientSecret);\n }\n handleNextAction(options) {\n return this.stripe.handleNextAction(options);\n }\n verifyMicrodepositsForPayment(clientSecret, data) {\n return this.stripe.verifyMicrodepositsForPayment(clientSecret, data);\n }\n createRadarSession() {\n return this.stripe.createRadarSession();\n }\n collectBankAccountForPayment(options) {\n return this.stripe.collectBankAccountForPayment(options);\n }\n createPaymentMethod(options) {\n return this.stripe.createPaymentMethod(options);\n }\n createConfirmationToken(options) {\n return this.stripe.createConfirmationToken(options);\n }\n retrievePaymentIntent(clientSecret) {\n return this.stripe.retrievePaymentIntent(clientSecret);\n }\n confirmSetup(options) {\n return this.stripe.confirmSetup(options);\n }\n confirmAcssDebitSetup(clientSecret, data, options) {\n return this.stripe.confirmAcssDebitSetup(clientSecret, data, options);\n }\n confirmUsBankAccountSetup(clientSecret, data) {\n return this.stripe.confirmUsBankAccountSetup(clientSecret, data);\n }\n confirmAuBecsDebitSetup(clientSecret, data) {\n return this.stripe.confirmAuBecsDebitSetup(clientSecret, data);\n }\n confirmBacsDebitSetup(clientSecret, data) {\n return this.stripe.confirmBacsDebitSetup(clientSecret, data);\n }\n confirmBancontactSetup(clientSecret, data) {\n return this.stripe.confirmBancontactSetup(clientSecret, data);\n }\n confirmCardSetup(clientSecret, data, options) {\n return this.stripe.confirmCardSetup(clientSecret, data, options);\n }\n confirmCashappSetup(clientSecret, data, options) {\n return this.stripe.confirmCashappSetup(clientSecret, data, options);\n }\n confirmIdealSetup(clientSecret, data) {\n return this.stripe.confirmIdealSetup(clientSecret, data);\n }\n confirmPayPalSetup(clientSecret, data) {\n return this.stripe.confirmPayPalSetup(clientSecret, data);\n }\n confirmSepaDebitSetup(clientSecret, data) {\n return this.stripe.confirmSepaDebitSetup(clientSecret, data);\n }\n confirmSofortSetup(clientSecret, data, options) {\n return this.stripe.confirmSofortSetup(clientSecret, data, options);\n }\n confirmAffirmPayment(clientSecret, data, options) {\n return this.stripe.confirmAffirmPayment(clientSecret, data, options);\n }\n confirmAfterpayClearpayPayment(clientSecret, data, options) {\n return this.stripe.confirmAfterpayClearpayPayment(clientSecret, data, options);\n }\n verifyMicrodepositsForSetup(clientSecret, data) {\n return this.stripe.verifyMicrodepositsForSetup(clientSecret, data);\n }\n collectBankAccountForSetup(options) {\n return this.stripe.collectBankAccountForSetup(options);\n }\n retrieveSetupIntent(clientSecret) {\n return this.stripe.retrieveSetupIntent(clientSecret);\n }\n processOrder(options) {\n return this.stripe.processOrder(options);\n }\n retrieveOrder(clientSecret) {\n return this.stripe.retrieveOrder(clientSecret);\n }\n paymentRequest(options) {\n return this.stripe.paymentRequest(options);\n }\n createToken(tokenType, data) {\n return this.stripe.createToken(tokenType, data);\n }\n createSource(a, b) {\n return this.stripe.createSource(a, b);\n }\n retrieveSource(source) {\n return this.stripe.retrieveSource(source);\n }\n verifyIdentity(clientSecret) {\n return this.stripe.verifyIdentity(clientSecret);\n }\n collectFinancialConnectionsAccounts(options) {\n return this.stripe.collectFinancialConnectionsAccounts(options);\n }\n collectBankAccountToken(options) {\n return this.stripe.collectBankAccountToken(options);\n }\n createEphemeralKeyNonce(options) {\n return this.stripe.createEphemeralKeyNonce(options);\n }\n initCheckout(options) {\n return this.stripe.initCheckout(options);\n }\n initEmbeddedCheckout(options) {\n return this.stripe.initEmbeddedCheckout(options);\n }\n /**\n * @deprecated\n */\n handleCardPayment(clientSecret, element, data) {\n return this.stripe.handleCardPayment(clientSecret, element, data);\n }\n /**\n * @deprecated\n */\n confirmPaymentIntent(clientSecret, element, data) {\n return this.stripe.confirmPaymentIntent(clientSecret, element, data);\n }\n /**\n * @deprecated\n */\n handleCardSetup(clientSecret, element, data) {\n return this.stripe.handleCardSetup(clientSecret, element, data);\n }\n /**\n * @deprecated\n */\n confirmSetupIntent(clientSecret, element, data) {\n return this.stripe.confirmSetupIntent(clientSecret, element, data);\n }\n /**\n * @deprecated\n */\n handleFpxPayment(clientSecret, element, data) {\n return this.stripe.handleFpxPayment(clientSecret, element, data);\n }\n static ɵfac = function StripeService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeService)(i0.ɵɵinject(NGX_STRIPE_VERSION), i0.ɵɵinject(STRIPE_PUBLISHABLE_KEY), i0.ɵɵinject(STRIPE_OPTIONS), i0.ɵɵinject(LazyStripeAPILoader), i0.ɵɵinject(WindowRef));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StripeService,\n factory: StripeService.ɵfac\n });\n }\n return StripeService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeElementsService = /*#__PURE__*/(() => {\n class StripeElementsService {\n stripeService;\n constructor(stripeService) {\n this.stripeService = stripeService;\n }\n elements(stripe, options = {}) {\n if (stripe) {\n if (Object.keys(options).length > 0) {\n return stripe.elements(options);\n }\n return stripe.elements();\n } else {\n if (Object.keys(options).length > 0) {\n return this.stripeService.elements(options);\n }\n return this.stripeService.elements();\n }\n }\n paymentRequest(stripe, options) {\n return stripe ? stripe.paymentRequest(options) : this.stripeService.paymentRequest(options);\n }\n mergeOptions(options, containerClass) {\n if (!containerClass || options && options.classes) {\n return options || {};\n }\n if (!options || !options.classes) {\n return {\n ...(options || {}),\n classes: {\n base: containerClass,\n complete: `${containerClass}--complete`,\n empty: `${containerClass}--empty`,\n focus: `${containerClass}--focus`,\n invalid: `${containerClass}--invalid`,\n webkitAutoFill: `${containerClass}--webkit-autoFill`\n }\n };\n }\n return options || {};\n }\n static ɵfac = function StripeElementsService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeElementsService)(i0.ɵɵinject(StripeService));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StripeElementsService,\n factory: StripeElementsService.ɵfac\n });\n }\n return StripeElementsService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeElementsDirective = /*#__PURE__*/(() => {\n class StripeElementsDirective {\n stripeElementsService;\n elementsOptions;\n stripe;\n elements = new EventEmitter();\n _elements;\n state = 'notready';\n constructor(stripeElementsService) {\n this.stripeElementsService = stripeElementsService;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n const elementsOptions = this.elementsOptions;\n const stripe = this.stripe;\n if (!stripe) {\n this.state = 'notready';\n return;\n }\n if (changes.elementsOptions) {\n if (this._elements) {\n const payload = Object.keys(elementsOptions).reduce((acc, key) => {\n if (elementsOptions[key] !== changes.elementsOptions.previousValue[key] && !['fonts', 'loader', 'clientSecret'].includes(key)) {\n acc[key] = elementsOptions[key];\n }\n return acc;\n }, {});\n this._elements.update(payload);\n } else {\n this._elements = await this.stripeElementsService.elements(stripe, elementsOptions).toPromise();\n this.elements.emit(this._elements);\n this.state = 'ready';\n }\n }\n }\n async ngOnInit() {\n if (this.state === 'notready') {\n this.state = 'starting';\n this._elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.elements.emit(this._elements);\n this.state = 'ready';\n }\n }\n fetchUpdates() {\n if (!this._elements) return null;\n return from(this._elements.fetchUpdates());\n }\n update(options) {\n if (!this._elements) return null;\n return this._elements.update(options);\n }\n submit() {\n if (!this._elements) return null;\n return from(this._elements.submit());\n }\n getElement(elementType) {\n if (!this._elements) return null;\n switch (elementType) {\n case 'address':\n return this._elements.getElement('address');\n case 'paymentMethodMessaging':\n return this._elements.getElement('paymentMethodMessaging');\n case 'affirmMessage':\n return this._elements.getElement('affirmMessage');\n case 'afterpayClearpayMessage':\n return this._elements.getElement('afterpayClearpayMessage');\n case 'auBankAccount':\n return this._elements.getElement('auBankAccount');\n case 'card':\n return this._elements.getElement('card');\n case 'cardNumber':\n return this._elements.getElement('cardNumber');\n case 'cardExpiry':\n return this._elements.getElement('cardExpiry');\n case 'cardCvc':\n return this._elements.getElement('cardCvc');\n case 'fpxBank':\n return this._elements.getElement('fpxBank');\n case 'epsBank':\n return this._elements.getElement('epsBank');\n case 'p24Bank':\n return this._elements.getElement('p24Bank');\n case 'iban':\n return this._elements.getElement('iban');\n case 'idealBank':\n return this._elements.getElement('idealBank');\n case 'linkAuthentication':\n return this._elements.getElement('linkAuthentication');\n case 'expressCheckout':\n return this._elements.getElement('expressCheckout');\n case 'payment':\n return this._elements.getElement('payment');\n case 'paymentRequestButton':\n return this._elements.getElement('paymentRequestButton');\n case 'shippingAddress':\n return this._elements.getElement('shippingAddress');\n default:\n return this._elements.getElement(elementType);\n }\n }\n static ɵfac = function StripeElementsDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeElementsDirective)(i0.ɵɵdirectiveInject(StripeElementsService));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: StripeElementsDirective,\n selectors: [[\"ngx-stripe-elements\"], [\"\", \"ngxStripeElements\", \"\"]],\n inputs: {\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n elements: \"elements\"\n },\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n return StripeElementsDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeAddressComponent = /*#__PURE__*/(() => {\n class StripeAddressComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n loaderror = new EventEmitter();\n loaderstart = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n return this.element.update(options);\n }\n getValue() {\n const address = this.elements.getElement('address');\n return address.getValue();\n }\n /**\n * @deprecated\n */\n getAddressElement() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('address', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.on('loaderror', () => this.loaderror.emit());\n this.element.on('loaderstart', () => this.loaderstart.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeAddressComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeAddressComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeAddressComponent,\n selectors: [[\"ngx-stripe-address\"]],\n contentQueries: function StripeAddressComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeAddressComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\",\n loaderror: \"loaderror\",\n loaderstart: \"loaderstart\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeAddressComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeAddressComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeAddressComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeAffirmMessageComponent = /*#__PURE__*/(() => {\n class StripeAffirmMessageComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n ready = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getAffirmMessage() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('affirmMessage', options);\n this.element.on('ready', () => this.ready.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeAffirmMessageComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeAffirmMessageComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeAffirmMessageComponent,\n selectors: [[\"ngx-stripe-affirm-message\"]],\n contentQueries: function StripeAffirmMessageComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeAffirmMessageComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n ready: \"ready\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeAffirmMessageComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeAffirmMessageComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeAffirmMessageComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeAfterpayClearpayMessageComponent = /*#__PURE__*/(() => {\n class StripeAfterpayClearpayMessageComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n ready = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getAfterpayClearpayMessage() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('afterpayClearpayMessage', options);\n this.element.on('ready', () => this.ready.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeAfterpayClearpayMessageComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeAfterpayClearpayMessageComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeAfterpayClearpayMessageComponent,\n selectors: [[\"ngx-stripe-afterpay-clearpay-message\"]],\n contentQueries: function StripeAfterpayClearpayMessageComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeAfterpayClearpayMessageComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n ready: \"ready\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeAfterpayClearpayMessageComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeAfterpayClearpayMessageComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeAfterpayClearpayMessageComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeCardComponent = /*#__PURE__*/(() => {\n class StripeCardComponent {\n cdr;\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(cdr, stripeElementsService, elementsProvider) {\n this.cdr = cdr;\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getCard() {\n return this.element;\n }\n createElement(options = {}) {\n this.state = 'ready';\n this.cdr.detectChanges();\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('card', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeCardComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeCardComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeCardComponent,\n selectors: [[\"ngx-stripe-card\"]],\n contentQueries: function StripeCardComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeCardComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeCardComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeCardComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeCardComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeCardGroupDirective = /*#__PURE__*/(() => {\n class StripeCardGroupDirective {\n stripeElementsService;\n elementsOptions;\n stripe;\n elements = new EventEmitter();\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n _elements;\n state = 'notready';\n constructor(stripeElementsService) {\n this.stripeElementsService = stripeElementsService;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n const elementsOptions = this.elementsOptions;\n const stripe = this.stripe;\n if (changes.elementsOptions || changes.stripe || !this._elements) {\n this._elements = await this.stripeElementsService.elements(stripe, elementsOptions).toPromise();\n this.elements.emit(this._elements);\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n if (this.state === 'notready') {\n this.state = 'starting';\n this._elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.elements.emit(this._elements);\n this.state = 'ready';\n }\n }\n static ɵfac = function StripeCardGroupDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeCardGroupDirective)(i0.ɵɵdirectiveInject(StripeElementsService));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: StripeCardGroupDirective,\n selectors: [[\"ngx-stripe-card-group\"], [\"\", \"ngxStripeCardGroup\", \"\"]],\n inputs: {\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n elements: \"elements\",\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n return StripeCardGroupDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeCardNumberComponent = /*#__PURE__*/(() => {\n class StripeCardNumberComponent {\n stripeElementsService;\n cardGroup;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n elementsSubscription;\n constructor(stripeElementsService, cardGroup, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.cardGroup = cardGroup;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n if (changes.options || changes.containerClass) {\n this.setupElement('options');\n }\n }\n ngOnInit() {\n if (this.cardGroup) {\n this.elementsSubscription = this.cardGroup.elements.subscribe(elements => {\n this.elements = elements;\n this.setupElement('elements');\n });\n } else if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.setupElement('elements');\n });\n } else {\n throw new Error('StripeCardNumberComponent must have StripeCardGroupDirective or StripeElementsDirective parent');\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getCardNumber() {\n return this.element;\n }\n setupElement(source) {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.element && source === 'options') {\n this.update(options);\n } else if (this.elements && source === 'elements') {\n this.element = this.elements.create('cardNumber', options);\n this.element.on('change', ev => {\n this.change.emit(ev);\n this.cardGroup?.change.emit(ev);\n });\n this.element.on('blur', () => {\n this.blur.emit();\n this.cardGroup?.blur.emit();\n });\n this.element.on('focus', () => {\n this.focus.emit();\n this.cardGroup?.focus.emit();\n });\n this.element.on('ready', () => {\n this.ready.emit();\n this.cardGroup?.ready.emit();\n });\n this.element.on('escape', () => {\n this.escape.emit();\n this.cardGroup?.escape.emit();\n });\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n this.cardGroup?.load.emit(this.element);\n }\n }\n static ɵfac = function StripeCardNumberComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeCardNumberComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeCardGroupDirective, 8), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeCardNumberComponent,\n selectors: [[\"ngx-stripe-card-number\"]],\n contentQueries: function StripeCardNumberComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeCardNumberComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeCardNumberComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeCardNumberComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.cardGroup && ctx.cardGroup.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeCardNumberComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeCardExpiryComponent = /*#__PURE__*/(() => {\n class StripeCardExpiryComponent {\n stripeElementsService;\n cardGroup;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n elementsSubscription;\n constructor(stripeElementsService, cardGroup, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.cardGroup = cardGroup;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n if (changes.options || changes.containerClass) {\n this.setupElement('options');\n }\n }\n ngOnInit() {\n if (this.cardGroup) {\n this.elementsSubscription = this.cardGroup.elements.subscribe(elements => {\n this.elements = elements;\n this.setupElement('elements');\n });\n } else if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.setupElement('elements');\n });\n } else {\n throw new Error('StripeCardExpiryComponent must have StripeCardGroupDirective or StripeElementsDirective parent');\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getCardExpiry() {\n return this.element;\n }\n setupElement(source) {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.element && source === 'options') {\n this.update(options);\n } else if (this.elements && source === 'elements') {\n this.element = this.elements.create('cardExpiry', options);\n this.element.on('change', ev => {\n this.change.emit(ev);\n this.cardGroup?.change.emit(ev);\n });\n this.element.on('blur', () => {\n this.blur.emit();\n this.cardGroup?.blur.emit();\n });\n this.element.on('focus', () => {\n this.focus.emit();\n this.cardGroup?.focus.emit();\n });\n this.element.on('ready', () => {\n this.ready.emit();\n this.cardGroup?.ready.emit();\n });\n this.element.on('escape', () => {\n this.escape.emit();\n this.cardGroup?.escape.emit();\n });\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n this.cardGroup?.load.emit(this.element);\n }\n }\n static ɵfac = function StripeCardExpiryComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeCardExpiryComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeCardGroupDirective, 8), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeCardExpiryComponent,\n selectors: [[\"ngx-stripe-card-expiry\"]],\n contentQueries: function StripeCardExpiryComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeCardExpiryComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeCardExpiryComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeCardExpiryComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.cardGroup && ctx.cardGroup.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeCardExpiryComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeCardCvcComponent = /*#__PURE__*/(() => {\n class StripeCardCvcComponent {\n stripeElementsService;\n cardGroup;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n elementsSubscription;\n constructor(stripeElementsService, cardGroup, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.cardGroup = cardGroup;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n if (changes.options || changes.containerClass) {\n this.setupElement('options');\n }\n }\n ngOnInit() {\n if (this.cardGroup) {\n this.elementsSubscription = this.cardGroup.elements.subscribe(elements => {\n this.elements = elements;\n this.setupElement('elements');\n });\n } else if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.setupElement('elements');\n });\n } else {\n throw new Error('StripeCardCvcComponent must have StripeCardGroupDirective or StripeElementsDirective parent');\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getCardCvc() {\n return this.element;\n }\n setupElement(source) {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.element && source === 'options') {\n this.update(options);\n } else if (this.elements && source === 'elements') {\n this.element = this.elements.create('cardCvc', options);\n this.element.on('change', ev => {\n this.change.emit(ev);\n this.cardGroup?.change.emit(ev);\n });\n this.element.on('blur', () => {\n this.blur.emit();\n this.cardGroup?.blur.emit();\n });\n this.element.on('focus', () => {\n this.focus.emit();\n this.cardGroup?.focus.emit();\n });\n this.element.on('ready', () => {\n this.ready.emit();\n this.cardGroup?.ready.emit();\n });\n this.element.on('escape', () => {\n this.escape.emit();\n this.cardGroup?.escape.emit();\n });\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n this.cardGroup?.load.emit(this.element);\n }\n }\n static ɵfac = function StripeCardCvcComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeCardCvcComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeCardGroupDirective, 8), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeCardCvcComponent,\n selectors: [[\"ngx-stripe-card-cvc\"]],\n contentQueries: function StripeCardCvcComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeCardCvcComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeCardCvcComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeCardCvcComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.cardGroup && ctx.cardGroup.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeCardCvcComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeEpsBankComponent = /*#__PURE__*/(() => {\n class StripeEpsBankComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getEpsBankelement() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('epsBank', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeEpsBankComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeEpsBankComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeEpsBankComponent,\n selectors: [[\"ngx-stripe-eps-bank\"]],\n contentQueries: function StripeEpsBankComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeEpsBankComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeEpsBankComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeEpsBankComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeEpsBankComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeExpressCheckoutComponent = /*#__PURE__*/(() => {\n class StripeExpressCheckoutComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n cancel = new EventEmitter();\n clicked = new EventEmitter();\n confirm = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n loaderror = new EventEmitter();\n shippingaddresschange = new EventEmitter();\n shippingratechange = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n return this.element.update(options);\n }\n /**\n * @deprecated\n */\n getLinkAuthenticationElement() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('expressCheckout', options);\n this.element.on('blur', () => this.blur.emit());\n this.element.on('cancel', () => this.cancel.emit());\n this.element.on('click', ev => this.clicked.emit(ev));\n this.element.on('confirm', ev => this.confirm.emit(ev));\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', ev => this.ready.emit(ev));\n this.element.on('escape', () => this.escape.emit());\n this.element.on('loaderror', err => this.loaderror.emit(err));\n this.element.on('shippingaddresschange', ev => this.shippingaddresschange.emit(ev));\n this.element.on('shippingratechange', ev => this.shippingratechange.emit(ev));\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeExpressCheckoutComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeExpressCheckoutComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeExpressCheckoutComponent,\n selectors: [[\"ngx-stripe-express-checkout\"]],\n contentQueries: function StripeExpressCheckoutComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeExpressCheckoutComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n cancel: \"cancel\",\n clicked: \"clicked\",\n confirm: \"confirm\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\",\n loaderror: \"loaderror\",\n shippingaddresschange: \"shippingaddresschange\",\n shippingratechange: \"shippingratechange\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeExpressCheckoutComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeExpressCheckoutComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeExpressCheckoutComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeFpxBankComponent = /*#__PURE__*/(() => {\n class StripeFpxBankComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getFpxBank() {\n return this.element;\n }\n createElement(options = {\n accountHolderType: 'individual'\n }) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('fpxBank', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeFpxBankComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeFpxBankComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeFpxBankComponent,\n selectors: [[\"ngx-stripe-fpx-bank\"]],\n contentQueries: function StripeFpxBankComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeFpxBankComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeFpxBankComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeFpxBankComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeFpxBankComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeIbanComponent = /*#__PURE__*/(() => {\n class StripeIbanComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getIban() {\n return this.element;\n }\n createElement(options = {}) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('iban', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeIbanComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeIbanComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeIbanComponent,\n selectors: [[\"ngx-stripe-iban\"]],\n contentQueries: function StripeIbanComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeIbanComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeIbanComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeIbanComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeIbanComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeIdealBankComponent = /*#__PURE__*/(() => {\n class StripeIdealBankComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getIdealBank() {\n return this.element;\n }\n createElement(options = {}) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('idealBank', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeIdealBankComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeIdealBankComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeIdealBankComponent,\n selectors: [[\"ngx-stripe-ideal-bank\"]],\n contentQueries: function StripeIdealBankComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeIdealBankComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeIdealBankComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeIdealBankComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeIdealBankComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeIssuingCardCvcDisplayComponent = /*#__PURE__*/(() => {\n class StripeIssuingCardCvcDisplayComponent {\n cdr;\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(cdr, stripeElementsService, elementsProvider) {\n this.cdr = cdr;\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n createElement(options) {\n this.state = 'ready';\n this.cdr.detectChanges();\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('issuingCardCvcDisplay', options);\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeIssuingCardCvcDisplayComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeIssuingCardCvcDisplayComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeIssuingCardCvcDisplayComponent,\n selectors: [[\"ngx-stripe-issuing-card-cvc-display\"]],\n contentQueries: function StripeIssuingCardCvcDisplayComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeIssuingCardCvcDisplayComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeIssuingCardCvcDisplayComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeIssuingCardCvcDisplayComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeIssuingCardCvcDisplayComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeIssuingCardExpiryDisplayComponent = /*#__PURE__*/(() => {\n class StripeIssuingCardExpiryDisplayComponent {\n cdr;\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(cdr, stripeElementsService, elementsProvider) {\n this.cdr = cdr;\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n createElement(options) {\n this.state = 'ready';\n this.cdr.detectChanges();\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('issuingCardExpiryDisplay', options);\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeIssuingCardExpiryDisplayComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeIssuingCardExpiryDisplayComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeIssuingCardExpiryDisplayComponent,\n selectors: [[\"ngx-stripe-issuing-card-expiry-display\"]],\n contentQueries: function StripeIssuingCardExpiryDisplayComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeIssuingCardExpiryDisplayComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeIssuingCardExpiryDisplayComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeIssuingCardExpiryDisplayComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeIssuingCardExpiryDisplayComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeIssuingCardNumberDisplayComponent = /*#__PURE__*/(() => {\n class StripeIssuingCardNumberDisplayComponent {\n cdr;\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(cdr, stripeElementsService, elementsProvider) {\n this.cdr = cdr;\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n createElement(options) {\n this.state = 'ready';\n this.cdr.detectChanges();\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('issuingCardNumberDisplay', options);\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeIssuingCardNumberDisplayComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeIssuingCardNumberDisplayComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeIssuingCardNumberDisplayComponent,\n selectors: [[\"ngx-stripe-issuing-card-number-display\"]],\n contentQueries: function StripeIssuingCardNumberDisplayComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeIssuingCardNumberDisplayComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeIssuingCardNumberDisplayComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeIssuingCardNumberDisplayComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeIssuingCardNumberDisplayComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeIssuingCardPinDisplayComponent = /*#__PURE__*/(() => {\n class StripeIssuingCardPinDisplayComponent {\n cdr;\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(cdr, stripeElementsService, elementsProvider) {\n this.cdr = cdr;\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n createElement(options) {\n this.state = 'ready';\n this.cdr.detectChanges();\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('issuingCardPinDisplay', options);\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeIssuingCardPinDisplayComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeIssuingCardPinDisplayComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeIssuingCardPinDisplayComponent,\n selectors: [[\"ngx-stripe-issuing-card-pin-display\"]],\n contentQueries: function StripeIssuingCardPinDisplayComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeIssuingCardPinDisplayComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeIssuingCardPinDisplayComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeIssuingCardPinDisplayComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeIssuingCardPinDisplayComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeLinkAuthenticationComponent = /*#__PURE__*/(() => {\n class StripeLinkAuthenticationComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n loaderror = new EventEmitter();\n loaderstart = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n /**\n * @deprecated\n */\n getLinkAuthenticationElement() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('linkAuthentication', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.on('loaderror', () => this.loaderror.emit());\n this.element.on('loaderstart', () => this.loaderstart.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeLinkAuthenticationComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeLinkAuthenticationComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeLinkAuthenticationComponent,\n selectors: [[\"ngx-stripe-link-authentication\"]],\n contentQueries: function StripeLinkAuthenticationComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeLinkAuthenticationComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\",\n loaderror: \"loaderror\",\n loaderstart: \"loaderstart\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeLinkAuthenticationComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeLinkAuthenticationComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeLinkAuthenticationComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeP24BankComponent = /*#__PURE__*/(() => {\n class StripeP24BankComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getP24Bankelement() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('p24Bank', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeP24BankComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeP24BankComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeP24BankComponent,\n selectors: [[\"ngx-stripe-p24-bank\"]],\n contentQueries: function StripeP24BankComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeP24BankComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeP24BankComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeP24BankComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeP24BankComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeAuBankAccountComponent = /*#__PURE__*/(() => {\n class StripeAuBankAccountComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getAuBankAccount() {\n return this.element;\n }\n createElement(options = {}) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('auBankAccount', options);\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.on('escape', () => this.escape.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripeAuBankAccountComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeAuBankAccountComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripeAuBankAccountComponent,\n selectors: [[\"ngx-stripe-au-bank-account\"]],\n contentQueries: function StripeAuBankAccountComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripeAuBankAccountComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripeAuBankAccountComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripeAuBankAccountComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripeAuBankAccountComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripePaymentElementComponent = /*#__PURE__*/(() => {\n class StripePaymentElementComponent {\n stripeElementsService;\n elementsProvider;\n stripeElementRef;\n element;\n elements;\n containerClass;\n options;\n elementsOptions;\n stripe;\n appearance;\n clientSecret;\n doNotCreateUntilClientSecretIsSet = false;\n load = new EventEmitter();\n blur = new EventEmitter();\n change = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n escape = new EventEmitter();\n loaderror = new EventEmitter();\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || changes.clientSecret || changes.appearance || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, {\n ...(this.elementsOptions || {}),\n ...(this.appearance ? {\n appearance: this.appearance\n } : {}),\n ...(this.clientSecret ? {\n clientSecret: this.clientSecret\n } : {})\n }).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe, {\n ...(this.elementsOptions || {}),\n ...(this.appearance ? {\n appearance: this.appearance\n } : {}),\n ...(this.clientSecret ? {\n clientSecret: this.clientSecret\n } : {})\n }).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n return this.element.update(options);\n }\n collapse() {\n return this.element.collapse();\n }\n fetchUpdates() {\n return from(this.elements.fetchUpdates());\n }\n createElement(options = {}) {\n if (this.element) {\n this.element.unmount();\n }\n try {\n this.element = this.elements.create('payment', options);\n } catch (err) {\n this.elements = null;\n throw err;\n }\n this.element.on('change', ev => this.change.emit(ev));\n this.element.on('blur', ev => this.blur.emit(ev));\n this.element.on('focus', ev => this.focus.emit(ev));\n this.element.on('ready', ev => this.ready.emit(ev));\n this.element.on('escape', ev => this.escape.emit(ev));\n this.element.on('loaderror', ev => this.loaderror.emit(ev));\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripePaymentElementComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripePaymentElementComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripePaymentElementComponent,\n selectors: [[\"ngx-stripe-payment\"]],\n viewQuery: function StripePaymentElementComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\",\n appearance: \"appearance\",\n clientSecret: \"clientSecret\",\n doNotCreateUntilClientSecretIsSet: \"doNotCreateUntilClientSecretIsSet\"\n },\n outputs: {\n load: \"load\",\n blur: \"blur\",\n change: \"change\",\n focus: \"focus\",\n ready: \"ready\",\n escape: \"escape\",\n loaderror: \"loaderror\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 2,\n vars: 0,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"]],\n template: function StripePaymentElementComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 1, 0);\n }\n },\n dependencies: [CommonModule],\n encapsulation: 2\n });\n }\n return StripePaymentElementComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripePaymentMethodMessagingComponent = /*#__PURE__*/(() => {\n class StripePaymentMethodMessagingComponent {\n stripeElementsService;\n elementsProvider;\n loadingTemplate;\n stripeElementRef;\n element;\n containerClass;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n ready = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n this.elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n updateElements = true;\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n this.state = 'ready';\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n update(options) {\n this.element.update(options);\n }\n /**\n * @deprecated\n */\n getPaymentMethodMessaging() {\n return this.element;\n }\n createElement(options) {\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('paymentMethodMessaging', options);\n this.element.on('ready', () => this.ready.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit(this.element);\n }\n static ɵfac = function StripePaymentMethodMessagingComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripePaymentMethodMessagingComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripePaymentMethodMessagingComponent,\n selectors: [[\"ngx-stripe-payment-method-messaging\"]],\n contentQueries: function StripePaymentMethodMessagingComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NgxStripeElementLoadingTemplateDirective, 5, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingTemplate = _t.first);\n }\n },\n viewQuery: function StripePaymentMethodMessagingComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n ready: \"ready\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 3,\n vars: 1,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"], [3, \"ngTemplateOutlet\"]],\n template: function StripePaymentMethodMessagingComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1, 0);\n i0.ɵɵtemplate(2, StripePaymentMethodMessagingComponent_Conditional_2_Template, 1, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.state !== \"ready\" && ctx.loadingTemplate ? 2 : -1);\n }\n },\n dependencies: [CommonModule, i3.NgTemplateOutlet],\n encapsulation: 2\n });\n }\n return StripePaymentMethodMessagingComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripePaymentRequestButtonComponent = /*#__PURE__*/(() => {\n class StripePaymentRequestButtonComponent {\n stripeElementsService;\n elementsProvider;\n stripeElementRef;\n element;\n paymentRequest;\n containerClass;\n paymentOptions;\n options;\n elementsOptions;\n stripe;\n load = new EventEmitter();\n change = new EventEmitter();\n blur = new EventEmitter();\n focus = new EventEmitter();\n ready = new EventEmitter();\n token = new EventEmitter();\n paymentMethod = new EventEmitter();\n source = new EventEmitter();\n cancel = new EventEmitter();\n shippingaddresschange = new EventEmitter();\n shippingoptionchange = new EventEmitter();\n notavailable = new EventEmitter();\n elements;\n state = 'notready';\n elementsSubscription;\n constructor(stripeElementsService, elementsProvider) {\n this.stripeElementsService = stripeElementsService;\n this.elementsProvider = elementsProvider;\n }\n async ngOnChanges(changes) {\n this.state = 'starting';\n let updateElements = false;\n if (!this.elementsProvider && (changes.elementsOptions || changes.stripe || !this.elements)) {\n const elements = await this.stripeElementsService.elements(this.stripe, this.elementsOptions).toPromise();\n this.elements = elements;\n updateElements = true;\n }\n if (changes.paymentOptions && this.paymentRequest) {\n this.updateRequest(this.paymentOptions);\n }\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (changes.options || changes.containerClass || !this.element || updateElements) {\n if (this.element && !updateElements) {\n this.update(options);\n } else if (this.elements && updateElements) {\n this.createElement(options);\n }\n }\n }\n async ngOnInit() {\n const options = this.stripeElementsService.mergeOptions(this.options, this.containerClass);\n if (this.elementsProvider) {\n this.elementsSubscription = this.elementsProvider.elements.subscribe(elements => {\n this.elements = elements;\n this.createElement(options);\n this.state = 'ready';\n });\n } else if (this.state === 'notready') {\n this.state = 'starting';\n this.elements = await this.stripeElementsService.elements(this.stripe).toPromise();\n this.createElement(options);\n this.state = 'ready';\n }\n }\n ngOnDestroy() {\n if (this.element) {\n this.element.destroy();\n }\n if (this.elementsSubscription) {\n this.elementsSubscription.unsubscribe();\n }\n }\n canMakePayment() {\n return from(this.paymentRequest.canMakePayment());\n }\n update(options) {\n this.element.update(options);\n }\n updateRequest(options) {\n const {\n currency,\n total,\n displayItems,\n shippingOptions\n } = options;\n this.paymentRequest.update({\n currency,\n total,\n displayItems,\n shippingOptions\n });\n }\n show() {\n this.paymentRequest.show();\n }\n abort() {\n this.paymentRequest.abort();\n }\n isShowing() {\n return this.paymentRequest.isShowing();\n }\n /**\n * @deprecated\n */\n getButton() {\n return this.element;\n }\n async createElement(options = {}) {\n this.paymentRequest = this.stripeElementsService.paymentRequest(this.stripe, this.paymentOptions);\n this.paymentRequest.on('token', ev => this.token.emit(ev));\n if (this.paymentMethod.observed) this.paymentRequest.on('paymentmethod', ev => this.paymentMethod.emit(ev));\n if (this.source.observed && !this.paymentMethod.observed) this.paymentRequest.on('source', ev => this.source.emit(ev));\n this.paymentRequest.on('cancel', () => this.cancel.emit());\n this.paymentRequest.on('shippingaddresschange', ev => this.shippingaddresschange.emit(ev));\n this.paymentRequest.on('shippingoptionchange', ev => this.shippingoptionchange.emit(ev));\n if (this.element) {\n this.element.unmount();\n }\n this.element = this.elements.create('paymentRequestButton', {\n paymentRequest: this.paymentRequest,\n ...options\n });\n const result = await this.paymentRequest.canMakePayment();\n if (result) {\n this.element.on('click', ev => this.change.emit(ev));\n this.element.on('blur', () => this.blur.emit());\n this.element.on('focus', () => this.focus.emit());\n this.element.on('ready', () => this.ready.emit());\n this.element.mount(this.stripeElementRef.nativeElement);\n this.load.emit({\n paymentRequestButton: this.element,\n paymentRequest: this.paymentRequest\n });\n } else {\n this.notavailable.emit();\n }\n }\n static ɵfac = function StripePaymentRequestButtonComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripePaymentRequestButtonComponent)(i0.ɵɵdirectiveInject(StripeElementsService), i0.ɵɵdirectiveInject(StripeElementsDirective, 8));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: StripePaymentRequestButtonComponent,\n selectors: [[\"ngx-stripe-payment-request-button\"]],\n viewQuery: function StripePaymentRequestButtonComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stripeElementRef = _t.first);\n }\n },\n inputs: {\n containerClass: \"containerClass\",\n paymentOptions: \"paymentOptions\",\n options: \"options\",\n elementsOptions: \"elementsOptions\",\n stripe: \"stripe\"\n },\n outputs: {\n load: \"load\",\n change: \"change\",\n blur: \"blur\",\n focus: \"focus\",\n ready: \"ready\",\n token: \"token\",\n paymentMethod: \"paymentMethod\",\n source: \"source\",\n cancel: \"cancel\",\n shippingaddresschange: \"shippingaddresschange\",\n shippingoptionchange: \"shippingoptionchange\",\n notavailable: \"notavailable\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 2,\n vars: 0,\n consts: [[\"stripeElementRef\", \"\"], [1, \"field\"]],\n template: function StripePaymentRequestButtonComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 1, 0);\n }\n },\n dependencies: [CommonModule],\n encapsulation: 2\n });\n }\n return StripePaymentRequestButtonComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet StripeFactoryService = /*#__PURE__*/(() => {\n class StripeFactoryService {\n version;\n baseKey;\n baseOptions;\n loader;\n window;\n constructor(version, baseKey, baseOptions, loader, window) {\n this.version = version;\n this.baseKey = baseKey;\n this.baseOptions = baseOptions;\n this.loader = loader;\n this.window = window;\n }\n create(key, options) {\n if (!key && !this.baseKey) {\n throw new Error('No key defined! Either you need to pass it as a parameter or define it when you call NgxStripeModule.forRoot()');\n }\n return new StripeInstance(this.version, this.loader, this.window, key || this.baseKey, options || this.baseOptions);\n }\n static ɵfac = function StripeFactoryService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StripeFactoryService)(i0.ɵɵinject(NGX_STRIPE_VERSION), i0.ɵɵinject(STRIPE_PUBLISHABLE_KEY), i0.ɵɵinject(STRIPE_OPTIONS), i0.ɵɵinject(LazyStripeAPILoader), i0.ɵɵinject(WindowRef));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StripeFactoryService,\n factory: StripeFactoryService.ɵfac\n });\n }\n return StripeFactoryService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst components = [StripeAddressComponent, StripeAffirmMessageComponent, StripeAfterpayClearpayMessageComponent, StripeCardComponent, StripeCardNumberComponent, StripeCardExpiryComponent, StripeCardCvcComponent, StripeEpsBankComponent, StripeExpressCheckoutComponent, StripeFpxBankComponent, StripeIbanComponent, StripeIdealBankComponent, StripeIssuingCardCvcDisplayComponent, StripeIssuingCardExpiryDisplayComponent, StripeIssuingCardNumberDisplayComponent, StripeIssuingCardPinDisplayComponent, StripeLinkAuthenticationComponent, StripeP24BankComponent, StripeAuBankAccountComponent, StripePaymentElementComponent, StripePaymentMethodMessagingComponent, StripePaymentRequestButtonComponent];\nconst directives = [StripeCardGroupDirective, StripeElementsDirective, NgxStripeElementLoadingTemplateDirective];\nconst currentVersion = '19.0.0';\nfunction _provideNgxStripe(publishableKey, options) {\n return [LazyStripeAPILoader, StripeService, StripeFactoryService, StripeElementsService, WindowRef, DocumentRef, {\n provide: STRIPE_PUBLISHABLE_KEY,\n useValue: publishableKey\n }, {\n provide: STRIPE_OPTIONS,\n useValue: options\n }, {\n provide: NGX_STRIPE_VERSION,\n useValue: currentVersion\n }];\n}\n/**\n * Provides the global NgxStripe providers and initializes.\n *\n * @usageNotes\n *\n * ### Providing the Global NgxStripe\n *\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [provideNgxStripe(STRIPE_KEY)],\n * });\n * ```\n */\nfunction provideNgxStripe(publishableKey, options) {\n return makeEnvironmentProviders([..._provideNgxStripe(publishableKey, options)]);\n}\nlet NgxStripeModule = /*#__PURE__*/(() => {\n class NgxStripeModule {\n static forRoot(publishableKey, options) {\n return {\n ngModule: NgxStripeModule,\n providers: [..._provideNgxStripe(publishableKey, options)]\n };\n }\n /**\n * @deprecated\n */\n static forChild(publishableKey, options) {\n return {\n ngModule: NgxStripeModule,\n providers: [..._provideNgxStripe(publishableKey, options)]\n };\n }\n static ɵfac = function NgxStripeModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgxStripeModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgxStripeModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CommonModule, components]\n });\n }\n return NgxStripeModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction injectStripe(publishableKey, options) {\n if (publishableKey) {\n const factory = inject(StripeFactoryService);\n return factory.create(publishableKey, options);\n } else if (inject(STRIPE_PUBLISHABLE_KEY)) {\n return inject(StripeService);\n }\n throw new Error('Publishable Key is required either global or pass as parameter');\n}\n\n/*\n * Public API Surface of ngx-stripe\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DocumentRef, LazyStripeAPILoader, NGX_STRIPE_VERSION, NgxStripeElementLoadingTemplateDirective, NgxStripeModule, STRIPE_OPTIONS, STRIPE_PUBLISHABLE_KEY, StripeAddressComponent, StripeAffirmMessageComponent, StripeAfterpayClearpayMessageComponent, StripeAuBankAccountComponent, StripeCardComponent, StripeCardCvcComponent, StripeCardExpiryComponent, StripeCardGroupDirective, StripeCardNumberComponent, StripeElementsDirective, StripeElementsService, StripeEpsBankComponent, StripeExpressCheckoutComponent, StripeFactoryService, StripeFpxBankComponent, StripeIbanComponent, StripeIdealBankComponent, StripeInstance, StripeIssuingCardCvcDisplayComponent, StripeIssuingCardExpiryDisplayComponent, StripeIssuingCardNumberDisplayComponent, StripeIssuingCardPinDisplayComponent, StripeLinkAuthenticationComponent, StripeP24BankComponent, StripePaymentElementComponent, StripePaymentMethodMessagingComponent, StripePaymentRequestButtonComponent, StripeService, WindowRef, injectStripe, provideNgxStripe };\n"],"names":["_defineProperty","e","r","t","_toPropertyKey","ownKeys","e","r","t","o","_objectSpread2","_defineProperty","_toPrimitive","t","r","i","_toPropertyKey","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_BROWSER","IS_DOM","IS_IE","p","g","S","A","P","s","t","r","o","L","G","lt","pt","xt","Ft","St","At","Ct","Lt","Wt","Et","t$1","r$1","bt$1","Yt","ua","I$1","ga","x","Ia","m$1","c$1","F$1","ma","a","wa","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_CSS_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","familyProxy","obj","target","prop","_PREFIX_TO_STYLE","_objectSpread2","PREFIX_TO_STYLE","_STYLE_TO_PREFIX","STYLE_TO_PREFIX","_PREFIX_TO_LONG_STYLE","PREFIX_TO_LONG_STYLE","_LONG_STYLE_TO_PREFIX","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","_FONT_WEIGHT_TO_PREFIX","FONT_WEIGHT_TO_PREFIX","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","RESERVED_CLASSES","initial","getAttrConfig","attr","element","coerce","val","_ref","key","_default","_config","config","_onChangeCb","cb","onChange","d$2","meaninglessTransform","insertCss","css","style","headChildren","beforeChild","child","tagName","idPool","nextUniqueId","size","id","toArray","array","i","classArray","node","htmlEscape","str","joinAttributes","attributes","acc","attributeName","joinStyles","styles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2","width","height","startCentered","baseStyles","dcp","drc","fp","rc","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","InjectCSS","w","namespace","functions","listener","loaded","fn","domready","toHtml","abstractNodes","tag","children","iconFromMapping","mapping","prefix","iconName","bindInternal4","func","thisContext","b","c","d","reduce","subject","initialValue","keys","length","iterator","result","ucs2decode","string","output","counter","value","extra","toHex","unicode","decoded","codePointAt","index","first","second","normalizeIcons","icons","icon","defineIcons","params","skipHooks","normalized","styles","shims","namespace","FAMILY_NAMES","PREFIX_TO_LONG_STYLE","PREFIXES_FOR_FAMILY","acc","familyId","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","isReserved","name","RESERVED_CLASSES","getIconName","cssPrefix","cls","parts","prefix","iconName","build","lookup","reducer","reduce","o$$1","style","icon","a$$1","alias","aliases","hasRegular","config","shimLookups","shim","maybeNameMaybeUnicode","getCanonicalPrefix","onChange","c$$1","byUnicode","unicode","byLigature","ligature","byAlias","byOldName","byOldUnicode","oldUnicode","newUnicode","getDefaultUsablePrefix","emptyCanonicalIcon","getFamilyId","values","family","s","famProps","L","v$$1","styleOrPrefix","params","PREFIX_TO_STYLE","t","STYLE_TO_PREFIX","defined","moveNonFaClassesToRest","classNames","rest","result","sortedUniqueValues","arr","value","index","getCanonicalIcon","skipLookups","givenPrefix","faCombinedClasses","Ia","bt$1","faStyleOrFamilyClasses","nonStyleOrFamilyClasses","faStyles","P","styleFromValues","canonical","_objectSpread2","getDefaultCanonicalPrefix","applyShimAndAlias","aliasIconName","newCanonicalFamilies","newCanonicalStyles","ga","key","prefixOptions","config$$1","isDuotoneFamily","valuesHasDuotone","defaultFamilyIsDuotone","canonicalPrefixIsDuotone","defaultPrefix","pt","Library","_len","definitions","_key","additions","defineIcons","longPrefix","definition","normalized","_plugins","_hooks","providers","defaultProviderKeys","registerPlugins","nextPlugins","_ref","obj","k","plugin","mixout","tk","sk","hooks","hook","chainHooks","accumulator","args","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","iconFromMapping","library","noAuto","dom","IS_DOM","autoReplaceSvgRoot","domready","autoReplace","parse","ICON_SELECTION_SYNTAX_PATTERN","canonicalIcon","api","toHtml","DOCUMENT","domVariants","val","abstractCreator","a","container","asIcon","children","main","mask","attributes","transform","transformIsMeaningful","width","height","offset","joinStyles","asSymbol","symbol","id","makeInlineSvgAbstract","title","maskId","titleId","extra","watchable","isUploadedIcon","Lt","attrClass","content","uploadedIconWidthStyle","DATA_FA_I2SVG","nextUniqueId","makeLayersTextAbstract","transformForCss","styleString","makeLayersCounterAbstract","styles$1","asFoundIcon","vectorData","element","DUOTONE_CLASSES","missingIconResolutionMixin","maybeNotifyMissing","PRODUCTION","findIcon","resolve","reject","noop$1","p$2","PERFORMANCE","preamble","begin","end","perf","noop$2","isWatched","node","hasPrefixAndIcon","DATA_PREFIX","DATA_ICON","hasBeenReplaced","getMutator","mutators","createElementNS","tag","createElement","convertSVG","abstractObj","ceFn","child","nodeAsComment","comment","mutation","abstract","classArray","forSvg","splitClasses","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","MUTATION_APPROACH_ASYNC","WINDOW","mutator","mark","disabled","disableObservation","enableObservation","mo","observe","options","MUTATION_OBSERVER","treeCallback","nodeCallback","pseudoElementsCallback","observeMutationsRoot","objects","toArray","mutationRecord","ATTRIBUTES_WATCHED_FOR_MUTATION","disconnect","styleParser","prop","classParser","existingPrefix","existingIconName","innerText","toHex","attributesParser","extraAttributes","attr","blankMeta","meaninglessTransform","parseMeta","parser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","LAYERS_TEXT_CLASSNAME","getKnownPrefixes","Ft","onTree","root","htmlClassList","hclAdd","suffix","HTML_CLASS_I2SVG_BASE_CLASS","hclRemove","prefixes","prefixesDomQuery","p$$1","candidates","e$$1","resolvedMutations","onNode","resolveIcons","next","maybeIconDefinition","iconDefinition","render","classes","ReplaceElements","providers$$1","_ref2","nextChild","Layers","assembler","LayersCounter","LayersText","IS_IE","computedFontSize","boundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","_FONT_FAMILY_WEIGHT_TO_PREFIX","lt","wa","Yt","FONT_FAMILY_WEIGHT_TO_PREFIX","FONT_FAMILY_WEIGHT_FALLBACK","fontFamily","weights","hexValueFromContent","cleaned","codePoint","codePointAt","isPrependTen","isDoubled","getPrefix","fontWeight","fontFamilySanitized","fontWeightInteger","fontWeightSanitized","replaceForPosition","position","pendingAttribute","DATA_FA_PSEUDO_ELEMENT_PENDING","alreadyProcessedPseudoElement","DATA_FA_PSEUDO_ELEMENT","fontFamilyMatch","FONT_FAMILY_PATTERN","hexValue","isSecondary","isV4","iconIdentifier","iconName4","meta","replace","processable","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","searchPseudoElements","operations","PseudoElements","_unwatched","MutationObserver$1","parseTransformString","transformString","n","first","PowerTransforms","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","force","deGroup","Masks","maskData","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","defs","MissingIconIndicator","reduceMotion","gChildren","FILL","ANIMATION_BASE","OPACITY_ANIMATE","dot","SvgSymbols","symbolData","plugins","InjectCSS","noAuto$1","config$1","library$1","dom$1","parse$1","findIconDefinition$1","toHtml$1","layer","text","counter","_c0","faWarnIfIconDefinitionMissing","iconSpec","faWarnIfIconSpecMissing","isKnownRotateValue","rotate","faClassList","props","knownRotateValue","classes","key","cssInserted","autoCssId","ensureCss","document","config","style","dom$1","headChildren","beforeChild","i","child","tagName","isIconLookup","faNormalizeIconSpec","defaultPrefix","FaConfig","value","config$1","__ngFactoryType__","ɵɵdefineInjectable","FaIconLibrary","icons","icon","alias","packs","pack","prefix","name","FaStackItemSizeDirective","changes","ɵɵdefineDirective","ɵɵNgOnChangesFeature","FaStackComponent","renderer","elementRef","ɵɵdirectiveInject","Renderer2","ElementRef","ɵɵdefineComponent","rf","ctx","ɵɵprojectionDef","ɵɵprojection","FaIconComponent","sanitizer","iconLibrary","stackItem","stack","inject","DOCUMENT","iconDefinition","params","renderedIcon","lookup","definition","classOpts","parsedTransform","parse$1","styles","DomSanitizer","ɵɵhostProperty","ɵɵsanitizeHtml","ɵɵattribute","FontAwesomeModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","_c0","StripeAddressComponent_Conditional_2_Template","rf","ctx","ɵɵelementContainer","ctx_r0","ɵɵnextContext","ɵɵproperty","StripeAffirmMessageComponent_Conditional_2_Template","StripeAfterpayClearpayMessageComponent_Conditional_2_Template","StripeCardComponent_Conditional_2_Template","StripeCardNumberComponent_Conditional_2_Template","StripeCardExpiryComponent_Conditional_2_Template","StripeCardCvcComponent_Conditional_2_Template","StripeEpsBankComponent_Conditional_2_Template","StripeExpressCheckoutComponent_Conditional_2_Template","StripeFpxBankComponent_Conditional_2_Template","StripeIbanComponent_Conditional_2_Template","StripeIdealBankComponent_Conditional_2_Template","StripeIssuingCardCvcDisplayComponent_Conditional_2_Template","StripeIssuingCardExpiryDisplayComponent_Conditional_2_Template","StripeIssuingCardNumberDisplayComponent_Conditional_2_Template","StripeIssuingCardPinDisplayComponent_Conditional_2_Template","StripeLinkAuthenticationComponent_Conditional_2_Template","StripeP24BankComponent_Conditional_2_Template","StripeAuBankAccountComponent_Conditional_2_Template","StripePaymentMethodMessagingComponent_Conditional_2_Template","NgxStripeElementLoadingTemplateDirective","templateRef","__ngFactoryType__","ɵɵdirectiveInject","TemplateRef","ɵɵdefineDirective","STRIPE_PUBLISHABLE_KEY","InjectionToken","STRIPE_OPTIONS","NGX_STRIPE_VERSION","StripeInstance","BehaviorSubject","filter","stripe","version","loader","window","key","options","status","first","map","stripeInstance","switchMap","from","clientSecret","data","tokenType","a","b","source","element","WindowRef","platformId","isPlatformBrowser","ɵɵinject","PLATFORM_ID","ɵɵdefineInjectable","DocumentRef","LazyStripeAPILoader","document","isPlatformServer","__spreadProps","__spreadValues","script","StripeService","StripeElementsService","stripeService","containerClass","StripeElementsDirective","EventEmitter","stripeElementsService","changes","__async","elementsOptions","payload","acc","elementType","ɵɵNgOnChangesFeature","StripeAddressComponent","elementsProvider","updateElements","elements","ev","ɵɵdefineComponent","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","ɵɵelementStart","ɵɵtemplate","ɵɵelementEnd","ɵɵadvance","ɵɵconditional","CommonModule","NgTemplateOutlet","StripeAffirmMessageComponent","StripeAfterpayClearpayMessageComponent","StripeCardComponent","cdr","ChangeDetectorRef","StripeCardGroupDirective","StripeCardNumberComponent","cardGroup","StripeCardExpiryComponent","StripeCardCvcComponent","StripeEpsBankComponent","StripeExpressCheckoutComponent","err","StripeFpxBankComponent","StripeIbanComponent","StripeIdealBankComponent","StripeIssuingCardCvcDisplayComponent","StripeIssuingCardExpiryDisplayComponent","StripeIssuingCardNumberDisplayComponent","StripeIssuingCardPinDisplayComponent","StripeLinkAuthenticationComponent","StripeP24BankComponent","StripeAuBankAccountComponent","StripePaymentElementComponent","ɵɵelement","StripePaymentMethodMessagingComponent","StripePaymentRequestButtonComponent","currency","total","displayItems","shippingOptions","StripeFactoryService","baseKey","baseOptions","components","currentVersion","_provideNgxStripe","publishableKey","options","LazyStripeAPILoader","StripeService","StripeFactoryService","StripeElementsService","WindowRef","DocumentRef","STRIPE_PUBLISHABLE_KEY","STRIPE_OPTIONS","NGX_STRIPE_VERSION","NgxStripeModule","publishableKey","options","_provideNgxStripe","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","components","injectStripe","inject","StripeFactoryService","STRIPE_PUBLISHABLE_KEY","StripeService"],"mappings":";;ydAKA,SAASA,GAAgBC,EAAGC,EAAGC,EAAG,CAChC,OAAQD,EAAIE,GAAeF,CAAC,KAAMD,EAAI,OAAO,eAAeA,EAAGC,EAAG,CAChE,MAAOC,EACP,WAAY,GACZ,aAAc,GACd,SAAU,EACZ,CAAC,EAAIF,EAAEC,CAAC,EAAIC,EAAGF,CACjB,CAaA,SAASI,GAAQC,EAAGC,EAAG,CACrB,IAAIC,EAAI,OAAO,KAAKF,CAAC,EACrB,GAAI,OAAO,sBAAuB,CAChC,IAAIG,EAAI,OAAO,sBAAsBH,CAAC,EACtCC,IAAME,EAAIA,EAAE,OAAO,SAAUF,EAAG,CAC9B,OAAO,OAAO,yBAAyBD,EAAGC,CAAC,EAAE,UAC/C,CAAC,GAAIC,EAAE,KAAK,MAAMA,EAAGC,CAAC,CACxB,CACA,OAAOD,CACT,CACA,SAASE,EAAeJ,EAAG,CACzB,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAY,UAAUD,CAAC,GAAnB,KAAuB,UAAUA,CAAC,EAAI,CAAC,EAC/CA,EAAI,EAAIF,GAAQ,OAAOG,CAAC,EAAG,EAAE,EAAE,QAAQ,SAAUD,EAAG,CAClDI,GAAgBL,EAAGC,EAAGC,EAAED,CAAC,CAAC,CAC5B,CAAC,EAAI,OAAO,0BAA4B,OAAO,iBAAiBD,EAAG,OAAO,0BAA0BE,CAAC,CAAC,EAAIH,GAAQ,OAAOG,CAAC,CAAC,EAAE,QAAQ,SAAUD,EAAG,CAChJ,OAAO,eAAeD,EAAGC,EAAG,OAAO,yBAAyBC,EAAGD,CAAC,CAAC,CACnE,CAAC,CACH,CACA,OAAOD,CACT,CAMA,SAASM,GAAaC,EAAGC,EAAG,CAC1B,GAAgB,OAAOD,GAAnB,UAAwB,CAACA,EAAG,OAAOA,EACvC,IAAI,EAAIA,EAAE,OAAO,WAAW,EAC5B,GAAe,IAAX,OAAc,CAChB,IAAIE,EAAI,EAAE,KAAKF,EAAGC,GAAK,SAAS,EAChC,GAAgB,OAAOC,GAAnB,SAAsB,OAAOA,EACjC,MAAM,IAAI,UAAU,8CAA8C,CACpE,CACA,OAAqBD,IAAb,SAAiB,OAAS,QAAQD,CAAC,CAC7C,CACA,SAASG,GAAeH,EAAG,CACzB,IAAIE,EAAIH,GAAaC,EAAG,QAAQ,EAChC,OAAmB,OAAOE,GAAnB,SAAuBA,EAAIA,EAAI,EACxC,CAgDA,IAAME,GAAO,IAAM,CAAC,EAChBC,GAAU,CAAC,EACXC,GAAY,CAAC,EACbC,GAAqB,KACrBC,GAAe,CACjB,KAAMJ,GACN,QAASA,EACX,EACA,GAAI,CACE,OAAO,OAAW,MAAaC,GAAU,QACzC,OAAO,SAAa,MAAaC,GAAY,UAC7C,OAAO,iBAAqB,MAAaC,GAAqB,kBAC9D,OAAO,YAAgB,MAAaC,GAAe,YACzD,MAAY,CAAC,CACb,GAAM,CACJ,UAAAC,GAAY,EACd,EAAIJ,GAAQ,WAAa,CAAC,EACpBK,GAASL,GACTM,EAAWL,GACXM,GAAoBL,GACpBM,GAAcL,GACdM,GAAa,CAAC,CAACJ,GAAO,SACtBK,GAAS,CAAC,CAACJ,EAAS,iBAAmB,CAAC,CAACA,EAAS,MAAQ,OAAOA,EAAS,kBAAqB,YAAc,OAAOA,EAAS,eAAkB,WAC/IK,GAAQ,CAACP,GAAU,QAAQ,MAAM,GAAK,CAACA,GAAU,QAAQ,UAAU,EACrEQ,GAAI,mEACNC,GAAI,wGACFC,GAAI,CACJ,QAAS,CACP,GAAI,QACJ,IAAK,QACL,WAAY,QACZ,IAAK,UACL,aAAc,UACd,IAAK,QACL,WAAY,QACZ,IAAK,OACL,UAAW,OACX,IAAK,SACL,YAAa,QACf,EACA,QAAS,CACP,GAAI,QACJ,IAAK,QACL,WAAY,QACZ,aAAc,QACd,KAAM,UACN,aAAc,UACd,KAAM,QACN,WAAY,QACZ,KAAM,OACN,UAAW,MACb,EACA,MAAO,CACL,GAAI,QACJ,KAAM,QACN,WAAY,QACZ,KAAM,UACN,aAAc,UACd,KAAM,QACN,WAAY,QACZ,KAAM,OACN,UAAW,MACb,EACA,gBAAiB,CACf,GAAI,QACJ,MAAO,QACP,WAAY,QACZ,MAAO,UACP,aAAc,UACd,MAAO,QACP,WAAY,QACZ,MAAO,OACP,UAAW,MACb,CACF,EACAC,GAAI,CACF,MAAO,gBACP,aAAc,eACd,QAAS,UACT,UAAW,WACb,EACAC,GAAI,CAAC,aAAc,aAAc,WAAY,kBAAkB,EAC7DC,EAAI,UACNC,GAAI,UACJC,GAAI,QACJC,GAAI,gBACJC,GAAI,CAACJ,EAAGC,GAAGC,GAAGC,EAAC,EACbE,GAAI,CACN,QAAS,CACP,IAAK,MACL,IAAK,MACL,OAAQ,MACR,IAAK,MACL,IAAK,KACP,EACA,QAAS,CACP,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,MACP,EACA,MAAO,CACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,MACP,EACA,gBAAiB,CACf,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACP,CACF,EACIC,GAAK,CACP,sBAAuB,CACrB,IAAK,MACL,IAAK,KACP,EACA,qBAAsB,CACpB,IAAK,MACL,IAAK,MACL,OAAQ,MACR,IAAK,MACL,IAAK,KACP,EACA,wBAAyB,CACvB,IAAK,MACL,OAAQ,KACV,EACA,yBAA0B,CACxB,IAAK,MACL,IAAK,OACL,OAAQ,OACR,IAAK,OACL,IAAK,MACP,EACA,uBAAwB,CACtB,IAAK,OACL,IAAK,OACL,OAAQ,OACR,IAAK,OACL,IAAK,MACP,EACA,+BAAgC,CAC9B,IAAK,QACL,IAAK,QACL,OAAQ,QACR,IAAK,QACL,IAAK,OACP,CACF,EACIC,GAAK,IAAI,IAAI,CAAC,CAAC,UAAW,CAC1B,qBAAsB,MACtB,eAAgB,QAChB,SAAU,CAAC,QAAS,UAAW,QAAS,OAAQ,QAAQ,EACxD,eAAgB,CAAC,EACjB,kBAAmB,GACrB,CAAC,EAAG,CAAC,QAAS,CACZ,qBAAsB,OACtB,eAAgB,QAChB,SAAU,CAAC,QAAS,UAAW,QAAS,MAAM,EAC9C,eAAgB,CAAC,EACjB,kBAAmB,GACrB,CAAC,EAAG,CAAC,UAAW,CACd,qBAAsB,MACtB,eAAgB,QAChB,SAAU,CAAC,QAAS,UAAW,QAAS,MAAM,EAC9C,eAAgB,CAAC,EACjB,kBAAmB,GACrB,CAAC,EAAG,CAAC,gBAAiB,CACpB,qBAAsB,QACtB,eAAgB,QAChB,SAAU,CAAC,QAAS,UAAW,QAAS,MAAM,EAC9C,eAAgB,CAAC,EACjB,kBAAmB,GACrB,CAAC,CAAC,CAAC,EACHC,GAAK,CACH,QAAS,CACP,MAAO,MACP,QAAS,MACT,MAAO,MACP,KAAM,MACN,OAAQ,KACV,EACA,QAAS,CACP,MAAO,MACP,QAAS,OACT,MAAO,OACP,KAAM,MACR,EACA,MAAO,CACL,MAAO,OACP,QAAS,OACT,MAAO,OACP,KAAM,MACR,EACA,gBAAiB,CACf,MAAO,QACP,QAAS,QACT,MAAO,QACP,KAAM,OACR,CACF,EACEC,GAAK,CAAC,MAAO,SAAU,OAAQ,gBAAgB,EACjDC,GAAK,CACH,IAAK,CACH,IAAK,MACL,SAAU,KACZ,EACA,cAAe,CACb,KAAM,cACN,iBAAkB,aACpB,CACF,EACAC,GAAK,CAAC,KAAK,EACTC,GAAK,CACP,IAAK,CACH,SAAU,KACZ,EACA,cAAe,CACb,iBAAkB,MACpB,CACF,EACIC,GAAK,CAAC,MAAO,MAAM,EACrBC,GAAK,CACH,IAAK,CACH,IAAK,QACP,EACA,cAAe,CACb,KAAM,gBACR,CACF,EACEC,GAAK,CACP,IAAK,CACH,IAAK,KACP,EACA,cAAe,CACb,cAAe,MACjB,CACF,EACIC,GAAM,CACN,MAAO,gBACP,aAAc,eACd,QAAS,UACT,UAAW,WACb,EACAC,GAAM,CAAC,aAAc,aAAc,WAAY,kBAAkB,EAC/DC,GAAO,CAAC,MAAO,SAAU,OAAQ,gBAAgB,EACjDC,GAAK,CACP,mBAAoB,CAClB,IAAK,MACL,OAAQ,KACV,EACA,2BAA4B,CAC1B,IAAK,OACL,OAAQ,MACV,CACF,EACIC,GAAK,CACL,QAAS,CACP,YAAa,MACb,aAAc,MACd,WAAY,MACZ,aAAc,MACd,WAAY,MACZ,UAAW,KACb,EACA,QAAS,CACP,aAAc,OACd,WAAY,OACZ,UAAW,MACb,EACA,MAAO,CACL,WAAY,OACZ,aAAc,OACd,WAAY,OACZ,UAAW,MACb,EACA,gBAAiB,CACf,WAAY,QACZ,aAAc,QACd,WAAY,QACZ,UAAW,OACb,CACF,EACAC,GAAM,CACJ,QAAS,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EAC3C,QAAS,CAAC,OAAQ,OAAQ,MAAM,EAChC,MAAO,CAAC,OAAQ,OAAQ,OAAQ,MAAM,EACtC,gBAAiB,CAAC,QAAS,QAAS,QAAS,OAAO,CACtD,EACAC,GAAK,CACH,QAAS,CACP,IAAK,YACL,IAAK,aACL,IAAK,WACL,IAAK,aACL,IAAK,WACL,IAAK,SACP,EACA,QAAS,CACP,KAAM,aACN,KAAM,WACN,KAAM,SACR,EACA,MAAO,CACL,KAAM,WACN,KAAM,aACN,KAAM,WACN,KAAM,SACR,EACA,gBAAiB,CACf,MAAO,WACP,MAAO,aACP,MAAO,WACP,MAAO,SACT,CACF,EACAC,GAAI,CAAC,WAAY,aAAc,WAAY,UAAW,aAAc,WAAW,EAC/EC,GAAK,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,QAAS,GAAGP,GAAK,GAAGM,EAAC,EAC9JE,GAAM,CAAC,QAAS,UAAW,QAAS,OAAQ,UAAW,QAAQ,EAC/DC,GAAM,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EACpCC,GAAMD,GAAI,OAAO,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,CAAC,EACzDE,GAAK,CAAC,GAAG,OAAO,KAAKP,EAAG,EAAG,GAAGI,GAAK,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,OAAQ,SAAU,OAAQ,YAAa,SAAU,YAAa,kBAAmB,gBAAiB,OAAQ,KAAM,UAAW,iBAAkB,cAAe,SAAU,KAAM,YAAa,aAAc,QAAS,aAAc,aAAc,YAAa,YAAa,QAAS,aAAc,eAAgB,OAAQ,WAAY,WAAY,QAAS,KAAMT,GAAI,MAAOA,GAAI,aAAcA,GAAI,QAASA,GAAI,SAAS,EAAE,OAAOU,GAAI,IAAIG,GAAK,GAAG,OAAOA,EAAG,GAAG,CAAC,CAAC,EAAE,OAAOF,GAAI,IAAIE,GAAK,KAAK,OAAOA,CAAC,CAAC,CAAC,EACviBC,GAAK,CACP,sBAAuB,CACrB,IAAK,MACL,IAAK,KACP,EACA,qBAAsB,CACpB,IAAK,MACL,IAAK,MACL,OAAQ,MACR,IAAK,KACP,EACA,wBAAyB,CACvB,IAAK,MACL,OAAQ,KACV,EACA,yBAA0B,CACxB,IAAK,KACP,CACF,EACMC,GAAuB,qBACvBC,GAAgB,GAChBC,GAAqB,KACrBC,GAA4B,iBAC5BC,GAAgB,gBAChBC,GAAyB,yBACzBC,GAAiC,iCACjCC,GAAc,cACdC,GAAY,YACZC,GAA8B,oBAC9BC,GAA0B,QAC1BC,GAAsC,CAAC,OAAQ,OAAQ,QAAS,QAAQ,EACxEC,IAAc,IAAM,CACxB,GAAI,CACF,MAAO,EACT,MAAe,CACb,MAAO,EACT,CACF,GAAG,EACH,SAASC,GAAYC,EAAK,CAExB,OAAO,IAAI,MAAMA,EAAK,CACpB,IAAIC,EAAQC,EAAM,CAChB,OAAOA,KAAQD,EAASA,EAAOC,CAAI,EAAID,EAAO9C,CAAC,CACjD,CACF,CAAC,CACH,CACA,IAAMgD,GAAmBC,EAAe,CAAC,EAAGpD,EAAC,EAK7CmD,GAAiBhD,CAAC,EAAIiD,EAAeA,EAAeA,EAAeA,EAAe,CAAC,EAAG,CACpF,aAAc,SAChB,CAAC,EAAGpD,GAAEG,CAAC,CAAC,EAAGU,GAAG,GAAM,EAAGA,GAAG,aAAa,CAAC,EACxC,IAAMwC,GAAkBN,GAAYI,EAAgB,EAC9CG,GAAmBF,EAAe,CAAC,EAAGzC,EAAE,EAI9C2C,GAAiBnD,CAAC,EAAIiD,EAAeA,EAAeA,EAAeA,EAAe,CAAC,EAAG,CACpF,QAAS,KACX,CAAC,EAAGE,GAAiBnD,CAAC,CAAC,EAAGe,GAAG,GAAM,EAAGA,GAAG,aAAa,CAAC,EACvD,IAAMqC,GAAkBR,GAAYO,EAAgB,EAC9CE,GAAwBJ,EAAe,CAAC,EAAG3B,EAAE,EACnD+B,GAAsBrD,CAAC,EAAIiD,EAAeA,EAAe,CAAC,EAAGI,GAAsBrD,CAAC,CAAC,EAAGc,GAAG,GAAM,EACjG,IAAMwC,GAAuBV,GAAYS,EAAqB,EACxDE,GAAwBN,EAAe,CAAC,EAAG7B,EAAE,EACnDmC,GAAsBvD,CAAC,EAAIiD,EAAeA,EAAe,CAAC,EAAGM,GAAsBvD,CAAC,CAAC,EAAGY,GAAG,GAAM,EACjG,IAAM4C,GAAuBZ,GAAYW,EAAqB,EACxDE,GAAgC9D,GAEhC+D,GAAwB,iBACxBC,GAAsB/D,GACtBgE,GAAyBX,EAAe,CAAC,EAAG5C,EAAC,EAC7CwD,GAAwBjB,GAAYgB,EAAsB,EAC1DE,GAAkC,CAAC,QAAS,cAAe,YAAa,oBAAqB,cAAc,EAC3GC,GAAkBjE,GAClBkE,GAAmB,CAAC,GAAGrD,GAAI,GAAGiB,EAAE,EAChCqC,GAAU7E,GAAO,mBAAqB,CAAC,EAC7C,SAAS8E,GAAcC,EAAM,CAC3B,IAAIC,EAAU/E,EAAS,cAAc,UAAY8E,EAAO,GAAG,EAC3D,GAAIC,EACF,OAAOA,EAAQ,aAAaD,CAAI,CAEpC,CACA,SAASE,GAAOC,EAAK,CAGnB,OAAIA,IAAQ,GAAW,GACnBA,IAAQ,QAAgB,GACxBA,IAAQ,OAAe,GACpBA,CACT,CACIjF,GAAY,OAAOA,EAAS,eAAkB,YAClC,CAAC,CAAC,qBAAsB,cAAc,EAAG,CAAC,kBAAmB,WAAW,EAAG,CAAC,sBAAuB,eAAe,EAAG,CAAC,qBAAsB,cAAc,EAAG,CAAC,yBAA0B,kBAAkB,EAAG,CAAC,wBAAyB,gBAAgB,EAAG,CAAC,oBAAqB,YAAY,EAAG,CAAC,iBAAkB,UAAU,EAAG,CAAC,8BAA+B,sBAAsB,EAAG,CAAC,yBAA0B,kBAAkB,EAAG,CAAC,uBAAwB,gBAAgB,EAAG,CAAC,4BAA6B,oBAAoB,EAAG,CAAC,2BAA4B,oBAAoB,EAAG,CAAC,0BAA2B,kBAAkB,CAAC,EACpnB,QAAQkF,GAAQ,CACpB,GAAI,CAACJ,EAAMK,CAAG,EAAID,EACZD,EAAMD,GAAOH,GAAcC,CAAI,CAAC,EACbG,GAAQ,OAC/BL,GAAQO,CAAG,EAAIF,EAEnB,CAAC,EAEH,IAAMG,GAAW,CACf,aAAc,QACd,cAAezE,EACf,UAAWiC,GACX,iBAAkBC,GAClB,eAAgB,GAChB,WAAY,GACZ,SAAU,GACV,qBAAsB,GACtB,iBAAkB,GAClB,eAAgB,QAChB,mBAAoB,GACpB,mBAAoB,GACpB,iBAAkB,EACpB,EAGI+B,GAAQ,eACVA,GAAQ,UAAYA,GAAQ,cAE9B,IAAMS,GAAUzB,EAAeA,EAAe,CAAC,EAAGwB,EAAQ,EAAGR,EAAO,EAC/DS,GAAQ,iBAAgBA,GAAQ,iBAAmB,IACxD,IAAMC,EAAS,CAAC,EAChB,OAAO,KAAKF,EAAQ,EAAE,QAAQD,GAAO,CACnC,OAAO,eAAeG,EAAQH,EAAK,CACjC,WAAY,GACZ,IAAK,SAAUF,EAAK,CAClBI,GAAQF,CAAG,EAAIF,EACfM,GAAY,QAAQC,GAAMA,EAAGF,CAAM,CAAC,CACtC,EACA,IAAK,UAAY,CACf,OAAOD,GAAQF,CAAG,CACpB,CACF,CAAC,CACH,CAAC,EAGD,OAAO,eAAeG,EAAQ,eAAgB,CAC5C,WAAY,GACZ,IAAK,SAAUL,EAAK,CAClBI,GAAQ,UAAYJ,EACpBM,GAAY,QAAQC,GAAMA,EAAGF,CAAM,CAAC,CACtC,EACA,IAAK,UAAY,CACf,OAAOD,GAAQ,SACjB,CACF,CAAC,EACDtF,GAAO,kBAAoBuF,EAC3B,IAAMC,GAAc,CAAC,EACrB,SAASE,GAASD,EAAI,CACpB,OAAAD,GAAY,KAAKC,CAAE,EACZ,IAAM,CACXD,GAAY,OAAOA,GAAY,QAAQC,CAAE,EAAG,CAAC,CAC/C,CACF,CACA,IAAME,GAAM/C,GACNgD,EAAuB,CAC3B,KAAM,GACN,EAAG,EACH,EAAG,EACH,OAAQ,EACR,MAAO,GACP,MAAO,EACT,EACA,SAASC,GAAUC,EAAK,CACtB,GAAI,CAACA,GAAO,CAACzF,GACX,OAEF,IAAM0F,EAAQ9F,EAAS,cAAc,OAAO,EAC5C8F,EAAM,aAAa,OAAQ,UAAU,EACrCA,EAAM,UAAYD,EAClB,IAAME,EAAe/F,EAAS,KAAK,WAC/BgG,EAAc,KAClB,QAAS,EAAID,EAAa,OAAS,EAAG,EAAI,GAAI,IAAK,CACjD,IAAME,EAAQF,EAAa,CAAC,EACtBG,GAAWD,EAAM,SAAW,IAAI,YAAY,EAC9C,CAAC,QAAS,MAAM,EAAE,QAAQC,CAAO,EAAI,KACvCF,EAAcC,EAElB,CACA,OAAAjG,EAAS,KAAK,aAAa8F,EAAOE,CAAW,EACtCH,CACT,CACA,IAAMM,GAAS,iEACf,SAASC,IAAe,CACtB,IAAIC,EAAO,GACPC,EAAK,GACT,KAAOD,KAAS,GACdC,GAAMH,GAAO,KAAK,OAAO,EAAI,GAAK,CAAC,EAErC,OAAOG,CACT,CACA,SAASC,GAAQ/C,EAAK,CACpB,IAAMgD,EAAQ,CAAC,EACf,QAASC,GAAKjD,GAAO,CAAC,GAAG,SAAW,EAAGiD,KACrCD,EAAMC,CAAC,EAAIjD,EAAIiD,CAAC,EAElB,OAAOD,CACT,CACA,SAASE,GAAWC,EAAM,CACxB,OAAIA,EAAK,UACAJ,GAAQI,EAAK,SAAS,GAErBA,EAAK,aAAa,OAAO,GAAK,IAAI,MAAM,GAAG,EAAE,OAAOF,GAAKA,CAAC,CAEtE,CACA,SAASG,GAAWC,EAAK,CACvB,MAAO,GAAG,OAAOA,CAAG,EAAE,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,QAAQ,EAAE,QAAQ,KAAM,OAAO,EAAE,QAAQ,KAAM,MAAM,EAAE,QAAQ,KAAM,MAAM,CACxI,CACA,SAASC,GAAeC,EAAY,CAClC,OAAO,OAAO,KAAKA,GAAc,CAAC,CAAC,EAAE,OAAO,CAACC,EAAKC,IACzCD,EAAM,GAAG,OAAOC,EAAe,IAAK,EAAE,OAAOL,GAAWG,EAAWE,CAAa,CAAC,EAAG,IAAK,EAC/F,EAAE,EAAE,KAAK,CACd,CACA,SAASC,GAAWC,EAAQ,CAC1B,OAAO,OAAO,KAAKA,GAAU,CAAC,CAAC,EAAE,OAAO,CAACH,EAAKI,IACrCJ,EAAM,GAAG,OAAOI,EAAW,IAAI,EAAE,OAAOD,EAAOC,CAAS,EAAE,KAAK,EAAG,GAAG,EAC3E,EAAE,CACP,CACA,SAASC,GAAsBC,EAAW,CACxC,OAAOA,EAAU,OAAS3B,EAAqB,MAAQ2B,EAAU,IAAM3B,EAAqB,GAAK2B,EAAU,IAAM3B,EAAqB,GAAK2B,EAAU,SAAW3B,EAAqB,QAAU2B,EAAU,OAASA,EAAU,KAC9N,CACA,SAASC,GAAgBrC,EAAM,CAC7B,GAAI,CACF,UAAAoC,EACA,eAAAE,EACA,UAAAC,CACF,EAAIvC,EACEwC,EAAQ,CACZ,UAAW,aAAa,OAAOF,EAAiB,EAAG,OAAO,CAC5D,EACMG,EAAiB,aAAa,OAAOL,EAAU,EAAI,GAAI,IAAI,EAAE,OAAOA,EAAU,EAAI,GAAI,IAAI,EAC1FM,EAAa,SAAS,OAAON,EAAU,KAAO,IAAMA,EAAU,MAAQ,GAAK,GAAI,IAAI,EAAE,OAAOA,EAAU,KAAO,IAAMA,EAAU,MAAQ,GAAK,GAAI,IAAI,EAClJO,EAAc,UAAU,OAAOP,EAAU,OAAQ,OAAO,EACxDQ,EAAQ,CACZ,UAAW,GAAG,OAAOH,EAAgB,GAAG,EAAE,OAAOC,EAAY,GAAG,EAAE,OAAOC,CAAW,CACtF,EACME,EAAO,CACX,UAAW,aAAa,OAAON,EAAY,EAAI,GAAI,QAAQ,CAC7D,EACA,MAAO,CACL,MAAAC,EACA,MAAAI,EACA,KAAAC,CACF,CACF,CACA,SAASC,GAAgBC,EAAO,CAC9B,GAAI,CACF,UAAAX,EACA,MAAAY,EAAQvF,GACR,OAAAwF,EAASxF,GACT,cAAAyF,EAAgB,EAClB,EAAIH,EACAhD,EAAM,GACV,OAAImD,GAAiB/H,GACnB4E,GAAO,aAAa,OAAOqC,EAAU,EAAI5B,GAAMwC,EAAQ,EAAG,MAAM,EAAE,OAAOZ,EAAU,EAAI5B,GAAMyC,EAAS,EAAG,MAAM,EACtGC,EACTnD,GAAO,yBAAyB,OAAOqC,EAAU,EAAI5B,GAAK,mBAAmB,EAAE,OAAO4B,EAAU,EAAI5B,GAAK,OAAO,EAEhHT,GAAO,aAAa,OAAOqC,EAAU,EAAI5B,GAAK,MAAM,EAAE,OAAO4B,EAAU,EAAI5B,GAAK,MAAM,EAExFT,GAAO,SAAS,OAAOqC,EAAU,KAAO5B,IAAO4B,EAAU,MAAQ,GAAK,GAAI,IAAI,EAAE,OAAOA,EAAU,KAAO5B,IAAO4B,EAAU,MAAQ,GAAK,GAAI,IAAI,EAC9IrC,GAAO,UAAU,OAAOqC,EAAU,OAAQ,OAAO,EAC1CrC,CACT,CACA,IAAIoD,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","debug_id":"e2f22486-25da-53a9-bfe7-3c86277264dd"}