;\nconst _polyfillHostRe = \u002F-shadowcsshost\u002Fgim;\nconst _colonHostRe = \u002F:host\u002Fgim;\nconst _colonSlottedRe = \u002F::slotted\u002Fgim;\nconst _colonHostContextRe = \u002F:host-context\u002Fgim;\nconst _commentRe = \u002F\\\u002F\\*\\s*[\\s\\S]*?\\*\\\u002F\u002Fg;\nconst stripComments = (input) =\u003E {\n return input.replace(_commentRe, '');\n};\nconst _commentWithHashRe = \u002F\\\u002F\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\\u002F\u002Fg;\nconst extractCommentsWithHash = (input) =\u003E {\n return input.match(_commentWithHashRe) || [];\n};\nconst _ruleRe = \u002F(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))\u002Fg;\nconst _curlyRe = \u002F([{}])\u002Fg;\nconst OPEN_CURLY = '{';\nconst CLOSE_CURLY = '}';\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst processRules = (input, ruleCallback) =\u003E {\n const inputWithEscapedBlocks = escapeBlocks(input);\n let nextBlockIndex = 0;\n return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) =\u003E {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const cssRule = {\n selector,\n content,\n };\n const rule = ruleCallback(cssRule);\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n });\n};\nconst escapeBlocks = (input) =\u003E {\n const inputParts = input.split(_curlyRe);\n const resultParts = [];\n const escapedBlocks = [];\n let bracketCount = 0;\n let currentBlockParts = [];\n for (let partIndex = 0; partIndex \u003C inputParts.length; partIndex++) {\n const part = inputParts[partIndex];\n if (part === CLOSE_CURLY) {\n bracketCount--;\n }\n if (bracketCount \u003E 0) {\n currentBlockParts.push(part);\n }\n else {\n if (currentBlockParts.length \u003E 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n currentBlockParts = [];\n }\n resultParts.push(part);\n }\n if (part === OPEN_CURLY) {\n bracketCount++;\n }\n }\n if (currentBlockParts.length \u003E 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n }\n const strEscapedBlocks = {\n escapedString: resultParts.join(''),\n blocks: escapedBlocks,\n };\n return strEscapedBlocks;\n};\nconst insertPolyfillHostInCssText = (selector) =\u003E {\n selector = selector\n .replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost)\n .replace(_colonSlottedRe, _polyfillSlotted);\n return selector;\n};\nconst convertColonRule = (cssText, regExp, partReplacer) =\u003E {\n \u002F\u002F m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, (...m) =\u003E {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i \u003C parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n};\nconst colonHostPartReplacer = (host, part, suffix) =\u003E {\n return host + part.replace(_polyfillHost, '') + suffix;\n};\nconst convertColonHost = (cssText) =\u003E {\n return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);\n};\nconst colonHostContextPartReplacer = (host, part, suffix) =\u003E {\n if (part.indexOf(_polyfillHost) \u003E -1) {\n return colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n};\nconst convertColonSlotted = (cssText, slotScopeId) =\u003E {\n const slotClass = '.' + slotScopeId + ' \u003E ';\n const selectors = [];\n cssText = cssText.replace(_cssColonSlottedRe, (...m) =\u003E {\n if (m[2]) {\n const compound = m[2].trim();\n const suffix = m[3];\n const slottedSelector = slotClass + compound + suffix;\n let prefixSelector = '';\n for (let i = m[4] - 1; i \u003E= 0; i--) {\n const char = m[5][i];\n if (char === '}' || char === ',') {\n break;\n }\n prefixSelector = char + prefixSelector;\n }\n const orgSelector = prefixSelector + slottedSelector;\n const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;\n if (orgSelector.trim() !== addedSelector.trim()) {\n const updatedSelector = `${addedSelector}, ${orgSelector}`;\n selectors.push({\n orgSelector,\n updatedSelector,\n });\n }\n return slottedSelector;\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n return {\n selectors,\n cssText,\n };\n};\nconst convertColonHostContext = (cssText) =\u003E {\n return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);\n};\nconst convertShadowDOMSelectors = (cssText) =\u003E {\n return _shadowDOMSelectorsRe.reduce((result, pattern) =\u003E result.replace(pattern, ' '), cssText);\n};\nconst makeScopeMatcher = (scopeSelector) =\u003E {\n const lre = \u002F\\[\u002Fg;\n const rre = \u002F\\]\u002Fg;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n};\nconst selectorNeedsScoping = (selector, scopeSelector) =\u003E {\n const re = makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n};\nconst applySimpleSelectorScope = (selector, scopeSelector, hostSelector) =\u003E {\n \u002F\u002F In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = `.${hostSelector}`;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (_, selector) =\u003E {\n return selector.replace(\u002F([^:]*)(:*)(.*)\u002F, (_, before, colon, after) =\u003E {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n};\nconst applyStrictSelectorScope = (selector, scopeSelector, hostSelector) =\u003E {\n const isRe = \u002F\\[is=([^\\]]*)\\]\u002Fg;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) =\u003E parts[0]);\n const className = '.' + scopeSelector;\n const _scopeSelectorPart = (p) =\u003E {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) \u003E -1) {\n scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n \u002F\u002F remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length \u003E 0) {\n const matches = t.match(\u002F([^:]*)(:*)(.*)\u002F);\n if (matches) {\n scopedP = matches[1] + className + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = safeSelector(selector);\n selector = safeContent.content;\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = \u002F( |\u003E|\\+|~(?!=))\\s*\u002Fg;\n \u002F\u002F If a selector appears before :host it should not be shimmed as it\n \u002F\u002F matches on ancestor elements and not on elements in the host's shadow\n \u002F\u002F `:host-context(div)` is transformed to\n \u002F\u002F `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n \u002F\u002F the `div` is not part of the component in the 2nd selectors and should not be scoped.\n \u002F\u002F Historically `component-tag:host` was matching the component so we also want to preserve\n \u002F\u002F this behavior to avoid breaking legacy apps (it should not match).\n \u002F\u002F The behavior should be:\n \u002F\u002F - `tag:host` -\u003E `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n \u002F\u002F - `tag :host` -\u003E `tag [h]` (`tag` is not scoped because it's considered part of a\n \u002F\u002F `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) \u003E -1;\n \u002F\u002F Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) \u003E -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) \u003E -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n \u002F\u002F replace the placeholders with their original values\n return restoreSafeSelector(safeContent.placeholders, scopedSelector);\n};\nconst scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) =\u003E {\n return selector\n .split(',')\n .map(shallowPart =\u003E {\n if (slotSelector && shallowPart.indexOf('.' + slotSelector) \u003E -1) {\n return shallowPart.trim();\n }\n if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {\n return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();\n }\n else {\n return shallowPart.trim();\n }\n })\n .join(', ');\n};\nconst scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) =\u003E {\n return processRules(cssText, (rule) =\u003E {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] !== '@') {\n selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') || rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);\n }\n const cssRule = {\n selector: selector.replace(\u002F\\s{2,}\u002Fg, ' ').trim(),\n content,\n };\n return cssRule;\n });\n};\nconst scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) =\u003E {\n cssText = insertPolyfillHostInCssText(cssText);\n cssText = convertColonHost(cssText);\n cssText = convertColonHostContext(cssText);\n const slotted = convertColonSlotted(cssText, slotScopeId);\n cssText = slotted.cssText;\n cssText = convertShadowDOMSelectors(cssText);\n if (scopeId) {\n cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);\n }\n cssText = cssText.replace(\u002F-shadowcsshost-no-combinator\u002Fg, `.${hostScopeId}`);\n cssText = cssText.replace(\u002F\u003E\\s*\\*\\s+([^{, ]+)\u002Fgm, ' $1 ');\n return {\n cssText: cssText.trim(),\n slottedSelectors: slotted.selectors,\n };\n};\nconst scopeCss = (cssText, scopeId, commentOriginalSelector) =\u003E {\n const hostScopeId = scopeId + '-h';\n const slotScopeId = scopeId + '-s';\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n const orgSelectors = [];\n if (commentOriginalSelector) {\n const processCommentedSelector = (rule) =\u003E {\n const placeholder = `\u002F*!@___${orgSelectors.length}___*\u002F`;\n const comment = `\u002F*!@${rule.selector}*\u002F`;\n orgSelectors.push({ placeholder, comment });\n rule.selector = placeholder + rule.selector;\n return rule;\n };\n cssText = processRules(cssText, rule =\u003E {\n if (rule.selector[0] !== '@') {\n return processCommentedSelector(rule);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') || rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n rule.content = processRules(rule.content, processCommentedSelector);\n return rule;\n }\n return rule;\n });\n }\n const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);\n cssText = [scoped.cssText, ...commentsWithHash].join('\\n');\n if (commentOriginalSelector) {\n orgSelectors.forEach(({ placeholder, comment }) =\u003E {\n cssText = cssText.replace(placeholder, comment);\n });\n }\n scoped.slottedSelectors.forEach(slottedSelector =\u003E {\n cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);\n });\n return cssText;\n};\n\nexport { scopeCss };\n","directory_shortid":"HkldwVBszI","id":"4504b2de-ddd2-442f-8575-d1bda1c71937","inserted_at":"2020-10-30T22:01:40","is_binary":null,"sha":null,"shortid":"oQWN","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"shadow-css-fb1c6168.js","updated_at":"2020-11-01T13:52:48","upload_id":null},{"code":"import { r as registerInstance, h } from '.\u002Findex-1831826d.js';\n\nconst myComponentCss = \"@import url(\\\"https:\u002F\u002Ffonts.googleapis.com\u002Fcss?family=Roboto+Slab|Open+Sans:400italic\\\", 700italic, 400, 700);:host{font-family:\\\"Open Sans\\\", sans-serif;font-weight:normal}h1,h2,h3,h4,h5,h6{font-family:\\\"Roboto Slab\\\", serif;font-weight:normal}button{padding:5px 20px}\";\n\nconst MyComponent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.items = [{ title: \"Item 1\" }];\n this.fetchMore = () =\u003E {\n this.items = [...this.items, { title: \"Fetched item\" }];\n };\n }\n render() {\n return (h(\"div\", null, this.items.length \u003E 0 && (h(\"ul\", null, this.items.map(item =\u003E (h(\"li\", null, item.title))))), h(\"button\", { onClick: this.fetchMore }, \"Fetch More\")));\n }\n};\nMyComponent.style = myComponentCss;\n\nexport { MyComponent as my_component };\n","directory_shortid":"HkldwVBszI","id":"2d2d5c60-a4e7-414f-8818-207a644c93e1","inserted_at":"2020-05-24T07:52:43","is_binary":null,"sha":null,"shortid":"rywOwVSoM8","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"my-component.entry.js","updated_at":"2020-11-01T13:52:48","upload_id":null},{"code":"const NAMESPACE = 'codesandbox-stenciljs';\nconst BUILD = \u002F* codesandbox-stenciljs *\u002F { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: false, cssAnnotations: true, cssVarShim: true, devTools: true, disconnectedCallback: false, dynamicImportShim: true, element: false, event: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: true, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: true, isDebug: false, isDev: true, isTesting: false, lazyLoad: true, lifecycle: false, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: false, profile: true, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: false, reflect: false, safari10: true, scoped: false, scriptDataOpts: true, shadowDelegatesFocus: false, shadowDom: true, shadowDomShim: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: false, vdomFunctional: false, vdomKey: false, vdomListener: true, vdomPropOrAttr: false, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };\n\nlet scopeId;\nlet contentRef;\nlet hostTagName;\nlet i = 0;\nlet useNativeShadowDom = false;\nlet checkSlotFallbackVisibility = false;\nlet checkSlotRelocate = false;\nlet isSvgMode = false;\nlet renderingRef = null;\nlet queueCongestion = 0;\nlet queuePending = false;\nconst win = typeof window !== 'undefined' ? window : {};\nconst CSS = BUILD.cssVarShim ? win.CSS : null;\nconst doc = win.document || { head: {} };\nconst H = (win.HTMLElement || class {\n});\nconst plt = {\n $flags$: 0,\n $resourcesUrl$: '',\n jmp: h =\u003E h(),\n raf: h =\u003E requestAnimationFrame(h),\n ael: (el, eventName, listener, opts) =\u003E el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) =\u003E el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) =\u003E new CustomEvent(eventName, opts),\n};\nconst supportsShadow = BUILD.shadowDomShim && BUILD.shadowDom ? \u002F*@__PURE__*\u002F (() =\u003E (doc.head.attachShadow + '').indexOf('[native') \u003E -1)() : true;\nconst supportsListenerOptions = \u002F*@__PURE__*\u002F (() =\u003E {\n let supportsListenerOptions = false;\n try {\n doc.addEventListener('e', null, Object.defineProperty({}, 'passive', {\n get() {\n supportsListenerOptions = true;\n },\n }));\n }\n catch (e) { }\n return supportsListenerOptions;\n})();\nconst promiseResolve = (v) =\u003E Promise.resolve(v);\nconst supportsConstructibleStylesheets = BUILD.constructableCSS\n ? \u002F*@__PURE__*\u002F (() =\u003E {\n try {\n new CSSStyleSheet();\n return true;\n }\n catch (e) { }\n return false;\n })()\n : false;\nconst Context = {};\nconst addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) =\u003E {\n if (BUILD.hostListener && listeners) {\n \u002F\u002F this is called immediately within the element's constructor\n \u002F\u002F initialize our event listeners on the host element\n \u002F\u002F we do this now so that we can listen to events that may\n \u002F\u002F have fired even before the instance is ready\n if (BUILD.hostListenerTargetParent) {\n \u002F\u002F this component may have event listeners that should be attached to the parent\n if (attachParentListeners) {\n \u002F\u002F this is being ran from within the connectedCallback\n \u002F\u002F which is important so that we know the host element actually has a parent element\n \u002F\u002F filter out the listeners to only have the ones that ARE being attached to the parent\n listeners = listeners.filter(([flags]) =\u003E flags & 16 \u002F* TargetParent *\u002F);\n }\n else {\n \u002F\u002F this is being ran from within the component constructor\n \u002F\u002F everything BUT the parent element listeners should be attached at this time\n \u002F\u002F filter out the listeners that are NOT being attached to the parent\n listeners = listeners.filter(([flags]) =\u003E !(flags & 16 \u002F* TargetParent *\u002F));\n }\n }\n listeners.map(([flags, name, method]) =\u003E {\n const target = BUILD.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm;\n const handler = hostListenerProxy(hostRef, method);\n const opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() =\u003E plt.rel(target, name, handler, opts));\n });\n }\n};\nconst hostListenerProxy = (hostRef, methodName) =\u003E (ev) =\u003E {\n if (BUILD.lazyLoad) {\n if (hostRef.$flags$ & 256 \u002F* isListenReady *\u002F) {\n \u002F\u002F instance is ready, let's call it's member method for this event\n hostRef.$lazyInstance$[methodName](ev);\n }\n else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n }\n else {\n hostRef.$hostElement$[methodName](ev);\n }\n};\nconst getHostListenerTarget = (elm, flags) =\u003E {\n if (BUILD.hostListenerTargetDocument && flags & 4 \u002F* TargetDocument *\u002F)\n return doc;\n if (BUILD.hostListenerTargetWindow && flags & 8 \u002F* TargetWindow *\u002F)\n return win;\n if (BUILD.hostListenerTargetBody && flags & 32 \u002F* TargetBody *\u002F)\n return doc.body;\n if (BUILD.hostListenerTargetParent && flags & 16 \u002F* TargetParent *\u002F)\n return elm.parentElement;\n return elm;\n};\n\u002F\u002F prettier-ignore\nconst hostListenerOpts = (flags) =\u003E supportsListenerOptions\n ? ({\n passive: (flags & 1 \u002F* Passive *\u002F) !== 0,\n capture: (flags & 2 \u002F* Capture *\u002F) !== 0,\n })\n : (flags & 2 \u002F* Capture *\u002F) !== 0;\nconst CONTENT_REF_ID = 'r';\nconst ORG_LOCATION_ID = 'o';\nconst SLOT_NODE_ID = 's';\nconst TEXT_NODE_ID = 't';\nconst HYDRATE_ID = 's-id';\nconst HYDRATED_STYLE_ID = 'sty-id';\nconst HYDRATE_CHILD_ID = 'c-id';\nconst HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';\nconst XLINK_NS = 'http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxlink';\nconst createTime = (fnName, tagName = '') =\u003E {\n if (BUILD.profile && performance.mark) {\n const key = `st:${fnName}:${tagName}:${i++}`;\n \u002F\u002F Start\n performance.mark(key);\n \u002F\u002F End\n return () =\u003E performance.measure(`[Stencil] ${fnName}() \u003C${tagName}\u003E`, key);\n }\n else {\n return () =\u003E {\n return;\n };\n }\n};\nconst uniqueTime = (key, measureText) =\u003E {\n if (BUILD.profile && performance.mark) {\n if (performance.getEntriesByName(key).length === 0) {\n performance.mark(key);\n }\n return () =\u003E {\n if (performance.getEntriesByName(measureText).length === 0) {\n performance.measure(measureText, key);\n }\n };\n }\n else {\n return () =\u003E {\n return;\n };\n }\n};\nconst inspect = (ref) =\u003E {\n const hostRef = getHostRef(ref);\n if (!hostRef) {\n return undefined;\n }\n const flags = hostRef.$flags$;\n const hostElement = hostRef.$hostElement$;\n return {\n renderCount: hostRef.$renderCount$,\n flags: {\n hasRendered: !!(flags & 2 \u002F* hasRendered *\u002F),\n hasConnected: !!(flags & 1 \u002F* hasConnected *\u002F),\n isWaitingForChildren: !!(flags & 4 \u002F* isWaitingForChildren *\u002F),\n isConstructingInstance: !!(flags & 8 \u002F* isConstructingInstance *\u002F),\n isQueuedForUpdate: !!(flags & 16 \u002F* isQueuedForUpdate *\u002F),\n hasInitializedComponent: !!(flags & 32 \u002F* hasInitializedComponent *\u002F),\n hasLoadedComponent: !!(flags & 64 \u002F* hasLoadedComponent *\u002F),\n isWatchReady: !!(flags & 128 \u002F* isWatchReady *\u002F),\n isListenReady: !!(flags & 256 \u002F* isListenReady *\u002F),\n needsRerender: !!(flags & 512 \u002F* needsRerender *\u002F),\n },\n instanceValues: hostRef.$instanceValues$,\n ancestorComponent: hostRef.$ancestorComponent$,\n hostElement,\n lazyInstance: hostRef.$lazyInstance$,\n vnode: hostRef.$vnode$,\n modeName: hostRef.$modeName$,\n onReadyPromise: hostRef.$onReadyPromise$,\n onReadyResolve: hostRef.$onReadyResolve$,\n onInstancePromise: hostRef.$onInstancePromise$,\n onInstanceResolve: hostRef.$onInstanceResolve$,\n onRenderResolve: hostRef.$onRenderResolve$,\n queuedListeners: hostRef.$queuedListeners$,\n rmListeners: hostRef.$rmListeners$,\n ['s-id']: hostElement['s-id'],\n ['s-cr']: hostElement['s-cr'],\n ['s-lr']: hostElement['s-lr'],\n ['s-p']: hostElement['s-p'],\n ['s-rc']: hostElement['s-rc'],\n ['s-sc']: hostElement['s-sc'],\n };\n};\nconst installDevTools = () =\u003E {\n if (BUILD.devTools) {\n const stencil = (win.stencil = win.stencil || {});\n const originalInspect = stencil.inspect;\n stencil.inspect = (ref) =\u003E {\n let result = inspect(ref);\n if (!result && typeof originalInspect === 'function') {\n result = originalInspect(ref);\n }\n return result;\n };\n }\n};\nconst rootAppliedStyles = new WeakMap();\nconst registerStyle = (scopeId, cssText, allowCS) =\u003E {\n let style = styles.get(scopeId);\n if (supportsConstructibleStylesheets && allowCS) {\n style = (style || new CSSStyleSheet());\n style.replace(cssText);\n }\n else {\n style = cssText;\n }\n styles.set(scopeId, style);\n};\nconst addStyle = (styleContainerNode, cmpMeta, mode, hostElm) =\u003E {\n let scopeId = getScopeId(cmpMeta, mode);\n let style = styles.get(scopeId);\n if (!BUILD.attachStyles) {\n return scopeId;\n }\n \u002F\u002F if an element is NOT connected then getRootNode() will return the wrong root node\n \u002F\u002F so the fallback is to always use the document for the root node in those cases\n styleContainerNode = styleContainerNode.nodeType === 11 \u002F* DocumentFragment *\u002F ? styleContainerNode : doc;\n if (style) {\n if (typeof style === 'string') {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));\n }\n if (!appliedStyles.has(scopeId)) {\n if (BUILD.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}=\"${scopeId}\"]`))) {\n \u002F\u002F This is only happening on native shadow-dom, do not needs CSS var shim\n styleElm.innerHTML = style;\n }\n else {\n if (BUILD.cssVarShim && plt.$cssShim$) {\n styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style, !!(cmpMeta.$flags$ & 10 \u002F* needsScopedEncapsulation *\u002F));\n const newScopeId = styleElm['s-sc'];\n if (newScopeId) {\n scopeId = newScopeId;\n \u002F\u002F we don't want to add this styleID to the appliedStyles Set\n \u002F\u002F since the cssVarShim might need to apply several different\n \u002F\u002F stylesheets for the same component\n appliedStyles = null;\n }\n }\n else {\n styleElm = doc.createElement('style');\n styleElm.innerHTML = style;\n }\n if (BUILD.hydrateServerSide || BUILD.hotModuleReplacement) {\n styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId);\n }\n styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId);\n }\n }\n }\n else if (BUILD.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId;\n};\nconst attachStyles = (hostRef) =\u003E {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const flags = cmpMeta.$flags$;\n const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);\n const scopeId = addStyle(BUILD.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$, elm);\n if ((BUILD.shadowDom || BUILD.scoped) && BUILD.cssAnnotations && flags & 10 \u002F* needsScopedEncapsulation *\u002F) {\n \u002F\u002F only required when we're NOT using native shadow dom (slot)\n \u002F\u002F or this browser doesn't support native shadow dom\n \u002F\u002F and this host element was NOT created with SSR\n \u002F\u002F let's pick out the inner content for slot projection\n \u002F\u002F create a node to represent where the original\n \u002F\u002F content was first placed, which is useful later on\n \u002F\u002F DOM WRITE!!\n elm['s-sc'] = scopeId;\n elm.classList.add(scopeId + '-h');\n if (BUILD.scoped && flags & 2 \u002F* scopedCssEncapsulation *\u002F) {\n elm.classList.add(scopeId + '-s');\n }\n }\n endAttachStyles();\n};\nconst getScopeId = (cmp, mode) =\u003E 'sc-' + (BUILD.mode && mode && cmp.$flags$ & 32 \u002F* hasMode *\u002F ? cmp.$tagName$ + '-' + mode : cmp.$tagName$);\nconst convertScopedToShadow = (css) =\u003E css.replace(\u002F\\\u002F\\*!@([^\\\u002F]+)\\*\\\u002F[^\\{]+\\{\u002Fg, '$1{');\n\u002F\u002F Private\nconst computeMode = (elm) =\u003E modeResolutionChain.map(h =\u003E h(elm)).find(m =\u003E !!m);\n\u002F\u002F Public\nconst setMode = (handler) =\u003E modeResolutionChain.push(handler);\nconst getMode = (ref) =\u003E getHostRef(ref).$modeName$;\n\u002F**\n * Default style mode id\n *\u002F\n\u002F**\n * Reusable empty obj\u002Farray\n * Don't add values to these!!\n *\u002F\nconst EMPTY_OBJ = {};\n\u002F**\n * Namespaces\n *\u002F\nconst SVG_NS = 'http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg';\nconst HTML_NS = 'http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml';\nconst isDef = (v) =\u003E v != null;\nconst noop = () =\u003E {\n \u002F* noop*\u002F\n};\nconst isComplexType = (o) =\u003E {\n \u002F\u002F https:\u002F\u002Fjsperf.com\u002Ftypeof-fn-object\u002F5\n o = typeof o;\n return o === 'object' || o === 'function';\n};\nconst IS_DENO_ENV = typeof Deno !== 'undefined';\nconst IS_NODE_ENV = !IS_DENO_ENV &&\n typeof global !== 'undefined' &&\n typeof require === 'function' &&\n !!global.process &&\n typeof __filename === 'string' &&\n (!global.origin || typeof global.origin !== 'string');\nconst IS_DENO_WINDOWS_ENV = IS_DENO_ENV && Deno.build.os === 'windows';\nconst getCurrentDirectory = IS_NODE_ENV ? process.cwd : IS_DENO_ENV ? Deno.cwd : () =\u003E '\u002F';\nconst exit = IS_NODE_ENV ? process.exit : IS_DENO_ENV ? Deno.exit : noop;\n\u002F**\n * Production h() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https:\u002F\u002Fgithub.com\u002Fdevelopit\u002Fpreact\u002Fblob\u002Fmaster\u002FLICENSE\n *\n * Modified for Stencil's compiler and vdom\n *\u002F\n\u002F\u002F const stack: any[] = [];\n\u002F\u002F export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;\n\u002F\u002F export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;\nconst h = (nodeName, vnodeData, ...children) =\u003E {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n let vNodeChildren = [];\n const walk = (c) =\u003E {\n for (let i = 0; i \u003C c.length; i++) {\n child = c[i];\n if (Array.isArray(child)) {\n walk(child);\n }\n else if (child != null && typeof child !== 'boolean') {\n if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {\n child = String(child);\n }\n else if (BUILD.isDev && typeof nodeName !== 'function' && child.$flags$ === undefined) {\n consoleDevError(`vNode passed as children has unexpected type.\nMake sure it's using the correct h() function.\nEmpty objects can also be the cause, look for JSX comments that became objects.`);\n }\n if (simple && lastSimple) {\n \u002F\u002F If the previous child was simple (string), we merge both\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n }\n else {\n \u002F\u002F Append a new vNode, if it's text, we create a text vNode\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (BUILD.isDev && nodeName === 'input') {\n validateInputProperties(vnodeData);\n }\n \u002F\u002F normalize class \u002F classname attributes\n if (BUILD.vdomKey && vnodeData.key) {\n key = vnodeData.key;\n }\n if (BUILD.slotRelocation && vnodeData.name) {\n slotName = vnodeData.name;\n }\n if (BUILD.vdomClass) {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class =\n typeof classData !== 'object'\n ? classData\n : Object.keys(classData)\n .filter(k =\u003E classData[k])\n .join(' ');\n }\n }\n }\n if (BUILD.isDev && vNodeChildren.some(isHost)) {\n consoleDevError(`The \u003CHost\u003E must be the single root component. Make sure:\n- You are NOT using hostData() and \u003CHost\u003E in the same component.\n- \u003CHost\u003E is used once, and it's the single root component of the render() function.`);\n }\n if (BUILD.vdomFunctional && typeof nodeName === 'function') {\n \u002F\u002F nodeName is a functional component\n return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length \u003E 0) {\n vnode.$children$ = vNodeChildren;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = key;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nconst newVNode = (tag, text) =\u003E {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null,\n };\n if (BUILD.vdomAttribute) {\n vnode.$attrs$ = null;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = null;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = null;\n }\n return vnode;\n};\nconst Host = {};\nconst isHost = (node) =\u003E node && node.$tag$ === Host;\nconst vdomFnUtils = {\n forEach: (children, cb) =\u003E children.map(convertToPublic).forEach(cb),\n map: (children, cb) =\u003E children\n .map(convertToPublic)\n .map(cb)\n .map(convertToPrivate),\n};\nconst convertToPublic = (node) =\u003E ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$,\n});\nconst convertToPrivate = (node) =\u003E {\n if (typeof node.vtag === 'function') {\n const vnodeData = Object.assign({}, node.vattrs);\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...node.vchildren || []);\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nconst validateInputProperties = (vnodeData) =\u003E {\n const props = Object.keys(vnodeData);\n const typeIndex = props.indexOf('type');\n const minIndex = props.indexOf('min');\n const maxIndex = props.indexOf('max');\n const stepIndex = props.indexOf('min');\n const value = props.indexOf('value');\n if (value === -1) {\n return;\n }\n if (value \u003C typeIndex || value \u003C minIndex || value \u003C maxIndex || value \u003C stepIndex) {\n consoleDevWarn(`The \"value\" prop of \u003Cinput\u003E should be set after \"min\", \"max\", \"type\" and \"step\"`);\n }\n};\n\u002F**\n * Production setAccessor() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https:\u002F\u002Fgithub.com\u002Fdevelopit\u002Fpreact\u002Fblob\u002Fmaster\u002FLICENSE\n *\n * Modified for Stencil's compiler and vdom\n *\u002F\nconst setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) =\u003E {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (BUILD.vdomClass && memberName === 'class') {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter(c =\u003E c && !newClasses.includes(c)));\n classList.add(...newClasses.filter(c =\u003E c && !oldClasses.includes(c)));\n }\n else if (BUILD.vdomStyle && memberName === 'style') {\n \u002F\u002F update style attribute, css properties and values\n if (BUILD.updatable) {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.removeProperty(prop);\n }\n else {\n elm.style[prop] = '';\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.setProperty(prop, newValue[prop]);\n }\n else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n }\n else if (BUILD.vdomKey && memberName === 'key')\n ;\n else if (BUILD.vdomRef && memberName === 'ref') {\n \u002F\u002F minifier will clean this up\n if (newValue) {\n newValue(elm);\n }\n }\n else if (BUILD.vdomListener && (BUILD.lazyLoad ? !isProp : !elm.__lookupSetter__(memberName)) && memberName[0] === 'o' && memberName[1] === 'n') {\n \u002F\u002F Event Handlers\n \u002F\u002F so if the member name starts with \"on\" and the 3rd characters is\n \u002F\u002F a capital letter, and it's not already a member on the element,\n \u002F\u002F then we're assuming it's an event listener\n if (memberName[2] === '-') {\n \u002F\u002F on- prefixed events\n \u002F\u002F allows to be explicit about the dom event to listen without any magic\n \u002F\u002F under the hood:\n \u002F\u002F \u003Cmy-cmp on-click\u003E \u002F\u002F listens for \"click\"\n \u002F\u002F \u003Cmy-cmp on-Click\u003E \u002F\u002F listens for \"Click\"\n \u002F\u002F \u003Cmy-cmp on-ionChange\u003E \u002F\u002F listens for \"ionChange\"\n \u002F\u002F \u003Cmy-cmp on-EVENTS\u003E \u002F\u002F listens for \"EVENTS\"\n memberName = memberName.slice(3);\n }\n else if (isMemberInElement(win, ln)) {\n \u002F\u002F standard event\n \u002F\u002F the JSX attribute could have been \"onMouseOver\" and the\n \u002F\u002F member name \"onmouseover\" is on the window's prototype\n \u002F\u002F so let's add the listener \"mouseover\", which is all lowercased\n memberName = ln.slice(2);\n }\n else {\n \u002F\u002F custom event\n \u002F\u002F the JSX attribute could have been \"onMyCustomEvent\"\n \u002F\u002F so let's trim off the \"on\" prefix and lowercase the first character\n \u002F\u002F and add the listener \"myCustomEvent\"\n \u002F\u002F except for the first character, we keep the event name case\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, false);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, false);\n }\n }\n else if (BUILD.vdomPropOrAttr) {\n \u002F\u002F Set property if it exists and it's not a SVG\n const isComplex = isComplexType(newValue);\n if ((isProp || (isComplex && newValue !== null)) && !isSvg) {\n try {\n if (!elm.tagName.includes('-')) {\n let n = newValue == null ? '' : newValue;\n \u002F\u002F Workaround for Safari, moving the \u003Cinput\u003E caret when re-assigning the same valued\n if (memberName === 'list') {\n isProp = false;\n \u002F\u002F tslint:disable-next-line: triple-equals\n }\n else if (oldValue == null || elm[memberName] != n) {\n elm[memberName] = n;\n }\n }\n else {\n elm[memberName] = newValue;\n }\n }\n catch (e) { }\n }\n \u002F**\n * Need to manually update attribute if:\n * - memberName is not an attribute\n * - if we are rendering the host element in order to reflect attribute\n * - if it's a SVG, since properties might not work in \u003Csvg\u003E\n * - if the newValue is null\u002Fundefined or 'false'.\n *\u002F\n let xlink = false;\n if (BUILD.vdomXlink) {\n if (ln !== (ln = ln.replace(\u002F^xlink\\:?\u002F, ''))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === '') {\n if (BUILD.vdomXlink && xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n }\n else {\n elm.removeAttribute(memberName);\n }\n }\n }\n else if ((!isProp || flags & 4 \u002F* isHost *\u002F || isSvg) && !isComplex) {\n newValue = newValue === true ? '' : newValue;\n if (BUILD.vdomXlink && xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n }\n else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nconst parseClassListRegex = \u002F\\s\u002F;\nconst parseClassList = (value) =\u003E (!value ? [] : value.split(parseClassListRegex));\nconst updateElement = (oldVnode, newVnode, isSvgMode, memberName) =\u003E {\n \u002F\u002F if the element passed in is a shadow root, which is a document fragment\n \u002F\u002F then we want to be adding attrs\u002Fprops to the shadow root's \"host\" element\n \u002F\u002F if it's not a shadow root, then we add attrs\u002Fprops to the same element\n const elm = newVnode.$elm$.nodeType === 11 \u002F* DocumentFragment *\u002F && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n if (BUILD.updatable) {\n \u002F\u002F remove attributes no longer present on the vnode by setting them to undefined\n for (memberName in oldVnodeAttrs) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);\n }\n }\n }\n \u002F\u002F add new & update changed attributes\n for (memberName in newVnodeAttrs) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);\n }\n};\nconst createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) =\u003E {\n \u002F\u002F tslint:disable-next-line: prefer-const\n let newVNode = newParentVNode.$children$[childIndex];\n let i = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (BUILD.slotRelocation && !useNativeShadowDom) {\n \u002F\u002F remember for later we need to check to relocate nodes\n checkSlotRelocate = true;\n if (newVNode.$tag$ === 'slot') {\n if (scopeId) {\n \u002F\u002F scoped css needs to add its scoped id to the parent element\n parentElm.classList.add(scopeId + '-s');\n }\n newVNode.$flags$ |= newVNode.$children$\n ? \u002F\u002F slot element has fallback content\n 2 \u002F* isSlotFallback *\u002F\n : \u002F\u002F slot element does not have fallback content\n 1 \u002F* isSlotReference *\u002F;\n }\n }\n if (BUILD.isDev && newVNode.$elm$) {\n consoleError(`The JSX ${newVNode.$text$ !== null ? `\"${newVNode.$text$}\" text` : `\"${newVNode.$tag$}\" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Ftemplating-jsx#avoid-shared-jsx-nodes`);\n }\n if (BUILD.vdomText && newVNode.$text$ !== null) {\n \u002F\u002F create text node\n elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);\n }\n else if (BUILD.slotRelocation && newVNode.$flags$ & 1 \u002F* isSlotReference *\u002F) {\n \u002F\u002F create a slot reference node\n elm = newVNode.$elm$ = BUILD.isDebug || BUILD.hydrateServerSide ? slotReferenceDebugNode(newVNode) : doc.createTextNode('');\n }\n else {\n if (BUILD.svg && !isSvgMode) {\n isSvgMode = newVNode.$tag$ === 'svg';\n }\n \u002F\u002F create element\n elm = newVNode.$elm$ = (BUILD.svg\n ? doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, BUILD.slotRelocation && newVNode.$flags$ & 2 \u002F* isSlotFallback *\u002F ? 'slot-fb' : newVNode.$tag$)\n : doc.createElement(BUILD.slotRelocation && newVNode.$flags$ & 2 \u002F* isSlotFallback *\u002F ? 'slot-fb' : newVNode.$tag$));\n if (BUILD.svg && isSvgMode && newVNode.$tag$ === 'foreignObject') {\n isSvgMode = false;\n }\n \u002F\u002F add css classes, attrs, props, listeners, etc.\n if (BUILD.vdomAttribute) {\n updateElement(null, newVNode, isSvgMode);\n }\n if ((BUILD.shadowDom || BUILD.scoped) && isDef(scopeId) && elm['s-si'] !== scopeId) {\n \u002F\u002F if there is a scopeId and this is the initial render\n \u002F\u002F then let's add the scopeId as a css class\n elm.classList.add((elm['s-si'] = scopeId));\n }\n if (newVNode.$children$) {\n for (i = 0; i \u003C newVNode.$children$.length; ++i) {\n \u002F\u002F create the node\n childNode = createElm(oldParentVNode, newVNode, i, elm);\n \u002F\u002F return node could have been null\n if (childNode) {\n \u002F\u002F append our new node\n elm.appendChild(childNode);\n }\n }\n }\n if (BUILD.svg) {\n if (newVNode.$tag$ === 'svg') {\n \u002F\u002F Only reset the SVG context when we're exiting \u003Csvg\u003E element\n isSvgMode = false;\n }\n else if (elm.tagName === 'foreignObject') {\n \u002F\u002F Reenter SVG context when we're exiting \u003CforeignObject\u003E element\n isSvgMode = true;\n }\n }\n }\n if (BUILD.slotRelocation) {\n elm['s-hn'] = hostTagName;\n if (newVNode.$flags$ & (2 \u002F* isSlotFallback *\u002F | 1 \u002F* isSlotReference *\u002F)) {\n \u002F\u002F remember the content reference comment\n elm['s-sr'] = true;\n \u002F\u002F remember the content reference comment\n elm['s-cr'] = contentRef;\n \u002F\u002F remember the slot name, or empty string for default slot\n elm['s-sn'] = newVNode.$name$ || '';\n \u002F\u002F check if we've got an old vnode for this slot\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {\n \u002F\u002F we've got an old slot vnode and the wrapper is being replaced\n \u002F\u002F so let's move the old slot content back to it's original location\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n return elm;\n};\nconst putBackInOriginalLocation = (parentElm, recursive) =\u003E {\n plt.$flags$ |= 1 \u002F* isTmpDisconnected *\u002F;\n const oldSlotChildNodes = parentElm.childNodes;\n for (let i = oldSlotChildNodes.length - 1; i \u003E= 0; i--) {\n const childNode = oldSlotChildNodes[i];\n if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {\n \u002F\u002F \u002F\u002F this child node in the old element is from another component\n \u002F\u002F \u002F\u002F remove this node from the old slot's parent\n \u002F\u002F childNode.remove();\n \u002F\u002F and relocate it back to it's original location\n parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));\n \u002F\u002F remove the old original location comment entirely\n \u002F\u002F later on the patch function will know what to do\n \u002F\u002F and move this to the correct spot in need be\n childNode['s-ol'].remove();\n childNode['s-ol'] = undefined;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 \u002F* isTmpDisconnected *\u002F;\n};\nconst addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =\u003E {\n let containerElm = ((BUILD.slotRelocation && parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);\n let childNode;\n if (BUILD.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx \u003C= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n containerElm.insertBefore(childNode, BUILD.slotRelocation ? referenceNode(before) : before);\n }\n }\n }\n};\nconst removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) =\u003E {\n for (; startIdx \u003C= endIdx; ++startIdx) {\n if ((vnode = vnodes[startIdx])) {\n elm = vnode.$elm$;\n callNodeRefs(vnode);\n if (BUILD.slotRelocation) {\n \u002F\u002F we're removing this element\n \u002F\u002F so it's possible we need to show slot fallback content now\n checkSlotFallbackVisibility = true;\n if (elm['s-ol']) {\n \u002F\u002F remove the original location comment\n elm['s-ol'].remove();\n }\n else {\n \u002F\u002F it's possible that child nodes of the node\n \u002F\u002F that's being removed are slot nodes\n putBackInOriginalLocation(elm, true);\n }\n }\n \u002F\u002F remove the vnode's element from the dom\n elm.remove();\n }\n }\n};\nconst updateChildren = (parentElm, oldCh, newVNode, newCh) =\u003E {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx \u003C= oldEndIdx && newStartIdx \u003C= newEndIdx) {\n if (oldStartVnode == null) {\n \u002F\u002F Vnode might have been moved left\n oldStartVnode = oldCh[++oldStartIdx];\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newStartVnode)) {\n patch(oldStartVnode, newStartVnode);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (isSameVnode(oldEndVnode, newEndVnode)) {\n patch(oldEndVnode, newEndVnode);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newEndVnode)) {\n \u002F\u002F Vnode moved right\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode);\n parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldEndVnode, newStartVnode)) {\n \u002F\u002F Vnode moved left\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode);\n parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n \u002F\u002F createKeyToOldIdx\n idxInOld = -1;\n if (BUILD.vdomKey) {\n for (i = oldStartIdx; i \u003C= oldEndIdx; ++i) {\n if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {\n idxInOld = i;\n break;\n }\n }\n }\n if (BUILD.vdomKey && idxInOld \u003E= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);\n }\n else {\n patch(elmToMove, newStartVnode);\n oldCh[idxInOld] = undefined;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n \u002F\u002F new element\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n if (BUILD.slotRelocation) {\n parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));\n }\n else {\n oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);\n }\n }\n }\n }\n if (oldStartIdx \u003E oldEndIdx) {\n addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);\n }\n else if (BUILD.updatable && newStartIdx \u003E newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nconst isSameVnode = (vnode1, vnode2) =\u003E {\n \u002F\u002F compare if two vnode to see if they're \"technically\" the same\n \u002F\u002F need to have the same element tag, and same key to be the same\n if (vnode1.$tag$ === vnode2.$tag$) {\n if (BUILD.slotRelocation && vnode1.$tag$ === 'slot') {\n return vnode1.$name$ === vnode2.$name$;\n }\n if (BUILD.vdomKey) {\n return vnode1.$key$ === vnode2.$key$;\n }\n return true;\n }\n return false;\n};\nconst referenceNode = (node) =\u003E {\n \u002F\u002F this node was relocated to a new location in the dom\n \u002F\u002F because of some other component's slot\n \u002F\u002F but we still have an html comment in place of where\n \u002F\u002F it's original location was according to it's original vdom\n return (node && node['s-ol']) || node;\n};\nconst parentReferenceNode = (node) =\u003E (node['s-ol'] ? node['s-ol'] : node).parentNode;\nconst patch = (oldVNode, newVNode) =\u003E {\n const elm = (newVNode.$elm$ = oldVNode.$elm$);\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode.$children$;\n const tag = newVNode.$tag$;\n const text = newVNode.$text$;\n let defaultHolder;\n if (!BUILD.vdomText || text === null) {\n if (BUILD.svg) {\n \u002F\u002F test if we're rendering an svg element, or still rendering nodes inside of one\n \u002F\u002F only add this to the when the compiler sees we're using an svg somewhere\n isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;\n }\n \u002F\u002F element node\n if (BUILD.vdomAttribute || BUILD.reflect) {\n if (BUILD.slot && tag === 'slot')\n ;\n else {\n \u002F\u002F either this is the first render of an element OR it's an update\n \u002F\u002F AND we already know it's possible it could have changed\n \u002F\u002F this updates the element's css classes, attrs, props, listeners, etc.\n updateElement(oldVNode, newVNode, isSvgMode);\n }\n }\n if (BUILD.updatable && oldChildren !== null && newChildren !== null) {\n \u002F\u002F looks like there's child vnodes for both the old and new vnodes\n updateChildren(elm, oldChildren, newVNode, newChildren);\n }\n else if (newChildren !== null) {\n \u002F\u002F no old child vnodes, but there are new child vnodes to add\n if (BUILD.updatable && BUILD.vdomText && oldVNode.$text$ !== null) {\n \u002F\u002F the old vnode was text, so be sure to clear it out\n elm.textContent = '';\n }\n \u002F\u002F add the new vnode children\n addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);\n }\n else if (BUILD.updatable && oldChildren !== null) {\n \u002F\u002F no new child vnodes, but there are old child vnodes to remove\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (BUILD.svg && isSvgMode && tag === 'svg') {\n isSvgMode = false;\n }\n }\n else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm['s-cr'])) {\n \u002F\u002F this element has slotted content\n defaultHolder.parentNode.textContent = text;\n }\n else if (BUILD.vdomText && oldVNode.$text$ !== text) {\n \u002F\u002F update the text content for the text only vnode\n \u002F\u002F and also only if the text is different than before\n elm.data = text;\n }\n};\nconst updateFallbackSlotVisibility = (elm) =\u003E {\n \u002F\u002F tslint:disable-next-line: prefer-const\n let childNodes = elm.childNodes;\n let childNode;\n let i;\n let ilen;\n let j;\n let slotNameAttr;\n let nodeType;\n for (i = 0, ilen = childNodes.length; i \u003C ilen; i++) {\n childNode = childNodes[i];\n if (childNode.nodeType === 1 \u002F* ElementNode *\u002F) {\n if (childNode['s-sr']) {\n \u002F\u002F this is a slot fallback node\n \u002F\u002F get the slot name for this slot reference node\n slotNameAttr = childNode['s-sn'];\n \u002F\u002F by default always show a fallback slot node\n \u002F\u002F then hide it if there are other slots in the light dom\n childNode.hidden = false;\n for (j = 0; j \u003C ilen; j++) {\n if (childNodes[j]['s-hn'] !== childNode['s-hn']) {\n \u002F\u002F this sibling node is from a different component\n nodeType = childNodes[j].nodeType;\n if (slotNameAttr !== '') {\n \u002F\u002F this is a named fallback slot node\n if (nodeType === 1 \u002F* ElementNode *\u002F && slotNameAttr === childNodes[j].getAttribute('slot')) {\n childNode.hidden = true;\n break;\n }\n }\n else {\n \u002F\u002F this is a default fallback slot node\n \u002F\u002F any element or text node (with content)\n \u002F\u002F should hide the default fallback slot node\n if (nodeType === 1 \u002F* ElementNode *\u002F || (nodeType === 3 \u002F* TextNode *\u002F && childNodes[j].textContent.trim() !== '')) {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n }\n \u002F\u002F keep drilling down\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nconst relocateNodes = [];\nconst relocateSlotContent = (elm) =\u003E {\n \u002F\u002F tslint:disable-next-line: prefer-const\n let childNode;\n let node;\n let hostContentNodes;\n let slotNameAttr;\n let relocateNodeData;\n let j;\n let i = 0;\n let childNodes = elm.childNodes;\n let ilen = childNodes.length;\n for (; i \u003C ilen; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && (node = childNode['s-cr'])) {\n \u002F\u002F first got the content reference comment node\n \u002F\u002F then we got it's parent, which is where all the host content is in now\n hostContentNodes = node.parentNode.childNodes;\n slotNameAttr = childNode['s-sn'];\n for (j = hostContentNodes.length - 1; j \u003E= 0; j--) {\n node = hostContentNodes[j];\n if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {\n \u002F\u002F let's do some relocating to its new home\n \u002F\u002F but never relocate a content reference node\n \u002F\u002F that is suppose to always represent the original content location\n if (isNodeLocatedInSlot(node, slotNameAttr)) {\n \u002F\u002F it's possible we've already decided to relocate this node\n relocateNodeData = relocateNodes.find(r =\u003E r.$nodeToRelocate$ === node);\n \u002F\u002F made some changes to slots\n \u002F\u002F let's make sure we also double check\n \u002F\u002F fallbacks are correctly hidden or shown\n checkSlotFallbackVisibility = true;\n node['s-sn'] = node['s-sn'] || slotNameAttr;\n if (relocateNodeData) {\n \u002F\u002F previously we never found a slot home for this node\n \u002F\u002F but turns out we did, so let's remember it now\n relocateNodeData.$slotRefNode$ = childNode;\n }\n else {\n \u002F\u002F add to our list of nodes to relocate\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node,\n });\n }\n if (node['s-sr']) {\n relocateNodes.map(relocateNode =\u003E {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {\n relocateNodeData = relocateNodes.find(r =\u003E r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n }\n else if (!relocateNodes.some(r =\u003E r.$nodeToRelocate$ === node)) {\n \u002F\u002F so far this element does not have a slot home, not setting slotRefNode on purpose\n \u002F\u002F if we never find a home for this element then we'll need to hide it\n relocateNodes.push({\n $nodeToRelocate$: node,\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 \u002F* ElementNode *\u002F) {\n relocateSlotContent(childNode);\n }\n }\n};\nconst isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) =\u003E {\n if (nodeToRelocate.nodeType === 1 \u002F* ElementNode *\u002F) {\n if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {\n return true;\n }\n if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate['s-sn'] === slotNameAttr) {\n return true;\n }\n return slotNameAttr === '';\n};\nconst callNodeRefs = (vNode) =\u003E {\n if (BUILD.vdomRef) {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(callNodeRefs);\n }\n};\nconst renderVdom = (hostRef, renderFnResults) =\u003E {\n const hostElm = hostRef.$hostElement$;\n const cmpMeta = hostRef.$cmpMeta$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n \u002F\u002F \u003CHost\u003E runtime check\n if (BUILD.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) {\n throw new Error(`The \u003CHost\u003E must be the single root component.\nLooks like the render() function of \"${hostTagName.toLowerCase()}\" is returning an array that contains the \u003CHost\u003E.\n\nThe render() function should look like this instead:\n\nrender() {\n \u002F\u002F Do not return an array\n return (\n \u003CHost\u003E{content}\u003C\u002FHost\u003E\n );\n}\n `);\n }\n if (BUILD.reflect && cmpMeta.$attrsToReflect$) {\n rootVnode.$attrs$ = rootVnode.$attrs$ || {};\n cmpMeta.$attrsToReflect$.map(([propName, attribute]) =\u003E (rootVnode.$attrs$[attribute] = hostElm[propName]));\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 \u002F* isHost *\u002F;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = (BUILD.shadowDom ? hostElm.shadowRoot || hostElm : hostElm);\n if (BUILD.scoped || BUILD.shadowDom) {\n scopeId = hostElm['s-sc'];\n }\n if (BUILD.slotRelocation) {\n contentRef = hostElm['s-cr'];\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) !== 0;\n \u002F\u002F always reset\n checkSlotFallbackVisibility = false;\n }\n \u002F\u002F synchronous patch\n patch(oldVNode, rootVnode);\n if (BUILD.slotRelocation) {\n \u002F\u002F while we're moving nodes around existing nodes, temporarily disable\n \u002F\u002F the disconnectCallback from working\n plt.$flags$ |= 1 \u002F* isTmpDisconnected *\u002F;\n if (checkSlotRelocate) {\n relocateSlotContent(rootVnode.$elm$);\n let relocateData;\n let nodeToRelocate;\n let orgLocationNode;\n let parentNodeRef;\n let insertBeforeNode;\n let refNode;\n let i = 0;\n for (; i \u003C relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate['s-ol']) {\n \u002F\u002F add a reference node marking this node's original location\n \u002F\u002F keep a reference to this node for later lookups\n orgLocationNode = BUILD.isDebug || BUILD.hydrateServerSide ? originalLocationDebugNode(nodeToRelocate) : doc.createTextNode('');\n orgLocationNode['s-nr'] = nodeToRelocate;\n nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);\n }\n }\n for (i = 0; i \u003C relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (relocateData.$slotRefNode$) {\n \u002F\u002F by default we're just going to insert it directly\n \u002F\u002F after the slot reference node\n parentNodeRef = relocateData.$slotRefNode$.parentNode;\n insertBeforeNode = relocateData.$slotRefNode$.nextSibling;\n orgLocationNode = nodeToRelocate['s-ol'];\n while ((orgLocationNode = orgLocationNode.previousSibling)) {\n refNode = orgLocationNode['s-nr'];\n if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n if (!refNode || !refNode['s-nr']) {\n insertBeforeNode = refNode;\n break;\n }\n }\n }\n if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) || nodeToRelocate.nextSibling !== insertBeforeNode) {\n \u002F\u002F we've checked that it's worth while to relocate\n \u002F\u002F since that the node to relocate\n \u002F\u002F has a different next sibling or parent relocated\n if (nodeToRelocate !== insertBeforeNode) {\n if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {\n \u002F\u002F probably a component in the index.html that doesn't have it's hostname set\n nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;\n }\n \u002F\u002F add it back to the dom but in its new home\n parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);\n }\n }\n }\n else {\n \u002F\u002F this node doesn't have a slot home to go to, so let's hide it\n if (nodeToRelocate.nodeType === 1 \u002F* ElementNode *\u002F) {\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n \u002F\u002F done moving nodes around\n \u002F\u002F allow the disconnect callback to work again\n plt.$flags$ &= ~1 \u002F* isTmpDisconnected *\u002F;\n \u002F\u002F always reset\n relocateNodes.length = 0;\n }\n};\n\u002F\u002F slot comment debug nodes only created with the `--debug` flag\n\u002F\u002F otherwise these nodes are text nodes w\u002Fout content\nconst slotReferenceDebugNode = (slotVNode) =\u003E doc.createComment(`\u003Cslot${slotVNode.$name$ ? ' name=\"' + slotVNode.$name$ + '\"' : ''}\u003E (host=${hostTagName.toLowerCase()})`);\nconst originalLocationDebugNode = (nodeToRelocate) =\u003E doc.createComment(`org-location for ` + (nodeToRelocate.localName ? `\u003C${nodeToRelocate.localName}\u003E (host=${nodeToRelocate['s-hn']})` : `[${nodeToRelocate.textContent}]`));\nconst getElement = (ref) =\u003E (BUILD.lazyLoad ? getHostRef(ref).$hostElement$ : ref);\nconst createEvent = (ref, name, flags) =\u003E {\n const elm = getElement(ref);\n return {\n emit: (detail) =\u003E {\n if (BUILD.isDev && !elm.isConnected) {\n consoleDevWarn(`The \"${name}\" event was emitted, but the dispatcher node is no longer connected to the dom.`);\n }\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 \u002F* Bubbles *\u002F),\n composed: !!(flags & 2 \u002F* Composed *\u002F),\n cancelable: !!(flags & 1 \u002F* Cancellable *\u002F),\n detail,\n });\n },\n };\n};\nconst emitEvent = (elm, name, opts) =\u003E {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\nconst attachToAncestor = (hostRef, ancestorComponent) =\u003E {\n if (BUILD.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {\n ancestorComponent['s-p'].push(new Promise(r =\u003E (hostRef.$onRenderResolve$ = r)));\n }\n};\nconst scheduleUpdate = (hostRef, isInitialLoad) =\u003E {\n if (BUILD.taskQueue && BUILD.updatable) {\n hostRef.$flags$ |= 16 \u002F* isQueuedForUpdate *\u002F;\n }\n if (BUILD.asyncLoading && hostRef.$flags$ & 4 \u002F* isWaitingForChildren *\u002F) {\n hostRef.$flags$ |= 512 \u002F* needsRerender *\u002F;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n \u002F\u002F there is no ancestorc omponent or the ancestor component\n \u002F\u002F has already fired off its lifecycle update then\n \u002F\u002F fire off the initial update\n const dispatch = () =\u003E dispatchHooks(hostRef, isInitialLoad);\n return BUILD.taskQueue ? writeTask(dispatch) : dispatch;\n};\nconst dispatchHooks = (hostRef, isInitialLoad) =\u003E {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n let promise;\n if (isInitialLoad) {\n if (BUILD.lazyLoad && BUILD.hostListener) {\n hostRef.$flags$ |= 256 \u002F* isListenReady *\u002F;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(([methodName, event]) =\u003E safeCall(instance, methodName, event));\n hostRef.$queuedListeners$ = null;\n }\n }\n emitLifecycleEvent(elm, 'componentWillLoad');\n if (BUILD.cmpWillLoad) {\n promise = safeCall(instance, 'componentWillLoad');\n }\n }\n else {\n emitLifecycleEvent(elm, 'componentWillUpdate');\n if (BUILD.cmpWillUpdate) {\n promise = safeCall(instance, 'componentWillUpdate');\n }\n }\n emitLifecycleEvent(elm, 'componentWillRender');\n if (BUILD.cmpWillRender) {\n promise = then(promise, () =\u003E safeCall(instance, 'componentWillRender'));\n }\n endSchedule();\n return then(promise, () =\u003E updateComponent(hostRef, instance, isInitialLoad));\n};\nconst updateComponent = (hostRef, instance, isInitialLoad) =\u003E {\n \u002F\u002F updateComponent\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);\n const rc = elm['s-rc'];\n if (BUILD.style && isInitialLoad) {\n \u002F\u002F DOM WRITE!\n attachStyles(hostRef);\n }\n const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 \u002F* devOnRender *\u002F;\n }\n if (BUILD.hasRenderFn || BUILD.reflect) {\n if (BUILD.vdomRender || BUILD.reflect) {\n \u002F\u002F looks like we've got child nodes to render into this host element\n \u002F\u002F or we need to update the css class\u002Fattrs on the host element\n \u002F\u002F DOM WRITE!\n renderVdom(hostRef, callRender(hostRef, instance));\n }\n else {\n elm.textContent = callRender(hostRef, instance);\n }\n }\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.updateHost(elm);\n }\n if (BUILD.isDev) {\n hostRef.$renderCount$++;\n hostRef.$flags$ &= ~1024 \u002F* devOnRender *\u002F;\n }\n if (BUILD.hydrateServerSide) {\n try {\n \u002F\u002F manually connected child components during server-side hydrate\n serverSideConnected(elm);\n if (isInitialLoad) {\n \u002F\u002F using only during server-side hydrate\n if (hostRef.$cmpMeta$.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n elm['s-en'] = '';\n }\n else if (hostRef.$cmpMeta$.$flags$ & 2 \u002F* scopedCssEncapsulation *\u002F) {\n elm['s-en'] = 'c';\n }\n }\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (BUILD.asyncLoading && rc) {\n \u002F\u002F ok, so turns out there are some child host elements\n \u002F\u002F waiting on this parent element to load\n \u002F\u002F let's fire off all update callbacks waiting\n rc.map(cb =\u003E cb());\n elm['s-rc'] = undefined;\n }\n endRender();\n endUpdate();\n if (BUILD.asyncLoading) {\n const childrenPromises = elm['s-p'];\n const postUpdate = () =\u003E postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n }\n else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 \u002F* isWaitingForChildren *\u002F;\n childrenPromises.length = 0;\n }\n }\n else {\n postUpdateComponent(hostRef);\n }\n};\nconst callRender = (hostRef, instance) =\u003E {\n \u002F\u002F in order for bundlers to correctly treeshake the BUILD object\n \u002F\u002F we need to ensure BUILD is not deoptimized within a try\u002Fcatch\n \u002F\u002F https:\u002F\u002Frollupjs.org\u002Fguide\u002Fen\u002F#treeshake tryCatchDeoptimization\n const allRenderFn = BUILD.allRenderFn ? true : false;\n const lazyLoad = BUILD.lazyLoad ? true : false;\n const taskQueue = BUILD.taskQueue ? true : false;\n const updatable = BUILD.updatable ? true : false;\n try {\n renderingRef = instance;\n instance = allRenderFn ? instance.render() : instance.render && instance.render();\n if (updatable && taskQueue) {\n hostRef.$flags$ &= ~16 \u002F* isQueuedForUpdate *\u002F;\n }\n if (updatable || lazyLoad) {\n hostRef.$flags$ |= 2 \u002F* hasRendered *\u002F;\n }\n }\n catch (e) {\n consoleError(e);\n }\n renderingRef = null;\n return instance;\n};\nconst getRenderingRef = () =\u003E renderingRef;\nconst postUpdateComponent = (hostRef) =\u003E {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime('postUpdate', tagName);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (BUILD.cmpDidRender) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 \u002F* devOnRender *\u002F;\n }\n safeCall(instance, 'componentDidRender');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 \u002F* devOnRender *\u002F;\n }\n }\n emitLifecycleEvent(elm, 'componentDidRender');\n if (!(hostRef.$flags$ & 64 \u002F* hasLoadedComponent *\u002F)) {\n hostRef.$flags$ |= 64 \u002F* hasLoadedComponent *\u002F;\n if (BUILD.asyncLoading && BUILD.cssAnnotations) {\n \u002F\u002F DOM WRITE!\n addHydratedFlag(elm);\n }\n if (BUILD.cmpDidLoad) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 2048 \u002F* devOnDidLoad *\u002F;\n }\n safeCall(instance, 'componentDidLoad');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~2048 \u002F* devOnDidLoad *\u002F;\n }\n }\n emitLifecycleEvent(elm, 'componentDidLoad');\n endPostUpdate();\n if (BUILD.asyncLoading) {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad(tagName);\n }\n }\n }\n else {\n if (BUILD.cmpDidUpdate) {\n \u002F\u002F we've already loaded this component\n \u002F\u002F fire off the user's componentDidUpdate method (if one was provided)\n \u002F\u002F componentDidUpdate runs AFTER render() has been called\n \u002F\u002F and all child components have finished updating\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 \u002F* devOnRender *\u002F;\n }\n safeCall(instance, 'componentDidUpdate');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 \u002F* devOnRender *\u002F;\n }\n }\n emitLifecycleEvent(elm, 'componentDidUpdate');\n endPostUpdate();\n }\n if (BUILD.hotModuleReplacement) {\n elm['s-hmr-load'] && elm['s-hmr-load']();\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstanceResolve$(elm);\n }\n \u002F\u002F load events fire from bottom to top\n \u002F\u002F the deepest elements load first then bubbles up\n if (BUILD.asyncLoading) {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = undefined;\n }\n if (hostRef.$flags$ & 512 \u002F* needsRerender *\u002F) {\n nextTick(() =\u003E scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 \u002F* isWaitingForChildren *\u002F | 512 \u002F* needsRerender *\u002F);\n }\n \u002F\u002F ( •_•)\n \u002F\u002F ( •_•)\u003E⌐■-■\n \u002F\u002F (⌐■_■)\n};\nconst forceUpdate = (ref) =\u003E {\n if (BUILD.updatable) {\n const hostRef = getHostRef(ref);\n const isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected && (hostRef.$flags$ & (2 \u002F* hasRendered *\u002F | 16 \u002F* isQueuedForUpdate *\u002F)) === 2 \u002F* hasRendered *\u002F) {\n scheduleUpdate(hostRef, false);\n }\n \u002F\u002F Returns \"true\" when the forced update was successfully scheduled\n return isConnected;\n }\n return false;\n};\nconst appDidLoad = (who) =\u003E {\n \u002F\u002F on appload\n \u002F\u002F we have finish the first big initial render\n if (BUILD.cssAnnotations) {\n addHydratedFlag(doc.documentElement);\n }\n if (BUILD.asyncQueue) {\n plt.$flags$ |= 2 \u002F* appLoaded *\u002F;\n }\n nextTick(() =\u003E emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));\n if (BUILD.profile && performance.measure) {\n performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, 'st:app:start');\n }\n};\nconst safeCall = (instance, method, arg) =\u003E {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n }\n catch (e) {\n consoleError(e);\n }\n }\n return undefined;\n};\nconst then = (promise, thenFn) =\u003E {\n return promise && promise.then ? promise.then(thenFn) : thenFn();\n};\nconst emitLifecycleEvent = (elm, lifecycleName) =\u003E {\n if (BUILD.lifecycleDOMEvents) {\n emitEvent(elm, 'stencil_' + lifecycleName, {\n bubbles: true,\n composed: true,\n detail: {\n namespace: NAMESPACE,\n },\n });\n }\n};\nconst addHydratedFlag = (elm) =\u003E (BUILD.hydratedClass ? elm.classList.add('hydrated') : BUILD.hydratedAttribute ? elm.setAttribute('hydrated', '') : undefined);\nconst serverSideConnected = (elm) =\u003E {\n const children = elm.children;\n if (children != null) {\n for (let i = 0, ii = children.length; i \u003C ii; i++) {\n const childElm = children[i];\n if (typeof childElm.connectedCallback === 'function') {\n childElm.connectedCallback();\n }\n serverSideConnected(childElm);\n }\n }\n};\nconst initializeClientHydrate = (hostElm, tagName, hostId, hostRef) =\u003E {\n const endHydrate = createTime('hydrateClient', tagName);\n const shadowRoot = hostElm.shadowRoot;\n const childRenderNodes = [];\n const slotNodes = [];\n const shadowRootNodes = BUILD.shadowDom && shadowRoot ? [] : null;\n const vnode = (hostRef.$vnode$ = newVNode(tagName, null));\n if (!plt.$orgLocNodes$) {\n initializeDocumentHydrate(doc.body, (plt.$orgLocNodes$ = new Map()));\n }\n hostElm[HYDRATE_ID] = hostId;\n hostElm.removeAttribute(HYDRATE_ID);\n clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);\n childRenderNodes.map(c =\u003E {\n const orgLocationId = c.$hostId$ + '.' + c.$nodeId$;\n const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);\n const node = c.$elm$;\n if (orgLocationNode && supportsShadow && orgLocationNode['s-en'] === '') {\n orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);\n }\n if (!shadowRoot) {\n node['s-hn'] = tagName;\n if (orgLocationNode) {\n node['s-ol'] = orgLocationNode;\n node['s-ol']['s-nr'] = node;\n }\n }\n plt.$orgLocNodes$.delete(orgLocationId);\n });\n if (BUILD.shadowDom && shadowRoot) {\n shadowRootNodes.map(shadowRootNode =\u003E {\n if (shadowRootNode) {\n shadowRoot.appendChild(shadowRootNode);\n }\n });\n }\n endHydrate();\n};\nconst clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) =\u003E {\n let childNodeType;\n let childIdSplt;\n let childVNode;\n let i;\n if (node.nodeType === 1 \u002F* ElementNode *\u002F) {\n childNodeType = node.getAttribute(HYDRATE_CHILD_ID);\n if (childNodeType) {\n \u002F\u002F got the node data from the element's attribute\n \u002F\u002F `${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = childNodeType.split('.');\n if (childIdSplt[0] === hostId || childIdSplt[0] === '0') {\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[0],\n $nodeId$: childIdSplt[1],\n $depth$: childIdSplt[2],\n $index$: childIdSplt[3],\n $tag$: node.tagName.toLowerCase(),\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $text$: null,\n };\n childRenderNodes.push(childVNode);\n node.removeAttribute(HYDRATE_CHILD_ID);\n \u002F\u002F this is a new child vnode\n \u002F\u002F so ensure its parent vnode has the vchildren array\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n \u002F\u002F add our child vnode to a specific index of the vnode's children\n parentVNode.$children$[childVNode.$index$] = childVNode;\n \u002F\u002F this is now the new parent vnode for all the next child checks\n parentVNode = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n \u002F\u002F recursively drill down, end to start so we can remove nodes\n for (i = node.childNodes.length - 1; i \u003E= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.childNodes[i], hostId);\n }\n if (node.shadowRoot) {\n \u002F\u002F keep drilling down through the shadow root nodes\n for (i = node.shadowRoot.childNodes.length - 1; i \u003E= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.shadowRoot.childNodes[i], hostId);\n }\n }\n }\n else if (node.nodeType === 8 \u002F* CommentNode *\u002F) {\n \u002F\u002F `${COMMENT_TYPE}.${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[1] === hostId || childIdSplt[1] === '0') {\n \u002F\u002F comment node for either the host id or a 0 host id\n childNodeType = childIdSplt[0];\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[1],\n $nodeId$: childIdSplt[2],\n $depth$: childIdSplt[3],\n $index$: childIdSplt[4],\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $tag$: null,\n $text$: null,\n };\n if (childNodeType === TEXT_NODE_ID) {\n childVNode.$elm$ = node.nextSibling;\n if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 \u002F* TextNode *\u002F) {\n childVNode.$text$ = childVNode.$elm$.textContent;\n childRenderNodes.push(childVNode);\n \u002F\u002F remove the text comment since it's no longer needed\n node.remove();\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n else if (childVNode.$hostId$ === hostId) {\n \u002F\u002F this comment node is specifcally for this host id\n if (childNodeType === SLOT_NODE_ID) {\n \u002F\u002F `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;\n childVNode.$tag$ = 'slot';\n if (childIdSplt[5]) {\n node['s-sn'] = childVNode.$name$ = childIdSplt[5];\n }\n else {\n node['s-sn'] = '';\n }\n node['s-sr'] = true;\n if (BUILD.shadowDom && shadowRootNodes) {\n \u002F\u002F browser support shadowRoot and this is a shadow dom component\n \u002F\u002F create an actual slot element\n childVNode.$elm$ = doc.createElement(childVNode.$tag$);\n if (childVNode.$name$) {\n \u002F\u002F add the slot name attribute\n childVNode.$elm$.setAttribute('name', childVNode.$name$);\n }\n \u002F\u002F insert the new slot element before the slot comment\n node.parentNode.insertBefore(childVNode.$elm$, node);\n \u002F\u002F remove the slot comment since it's not needed for shadow\n node.remove();\n if (childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n slotNodes.push(childVNode);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n }\n else if (childNodeType === CONTENT_REF_ID) {\n \u002F\u002F `${CONTENT_REF_ID}.${hostId}`;\n if (BUILD.shadowDom && shadowRootNodes) {\n \u002F\u002F remove the content ref comment since it's not needed for shadow\n node.remove();\n }\n else if (BUILD.slotRelocation) {\n hostElm['s-cr'] = node;\n node['s-cn'] = true;\n }\n }\n }\n }\n }\n else if (parentVNode && parentVNode.$tag$ === 'style') {\n const vnode = newVNode(null, node.textContent);\n vnode.$elm$ = node;\n vnode.$index$ = '0';\n parentVNode.$children$ = [vnode];\n }\n};\nconst initializeDocumentHydrate = (node, orgLocNodes) =\u003E {\n if (node.nodeType === 1 \u002F* ElementNode *\u002F) {\n let i = 0;\n for (; i \u003C node.childNodes.length; i++) {\n initializeDocumentHydrate(node.childNodes[i], orgLocNodes);\n }\n if (node.shadowRoot) {\n for (i = 0; i \u003C node.shadowRoot.childNodes.length; i++) {\n initializeDocumentHydrate(node.shadowRoot.childNodes[i], orgLocNodes);\n }\n }\n }\n else if (node.nodeType === 8 \u002F* CommentNode *\u002F) {\n const childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[0] === ORG_LOCATION_ID) {\n orgLocNodes.set(childIdSplt[1] + '.' + childIdSplt[2], node);\n node.nodeValue = '';\n \u002F\u002F useful to know if the original location is\n \u002F\u002F the root light-dom of a shadow dom component\n node['s-en'] = childIdSplt[3];\n }\n }\n};\nconst parsePropertyValue = (propValue, propType) =\u003E {\n \u002F\u002F ensure this value is of the correct prop type\n if (propValue != null && !isComplexType(propValue)) {\n if (BUILD.propBoolean && propType & 4 \u002F* Boolean *\u002F) {\n \u002F\u002F per the HTML spec, any string value means it is a boolean true value\n \u002F\u002F but we'll cheat here and say that the string \"false\" is the boolean false\n return propValue === 'false' ? false : propValue === '' || !!propValue;\n }\n if (BUILD.propNumber && propType & 2 \u002F* Number *\u002F) {\n \u002F\u002F force it to be a number\n return parseFloat(propValue);\n }\n if (BUILD.propString && propType & 1 \u002F* String *\u002F) {\n \u002F\u002F could have been passed as a number or boolean\n \u002F\u002F but we still want it as a string\n return String(propValue);\n }\n \u002F\u002F redundant return here for better minification\n return propValue;\n }\n \u002F\u002F not sure exactly what type we want\n \u002F\u002F so no need to change to a different type\n return propValue;\n};\nconst getValue = (ref, propName) =\u003E getHostRef(ref).$instanceValues$.get(propName);\nconst setValue = (ref, propName, newVal, cmpMeta) =\u003E {\n \u002F\u002F check our new property value against our internal value\n const hostRef = getHostRef(ref);\n const elm = BUILD.lazyLoad ? hostRef.$hostElement$ : ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n if ((!BUILD.lazyLoad || !(flags & 8 \u002F* isConstructingInstance *\u002F) || oldVal === undefined) && newVal !== oldVal) {\n \u002F\u002F gadzooks! the property's value has changed!!\n \u002F\u002F set our new value!\n hostRef.$instanceValues$.set(propName, newVal);\n if (BUILD.isDev) {\n if (hostRef.$flags$ & 1024 \u002F* devOnRender *\u002F) {\n consoleDevWarn(`The state\u002Fprop \"${propName}\" changed during rendering. This can potentially lead to infinite-loops and other bugs.`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n else if (hostRef.$flags$ & 2048 \u002F* devOnDidLoad *\u002F) {\n consoleDevWarn(`The state\u002Fprop \"${propName}\" changed during \"componentDidLoad()\", this triggers extra re-renders, try to setup on \"componentWillLoad()\"`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n }\n if (!BUILD.lazyLoad || instance) {\n \u002F\u002F get an array of method names of watch functions to call\n if (BUILD.watchCallback && cmpMeta.$watchers$ && flags & 128 \u002F* isWatchReady *\u002F) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n \u002F\u002F this instance is watching for when this property changed\n watchMethods.map(watchMethodName =\u003E {\n try {\n \u002F\u002F fire off each of the watch methods that are watching this property\n instance[watchMethodName](newVal, oldVal, propName);\n }\n catch (e) {\n consoleError(e);\n }\n });\n }\n }\n if (BUILD.updatable && (flags & (2 \u002F* hasRendered *\u002F | 16 \u002F* isQueuedForUpdate *\u002F)) === 2 \u002F* hasRendered *\u002F) {\n if (BUILD.cmpShouldUpdate && instance.componentShouldUpdate) {\n if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {\n return;\n }\n }\n \u002F\u002F looks like this value actually changed, so we've got work to do!\n \u002F\u002F but only if we've already rendered, otherwise just chill out\n \u002F\u002F queue that we need to do an update, but don't worry about queuing\n \u002F\u002F up millions cuz this function ensures it only runs once\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\nconst proxyComponent = (Cstr, cmpMeta, flags) =\u003E {\n if (BUILD.member && cmpMeta.$members$) {\n if (BUILD.watchCallback && Cstr.watchers) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n \u002F\u002F It's better to have a const than two Object.entries()\n const members = Object.entries(cmpMeta.$members$);\n const prototype = Cstr.prototype;\n members.map(([memberName, [memberFlags]]) =\u003E {\n if ((BUILD.prop || BUILD.state) && (memberFlags & 31 \u002F* Prop *\u002F || ((!BUILD.lazyLoad || flags & 2 \u002F* proxyState *\u002F) && memberFlags & 32 \u002F* State *\u002F))) {\n \u002F\u002F proxyComponent - prop\n Object.defineProperty(prototype, memberName, {\n get() {\n \u002F\u002F proxyComponent, get value\n return getValue(this, memberName);\n },\n set(newValue) {\n if (\n \u002F\u002F only during dev time\n BUILD.isDev &&\n \u002F\u002F we are proxing the instance (not element)\n (flags & 1 \u002F* isElementConstructor *\u002F) === 0 &&\n \u002F\u002F the member is a non-mutable prop\n (memberFlags & (31 \u002F* Prop *\u002F | 1024 \u002F* Mutable *\u002F)) === 31 \u002F* Prop *\u002F) {\n consoleDevWarn(`@Prop() \"${memberName}\" on \"${cmpMeta.$tagName$}\" cannot be modified.\\nFurther information: https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fproperties#prop-mutability`);\n }\n \u002F\u002F proxyComponent, set value\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true,\n });\n }\n else if (BUILD.lazyLoad && BUILD.method && flags & 1 \u002F* isElementConstructor *\u002F && memberFlags & 64 \u002F* Method *\u002F) {\n \u002F\u002F proxyComponent - method\n Object.defineProperty(prototype, memberName, {\n value(...args) {\n const ref = getHostRef(this);\n return ref.$onInstancePromise$.then(() =\u003E ref.$lazyInstance$[memberName](...args));\n },\n });\n }\n });\n if (BUILD.observeAttribute && (!BUILD.lazyLoad || flags & 1 \u002F* isElementConstructor *\u002F)) {\n const attrNameToPropName = new Map();\n prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {\n plt.jmp(() =\u003E {\n const propName = attrNameToPropName.get(attrName);\n this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;\n });\n };\n \u002F\u002F create an array of attributes to observe\n \u002F\u002F and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(([_, m]) =\u003E m[0] & 15 \u002F* HasAttribute *\u002F) \u002F\u002F filter to only keep props that should match attributes\n .map(([propName, m]) =\u003E {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD.reflect && m[0] & 512 \u002F* ReflectAttr *\u002F) {\n cmpMeta.$attrsToReflect$.push([propName, attrName]);\n }\n return attrName;\n });\n }\n }\n return Cstr;\n};\nconst initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =\u003E {\n \u002F\u002F initializeComponent\n if ((BUILD.lazyLoad || BUILD.hydrateServerSide || BUILD.style) && (hostRef.$flags$ & 32 \u002F* hasInitializedComponent *\u002F) === 0) {\n if (BUILD.lazyLoad || BUILD.hydrateClientSide) {\n \u002F\u002F we haven't initialized this element yet\n hostRef.$flags$ |= 32 \u002F* hasInitializedComponent *\u002F;\n \u002F\u002F lazy loaded components\n \u002F\u002F request the component's implementation to be\n \u002F\u002F wired up with the host element\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n \u002F\u002F Await creates a micro-task avoid if possible\n const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for \u003C${cmpMeta.$tagName$}\u003E`);\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD.isDev || BUILD.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD.member && !Cstr.isProxied) {\n \u002F\u002F we'eve never proxied this Constructor before\n \u002F\u002F let's add the getters\u002Fsetters to its prototype before\n \u002F\u002F the first time we create an instance of the implementation\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 \u002F* proxyState *\u002F);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n \u002F\u002F ok, time to construct the instance\n \u002F\u002F but let's keep track of when we start and stop\n \u002F\u002F so that the getters\u002Fsetters don't incorrectly step on data\n if (BUILD.member) {\n hostRef.$flags$ |= 8 \u002F* isConstructingInstance *\u002F;\n }\n \u002F\u002F construct the lazy-loaded component implementation\n \u002F\u002F passing the hostRef is very important during\n \u002F\u002F construction in order to directly wire together the\n \u002F\u002F host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n if (BUILD.member) {\n hostRef.$flags$ &= ~8 \u002F* isConstructingInstance *\u002F;\n }\n if (BUILD.watchCallback) {\n hostRef.$flags$ |= 128 \u002F* isWatchReady *\u002F;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n else {\n \u002F\u002F sync constructor component\n Cstr = elm.constructor;\n hostRef.$flags$ |= 128 \u002F* isWatchReady *\u002F | 32 \u002F* hasInitializedComponent *\u002F;\n }\n if (BUILD.style && Cstr.style) {\n \u002F\u002F this component has styles but we haven't registered them yet\n let style = Cstr.style;\n if (BUILD.mode && typeof style !== 'string') {\n style = style[(hostRef.$modeName$ = computeMode(elm))];\n if (BUILD.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute('s-mode', hostRef.$modeName$);\n }\n }\n const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId)) {\n const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!BUILD.hydrateServerSide && BUILD.shadowDom && BUILD.shadowDomShim && cmpMeta.$flags$ & 8 \u002F* needsShadowDomShim *\u002F) {\n style = await __sc_import_codesandbox_stenciljs('.\u002Fshadow-css-fb1c6168.js').then(m =\u003E m.scopeCss(style, scopeId, false));\n }\n registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F));\n endRegisterStyles();\n }\n }\n }\n \u002F\u002F we've successfully created a lazy instance\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () =\u003E scheduleUpdate(hostRef, true);\n if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) {\n \u002F\u002F this is the intial load and this component it has an ancestor component\n \u002F\u002F but the ancestor component has NOT fired its will update lifecycle yet\n \u002F\u002F so let's just cool our jets and wait for the ancestor to continue first\n \u002F\u002F this will get fired off when the ancestor component\n \u002F\u002F finally gets around to rendering its lazy self\n \u002F\u002F fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n};\nconst fireConnectedCallback = (instance) =\u003E {\n if (BUILD.lazyLoad && BUILD.connectedCallback) {\n safeCall(instance, 'connectedCallback');\n }\n};\nconst connectedCallback = (elm) =\u003E {\n if ((plt.$flags$ & 1 \u002F* isTmpDisconnected *\u002F) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (BUILD.hostListenerTargetParent) {\n \u002F\u002F only run if we have listeners being attached to a parent\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 \u002F* hasConnected *\u002F)) {\n \u002F\u002F first time this component has connected\n hostRef.$flags$ |= 1 \u002F* hasConnected *\u002F;\n let hostId;\n if (BUILD.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n const scopeId = BUILD.mode ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode')) : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId + '-h', scopeId + '-s');\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD.slotRelocation && !hostId) {\n \u002F\u002F initUpdate\n \u002F\u002F if the slot polyfill is required we'll need to put some nodes\n \u002F\u002F in here to act as original content anchors as we move nodes around\n \u002F\u002F host element has been connected to the DOM\n if (BUILD.hydrateServerSide || ((BUILD.slot || BUILD.shadowDom) && cmpMeta.$flags$ & (4 \u002F* hasSlotRelocation *\u002F | 8 \u002F* needsShadowDomShim *\u002F))) {\n setContentReference(elm);\n }\n }\n if (BUILD.asyncLoading) {\n \u002F\u002F find the first ancestor component (if there is one) and register\n \u002F\u002F this component as one of the actively loading child components for its ancestor\n let ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n \u002F\u002F climb up the ancestors looking for the first\n \u002F\u002F component that hasn't finished its lifecycle update yet\n if ((BUILD.hydrateClientSide && ancestorComponent.nodeType === 1 \u002F* ElementNode *\u002F && ancestorComponent.hasAttribute('s-id') && ancestorComponent['s-p']) ||\n ancestorComponent['s-p']) {\n \u002F\u002F we found this components first ancestor component\n \u002F\u002F keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n \u002F\u002F Lazy properties\n \u002F\u002F https:\u002F\u002Fdevelopers.google.com\u002Fweb\u002Ffundamentals\u002Fweb-components\u002Fbest-practices#lazy-properties\n if (BUILD.prop && BUILD.lazyLoad && !BUILD.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) =\u003E {\n if (memberFlags & 31 \u002F* Prop *\u002F && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD.initializeNextTick) {\n \u002F\u002F connectedCallback, taskQueue, initialLoad\n \u002F\u002F angular sets attribute AFTER connectCallback\n \u002F\u002F https:\u002F\u002Fgithub.com\u002Fangular\u002Fangular\u002Fissues\u002F18909\n \u002F\u002F https:\u002F\u002Fgithub.com\u002Fangular\u002Fangular\u002Fissues\u002F19940\n nextTick(() =\u003E initializeComponent(elm, hostRef, cmpMeta));\n }\n else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n \u002F\u002F not the first time this has connected\n \u002F\u002F reattach any event listeners to the host\n \u002F\u002F since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n \u002F\u002F fire off connectedCallback() on component instance\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n endConnected();\n }\n};\nconst setContentReference = (elm) =\u003E {\n \u002F\u002F only required when we're NOT using native shadow dom (slot)\n \u002F\u002F or this browser doesn't support native shadow dom\n \u002F\u002F and this host element was NOT created with SSR\n \u002F\u002F let's pick out the inner content for slot projection\n \u002F\u002F create a node to represent where the original\n \u002F\u002F content was first placed, which is useful later on\n const contentRefElm = (elm['s-cr'] = doc.createComment(BUILD.isDebug ? `content-ref (host=${elm.localName})` : ''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nconst disconnectedCallback = (elm) =\u003E {\n if ((plt.$flags$ & 1 \u002F* isTmpDisconnected *\u002F) === 0) {\n const hostRef = getHostRef(elm);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (BUILD.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map(rmListener =\u003E rmListener());\n hostRef.$rmListeners$ = undefined;\n }\n }\n \u002F\u002F clear CSS var-shim tracking\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n if (BUILD.lazyLoad && BUILD.disconnectedCallback) {\n safeCall(instance, 'disconnectedCallback');\n }\n if (BUILD.cmpDidUnload) {\n safeCall(instance, 'componentDidUnload');\n }\n }\n};\nconst defineCustomElement = (Cstr, compactMeta) =\u003E {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nconst proxyCustomElement = (Cstr, compactMeta) =\u003E {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n cmpMeta.$flags$ |= 8 \u002F* needsShadowDomShim *\u002F;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 \u002F* isElementConstructor *\u002F | 2 \u002F* proxyState *\u002F);\n};\nconst forceModeUpdate = (elm) =\u003E {\n if (BUILD.style && BUILD.mode && !BUILD.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm['s-sc'];\n const scopeId = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId)) {\n registerStyle(scopeId, style, !!(flags & 1 \u002F* shadowDomEncapsulation *\u002F));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + '-h', oldScopeId + '-s');\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\nconst attachShadow = (el) =\u003E {\n if (supportsShadow) {\n el.attachShadow({ mode: 'open' });\n }\n else {\n el.shadowRoot = el;\n }\n};\nconst hmrStart = (elm, cmpMeta, hmrVersionId) =\u003E {\n \u002F\u002F ¯\\_(ツ)_\u002F¯\n const hostRef = getHostRef(elm);\n \u002F\u002F reset state flags to only have been connected\n hostRef.$flags$ = 1 \u002F* hasConnected *\u002F;\n \u002F\u002F TODO\n \u002F\u002F detatch any event listeners that may have been added\n \u002F\u002F because we're not passing an exact event name it'll\n \u002F\u002F remove all of this element's event, which is good\n \u002F\u002F create a callback for when this component finishes hmr\n elm['s-hmr-load'] = () =\u003E {\n \u002F\u002F finished hmr for this element\n delete elm['s-hmr-load'];\n };\n \u002F\u002F re-initialize the component\n initializeComponent(elm, hostRef, cmpMeta, hmrVersionId);\n};\nconst patchCloneNode = (HostElementPrototype) =\u003E {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function (deep) {\n const srcNode = this;\n const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD.slot && !isShadowDom && deep) {\n let i = 0;\n let slotted, nonStencilNode;\n let stencilPrivates = ['s-id', 's-cr', 's-lr', 's-rc', 's-sc', 's-p', 's-cn', 's-sr', 's-sn', 's-hn', 's-ol', 's-nr', 's-si'];\n for (; i \u003C srcNode.childNodes.length; i++) {\n slotted = srcNode.childNodes[i]['s-nr'];\n nonStencilNode = stencilPrivates.every((privateField) =\u003E !srcNode.childNodes[i][privateField]);\n if (slotted) {\n if (BUILD.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n }\n else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nconst patchSlotAppendChild = (HostElementPrototype) =\u003E {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function (newChild) {\n const slotName = (newChild['s-sn'] = getSlotName(newChild));\n const slotNode = getHostSlotNode(this.childNodes, slotName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n return this.__appendChild(newChild);\n };\n};\nconst patchChildSlotNodes = (elm, cmpMeta) =\u003E {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 \u002F* needsShadowDomShim *\u002F) {\n const childNodesFn = elm.__lookupGetter__('childNodes');\n Object.defineProperty(elm, 'children', {\n get() {\n return this.childNodes.map((n) =\u003E n.nodeType === 1);\n },\n });\n Object.defineProperty(elm, 'childElementCount', {\n get() {\n return elm.children.length;\n },\n });\n Object.defineProperty(elm, 'childNodes', {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 \u002F* isTmpDisconnected *\u002F) === 0 && getHostRef(this).$flags$ & 2 \u002F* hasRendered *\u002F) {\n const result = new FakeNodeList();\n for (let i = 0; i \u003C childNodes.length; i++) {\n const slot = childNodes[i]['s-nr'];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n },\n });\n }\n};\nconst getSlotName = (node) =\u003E node['s-sn'] || (node.nodeType === 1 && node.getAttribute('slot')) || '';\nconst getHostSlotNode = (childNodes, slotName) =\u003E {\n let i = 0;\n let childNode;\n for (; i \u003C childNodes.length; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && childNode['s-sn'] === slotName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nconst getHostSlotChildNodes = (n, slotName) =\u003E {\n const childNodes = [n];\n while ((n = n.nextSibling) && n['s-sn'] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\nconst bootstrapLazy = (lazyBundles, options = {}) =\u003E {\n if (BUILD.profile && performance.mark) {\n performance.mark('st:app:start');\n }\n installDevTools();\n const endBootstrap = createTime('bootstrapLazy');\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements = win.customElements;\n const head = doc.head;\n const metaCharset = \u002F*@__PURE__*\u002F head.querySelector('meta[charset]');\n const visibilityStyle = \u002F*@__PURE__*\u002F doc.createElement('style');\n const deferredConnectedCallbacks = [];\n const styles = \u002F*@__PURE__*\u002F doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || '.\u002F', doc.baseURI).href;\n if (BUILD.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 \u002F* queueSync *\u002F;\n }\n }\n if (BUILD.hydrateClientSide) {\n \u002F\u002F If the app is already hydrated there is not point to disable the\n \u002F\u002F async queue. This will improve the first input delay\n plt.$flags$ |= 2 \u002F* appLoaded *\u002F;\n }\n if (BUILD.hydrateClientSide && BUILD.shadowDom) {\n for (; i \u003C styles.length; i++) {\n registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);\n }\n }\n lazyBundles.map(lazyBundle =\u003E lazyBundle[1].map(compactMeta =\u003E {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = {};\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n cmpMeta.$flags$ |= 8 \u002F* needsShadowDomShim *\u002F;\n }\n const tagName = BUILD.transformTagName && options.transformTagName ? options.transformTagName(cmpMeta.$tagName$) : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n \u002F\u002F StencilLazyHost\n constructor(self) {\n \u002F\u002F @ts-ignore\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD.shadowDom && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n \u002F\u002F this component is using shadow dom\n \u002F\u002F and this browser supports shadow dom\n \u002F\u002F add the read-only property \"shadowRoot\" to the host element\n \u002F\u002F adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n self.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 \u002F* shadowDelegatesFocus *\u002F),\n });\n }\n else {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n if (BUILD.slotChildNodesFix) {\n patchChildSlotNodes(self, cmpMeta);\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n \u002F\u002F connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(() =\u003E connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() =\u003E disconnectedCallback(this));\n }\n forceUpdate() {\n if (BUILD.isDev) {\n consoleDevWarn(`element.forceUpdate() is deprecated, use the \"forceUpdate\" function from \"@stencil\u002Fcore\" instead:\n\n import { forceUpdate } from ‘@stencil\u002Fcore’;\n\n forceUpdate(this);\n forceUpdate(element);`);\n }\n forceUpdate(this);\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD.hotModuleReplacement) {\n HostElement.prototype['s-hmr'] = function (hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 \u002F* isElementConstructor *\u002F));\n }\n }));\n if (BUILD.hydratedClass || BUILD.hydratedAttribute) {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n \u002F\u002F Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map(host =\u003E host.connectedCallback());\n }\n else {\n if (BUILD.profile) {\n plt.jmp(() =\u003E (appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')));\n }\n else {\n plt.jmp(() =\u003E (appLoadFallback = setTimeout(appDidLoad, 30)));\n }\n }\n \u002F\u002F Fallback appLoad event\n endBootstrap();\n};\nconst getAssetPath = (path) =\u003E {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nconst setAssetPath = (path) =\u003E (plt.$resourcesUrl$ = path);\nconst getConnect = (_ref, tagName) =\u003E {\n const componentOnReady = () =\u003E {\n let elm = doc.querySelector(tagName);\n if (!elm) {\n elm = doc.createElement(tagName);\n doc.body.appendChild(elm);\n }\n return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm);\n };\n const create = (...args) =\u003E {\n return componentOnReady().then(el =\u003E el.create(...args));\n };\n return {\n create,\n componentOnReady,\n };\n};\nconst getContext = (_elm, context) =\u003E {\n if (context in Context) {\n return Context[context];\n }\n else if (context === 'window') {\n return win;\n }\n else if (context === 'document') {\n return doc;\n }\n else if (context === 'isServer' || context === 'isPrerender') {\n return BUILD.hydrateServerSide ? true : false;\n }\n else if (context === 'isClient') {\n return BUILD.hydrateServerSide ? false : true;\n }\n else if (context === 'resourcesUrl' || context === 'publicPath') {\n return getAssetPath('.');\n }\n else if (context === 'queue') {\n return {\n write: writeTask,\n read: readTask,\n tick: {\n then(cb) {\n return nextTick(cb);\n },\n },\n };\n }\n return undefined;\n};\nconst insertVdomAnnotations = (doc, staticComponents) =\u003E {\n if (doc != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents),\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);\n orgLocationNodes.forEach(orgLocationNode =\u003E {\n if (orgLocationNode != null) {\n const nodeRef = orgLocationNode['s-nr'];\n let hostId = nodeRef['s-host-id'];\n let nodeId = nodeRef['s-node-id'];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 \u002F* ElementNode *\u002F) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (nodeRef.nodeType === 3 \u002F* TextNode *\u002F) {\n if (hostId === 0) {\n const textContent = nodeRef.nodeValue.trim();\n if (textContent === '') {\n \u002F\u002F useless whitespace node at the document root\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode['s-en'] === '') {\n \u002F\u002F ending with a \".\" means that the parent element\n \u002F\u002F of this node's original location is a SHADOW dom element\n \u002F\u002F and this node is apart of the root level light dom\n orgLocationNodeId += `.`;\n }\n else if (orgLocationParentNode['s-en'] === 'c') {\n \u002F\u002F ending with a \".c\" means that the parent element\n \u002F\u002F of this node's original location is a SCOPED element\n \u002F\u002F and this node is apart of the root level light dom\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nconst parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) =\u003E {\n if (node == null) {\n return;\n }\n if (node['s-nr'] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 \u002F* ElementNode *\u002F) {\n node.childNodes.forEach(childNode =\u003E {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0,\n };\n insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes);\n });\n }\n};\nconst insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) =\u003E {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm['s-cr'] != null) {\n hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) =\u003E {\n insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute('c-id')) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find(node =\u003E node.nodeType === 8 \u002F* CommentNode *\u002F && node['s-sr']);\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(HYDRATE_CHILD_ID, `${comment['s-host-id']}.${comment['s-node-id']}.0.${index}`);\n }\n }\n }\n }\n};\nconst insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) =\u003E {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm['s-host-id'] = hostId;\n childElm['s-node-id'] = nodeId;\n if (childElm.nodeType === 1 \u002F* ElementNode *\u002F) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (childElm.nodeType === 3 \u002F* TextNode *\u002F) {\n const parentNode = childElm.parentNode;\n if (parentNode.nodeName !== 'STYLE') {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc.createComment(textNodeId);\n parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n }\n else if (childElm.nodeType === 8 \u002F* CommentNode *\u002F) {\n if (childElm['s-sr']) {\n const slotName = childElm['s-sn'] || '';\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index) =\u003E {\n insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index);\n });\n }\n};\nconst hostRefs = new WeakMap();\nconst getHostRef = (ref) =\u003E hostRefs.get(ref);\nconst registerInstance = (lazyInstance, hostRef) =\u003E hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);\nconst registerHost = (elm, cmpMeta) =\u003E {\n const hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n if (BUILD.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise(r =\u003E (hostRef.$onInstanceResolve$ = r));\n }\n if (BUILD.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise(r =\u003E (hostRef.$onReadyResolve$ = r));\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(elm, hostRef);\n};\nconst isMemberInElement = (elm, memberName) =\u003E memberName in elm;\nconst STENCIL_DEV_MODE = BUILD.isTesting\n ? ['STENCIL:'] \u002F\u002F E2E testing\n : ['%cstencil', 'color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px'];\nconst consoleDevError = (...m) =\u003E console.error(...STENCIL_DEV_MODE, ...m);\nconst consoleDevWarn = (...m) =\u003E console.warn(...STENCIL_DEV_MODE, ...m);\nconst consoleDevInfo = (...m) =\u003E console.info(...STENCIL_DEV_MODE, ...m);\nconst consoleError = (e) =\u003E console.error(e);\nconst cmpModules = \u002F*@__PURE__*\u002F new Map();\nconst loadModule = (cmpMeta, hostRef, hmrVersionId) =\u003E {\n \u002F\u002F loadModuleImport\n const exportName = cmpMeta.$tagName$.replace(\u002F-\u002Fg, '_');\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD.isDev && typeof bundleId !== 'string') {\n consoleDevError(`Trying to lazily load component \u003C${cmpMeta.$tagName$}\u003E with style mode \"${hostRef.$modeName$}\", but it does not exist.`);\n return undefined;\n }\n const module = !BUILD.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n return __sc_import_codesandbox_stenciljs(\n \u002F* webpackInclude: \u002F\\.entry\\.js$\u002F *\u002F\n \u002F* webpackExclude: \u002F\\.system\\.entry\\.js$\u002F *\u002F\n \u002F* webpackMode: \"lazy\" *\u002F\n `.\u002F${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then(importedModule =\u003E {\n if (!BUILD.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nconst styles = new Map();\nconst modeResolutionChain = [];\nconst queueDomReads = [];\nconst queueDomWrites = [];\nconst queueDomWritesLow = [];\nconst queueTask = (queue, write) =\u003E (cb) =\u003E {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 \u002F* queueSync *\u002F) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n};\nconst consume = (queue) =\u003E {\n for (let i = 0; i \u003C queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nconst consumeTimeout = (queue, timeout) =\u003E {\n let i = 0;\n let ts = 0;\n while (i \u003C queue.length && (ts = performance.now()) \u003C timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nconst flush = () =\u003E {\n if (BUILD.asyncQueue) {\n queueCongestion++;\n }\n \u002F\u002F always force a bunch of medium callbacks to run, but still have\n \u002F\u002F a throttle on how many can run in a certain time\n \u002F\u002F DOM READS!!!\n consume(queueDomReads);\n \u002F\u002F DOM WRITES!!!\n if (BUILD.asyncQueue) {\n const timeout = (plt.$flags$ & 6 \u002F* queueMask *\u002F) === 2 \u002F* appLoaded *\u002F ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 \u002F 10.0)) : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length \u003E 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length \u003E 0)) {\n \u002F\u002F still more to do yet, but we've run out of time\n \u002F\u002F let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n else {\n consume(queueDomWrites);\n if ((queuePending = queueDomReads.length \u003E 0)) {\n \u002F\u002F still more to do yet, but we've run out of time\n \u002F\u002F let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n }\n};\nconst nextTick = \u002F*@__PURE__*\u002F (cb) =\u003E promiseResolve().then(cb);\nconst readTask = \u002F*@__PURE__*\u002F queueTask(queueDomReads, false);\nconst writeTask = \u002F*@__PURE__*\u002F queueTask(queueDomWrites, true);\nconst Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false,\n};\n\nexport { BUILD as B, CSS as C, H, NAMESPACE as N, promiseResolve as a, bootstrapLazy as b, consoleDevInfo as c, doc as d, h, plt as p, registerInstance as r, win as w };\n","directory_shortid":"HkldwVBszI","id":"fb7d67b9-12b4-4024-8594-acf2feac1e7e","inserted_at":"2020-10-30T22:01:40","is_binary":null,"sha":null,"shortid":"m6XPp","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"index-1831826d.js","updated_at":"2020-11-01T13:52:47","upload_id":null},{"code":"const NAMESPACE = 'codesandbox-stenciljs';\nconst BUILD = \u002F* codesandbox-stenciljs *\u002F { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: false, cssAnnotations: true, cssVarShim: true, devTools: true, disconnectedCallback: false, dynamicImportShim: true, element: false, event: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: true, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: true, isDebug: false, isDev: true, isTesting: false, lazyLoad: true, lifecycle: false, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: false, profile: true, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: false, reflect: false, safari10: true, scoped: false, scriptDataOpts: true, shadowDelegatesFocus: false, shadowDom: true, shadowDomShim: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: false, vdomFunctional: false, vdomKey: false, vdomListener: true, vdomPropOrAttr: false, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };\n\nlet scopeId;\nlet contentRef;\nlet hostTagName;\nlet i = 0;\nlet useNativeShadowDom = false;\nlet checkSlotFallbackVisibility = false;\nlet checkSlotRelocate = false;\nlet isSvgMode = false;\nlet renderingRef = null;\nlet queueCongestion = 0;\nlet queuePending = false;\nconst win = typeof window !== 'undefined' ? window : {};\nconst CSS = BUILD.cssVarShim ? win.CSS : null;\nconst doc = win.document || { head: {} };\nconst H = (win.HTMLElement || class {\n});\nconst plt = {\n $flags$: 0,\n $resourcesUrl$: '',\n jmp: h =\u003E h(),\n raf: h =\u003E requestAnimationFrame(h),\n ael: (el, eventName, listener, opts) =\u003E el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) =\u003E el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) =\u003E new CustomEvent(eventName, opts),\n};\nconst supportsShadow = BUILD.shadowDomShim && BUILD.shadowDom ? \u002F*@__PURE__*\u002F (() =\u003E (doc.head.attachShadow + '').indexOf('[native') \u003E -1)() : true;\nconst supportsListenerOptions = \u002F*@__PURE__*\u002F (() =\u003E {\n let supportsListenerOptions = false;\n try {\n doc.addEventListener('e', null, Object.defineProperty({}, 'passive', {\n get() {\n supportsListenerOptions = true;\n },\n }));\n }\n catch (e) { }\n return supportsListenerOptions;\n})();\nconst promiseResolve = (v) =\u003E Promise.resolve(v);\nconst supportsConstructibleStylesheets = BUILD.constructableCSS\n ? \u002F*@__PURE__*\u002F (() =\u003E {\n try {\n new CSSStyleSheet();\n return true;\n }\n catch (e) { }\n return false;\n })()\n : false;\nconst Context = {};\nconst addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) =\u003E {\n if (BUILD.hostListener && listeners) {\n \u002F\u002F this is called immediately within the element's constructor\n \u002F\u002F initialize our event listeners on the host element\n \u002F\u002F we do this now so that we can listen to events that may\n \u002F\u002F have fired even before the instance is ready\n if (BUILD.hostListenerTargetParent) {\n \u002F\u002F this component may have event listeners that should be attached to the parent\n if (attachParentListeners) {\n \u002F\u002F this is being ran from within the connectedCallback\n \u002F\u002F which is important so that we know the host element actually has a parent element\n \u002F\u002F filter out the listeners to only have the ones that ARE being attached to the parent\n listeners = listeners.filter(([flags]) =\u003E flags & 16 \u002F* TargetParent *\u002F);\n }\n else {\n \u002F\u002F this is being ran from within the component constructor\n \u002F\u002F everything BUT the parent element listeners should be attached at this time\n \u002F\u002F filter out the listeners that are NOT being attached to the parent\n listeners = listeners.filter(([flags]) =\u003E !(flags & 16 \u002F* TargetParent *\u002F));\n }\n }\n listeners.map(([flags, name, method]) =\u003E {\n const target = BUILD.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm;\n const handler = hostListenerProxy(hostRef, method);\n const opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() =\u003E plt.rel(target, name, handler, opts));\n });\n }\n};\nconst hostListenerProxy = (hostRef, methodName) =\u003E (ev) =\u003E {\n if (BUILD.lazyLoad) {\n if (hostRef.$flags$ & 256 \u002F* isListenReady *\u002F) {\n \u002F\u002F instance is ready, let's call it's member method for this event\n hostRef.$lazyInstance$[methodName](ev);\n }\n else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n }\n else {\n hostRef.$hostElement$[methodName](ev);\n }\n};\nconst getHostListenerTarget = (elm, flags) =\u003E {\n if (BUILD.hostListenerTargetDocument && flags & 4 \u002F* TargetDocument *\u002F)\n return doc;\n if (BUILD.hostListenerTargetWindow && flags & 8 \u002F* TargetWindow *\u002F)\n return win;\n if (BUILD.hostListenerTargetBody && flags & 32 \u002F* TargetBody *\u002F)\n return doc.body;\n if (BUILD.hostListenerTargetParent && flags & 16 \u002F* TargetParent *\u002F)\n return elm.parentElement;\n return elm;\n};\n\u002F\u002F prettier-ignore\nconst hostListenerOpts = (flags) =\u003E supportsListenerOptions\n ? ({\n passive: (flags & 1 \u002F* Passive *\u002F) !== 0,\n capture: (flags & 2 \u002F* Capture *\u002F) !== 0,\n })\n : (flags & 2 \u002F* Capture *\u002F) !== 0;\nconst CONTENT_REF_ID = 'r';\nconst ORG_LOCATION_ID = 'o';\nconst SLOT_NODE_ID = 's';\nconst TEXT_NODE_ID = 't';\nconst HYDRATE_ID = 's-id';\nconst HYDRATED_STYLE_ID = 'sty-id';\nconst HYDRATE_CHILD_ID = 'c-id';\nconst HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';\nconst XLINK_NS = 'http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxlink';\nconst createTime = (fnName, tagName = '') =\u003E {\n if (BUILD.profile && performance.mark) {\n const key = `st:${fnName}:${tagName}:${i++}`;\n \u002F\u002F Start\n performance.mark(key);\n \u002F\u002F End\n return () =\u003E performance.measure(`[Stencil] ${fnName}() \u003C${tagName}\u003E`, key);\n }\n else {\n return () =\u003E {\n return;\n };\n }\n};\nconst uniqueTime = (key, measureText) =\u003E {\n if (BUILD.profile && performance.mark) {\n if (performance.getEntriesByName(key).length === 0) {\n performance.mark(key);\n }\n return () =\u003E {\n if (performance.getEntriesByName(measureText).length === 0) {\n performance.measure(measureText, key);\n }\n };\n }\n else {\n return () =\u003E {\n return;\n };\n }\n};\nconst inspect = (ref) =\u003E {\n const hostRef = getHostRef(ref);\n if (!hostRef) {\n return undefined;\n }\n const flags = hostRef.$flags$;\n const hostElement = hostRef.$hostElement$;\n return {\n renderCount: hostRef.$renderCount$,\n flags: {\n hasRendered: !!(flags & 2 \u002F* hasRendered *\u002F),\n hasConnected: !!(flags & 1 \u002F* hasConnected *\u002F),\n isWaitingForChildren: !!(flags & 4 \u002F* isWaitingForChildren *\u002F),\n isConstructingInstance: !!(flags & 8 \u002F* isConstructingInstance *\u002F),\n isQueuedForUpdate: !!(flags & 16 \u002F* isQueuedForUpdate *\u002F),\n hasInitializedComponent: !!(flags & 32 \u002F* hasInitializedComponent *\u002F),\n hasLoadedComponent: !!(flags & 64 \u002F* hasLoadedComponent *\u002F),\n isWatchReady: !!(flags & 128 \u002F* isWatchReady *\u002F),\n isListenReady: !!(flags & 256 \u002F* isListenReady *\u002F),\n needsRerender: !!(flags & 512 \u002F* needsRerender *\u002F),\n },\n instanceValues: hostRef.$instanceValues$,\n ancestorComponent: hostRef.$ancestorComponent$,\n hostElement,\n lazyInstance: hostRef.$lazyInstance$,\n vnode: hostRef.$vnode$,\n modeName: hostRef.$modeName$,\n onReadyPromise: hostRef.$onReadyPromise$,\n onReadyResolve: hostRef.$onReadyResolve$,\n onInstancePromise: hostRef.$onInstancePromise$,\n onInstanceResolve: hostRef.$onInstanceResolve$,\n onRenderResolve: hostRef.$onRenderResolve$,\n queuedListeners: hostRef.$queuedListeners$,\n rmListeners: hostRef.$rmListeners$,\n ['s-id']: hostElement['s-id'],\n ['s-cr']: hostElement['s-cr'],\n ['s-lr']: hostElement['s-lr'],\n ['s-p']: hostElement['s-p'],\n ['s-rc']: hostElement['s-rc'],\n ['s-sc']: hostElement['s-sc'],\n };\n};\nconst installDevTools = () =\u003E {\n if (BUILD.devTools) {\n const stencil = (win.stencil = win.stencil || {});\n const originalInspect = stencil.inspect;\n stencil.inspect = (ref) =\u003E {\n let result = inspect(ref);\n if (!result && typeof originalInspect === 'function') {\n result = originalInspect(ref);\n }\n return result;\n };\n }\n};\nconst rootAppliedStyles = new WeakMap();\nconst registerStyle = (scopeId, cssText, allowCS) =\u003E {\n let style = styles.get(scopeId);\n if (supportsConstructibleStylesheets && allowCS) {\n style = (style || new CSSStyleSheet());\n style.replace(cssText);\n }\n else {\n style = cssText;\n }\n styles.set(scopeId, style);\n};\nconst addStyle = (styleContainerNode, cmpMeta, mode, hostElm) =\u003E {\n let scopeId = getScopeId(cmpMeta, mode);\n let style = styles.get(scopeId);\n if (!BUILD.attachStyles) {\n return scopeId;\n }\n \u002F\u002F if an element is NOT connected then getRootNode() will return the wrong root node\n \u002F\u002F so the fallback is to always use the document for the root node in those cases\n styleContainerNode = styleContainerNode.nodeType === 11 \u002F* DocumentFragment *\u002F ? styleContainerNode : doc;\n if (style) {\n if (typeof style === 'string') {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));\n }\n if (!appliedStyles.has(scopeId)) {\n if (BUILD.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}=\"${scopeId}\"]`))) {\n \u002F\u002F This is only happening on native shadow-dom, do not needs CSS var shim\n styleElm.innerHTML = style;\n }\n else {\n if (BUILD.cssVarShim && plt.$cssShim$) {\n styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style, !!(cmpMeta.$flags$ & 10 \u002F* needsScopedEncapsulation *\u002F));\n const newScopeId = styleElm['s-sc'];\n if (newScopeId) {\n scopeId = newScopeId;\n \u002F\u002F we don't want to add this styleID to the appliedStyles Set\n \u002F\u002F since the cssVarShim might need to apply several different\n \u002F\u002F stylesheets for the same component\n appliedStyles = null;\n }\n }\n else {\n styleElm = doc.createElement('style');\n styleElm.innerHTML = style;\n }\n if (BUILD.hydrateServerSide || BUILD.hotModuleReplacement) {\n styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId);\n }\n styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId);\n }\n }\n }\n else if (BUILD.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId;\n};\nconst attachStyles = (hostRef) =\u003E {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const flags = cmpMeta.$flags$;\n const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);\n const scopeId = addStyle(BUILD.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$, elm);\n if ((BUILD.shadowDom || BUILD.scoped) && BUILD.cssAnnotations && flags & 10 \u002F* needsScopedEncapsulation *\u002F) {\n \u002F\u002F only required when we're NOT using native shadow dom (slot)\n \u002F\u002F or this browser doesn't support native shadow dom\n \u002F\u002F and this host element was NOT created with SSR\n \u002F\u002F let's pick out the inner content for slot projection\n \u002F\u002F create a node to represent where the original\n \u002F\u002F content was first placed, which is useful later on\n \u002F\u002F DOM WRITE!!\n elm['s-sc'] = scopeId;\n elm.classList.add(scopeId + '-h');\n if (BUILD.scoped && flags & 2 \u002F* scopedCssEncapsulation *\u002F) {\n elm.classList.add(scopeId + '-s');\n }\n }\n endAttachStyles();\n};\nconst getScopeId = (cmp, mode) =\u003E 'sc-' + (BUILD.mode && mode && cmp.$flags$ & 32 \u002F* hasMode *\u002F ? cmp.$tagName$ + '-' + mode : cmp.$tagName$);\nconst convertScopedToShadow = (css) =\u003E css.replace(\u002F\\\u002F\\*!@([^\\\u002F]+)\\*\\\u002F[^\\{]+\\{\u002Fg, '$1{');\n\u002F\u002F Private\nconst computeMode = (elm) =\u003E modeResolutionChain.map(h =\u003E h(elm)).find(m =\u003E !!m);\n\u002F\u002F Public\nconst setMode = (handler) =\u003E modeResolutionChain.push(handler);\nconst getMode = (ref) =\u003E getHostRef(ref).$modeName$;\n\u002F**\n * Default style mode id\n *\u002F\n\u002F**\n * Reusable empty obj\u002Farray\n * Don't add values to these!!\n *\u002F\nconst EMPTY_OBJ = {};\n\u002F**\n * Namespaces\n *\u002F\nconst SVG_NS = 'http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg';\nconst HTML_NS = 'http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml';\nconst isDef = (v) =\u003E v != null;\nconst noop = () =\u003E {\n \u002F* noop*\u002F\n};\nconst isComplexType = (o) =\u003E {\n \u002F\u002F https:\u002F\u002Fjsperf.com\u002Ftypeof-fn-object\u002F5\n o = typeof o;\n return o === 'object' || o === 'function';\n};\nconst IS_DENO_ENV = typeof Deno !== 'undefined';\nconst IS_NODE_ENV = !IS_DENO_ENV &&\n typeof global !== 'undefined' &&\n typeof require === 'function' &&\n !!global.process &&\n typeof __filename === 'string' &&\n (!global.origin || typeof global.origin !== 'string');\nconst IS_DENO_WINDOWS_ENV = IS_DENO_ENV && Deno.build.os === 'windows';\nconst getCurrentDirectory = IS_NODE_ENV ? process.cwd : IS_DENO_ENV ? Deno.cwd : () =\u003E '\u002F';\nconst exit = IS_NODE_ENV ? process.exit : IS_DENO_ENV ? Deno.exit : noop;\n\u002F**\n * Production h() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https:\u002F\u002Fgithub.com\u002Fdevelopit\u002Fpreact\u002Fblob\u002Fmaster\u002FLICENSE\n *\n * Modified for Stencil's compiler and vdom\n *\u002F\n\u002F\u002F const stack: any[] = [];\n\u002F\u002F export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;\n\u002F\u002F export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;\nconst h = (nodeName, vnodeData, ...children) =\u003E {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n let vNodeChildren = [];\n const walk = (c) =\u003E {\n for (let i = 0; i \u003C c.length; i++) {\n child = c[i];\n if (Array.isArray(child)) {\n walk(child);\n }\n else if (child != null && typeof child !== 'boolean') {\n if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {\n child = String(child);\n }\n else if (BUILD.isDev && typeof nodeName !== 'function' && child.$flags$ === undefined) {\n consoleDevError(`vNode passed as children has unexpected type.\nMake sure it's using the correct h() function.\nEmpty objects can also be the cause, look for JSX comments that became objects.`);\n }\n if (simple && lastSimple) {\n \u002F\u002F If the previous child was simple (string), we merge both\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n }\n else {\n \u002F\u002F Append a new vNode, if it's text, we create a text vNode\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (BUILD.isDev && nodeName === 'input') {\n validateInputProperties(vnodeData);\n }\n \u002F\u002F normalize class \u002F classname attributes\n if (BUILD.vdomKey && vnodeData.key) {\n key = vnodeData.key;\n }\n if (BUILD.slotRelocation && vnodeData.name) {\n slotName = vnodeData.name;\n }\n if (BUILD.vdomClass) {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class =\n typeof classData !== 'object'\n ? classData\n : Object.keys(classData)\n .filter(k =\u003E classData[k])\n .join(' ');\n }\n }\n }\n if (BUILD.isDev && vNodeChildren.some(isHost)) {\n consoleDevError(`The \u003CHost\u003E must be the single root component. Make sure:\n- You are NOT using hostData() and \u003CHost\u003E in the same component.\n- \u003CHost\u003E is used once, and it's the single root component of the render() function.`);\n }\n if (BUILD.vdomFunctional && typeof nodeName === 'function') {\n \u002F\u002F nodeName is a functional component\n return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length \u003E 0) {\n vnode.$children$ = vNodeChildren;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = key;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nconst newVNode = (tag, text) =\u003E {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null,\n };\n if (BUILD.vdomAttribute) {\n vnode.$attrs$ = null;\n }\n if (BUILD.vdomKey) {\n vnode.$key$ = null;\n }\n if (BUILD.slotRelocation) {\n vnode.$name$ = null;\n }\n return vnode;\n};\nconst Host = {};\nconst isHost = (node) =\u003E node && node.$tag$ === Host;\nconst vdomFnUtils = {\n forEach: (children, cb) =\u003E children.map(convertToPublic).forEach(cb),\n map: (children, cb) =\u003E children\n .map(convertToPublic)\n .map(cb)\n .map(convertToPrivate),\n};\nconst convertToPublic = (node) =\u003E ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$,\n});\nconst convertToPrivate = (node) =\u003E {\n if (typeof node.vtag === 'function') {\n const vnodeData = Object.assign({}, node.vattrs);\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...node.vchildren || []);\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nconst validateInputProperties = (vnodeData) =\u003E {\n const props = Object.keys(vnodeData);\n const typeIndex = props.indexOf('type');\n const minIndex = props.indexOf('min');\n const maxIndex = props.indexOf('max');\n const stepIndex = props.indexOf('min');\n const value = props.indexOf('value');\n if (value === -1) {\n return;\n }\n if (value \u003C typeIndex || value \u003C minIndex || value \u003C maxIndex || value \u003C stepIndex) {\n consoleDevWarn(`The \"value\" prop of \u003Cinput\u003E should be set after \"min\", \"max\", \"type\" and \"step\"`);\n }\n};\n\u002F**\n * Production setAccessor() function based on Preact by\n * Jason Miller (@developit)\n * Licensed under the MIT License\n * https:\u002F\u002Fgithub.com\u002Fdevelopit\u002Fpreact\u002Fblob\u002Fmaster\u002FLICENSE\n *\n * Modified for Stencil's compiler and vdom\n *\u002F\nconst setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) =\u003E {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (BUILD.vdomClass && memberName === 'class') {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter(c =\u003E c && !newClasses.includes(c)));\n classList.add(...newClasses.filter(c =\u003E c && !oldClasses.includes(c)));\n }\n else if (BUILD.vdomStyle && memberName === 'style') {\n \u002F\u002F update style attribute, css properties and values\n if (BUILD.updatable) {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.removeProperty(prop);\n }\n else {\n elm.style[prop] = '';\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (!BUILD.hydrateServerSide && prop.includes('-')) {\n elm.style.setProperty(prop, newValue[prop]);\n }\n else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n }\n else if (BUILD.vdomKey && memberName === 'key')\n ;\n else if (BUILD.vdomRef && memberName === 'ref') {\n \u002F\u002F minifier will clean this up\n if (newValue) {\n newValue(elm);\n }\n }\n else if (BUILD.vdomListener && (BUILD.lazyLoad ? !isProp : !elm.__lookupSetter__(memberName)) && memberName[0] === 'o' && memberName[1] === 'n') {\n \u002F\u002F Event Handlers\n \u002F\u002F so if the member name starts with \"on\" and the 3rd characters is\n \u002F\u002F a capital letter, and it's not already a member on the element,\n \u002F\u002F then we're assuming it's an event listener\n if (memberName[2] === '-') {\n \u002F\u002F on- prefixed events\n \u002F\u002F allows to be explicit about the dom event to listen without any magic\n \u002F\u002F under the hood:\n \u002F\u002F \u003Cmy-cmp on-click\u003E \u002F\u002F listens for \"click\"\n \u002F\u002F \u003Cmy-cmp on-Click\u003E \u002F\u002F listens for \"Click\"\n \u002F\u002F \u003Cmy-cmp on-ionChange\u003E \u002F\u002F listens for \"ionChange\"\n \u002F\u002F \u003Cmy-cmp on-EVENTS\u003E \u002F\u002F listens for \"EVENTS\"\n memberName = memberName.slice(3);\n }\n else if (isMemberInElement(win, ln)) {\n \u002F\u002F standard event\n \u002F\u002F the JSX attribute could have been \"onMouseOver\" and the\n \u002F\u002F member name \"onmouseover\" is on the window's prototype\n \u002F\u002F so let's add the listener \"mouseover\", which is all lowercased\n memberName = ln.slice(2);\n }\n else {\n \u002F\u002F custom event\n \u002F\u002F the JSX attribute could have been \"onMyCustomEvent\"\n \u002F\u002F so let's trim off the \"on\" prefix and lowercase the first character\n \u002F\u002F and add the listener \"myCustomEvent\"\n \u002F\u002F except for the first character, we keep the event name case\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, false);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, false);\n }\n }\n else if (BUILD.vdomPropOrAttr) {\n \u002F\u002F Set property if it exists and it's not a SVG\n const isComplex = isComplexType(newValue);\n if ((isProp || (isComplex && newValue !== null)) && !isSvg) {\n try {\n if (!elm.tagName.includes('-')) {\n let n = newValue == null ? '' : newValue;\n \u002F\u002F Workaround for Safari, moving the \u003Cinput\u003E caret when re-assigning the same valued\n if (memberName === 'list') {\n isProp = false;\n \u002F\u002F tslint:disable-next-line: triple-equals\n }\n else if (oldValue == null || elm[memberName] != n) {\n elm[memberName] = n;\n }\n }\n else {\n elm[memberName] = newValue;\n }\n }\n catch (e) { }\n }\n \u002F**\n * Need to manually update attribute if:\n * - memberName is not an attribute\n * - if we are rendering the host element in order to reflect attribute\n * - if it's a SVG, since properties might not work in \u003Csvg\u003E\n * - if the newValue is null\u002Fundefined or 'false'.\n *\u002F\n let xlink = false;\n if (BUILD.vdomXlink) {\n if (ln !== (ln = ln.replace(\u002F^xlink\\:?\u002F, ''))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === '') {\n if (BUILD.vdomXlink && xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n }\n else {\n elm.removeAttribute(memberName);\n }\n }\n }\n else if ((!isProp || flags & 4 \u002F* isHost *\u002F || isSvg) && !isComplex) {\n newValue = newValue === true ? '' : newValue;\n if (BUILD.vdomXlink && xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n }\n else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nconst parseClassListRegex = \u002F\\s\u002F;\nconst parseClassList = (value) =\u003E (!value ? [] : value.split(parseClassListRegex));\nconst updateElement = (oldVnode, newVnode, isSvgMode, memberName) =\u003E {\n \u002F\u002F if the element passed in is a shadow root, which is a document fragment\n \u002F\u002F then we want to be adding attrs\u002Fprops to the shadow root's \"host\" element\n \u002F\u002F if it's not a shadow root, then we add attrs\u002Fprops to the same element\n const elm = newVnode.$elm$.nodeType === 11 \u002F* DocumentFragment *\u002F && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n if (BUILD.updatable) {\n \u002F\u002F remove attributes no longer present on the vnode by setting them to undefined\n for (memberName in oldVnodeAttrs) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);\n }\n }\n }\n \u002F\u002F add new & update changed attributes\n for (memberName in newVnodeAttrs) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);\n }\n};\nconst createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) =\u003E {\n \u002F\u002F tslint:disable-next-line: prefer-const\n let newVNode = newParentVNode.$children$[childIndex];\n let i = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (BUILD.slotRelocation && !useNativeShadowDom) {\n \u002F\u002F remember for later we need to check to relocate nodes\n checkSlotRelocate = true;\n if (newVNode.$tag$ === 'slot') {\n if (scopeId) {\n \u002F\u002F scoped css needs to add its scoped id to the parent element\n parentElm.classList.add(scopeId + '-s');\n }\n newVNode.$flags$ |= newVNode.$children$\n ? \u002F\u002F slot element has fallback content\n 2 \u002F* isSlotFallback *\u002F\n : \u002F\u002F slot element does not have fallback content\n 1 \u002F* isSlotReference *\u002F;\n }\n }\n if (BUILD.isDev && newVNode.$elm$) {\n consoleError(`The JSX ${newVNode.$text$ !== null ? `\"${newVNode.$text$}\" text` : `\"${newVNode.$tag$}\" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Ftemplating-jsx#avoid-shared-jsx-nodes`);\n }\n if (BUILD.vdomText && newVNode.$text$ !== null) {\n \u002F\u002F create text node\n elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);\n }\n else if (BUILD.slotRelocation && newVNode.$flags$ & 1 \u002F* isSlotReference *\u002F) {\n \u002F\u002F create a slot reference node\n elm = newVNode.$elm$ = BUILD.isDebug || BUILD.hydrateServerSide ? slotReferenceDebugNode(newVNode) : doc.createTextNode('');\n }\n else {\n if (BUILD.svg && !isSvgMode) {\n isSvgMode = newVNode.$tag$ === 'svg';\n }\n \u002F\u002F create element\n elm = newVNode.$elm$ = (BUILD.svg\n ? doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, BUILD.slotRelocation && newVNode.$flags$ & 2 \u002F* isSlotFallback *\u002F ? 'slot-fb' : newVNode.$tag$)\n : doc.createElement(BUILD.slotRelocation && newVNode.$flags$ & 2 \u002F* isSlotFallback *\u002F ? 'slot-fb' : newVNode.$tag$));\n if (BUILD.svg && isSvgMode && newVNode.$tag$ === 'foreignObject') {\n isSvgMode = false;\n }\n \u002F\u002F add css classes, attrs, props, listeners, etc.\n if (BUILD.vdomAttribute) {\n updateElement(null, newVNode, isSvgMode);\n }\n if ((BUILD.shadowDom || BUILD.scoped) && isDef(scopeId) && elm['s-si'] !== scopeId) {\n \u002F\u002F if there is a scopeId and this is the initial render\n \u002F\u002F then let's add the scopeId as a css class\n elm.classList.add((elm['s-si'] = scopeId));\n }\n if (newVNode.$children$) {\n for (i = 0; i \u003C newVNode.$children$.length; ++i) {\n \u002F\u002F create the node\n childNode = createElm(oldParentVNode, newVNode, i, elm);\n \u002F\u002F return node could have been null\n if (childNode) {\n \u002F\u002F append our new node\n elm.appendChild(childNode);\n }\n }\n }\n if (BUILD.svg) {\n if (newVNode.$tag$ === 'svg') {\n \u002F\u002F Only reset the SVG context when we're exiting \u003Csvg\u003E element\n isSvgMode = false;\n }\n else if (elm.tagName === 'foreignObject') {\n \u002F\u002F Reenter SVG context when we're exiting \u003CforeignObject\u003E element\n isSvgMode = true;\n }\n }\n }\n if (BUILD.slotRelocation) {\n elm['s-hn'] = hostTagName;\n if (newVNode.$flags$ & (2 \u002F* isSlotFallback *\u002F | 1 \u002F* isSlotReference *\u002F)) {\n \u002F\u002F remember the content reference comment\n elm['s-sr'] = true;\n \u002F\u002F remember the content reference comment\n elm['s-cr'] = contentRef;\n \u002F\u002F remember the slot name, or empty string for default slot\n elm['s-sn'] = newVNode.$name$ || '';\n \u002F\u002F check if we've got an old vnode for this slot\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {\n \u002F\u002F we've got an old slot vnode and the wrapper is being replaced\n \u002F\u002F so let's move the old slot content back to it's original location\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n return elm;\n};\nconst putBackInOriginalLocation = (parentElm, recursive) =\u003E {\n plt.$flags$ |= 1 \u002F* isTmpDisconnected *\u002F;\n const oldSlotChildNodes = parentElm.childNodes;\n for (let i = oldSlotChildNodes.length - 1; i \u003E= 0; i--) {\n const childNode = oldSlotChildNodes[i];\n if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {\n \u002F\u002F \u002F\u002F this child node in the old element is from another component\n \u002F\u002F \u002F\u002F remove this node from the old slot's parent\n \u002F\u002F childNode.remove();\n \u002F\u002F and relocate it back to it's original location\n parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));\n \u002F\u002F remove the old original location comment entirely\n \u002F\u002F later on the patch function will know what to do\n \u002F\u002F and move this to the correct spot in need be\n childNode['s-ol'].remove();\n childNode['s-ol'] = undefined;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 \u002F* isTmpDisconnected *\u002F;\n};\nconst addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =\u003E {\n let containerElm = ((BUILD.slotRelocation && parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);\n let childNode;\n if (BUILD.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx \u003C= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n containerElm.insertBefore(childNode, BUILD.slotRelocation ? referenceNode(before) : before);\n }\n }\n }\n};\nconst removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) =\u003E {\n for (; startIdx \u003C= endIdx; ++startIdx) {\n if ((vnode = vnodes[startIdx])) {\n elm = vnode.$elm$;\n callNodeRefs(vnode);\n if (BUILD.slotRelocation) {\n \u002F\u002F we're removing this element\n \u002F\u002F so it's possible we need to show slot fallback content now\n checkSlotFallbackVisibility = true;\n if (elm['s-ol']) {\n \u002F\u002F remove the original location comment\n elm['s-ol'].remove();\n }\n else {\n \u002F\u002F it's possible that child nodes of the node\n \u002F\u002F that's being removed are slot nodes\n putBackInOriginalLocation(elm, true);\n }\n }\n \u002F\u002F remove the vnode's element from the dom\n elm.remove();\n }\n }\n};\nconst updateChildren = (parentElm, oldCh, newVNode, newCh) =\u003E {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx \u003C= oldEndIdx && newStartIdx \u003C= newEndIdx) {\n if (oldStartVnode == null) {\n \u002F\u002F Vnode might have been moved left\n oldStartVnode = oldCh[++oldStartIdx];\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newStartVnode)) {\n patch(oldStartVnode, newStartVnode);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (isSameVnode(oldEndVnode, newEndVnode)) {\n patch(oldEndVnode, newEndVnode);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldStartVnode, newEndVnode)) {\n \u002F\u002F Vnode moved right\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode);\n parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (isSameVnode(oldEndVnode, newStartVnode)) {\n \u002F\u002F Vnode moved left\n if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode);\n parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n \u002F\u002F createKeyToOldIdx\n idxInOld = -1;\n if (BUILD.vdomKey) {\n for (i = oldStartIdx; i \u003C= oldEndIdx; ++i) {\n if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {\n idxInOld = i;\n break;\n }\n }\n }\n if (BUILD.vdomKey && idxInOld \u003E= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);\n }\n else {\n patch(elmToMove, newStartVnode);\n oldCh[idxInOld] = undefined;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n \u002F\u002F new element\n node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n if (BUILD.slotRelocation) {\n parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));\n }\n else {\n oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);\n }\n }\n }\n }\n if (oldStartIdx \u003E oldEndIdx) {\n addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);\n }\n else if (BUILD.updatable && newStartIdx \u003E newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nconst isSameVnode = (vnode1, vnode2) =\u003E {\n \u002F\u002F compare if two vnode to see if they're \"technically\" the same\n \u002F\u002F need to have the same element tag, and same key to be the same\n if (vnode1.$tag$ === vnode2.$tag$) {\n if (BUILD.slotRelocation && vnode1.$tag$ === 'slot') {\n return vnode1.$name$ === vnode2.$name$;\n }\n if (BUILD.vdomKey) {\n return vnode1.$key$ === vnode2.$key$;\n }\n return true;\n }\n return false;\n};\nconst referenceNode = (node) =\u003E {\n \u002F\u002F this node was relocated to a new location in the dom\n \u002F\u002F because of some other component's slot\n \u002F\u002F but we still have an html comment in place of where\n \u002F\u002F it's original location was according to it's original vdom\n return (node && node['s-ol']) || node;\n};\nconst parentReferenceNode = (node) =\u003E (node['s-ol'] ? node['s-ol'] : node).parentNode;\nconst patch = (oldVNode, newVNode) =\u003E {\n const elm = (newVNode.$elm$ = oldVNode.$elm$);\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode.$children$;\n const tag = newVNode.$tag$;\n const text = newVNode.$text$;\n let defaultHolder;\n if (!BUILD.vdomText || text === null) {\n if (BUILD.svg) {\n \u002F\u002F test if we're rendering an svg element, or still rendering nodes inside of one\n \u002F\u002F only add this to the when the compiler sees we're using an svg somewhere\n isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;\n }\n \u002F\u002F element node\n if (BUILD.vdomAttribute || BUILD.reflect) {\n if (BUILD.slot && tag === 'slot')\n ;\n else {\n \u002F\u002F either this is the first render of an element OR it's an update\n \u002F\u002F AND we already know it's possible it could have changed\n \u002F\u002F this updates the element's css classes, attrs, props, listeners, etc.\n updateElement(oldVNode, newVNode, isSvgMode);\n }\n }\n if (BUILD.updatable && oldChildren !== null && newChildren !== null) {\n \u002F\u002F looks like there's child vnodes for both the old and new vnodes\n updateChildren(elm, oldChildren, newVNode, newChildren);\n }\n else if (newChildren !== null) {\n \u002F\u002F no old child vnodes, but there are new child vnodes to add\n if (BUILD.updatable && BUILD.vdomText && oldVNode.$text$ !== null) {\n \u002F\u002F the old vnode was text, so be sure to clear it out\n elm.textContent = '';\n }\n \u002F\u002F add the new vnode children\n addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);\n }\n else if (BUILD.updatable && oldChildren !== null) {\n \u002F\u002F no new child vnodes, but there are old child vnodes to remove\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (BUILD.svg && isSvgMode && tag === 'svg') {\n isSvgMode = false;\n }\n }\n else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm['s-cr'])) {\n \u002F\u002F this element has slotted content\n defaultHolder.parentNode.textContent = text;\n }\n else if (BUILD.vdomText && oldVNode.$text$ !== text) {\n \u002F\u002F update the text content for the text only vnode\n \u002F\u002F and also only if the text is different than before\n elm.data = text;\n }\n};\nconst updateFallbackSlotVisibility = (elm) =\u003E {\n \u002F\u002F tslint:disable-next-line: prefer-const\n let childNodes = elm.childNodes;\n let childNode;\n let i;\n let ilen;\n let j;\n let slotNameAttr;\n let nodeType;\n for (i = 0, ilen = childNodes.length; i \u003C ilen; i++) {\n childNode = childNodes[i];\n if (childNode.nodeType === 1 \u002F* ElementNode *\u002F) {\n if (childNode['s-sr']) {\n \u002F\u002F this is a slot fallback node\n \u002F\u002F get the slot name for this slot reference node\n slotNameAttr = childNode['s-sn'];\n \u002F\u002F by default always show a fallback slot node\n \u002F\u002F then hide it if there are other slots in the light dom\n childNode.hidden = false;\n for (j = 0; j \u003C ilen; j++) {\n if (childNodes[j]['s-hn'] !== childNode['s-hn']) {\n \u002F\u002F this sibling node is from a different component\n nodeType = childNodes[j].nodeType;\n if (slotNameAttr !== '') {\n \u002F\u002F this is a named fallback slot node\n if (nodeType === 1 \u002F* ElementNode *\u002F && slotNameAttr === childNodes[j].getAttribute('slot')) {\n childNode.hidden = true;\n break;\n }\n }\n else {\n \u002F\u002F this is a default fallback slot node\n \u002F\u002F any element or text node (with content)\n \u002F\u002F should hide the default fallback slot node\n if (nodeType === 1 \u002F* ElementNode *\u002F || (nodeType === 3 \u002F* TextNode *\u002F && childNodes[j].textContent.trim() !== '')) {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n }\n \u002F\u002F keep drilling down\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nconst relocateNodes = [];\nconst relocateSlotContent = (elm) =\u003E {\n \u002F\u002F tslint:disable-next-line: prefer-const\n let childNode;\n let node;\n let hostContentNodes;\n let slotNameAttr;\n let relocateNodeData;\n let j;\n let i = 0;\n let childNodes = elm.childNodes;\n let ilen = childNodes.length;\n for (; i \u003C ilen; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && (node = childNode['s-cr'])) {\n \u002F\u002F first got the content reference comment node\n \u002F\u002F then we got it's parent, which is where all the host content is in now\n hostContentNodes = node.parentNode.childNodes;\n slotNameAttr = childNode['s-sn'];\n for (j = hostContentNodes.length - 1; j \u003E= 0; j--) {\n node = hostContentNodes[j];\n if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {\n \u002F\u002F let's do some relocating to its new home\n \u002F\u002F but never relocate a content reference node\n \u002F\u002F that is suppose to always represent the original content location\n if (isNodeLocatedInSlot(node, slotNameAttr)) {\n \u002F\u002F it's possible we've already decided to relocate this node\n relocateNodeData = relocateNodes.find(r =\u003E r.$nodeToRelocate$ === node);\n \u002F\u002F made some changes to slots\n \u002F\u002F let's make sure we also double check\n \u002F\u002F fallbacks are correctly hidden or shown\n checkSlotFallbackVisibility = true;\n node['s-sn'] = node['s-sn'] || slotNameAttr;\n if (relocateNodeData) {\n \u002F\u002F previously we never found a slot home for this node\n \u002F\u002F but turns out we did, so let's remember it now\n relocateNodeData.$slotRefNode$ = childNode;\n }\n else {\n \u002F\u002F add to our list of nodes to relocate\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node,\n });\n }\n if (node['s-sr']) {\n relocateNodes.map(relocateNode =\u003E {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {\n relocateNodeData = relocateNodes.find(r =\u003E r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n }\n else if (!relocateNodes.some(r =\u003E r.$nodeToRelocate$ === node)) {\n \u002F\u002F so far this element does not have a slot home, not setting slotRefNode on purpose\n \u002F\u002F if we never find a home for this element then we'll need to hide it\n relocateNodes.push({\n $nodeToRelocate$: node,\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 \u002F* ElementNode *\u002F) {\n relocateSlotContent(childNode);\n }\n }\n};\nconst isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) =\u003E {\n if (nodeToRelocate.nodeType === 1 \u002F* ElementNode *\u002F) {\n if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {\n return true;\n }\n if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate['s-sn'] === slotNameAttr) {\n return true;\n }\n return slotNameAttr === '';\n};\nconst callNodeRefs = (vNode) =\u003E {\n if (BUILD.vdomRef) {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(callNodeRefs);\n }\n};\nconst renderVdom = (hostRef, renderFnResults) =\u003E {\n const hostElm = hostRef.$hostElement$;\n const cmpMeta = hostRef.$cmpMeta$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n \u002F\u002F \u003CHost\u003E runtime check\n if (BUILD.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) {\n throw new Error(`The \u003CHost\u003E must be the single root component.\nLooks like the render() function of \"${hostTagName.toLowerCase()}\" is returning an array that contains the \u003CHost\u003E.\n\nThe render() function should look like this instead:\n\nrender() {\n \u002F\u002F Do not return an array\n return (\n \u003CHost\u003E{content}\u003C\u002FHost\u003E\n );\n}\n `);\n }\n if (BUILD.reflect && cmpMeta.$attrsToReflect$) {\n rootVnode.$attrs$ = rootVnode.$attrs$ || {};\n cmpMeta.$attrsToReflect$.map(([propName, attribute]) =\u003E (rootVnode.$attrs$[attribute] = hostElm[propName]));\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 \u002F* isHost *\u002F;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = (BUILD.shadowDom ? hostElm.shadowRoot || hostElm : hostElm);\n if (BUILD.scoped || BUILD.shadowDom) {\n scopeId = hostElm['s-sc'];\n }\n if (BUILD.slotRelocation) {\n contentRef = hostElm['s-cr'];\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) !== 0;\n \u002F\u002F always reset\n checkSlotFallbackVisibility = false;\n }\n \u002F\u002F synchronous patch\n patch(oldVNode, rootVnode);\n if (BUILD.slotRelocation) {\n \u002F\u002F while we're moving nodes around existing nodes, temporarily disable\n \u002F\u002F the disconnectCallback from working\n plt.$flags$ |= 1 \u002F* isTmpDisconnected *\u002F;\n if (checkSlotRelocate) {\n relocateSlotContent(rootVnode.$elm$);\n let relocateData;\n let nodeToRelocate;\n let orgLocationNode;\n let parentNodeRef;\n let insertBeforeNode;\n let refNode;\n let i = 0;\n for (; i \u003C relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate['s-ol']) {\n \u002F\u002F add a reference node marking this node's original location\n \u002F\u002F keep a reference to this node for later lookups\n orgLocationNode = BUILD.isDebug || BUILD.hydrateServerSide ? originalLocationDebugNode(nodeToRelocate) : doc.createTextNode('');\n orgLocationNode['s-nr'] = nodeToRelocate;\n nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);\n }\n }\n for (i = 0; i \u003C relocateNodes.length; i++) {\n relocateData = relocateNodes[i];\n nodeToRelocate = relocateData.$nodeToRelocate$;\n if (relocateData.$slotRefNode$) {\n \u002F\u002F by default we're just going to insert it directly\n \u002F\u002F after the slot reference node\n parentNodeRef = relocateData.$slotRefNode$.parentNode;\n insertBeforeNode = relocateData.$slotRefNode$.nextSibling;\n orgLocationNode = nodeToRelocate['s-ol'];\n while ((orgLocationNode = orgLocationNode.previousSibling)) {\n refNode = orgLocationNode['s-nr'];\n if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n if (!refNode || !refNode['s-nr']) {\n insertBeforeNode = refNode;\n break;\n }\n }\n }\n if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) || nodeToRelocate.nextSibling !== insertBeforeNode) {\n \u002F\u002F we've checked that it's worth while to relocate\n \u002F\u002F since that the node to relocate\n \u002F\u002F has a different next sibling or parent relocated\n if (nodeToRelocate !== insertBeforeNode) {\n if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {\n \u002F\u002F probably a component in the index.html that doesn't have it's hostname set\n nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;\n }\n \u002F\u002F add it back to the dom but in its new home\n parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);\n }\n }\n }\n else {\n \u002F\u002F this node doesn't have a slot home to go to, so let's hide it\n if (nodeToRelocate.nodeType === 1 \u002F* ElementNode *\u002F) {\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n \u002F\u002F done moving nodes around\n \u002F\u002F allow the disconnect callback to work again\n plt.$flags$ &= ~1 \u002F* isTmpDisconnected *\u002F;\n \u002F\u002F always reset\n relocateNodes.length = 0;\n }\n};\n\u002F\u002F slot comment debug nodes only created with the `--debug` flag\n\u002F\u002F otherwise these nodes are text nodes w\u002Fout content\nconst slotReferenceDebugNode = (slotVNode) =\u003E doc.createComment(`\u003Cslot${slotVNode.$name$ ? ' name=\"' + slotVNode.$name$ + '\"' : ''}\u003E (host=${hostTagName.toLowerCase()})`);\nconst originalLocationDebugNode = (nodeToRelocate) =\u003E doc.createComment(`org-location for ` + (nodeToRelocate.localName ? `\u003C${nodeToRelocate.localName}\u003E (host=${nodeToRelocate['s-hn']})` : `[${nodeToRelocate.textContent}]`));\nconst getElement = (ref) =\u003E (BUILD.lazyLoad ? getHostRef(ref).$hostElement$ : ref);\nconst createEvent = (ref, name, flags) =\u003E {\n const elm = getElement(ref);\n return {\n emit: (detail) =\u003E {\n if (BUILD.isDev && !elm.isConnected) {\n consoleDevWarn(`The \"${name}\" event was emitted, but the dispatcher node is no longer connected to the dom.`);\n }\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 \u002F* Bubbles *\u002F),\n composed: !!(flags & 2 \u002F* Composed *\u002F),\n cancelable: !!(flags & 1 \u002F* Cancellable *\u002F),\n detail,\n });\n },\n };\n};\nconst emitEvent = (elm, name, opts) =\u003E {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\nconst attachToAncestor = (hostRef, ancestorComponent) =\u003E {\n if (BUILD.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {\n ancestorComponent['s-p'].push(new Promise(r =\u003E (hostRef.$onRenderResolve$ = r)));\n }\n};\nconst scheduleUpdate = (hostRef, isInitialLoad) =\u003E {\n if (BUILD.taskQueue && BUILD.updatable) {\n hostRef.$flags$ |= 16 \u002F* isQueuedForUpdate *\u002F;\n }\n if (BUILD.asyncLoading && hostRef.$flags$ & 4 \u002F* isWaitingForChildren *\u002F) {\n hostRef.$flags$ |= 512 \u002F* needsRerender *\u002F;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n \u002F\u002F there is no ancestorc omponent or the ancestor component\n \u002F\u002F has already fired off its lifecycle update then\n \u002F\u002F fire off the initial update\n const dispatch = () =\u003E dispatchHooks(hostRef, isInitialLoad);\n return BUILD.taskQueue ? writeTask(dispatch) : dispatch;\n};\nconst dispatchHooks = (hostRef, isInitialLoad) =\u003E {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n let promise;\n if (isInitialLoad) {\n if (BUILD.lazyLoad && BUILD.hostListener) {\n hostRef.$flags$ |= 256 \u002F* isListenReady *\u002F;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(([methodName, event]) =\u003E safeCall(instance, methodName, event));\n hostRef.$queuedListeners$ = null;\n }\n }\n emitLifecycleEvent(elm, 'componentWillLoad');\n if (BUILD.cmpWillLoad) {\n promise = safeCall(instance, 'componentWillLoad');\n }\n }\n else {\n emitLifecycleEvent(elm, 'componentWillUpdate');\n if (BUILD.cmpWillUpdate) {\n promise = safeCall(instance, 'componentWillUpdate');\n }\n }\n emitLifecycleEvent(elm, 'componentWillRender');\n if (BUILD.cmpWillRender) {\n promise = then(promise, () =\u003E safeCall(instance, 'componentWillRender'));\n }\n endSchedule();\n return then(promise, () =\u003E updateComponent(hostRef, instance, isInitialLoad));\n};\nconst updateComponent = (hostRef, instance, isInitialLoad) =\u003E {\n \u002F\u002F updateComponent\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);\n const rc = elm['s-rc'];\n if (BUILD.style && isInitialLoad) {\n \u002F\u002F DOM WRITE!\n attachStyles(hostRef);\n }\n const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 \u002F* devOnRender *\u002F;\n }\n if (BUILD.hasRenderFn || BUILD.reflect) {\n if (BUILD.vdomRender || BUILD.reflect) {\n \u002F\u002F looks like we've got child nodes to render into this host element\n \u002F\u002F or we need to update the css class\u002Fattrs on the host element\n \u002F\u002F DOM WRITE!\n renderVdom(hostRef, callRender(hostRef, instance));\n }\n else {\n elm.textContent = callRender(hostRef, instance);\n }\n }\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.updateHost(elm);\n }\n if (BUILD.isDev) {\n hostRef.$renderCount$++;\n hostRef.$flags$ &= ~1024 \u002F* devOnRender *\u002F;\n }\n if (BUILD.hydrateServerSide) {\n try {\n \u002F\u002F manually connected child components during server-side hydrate\n serverSideConnected(elm);\n if (isInitialLoad) {\n \u002F\u002F using only during server-side hydrate\n if (hostRef.$cmpMeta$.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n elm['s-en'] = '';\n }\n else if (hostRef.$cmpMeta$.$flags$ & 2 \u002F* scopedCssEncapsulation *\u002F) {\n elm['s-en'] = 'c';\n }\n }\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (BUILD.asyncLoading && rc) {\n \u002F\u002F ok, so turns out there are some child host elements\n \u002F\u002F waiting on this parent element to load\n \u002F\u002F let's fire off all update callbacks waiting\n rc.map(cb =\u003E cb());\n elm['s-rc'] = undefined;\n }\n endRender();\n endUpdate();\n if (BUILD.asyncLoading) {\n const childrenPromises = elm['s-p'];\n const postUpdate = () =\u003E postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n }\n else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 \u002F* isWaitingForChildren *\u002F;\n childrenPromises.length = 0;\n }\n }\n else {\n postUpdateComponent(hostRef);\n }\n};\nconst callRender = (hostRef, instance) =\u003E {\n \u002F\u002F in order for bundlers to correctly treeshake the BUILD object\n \u002F\u002F we need to ensure BUILD is not deoptimized within a try\u002Fcatch\n \u002F\u002F https:\u002F\u002Frollupjs.org\u002Fguide\u002Fen\u002F#treeshake tryCatchDeoptimization\n const allRenderFn = BUILD.allRenderFn ? true : false;\n const lazyLoad = BUILD.lazyLoad ? true : false;\n const taskQueue = BUILD.taskQueue ? true : false;\n const updatable = BUILD.updatable ? true : false;\n try {\n renderingRef = instance;\n instance = allRenderFn ? instance.render() : instance.render && instance.render();\n if (updatable && taskQueue) {\n hostRef.$flags$ &= ~16 \u002F* isQueuedForUpdate *\u002F;\n }\n if (updatable || lazyLoad) {\n hostRef.$flags$ |= 2 \u002F* hasRendered *\u002F;\n }\n }\n catch (e) {\n consoleError(e);\n }\n renderingRef = null;\n return instance;\n};\nconst getRenderingRef = () =\u003E renderingRef;\nconst postUpdateComponent = (hostRef) =\u003E {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime('postUpdate', tagName);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (BUILD.cmpDidRender) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 \u002F* devOnRender *\u002F;\n }\n safeCall(instance, 'componentDidRender');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 \u002F* devOnRender *\u002F;\n }\n }\n emitLifecycleEvent(elm, 'componentDidRender');\n if (!(hostRef.$flags$ & 64 \u002F* hasLoadedComponent *\u002F)) {\n hostRef.$flags$ |= 64 \u002F* hasLoadedComponent *\u002F;\n if (BUILD.asyncLoading && BUILD.cssAnnotations) {\n \u002F\u002F DOM WRITE!\n addHydratedFlag(elm);\n }\n if (BUILD.cmpDidLoad) {\n if (BUILD.isDev) {\n hostRef.$flags$ |= 2048 \u002F* devOnDidLoad *\u002F;\n }\n safeCall(instance, 'componentDidLoad');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~2048 \u002F* devOnDidLoad *\u002F;\n }\n }\n emitLifecycleEvent(elm, 'componentDidLoad');\n endPostUpdate();\n if (BUILD.asyncLoading) {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad(tagName);\n }\n }\n }\n else {\n if (BUILD.cmpDidUpdate) {\n \u002F\u002F we've already loaded this component\n \u002F\u002F fire off the user's componentDidUpdate method (if one was provided)\n \u002F\u002F componentDidUpdate runs AFTER render() has been called\n \u002F\u002F and all child components have finished updating\n if (BUILD.isDev) {\n hostRef.$flags$ |= 1024 \u002F* devOnRender *\u002F;\n }\n safeCall(instance, 'componentDidUpdate');\n if (BUILD.isDev) {\n hostRef.$flags$ &= ~1024 \u002F* devOnRender *\u002F;\n }\n }\n emitLifecycleEvent(elm, 'componentDidUpdate');\n endPostUpdate();\n }\n if (BUILD.hotModuleReplacement) {\n elm['s-hmr-load'] && elm['s-hmr-load']();\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstanceResolve$(elm);\n }\n \u002F\u002F load events fire from bottom to top\n \u002F\u002F the deepest elements load first then bubbles up\n if (BUILD.asyncLoading) {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = undefined;\n }\n if (hostRef.$flags$ & 512 \u002F* needsRerender *\u002F) {\n nextTick(() =\u003E scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 \u002F* isWaitingForChildren *\u002F | 512 \u002F* needsRerender *\u002F);\n }\n \u002F\u002F ( •_•)\n \u002F\u002F ( •_•)\u003E⌐■-■\n \u002F\u002F (⌐■_■)\n};\nconst forceUpdate = (ref) =\u003E {\n if (BUILD.updatable) {\n const hostRef = getHostRef(ref);\n const isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected && (hostRef.$flags$ & (2 \u002F* hasRendered *\u002F | 16 \u002F* isQueuedForUpdate *\u002F)) === 2 \u002F* hasRendered *\u002F) {\n scheduleUpdate(hostRef, false);\n }\n \u002F\u002F Returns \"true\" when the forced update was successfully scheduled\n return isConnected;\n }\n return false;\n};\nconst appDidLoad = (who) =\u003E {\n \u002F\u002F on appload\n \u002F\u002F we have finish the first big initial render\n if (BUILD.cssAnnotations) {\n addHydratedFlag(doc.documentElement);\n }\n if (BUILD.asyncQueue) {\n plt.$flags$ |= 2 \u002F* appLoaded *\u002F;\n }\n nextTick(() =\u003E emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));\n if (BUILD.profile && performance.measure) {\n performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, 'st:app:start');\n }\n};\nconst safeCall = (instance, method, arg) =\u003E {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n }\n catch (e) {\n consoleError(e);\n }\n }\n return undefined;\n};\nconst then = (promise, thenFn) =\u003E {\n return promise && promise.then ? promise.then(thenFn) : thenFn();\n};\nconst emitLifecycleEvent = (elm, lifecycleName) =\u003E {\n if (BUILD.lifecycleDOMEvents) {\n emitEvent(elm, 'stencil_' + lifecycleName, {\n bubbles: true,\n composed: true,\n detail: {\n namespace: NAMESPACE,\n },\n });\n }\n};\nconst addHydratedFlag = (elm) =\u003E (BUILD.hydratedClass ? elm.classList.add('hydrated') : BUILD.hydratedAttribute ? elm.setAttribute('hydrated', '') : undefined);\nconst serverSideConnected = (elm) =\u003E {\n const children = elm.children;\n if (children != null) {\n for (let i = 0, ii = children.length; i \u003C ii; i++) {\n const childElm = children[i];\n if (typeof childElm.connectedCallback === 'function') {\n childElm.connectedCallback();\n }\n serverSideConnected(childElm);\n }\n }\n};\nconst initializeClientHydrate = (hostElm, tagName, hostId, hostRef) =\u003E {\n const endHydrate = createTime('hydrateClient', tagName);\n const shadowRoot = hostElm.shadowRoot;\n const childRenderNodes = [];\n const slotNodes = [];\n const shadowRootNodes = BUILD.shadowDom && shadowRoot ? [] : null;\n const vnode = (hostRef.$vnode$ = newVNode(tagName, null));\n if (!plt.$orgLocNodes$) {\n initializeDocumentHydrate(doc.body, (plt.$orgLocNodes$ = new Map()));\n }\n hostElm[HYDRATE_ID] = hostId;\n hostElm.removeAttribute(HYDRATE_ID);\n clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);\n childRenderNodes.map(c =\u003E {\n const orgLocationId = c.$hostId$ + '.' + c.$nodeId$;\n const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);\n const node = c.$elm$;\n if (orgLocationNode && supportsShadow && orgLocationNode['s-en'] === '') {\n orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);\n }\n if (!shadowRoot) {\n node['s-hn'] = tagName;\n if (orgLocationNode) {\n node['s-ol'] = orgLocationNode;\n node['s-ol']['s-nr'] = node;\n }\n }\n plt.$orgLocNodes$.delete(orgLocationId);\n });\n if (BUILD.shadowDom && shadowRoot) {\n shadowRootNodes.map(shadowRootNode =\u003E {\n if (shadowRootNode) {\n shadowRoot.appendChild(shadowRootNode);\n }\n });\n }\n endHydrate();\n};\nconst clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) =\u003E {\n let childNodeType;\n let childIdSplt;\n let childVNode;\n let i;\n if (node.nodeType === 1 \u002F* ElementNode *\u002F) {\n childNodeType = node.getAttribute(HYDRATE_CHILD_ID);\n if (childNodeType) {\n \u002F\u002F got the node data from the element's attribute\n \u002F\u002F `${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = childNodeType.split('.');\n if (childIdSplt[0] === hostId || childIdSplt[0] === '0') {\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[0],\n $nodeId$: childIdSplt[1],\n $depth$: childIdSplt[2],\n $index$: childIdSplt[3],\n $tag$: node.tagName.toLowerCase(),\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $text$: null,\n };\n childRenderNodes.push(childVNode);\n node.removeAttribute(HYDRATE_CHILD_ID);\n \u002F\u002F this is a new child vnode\n \u002F\u002F so ensure its parent vnode has the vchildren array\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n \u002F\u002F add our child vnode to a specific index of the vnode's children\n parentVNode.$children$[childVNode.$index$] = childVNode;\n \u002F\u002F this is now the new parent vnode for all the next child checks\n parentVNode = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n \u002F\u002F recursively drill down, end to start so we can remove nodes\n for (i = node.childNodes.length - 1; i \u003E= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.childNodes[i], hostId);\n }\n if (node.shadowRoot) {\n \u002F\u002F keep drilling down through the shadow root nodes\n for (i = node.shadowRoot.childNodes.length - 1; i \u003E= 0; i--) {\n clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.shadowRoot.childNodes[i], hostId);\n }\n }\n }\n else if (node.nodeType === 8 \u002F* CommentNode *\u002F) {\n \u002F\u002F `${COMMENT_TYPE}.${hostId}.${nodeId}.${depth}.${index}`\n childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[1] === hostId || childIdSplt[1] === '0') {\n \u002F\u002F comment node for either the host id or a 0 host id\n childNodeType = childIdSplt[0];\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[1],\n $nodeId$: childIdSplt[2],\n $depth$: childIdSplt[3],\n $index$: childIdSplt[4],\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $tag$: null,\n $text$: null,\n };\n if (childNodeType === TEXT_NODE_ID) {\n childVNode.$elm$ = node.nextSibling;\n if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 \u002F* TextNode *\u002F) {\n childVNode.$text$ = childVNode.$elm$.textContent;\n childRenderNodes.push(childVNode);\n \u002F\u002F remove the text comment since it's no longer needed\n node.remove();\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n else if (childVNode.$hostId$ === hostId) {\n \u002F\u002F this comment node is specifcally for this host id\n if (childNodeType === SLOT_NODE_ID) {\n \u002F\u002F `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;\n childVNode.$tag$ = 'slot';\n if (childIdSplt[5]) {\n node['s-sn'] = childVNode.$name$ = childIdSplt[5];\n }\n else {\n node['s-sn'] = '';\n }\n node['s-sr'] = true;\n if (BUILD.shadowDom && shadowRootNodes) {\n \u002F\u002F browser support shadowRoot and this is a shadow dom component\n \u002F\u002F create an actual slot element\n childVNode.$elm$ = doc.createElement(childVNode.$tag$);\n if (childVNode.$name$) {\n \u002F\u002F add the slot name attribute\n childVNode.$elm$.setAttribute('name', childVNode.$name$);\n }\n \u002F\u002F insert the new slot element before the slot comment\n node.parentNode.insertBefore(childVNode.$elm$, node);\n \u002F\u002F remove the slot comment since it's not needed for shadow\n node.remove();\n if (childVNode.$depth$ === '0') {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n slotNodes.push(childVNode);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n }\n else if (childNodeType === CONTENT_REF_ID) {\n \u002F\u002F `${CONTENT_REF_ID}.${hostId}`;\n if (BUILD.shadowDom && shadowRootNodes) {\n \u002F\u002F remove the content ref comment since it's not needed for shadow\n node.remove();\n }\n else if (BUILD.slotRelocation) {\n hostElm['s-cr'] = node;\n node['s-cn'] = true;\n }\n }\n }\n }\n }\n else if (parentVNode && parentVNode.$tag$ === 'style') {\n const vnode = newVNode(null, node.textContent);\n vnode.$elm$ = node;\n vnode.$index$ = '0';\n parentVNode.$children$ = [vnode];\n }\n};\nconst initializeDocumentHydrate = (node, orgLocNodes) =\u003E {\n if (node.nodeType === 1 \u002F* ElementNode *\u002F) {\n let i = 0;\n for (; i \u003C node.childNodes.length; i++) {\n initializeDocumentHydrate(node.childNodes[i], orgLocNodes);\n }\n if (node.shadowRoot) {\n for (i = 0; i \u003C node.shadowRoot.childNodes.length; i++) {\n initializeDocumentHydrate(node.shadowRoot.childNodes[i], orgLocNodes);\n }\n }\n }\n else if (node.nodeType === 8 \u002F* CommentNode *\u002F) {\n const childIdSplt = node.nodeValue.split('.');\n if (childIdSplt[0] === ORG_LOCATION_ID) {\n orgLocNodes.set(childIdSplt[1] + '.' + childIdSplt[2], node);\n node.nodeValue = '';\n \u002F\u002F useful to know if the original location is\n \u002F\u002F the root light-dom of a shadow dom component\n node['s-en'] = childIdSplt[3];\n }\n }\n};\nconst parsePropertyValue = (propValue, propType) =\u003E {\n \u002F\u002F ensure this value is of the correct prop type\n if (propValue != null && !isComplexType(propValue)) {\n if (BUILD.propBoolean && propType & 4 \u002F* Boolean *\u002F) {\n \u002F\u002F per the HTML spec, any string value means it is a boolean true value\n \u002F\u002F but we'll cheat here and say that the string \"false\" is the boolean false\n return propValue === 'false' ? false : propValue === '' || !!propValue;\n }\n if (BUILD.propNumber && propType & 2 \u002F* Number *\u002F) {\n \u002F\u002F force it to be a number\n return parseFloat(propValue);\n }\n if (BUILD.propString && propType & 1 \u002F* String *\u002F) {\n \u002F\u002F could have been passed as a number or boolean\n \u002F\u002F but we still want it as a string\n return String(propValue);\n }\n \u002F\u002F redundant return here for better minification\n return propValue;\n }\n \u002F\u002F not sure exactly what type we want\n \u002F\u002F so no need to change to a different type\n return propValue;\n};\nconst getValue = (ref, propName) =\u003E getHostRef(ref).$instanceValues$.get(propName);\nconst setValue = (ref, propName, newVal, cmpMeta) =\u003E {\n \u002F\u002F check our new property value against our internal value\n const hostRef = getHostRef(ref);\n const elm = BUILD.lazyLoad ? hostRef.$hostElement$ : ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n if ((!BUILD.lazyLoad || !(flags & 8 \u002F* isConstructingInstance *\u002F) || oldVal === undefined) && newVal !== oldVal) {\n \u002F\u002F gadzooks! the property's value has changed!!\n \u002F\u002F set our new value!\n hostRef.$instanceValues$.set(propName, newVal);\n if (BUILD.isDev) {\n if (hostRef.$flags$ & 1024 \u002F* devOnRender *\u002F) {\n consoleDevWarn(`The state\u002Fprop \"${propName}\" changed during rendering. This can potentially lead to infinite-loops and other bugs.`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n else if (hostRef.$flags$ & 2048 \u002F* devOnDidLoad *\u002F) {\n consoleDevWarn(`The state\u002Fprop \"${propName}\" changed during \"componentDidLoad()\", this triggers extra re-renders, try to setup on \"componentWillLoad()\"`, '\\nElement', elm, '\\nNew value', newVal, '\\nOld value', oldVal);\n }\n }\n if (!BUILD.lazyLoad || instance) {\n \u002F\u002F get an array of method names of watch functions to call\n if (BUILD.watchCallback && cmpMeta.$watchers$ && flags & 128 \u002F* isWatchReady *\u002F) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n \u002F\u002F this instance is watching for when this property changed\n watchMethods.map(watchMethodName =\u003E {\n try {\n \u002F\u002F fire off each of the watch methods that are watching this property\n instance[watchMethodName](newVal, oldVal, propName);\n }\n catch (e) {\n consoleError(e);\n }\n });\n }\n }\n if (BUILD.updatable && (flags & (2 \u002F* hasRendered *\u002F | 16 \u002F* isQueuedForUpdate *\u002F)) === 2 \u002F* hasRendered *\u002F) {\n if (BUILD.cmpShouldUpdate && instance.componentShouldUpdate) {\n if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {\n return;\n }\n }\n \u002F\u002F looks like this value actually changed, so we've got work to do!\n \u002F\u002F but only if we've already rendered, otherwise just chill out\n \u002F\u002F queue that we need to do an update, but don't worry about queuing\n \u002F\u002F up millions cuz this function ensures it only runs once\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\nconst proxyComponent = (Cstr, cmpMeta, flags) =\u003E {\n if (BUILD.member && cmpMeta.$members$) {\n if (BUILD.watchCallback && Cstr.watchers) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n \u002F\u002F It's better to have a const than two Object.entries()\n const members = Object.entries(cmpMeta.$members$);\n const prototype = Cstr.prototype;\n members.map(([memberName, [memberFlags]]) =\u003E {\n if ((BUILD.prop || BUILD.state) && (memberFlags & 31 \u002F* Prop *\u002F || ((!BUILD.lazyLoad || flags & 2 \u002F* proxyState *\u002F) && memberFlags & 32 \u002F* State *\u002F))) {\n \u002F\u002F proxyComponent - prop\n Object.defineProperty(prototype, memberName, {\n get() {\n \u002F\u002F proxyComponent, get value\n return getValue(this, memberName);\n },\n set(newValue) {\n if (\n \u002F\u002F only during dev time\n BUILD.isDev &&\n \u002F\u002F we are proxing the instance (not element)\n (flags & 1 \u002F* isElementConstructor *\u002F) === 0 &&\n \u002F\u002F the member is a non-mutable prop\n (memberFlags & (31 \u002F* Prop *\u002F | 1024 \u002F* Mutable *\u002F)) === 31 \u002F* Prop *\u002F) {\n consoleDevWarn(`@Prop() \"${memberName}\" on \"${cmpMeta.$tagName$}\" cannot be modified.\\nFurther information: https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fproperties#prop-mutability`);\n }\n \u002F\u002F proxyComponent, set value\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true,\n });\n }\n else if (BUILD.lazyLoad && BUILD.method && flags & 1 \u002F* isElementConstructor *\u002F && memberFlags & 64 \u002F* Method *\u002F) {\n \u002F\u002F proxyComponent - method\n Object.defineProperty(prototype, memberName, {\n value(...args) {\n const ref = getHostRef(this);\n return ref.$onInstancePromise$.then(() =\u003E ref.$lazyInstance$[memberName](...args));\n },\n });\n }\n });\n if (BUILD.observeAttribute && (!BUILD.lazyLoad || flags & 1 \u002F* isElementConstructor *\u002F)) {\n const attrNameToPropName = new Map();\n prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {\n plt.jmp(() =\u003E {\n const propName = attrNameToPropName.get(attrName);\n this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;\n });\n };\n \u002F\u002F create an array of attributes to observe\n \u002F\u002F and also create a map of html attribute name to js property name\n Cstr.observedAttributes = members\n .filter(([_, m]) =\u003E m[0] & 15 \u002F* HasAttribute *\u002F) \u002F\u002F filter to only keep props that should match attributes\n .map(([propName, m]) =\u003E {\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD.reflect && m[0] & 512 \u002F* ReflectAttr *\u002F) {\n cmpMeta.$attrsToReflect$.push([propName, attrName]);\n }\n return attrName;\n });\n }\n }\n return Cstr;\n};\nconst initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =\u003E {\n \u002F\u002F initializeComponent\n if ((BUILD.lazyLoad || BUILD.hydrateServerSide || BUILD.style) && (hostRef.$flags$ & 32 \u002F* hasInitializedComponent *\u002F) === 0) {\n if (BUILD.lazyLoad || BUILD.hydrateClientSide) {\n \u002F\u002F we haven't initialized this element yet\n hostRef.$flags$ |= 32 \u002F* hasInitializedComponent *\u002F;\n \u002F\u002F lazy loaded components\n \u002F\u002F request the component's implementation to be\n \u002F\u002F wired up with the host element\n Cstr = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (Cstr.then) {\n \u002F\u002F Await creates a micro-task avoid if possible\n const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for \u003C${cmpMeta.$tagName$}\u003E`);\n Cstr = await Cstr;\n endLoad();\n }\n if ((BUILD.isDev || BUILD.isDebug) && !Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD.member && !Cstr.isProxied) {\n \u002F\u002F we'eve never proxied this Constructor before\n \u002F\u002F let's add the getters\u002Fsetters to its prototype before\n \u002F\u002F the first time we create an instance of the implementation\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 \u002F* proxyState *\u002F);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);\n \u002F\u002F ok, time to construct the instance\n \u002F\u002F but let's keep track of when we start and stop\n \u002F\u002F so that the getters\u002Fsetters don't incorrectly step on data\n if (BUILD.member) {\n hostRef.$flags$ |= 8 \u002F* isConstructingInstance *\u002F;\n }\n \u002F\u002F construct the lazy-loaded component implementation\n \u002F\u002F passing the hostRef is very important during\n \u002F\u002F construction in order to directly wire together the\n \u002F\u002F host element and the lazy-loaded instance\n try {\n new Cstr(hostRef);\n }\n catch (e) {\n consoleError(e);\n }\n if (BUILD.member) {\n hostRef.$flags$ &= ~8 \u002F* isConstructingInstance *\u002F;\n }\n if (BUILD.watchCallback) {\n hostRef.$flags$ |= 128 \u002F* isWatchReady *\u002F;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n else {\n \u002F\u002F sync constructor component\n Cstr = elm.constructor;\n hostRef.$flags$ |= 128 \u002F* isWatchReady *\u002F | 32 \u002F* hasInitializedComponent *\u002F;\n }\n if (BUILD.style && Cstr.style) {\n \u002F\u002F this component has styles but we haven't registered them yet\n let style = Cstr.style;\n if (BUILD.mode && typeof style !== 'string') {\n style = style[(hostRef.$modeName$ = computeMode(elm))];\n if (BUILD.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute('s-mode', hostRef.$modeName$);\n }\n }\n const scopeId = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId)) {\n const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);\n if (!BUILD.hydrateServerSide && BUILD.shadowDom && BUILD.shadowDomShim && cmpMeta.$flags$ & 8 \u002F* needsShadowDomShim *\u002F) {\n style = await __sc_import_codesandbox_stenciljs('.\u002Fshadow-css-fb1c6168.js').then(m =\u003E m.scopeCss(style, scopeId, false));\n }\n registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F));\n endRegisterStyles();\n }\n }\n }\n \u002F\u002F we've successfully created a lazy instance\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () =\u003E scheduleUpdate(hostRef, true);\n if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) {\n \u002F\u002F this is the intial load and this component it has an ancestor component\n \u002F\u002F but the ancestor component has NOT fired its will update lifecycle yet\n \u002F\u002F so let's just cool our jets and wait for the ancestor to continue first\n \u002F\u002F this will get fired off when the ancestor component\n \u002F\u002F finally gets around to rendering its lazy self\n \u002F\u002F fire off the initial update\n ancestorComponent['s-rc'].push(schedule);\n }\n else {\n schedule();\n }\n};\nconst fireConnectedCallback = (instance) =\u003E {\n if (BUILD.lazyLoad && BUILD.connectedCallback) {\n safeCall(instance, 'connectedCallback');\n }\n};\nconst connectedCallback = (elm) =\u003E {\n if ((plt.$flags$ & 1 \u002F* isTmpDisconnected *\u002F) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);\n if (BUILD.hostListenerTargetParent) {\n \u002F\u002F only run if we have listeners being attached to a parent\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 \u002F* hasConnected *\u002F)) {\n \u002F\u002F first time this component has connected\n hostRef.$flags$ |= 1 \u002F* hasConnected *\u002F;\n let hostId;\n if (BUILD.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n const scopeId = BUILD.mode ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode')) : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId + '-h', scopeId + '-s');\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD.slotRelocation && !hostId) {\n \u002F\u002F initUpdate\n \u002F\u002F if the slot polyfill is required we'll need to put some nodes\n \u002F\u002F in here to act as original content anchors as we move nodes around\n \u002F\u002F host element has been connected to the DOM\n if (BUILD.hydrateServerSide || ((BUILD.slot || BUILD.shadowDom) && cmpMeta.$flags$ & (4 \u002F* hasSlotRelocation *\u002F | 8 \u002F* needsShadowDomShim *\u002F))) {\n setContentReference(elm);\n }\n }\n if (BUILD.asyncLoading) {\n \u002F\u002F find the first ancestor component (if there is one) and register\n \u002F\u002F this component as one of the actively loading child components for its ancestor\n let ancestorComponent = elm;\n while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {\n \u002F\u002F climb up the ancestors looking for the first\n \u002F\u002F component that hasn't finished its lifecycle update yet\n if ((BUILD.hydrateClientSide && ancestorComponent.nodeType === 1 \u002F* ElementNode *\u002F && ancestorComponent.hasAttribute('s-id') && ancestorComponent['s-p']) ||\n ancestorComponent['s-p']) {\n \u002F\u002F we found this components first ancestor component\n \u002F\u002F keep a reference to this component's ancestor component\n attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));\n break;\n }\n }\n }\n \u002F\u002F Lazy properties\n \u002F\u002F https:\u002F\u002Fdevelopers.google.com\u002Fweb\u002Ffundamentals\u002Fweb-components\u002Fbest-practices#lazy-properties\n if (BUILD.prop && BUILD.lazyLoad && !BUILD.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) =\u003E {\n if (memberFlags & 31 \u002F* Prop *\u002F && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD.initializeNextTick) {\n \u002F\u002F connectedCallback, taskQueue, initialLoad\n \u002F\u002F angular sets attribute AFTER connectCallback\n \u002F\u002F https:\u002F\u002Fgithub.com\u002Fangular\u002Fangular\u002Fissues\u002F18909\n \u002F\u002F https:\u002F\u002Fgithub.com\u002Fangular\u002Fangular\u002Fissues\u002F19940\n nextTick(() =\u003E initializeComponent(elm, hostRef, cmpMeta));\n }\n else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n }\n else {\n \u002F\u002F not the first time this has connected\n \u002F\u002F reattach any event listeners to the host\n \u002F\u002F since they would have been removed when disconnected\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n \u002F\u002F fire off connectedCallback() on component instance\n fireConnectedCallback(hostRef.$lazyInstance$);\n }\n endConnected();\n }\n};\nconst setContentReference = (elm) =\u003E {\n \u002F\u002F only required when we're NOT using native shadow dom (slot)\n \u002F\u002F or this browser doesn't support native shadow dom\n \u002F\u002F and this host element was NOT created with SSR\n \u002F\u002F let's pick out the inner content for slot projection\n \u002F\u002F create a node to represent where the original\n \u002F\u002F content was first placed, which is useful later on\n const contentRefElm = (elm['s-cr'] = doc.createComment(BUILD.isDebug ? `content-ref (host=${elm.localName})` : ''));\n contentRefElm['s-cn'] = true;\n elm.insertBefore(contentRefElm, elm.firstChild);\n};\nconst disconnectedCallback = (elm) =\u003E {\n if ((plt.$flags$ & 1 \u002F* isTmpDisconnected *\u002F) === 0) {\n const hostRef = getHostRef(elm);\n const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (BUILD.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map(rmListener =\u003E rmListener());\n hostRef.$rmListeners$ = undefined;\n }\n }\n \u002F\u002F clear CSS var-shim tracking\n if (BUILD.cssVarShim && plt.$cssShim$) {\n plt.$cssShim$.removeHost(elm);\n }\n if (BUILD.lazyLoad && BUILD.disconnectedCallback) {\n safeCall(instance, 'disconnectedCallback');\n }\n if (BUILD.cmpDidUnload) {\n safeCall(instance, 'componentDidUnload');\n }\n }\n};\nconst defineCustomElement = (Cstr, compactMeta) =\u003E {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nconst proxyCustomElement = (Cstr, compactMeta) =\u003E {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n cmpMeta.$flags$ |= 8 \u002F* needsShadowDomShim *\u002F;\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n connectedCallback(this);\n if (BUILD.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 \u002F* isElementConstructor *\u002F | 2 \u002F* proxyState *\u002F);\n};\nconst forceModeUpdate = (elm) =\u003E {\n if (BUILD.style && BUILD.mode && !BUILD.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm['s-sc'];\n const scopeId = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId)) {\n registerStyle(scopeId, style, !!(flags & 1 \u002F* shadowDomEncapsulation *\u002F));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + '-h', oldScopeId + '-s');\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\nconst attachShadow = (el) =\u003E {\n if (supportsShadow) {\n el.attachShadow({ mode: 'open' });\n }\n else {\n el.shadowRoot = el;\n }\n};\nconst hmrStart = (elm, cmpMeta, hmrVersionId) =\u003E {\n \u002F\u002F ¯\\_(ツ)_\u002F¯\n const hostRef = getHostRef(elm);\n \u002F\u002F reset state flags to only have been connected\n hostRef.$flags$ = 1 \u002F* hasConnected *\u002F;\n \u002F\u002F TODO\n \u002F\u002F detatch any event listeners that may have been added\n \u002F\u002F because we're not passing an exact event name it'll\n \u002F\u002F remove all of this element's event, which is good\n \u002F\u002F create a callback for when this component finishes hmr\n elm['s-hmr-load'] = () =\u003E {\n \u002F\u002F finished hmr for this element\n delete elm['s-hmr-load'];\n };\n \u002F\u002F re-initialize the component\n initializeComponent(elm, hostRef, cmpMeta, hmrVersionId);\n};\nconst patchCloneNode = (HostElementPrototype) =\u003E {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function (deep) {\n const srcNode = this;\n const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD.slot && !isShadowDom && deep) {\n let i = 0;\n let slotted, nonStencilNode;\n let stencilPrivates = ['s-id', 's-cr', 's-lr', 's-rc', 's-sc', 's-p', 's-cn', 's-sr', 's-sn', 's-hn', 's-ol', 's-nr', 's-si'];\n for (; i \u003C srcNode.childNodes.length; i++) {\n slotted = srcNode.childNodes[i]['s-nr'];\n nonStencilNode = stencilPrivates.every((privateField) =\u003E !srcNode.childNodes[i][privateField]);\n if (slotted) {\n if (BUILD.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n }\n else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nconst patchSlotAppendChild = (HostElementPrototype) =\u003E {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function (newChild) {\n const slotName = (newChild['s-sn'] = getSlotName(newChild));\n const slotNode = getHostSlotNode(this.childNodes, slotName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);\n }\n return this.__appendChild(newChild);\n };\n};\nconst patchChildSlotNodes = (elm, cmpMeta) =\u003E {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 \u002F* needsShadowDomShim *\u002F) {\n const childNodesFn = elm.__lookupGetter__('childNodes');\n Object.defineProperty(elm, 'children', {\n get() {\n return this.childNodes.map((n) =\u003E n.nodeType === 1);\n },\n });\n Object.defineProperty(elm, 'childElementCount', {\n get() {\n return elm.children.length;\n },\n });\n Object.defineProperty(elm, 'childNodes', {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 \u002F* isTmpDisconnected *\u002F) === 0 && getHostRef(this).$flags$ & 2 \u002F* hasRendered *\u002F) {\n const result = new FakeNodeList();\n for (let i = 0; i \u003C childNodes.length; i++) {\n const slot = childNodes[i]['s-nr'];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n },\n });\n }\n};\nconst getSlotName = (node) =\u003E node['s-sn'] || (node.nodeType === 1 && node.getAttribute('slot')) || '';\nconst getHostSlotNode = (childNodes, slotName) =\u003E {\n let i = 0;\n let childNode;\n for (; i \u003C childNodes.length; i++) {\n childNode = childNodes[i];\n if (childNode['s-sr'] && childNode['s-sn'] === slotName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nconst getHostSlotChildNodes = (n, slotName) =\u003E {\n const childNodes = [n];\n while ((n = n.nextSibling) && n['s-sn'] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\nconst bootstrapLazy = (lazyBundles, options = {}) =\u003E {\n if (BUILD.profile && performance.mark) {\n performance.mark('st:app:start');\n }\n installDevTools();\n const endBootstrap = createTime('bootstrapLazy');\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements = win.customElements;\n const head = doc.head;\n const metaCharset = \u002F*@__PURE__*\u002F head.querySelector('meta[charset]');\n const visibilityStyle = \u002F*@__PURE__*\u002F doc.createElement('style');\n const deferredConnectedCallbacks = [];\n const styles = \u002F*@__PURE__*\u002F doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);\n let appLoadFallback;\n let isBootstrapping = true;\n let i = 0;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || '.\u002F', doc.baseURI).href;\n if (BUILD.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 \u002F* queueSync *\u002F;\n }\n }\n if (BUILD.hydrateClientSide) {\n \u002F\u002F If the app is already hydrated there is not point to disable the\n \u002F\u002F async queue. This will improve the first input delay\n plt.$flags$ |= 2 \u002F* appLoaded *\u002F;\n }\n if (BUILD.hydrateClientSide && BUILD.shadowDom) {\n for (; i \u003C styles.length; i++) {\n registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);\n }\n }\n lazyBundles.map(lazyBundle =\u003E lazyBundle[1].map(compactMeta =\u003E {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3],\n };\n if (BUILD.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD.watchCallback) {\n cmpMeta.$watchers$ = {};\n }\n if (BUILD.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n cmpMeta.$flags$ |= 8 \u002F* needsShadowDomShim *\u002F;\n }\n const tagName = BUILD.transformTagName && options.transformTagName ? options.transformTagName(cmpMeta.$tagName$) : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n \u002F\u002F StencilLazyHost\n constructor(self) {\n \u002F\u002F @ts-ignore\n super(self);\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD.shadowDom && cmpMeta.$flags$ & 1 \u002F* shadowDomEncapsulation *\u002F) {\n \u002F\u002F this component is using shadow dom\n \u002F\u002F and this browser supports shadow dom\n \u002F\u002F add the read-only property \"shadowRoot\" to the host element\n \u002F\u002F adding the shadow root build conditionals to minimize runtime\n if (supportsShadow) {\n if (BUILD.shadowDelegatesFocus) {\n self.attachShadow({\n mode: 'open',\n delegatesFocus: !!(cmpMeta.$flags$ & 16 \u002F* shadowDelegatesFocus *\u002F),\n });\n }\n else {\n self.attachShadow({ mode: 'open' });\n }\n }\n else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) {\n self.shadowRoot = self;\n }\n }\n if (BUILD.slotChildNodesFix) {\n patchChildSlotNodes(self, cmpMeta);\n }\n }\n connectedCallback() {\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n \u002F\u002F connectedCallback will be processed once all components have been registered\n deferredConnectedCallbacks.push(this);\n }\n else {\n plt.jmp(() =\u003E connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() =\u003E disconnectedCallback(this));\n }\n forceUpdate() {\n if (BUILD.isDev) {\n consoleDevWarn(`element.forceUpdate() is deprecated, use the \"forceUpdate\" function from \"@stencil\u002Fcore\" instead:\n\n import { forceUpdate } from ‘@stencil\u002Fcore’;\n\n forceUpdate(this);\n forceUpdate(element);`);\n }\n forceUpdate(this);\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD.hotModuleReplacement) {\n HostElement.prototype['s-hmr'] = function (hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements.get(tagName)) {\n cmpTags.push(tagName);\n customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 \u002F* isElementConstructor *\u002F));\n }\n }));\n if (BUILD.hydratedClass || BUILD.hydratedAttribute) {\n visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;\n visibilityStyle.setAttribute('data-styles', '');\n head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n \u002F\u002F Process deferred connectedCallbacks now all components have been registered\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map(host =\u003E host.connectedCallback());\n }\n else {\n if (BUILD.profile) {\n plt.jmp(() =\u003E (appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')));\n }\n else {\n plt.jmp(() =\u003E (appLoadFallback = setTimeout(appDidLoad, 30)));\n }\n }\n \u002F\u002F Fallback appLoad event\n endBootstrap();\n};\nconst getAssetPath = (path) =\u003E {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nconst setAssetPath = (path) =\u003E (plt.$resourcesUrl$ = path);\nconst getConnect = (_ref, tagName) =\u003E {\n const componentOnReady = () =\u003E {\n let elm = doc.querySelector(tagName);\n if (!elm) {\n elm = doc.createElement(tagName);\n doc.body.appendChild(elm);\n }\n return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm);\n };\n const create = (...args) =\u003E {\n return componentOnReady().then(el =\u003E el.create(...args));\n };\n return {\n create,\n componentOnReady,\n };\n};\nconst getContext = (_elm, context) =\u003E {\n if (context in Context) {\n return Context[context];\n }\n else if (context === 'window') {\n return win;\n }\n else if (context === 'document') {\n return doc;\n }\n else if (context === 'isServer' || context === 'isPrerender') {\n return BUILD.hydrateServerSide ? true : false;\n }\n else if (context === 'isClient') {\n return BUILD.hydrateServerSide ? false : true;\n }\n else if (context === 'resourcesUrl' || context === 'publicPath') {\n return getAssetPath('.');\n }\n else if (context === 'queue') {\n return {\n write: writeTask,\n read: readTask,\n tick: {\n then(cb) {\n return nextTick(cb);\n },\n },\n };\n }\n return undefined;\n};\nconst insertVdomAnnotations = (doc, staticComponents) =\u003E {\n if (doc != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents),\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);\n orgLocationNodes.forEach(orgLocationNode =\u003E {\n if (orgLocationNode != null) {\n const nodeRef = orgLocationNode['s-nr'];\n let hostId = nodeRef['s-host-id'];\n let nodeId = nodeRef['s-node-id'];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 \u002F* ElementNode *\u002F) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (nodeRef.nodeType === 3 \u002F* TextNode *\u002F) {\n if (hostId === 0) {\n const textContent = nodeRef.nodeValue.trim();\n if (textContent === '') {\n \u002F\u002F useless whitespace node at the document root\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode['s-en'] === '') {\n \u002F\u002F ending with a \".\" means that the parent element\n \u002F\u002F of this node's original location is a SHADOW dom element\n \u002F\u002F and this node is apart of the root level light dom\n orgLocationNodeId += `.`;\n }\n else if (orgLocationParentNode['s-en'] === 'c') {\n \u002F\u002F ending with a \".c\" means that the parent element\n \u002F\u002F of this node's original location is a SCOPED element\n \u002F\u002F and this node is apart of the root level light dom\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nconst parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) =\u003E {\n if (node == null) {\n return;\n }\n if (node['s-nr'] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 \u002F* ElementNode *\u002F) {\n node.childNodes.forEach(childNode =\u003E {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0,\n };\n insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes);\n });\n }\n};\nconst insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) =\u003E {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm['s-cr'] != null) {\n hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) =\u003E {\n insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute('c-id')) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find(node =\u003E node.nodeType === 8 \u002F* CommentNode *\u002F && node['s-sr']);\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(HYDRATE_CHILD_ID, `${comment['s-host-id']}.${comment['s-node-id']}.0.${index}`);\n }\n }\n }\n }\n};\nconst insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) =\u003E {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm['s-host-id'] = hostId;\n childElm['s-node-id'] = nodeId;\n if (childElm.nodeType === 1 \u002F* ElementNode *\u002F) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n }\n else if (childElm.nodeType === 3 \u002F* TextNode *\u002F) {\n const parentNode = childElm.parentNode;\n if (parentNode.nodeName !== 'STYLE') {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc.createComment(textNodeId);\n parentNode.insertBefore(commentBeforeTextNode, childElm);\n }\n }\n else if (childElm.nodeType === 8 \u002F* CommentNode *\u002F) {\n if (childElm['s-sr']) {\n const slotName = childElm['s-sn'] || '';\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index) =\u003E {\n insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index);\n });\n }\n};\nconst hostRefs = new WeakMap();\nconst getHostRef = (ref) =\u003E hostRefs.get(ref);\nconst registerInstance = (lazyInstance, hostRef) =\u003E hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);\nconst registerHost = (elm, cmpMeta) =\u003E {\n const hostRef = {\n $flags$: 0,\n $hostElement$: elm,\n $cmpMeta$: cmpMeta,\n $instanceValues$: new Map(),\n };\n if (BUILD.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD.method && BUILD.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise(r =\u003E (hostRef.$onInstanceResolve$ = r));\n }\n if (BUILD.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise(r =\u003E (hostRef.$onReadyResolve$ = r));\n elm['s-p'] = [];\n elm['s-rc'] = [];\n }\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n return hostRefs.set(elm, hostRef);\n};\nconst isMemberInElement = (elm, memberName) =\u003E memberName in elm;\nconst STENCIL_DEV_MODE = BUILD.isTesting\n ? ['STENCIL:'] \u002F\u002F E2E testing\n : ['%cstencil', 'color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px'];\nconst consoleDevError = (...m) =\u003E console.error(...STENCIL_DEV_MODE, ...m);\nconst consoleDevWarn = (...m) =\u003E console.warn(...STENCIL_DEV_MODE, ...m);\nconst consoleDevInfo = (...m) =\u003E console.info(...STENCIL_DEV_MODE, ...m);\nconst consoleError = (e) =\u003E console.error(e);\nconst cmpModules = \u002F*@__PURE__*\u002F new Map();\nconst loadModule = (cmpMeta, hostRef, hmrVersionId) =\u003E {\n \u002F\u002F loadModuleImport\n const exportName = cmpMeta.$tagName$.replace(\u002F-\u002Fg, '_');\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD.isDev && typeof bundleId !== 'string') {\n consoleDevError(`Trying to lazily load component \u003C${cmpMeta.$tagName$}\u003E with style mode \"${hostRef.$modeName$}\", but it does not exist.`);\n return undefined;\n }\n const module = !BUILD.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n return __sc_import_codesandbox_stenciljs(\n \u002F* webpackInclude: \u002F\\.entry\\.js$\u002F *\u002F\n \u002F* webpackExclude: \u002F\\.system\\.entry\\.js$\u002F *\u002F\n \u002F* webpackMode: \"lazy\" *\u002F\n `.\u002F${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then(importedModule =\u003E {\n if (!BUILD.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\nconst styles = new Map();\nconst modeResolutionChain = [];\nconst queueDomReads = [];\nconst queueDomWrites = [];\nconst queueDomWritesLow = [];\nconst queueTask = (queue, write) =\u003E (cb) =\u003E {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 \u002F* queueSync *\u002F) {\n nextTick(flush);\n }\n else {\n plt.raf(flush);\n }\n }\n};\nconst consume = (queue) =\u003E {\n for (let i = 0; i \u003C queue.length; i++) {\n try {\n queue[i](performance.now());\n }\n catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nconst consumeTimeout = (queue, timeout) =\u003E {\n let i = 0;\n let ts = 0;\n while (i \u003C queue.length && (ts = performance.now()) \u003C timeout) {\n try {\n queue[i++](ts);\n }\n catch (e) {\n consoleError(e);\n }\n }\n if (i === queue.length) {\n queue.length = 0;\n }\n else if (i !== 0) {\n queue.splice(0, i);\n }\n};\nconst flush = () =\u003E {\n if (BUILD.asyncQueue) {\n queueCongestion++;\n }\n \u002F\u002F always force a bunch of medium callbacks to run, but still have\n \u002F\u002F a throttle on how many can run in a certain time\n \u002F\u002F DOM READS!!!\n consume(queueDomReads);\n \u002F\u002F DOM WRITES!!!\n if (BUILD.asyncQueue) {\n const timeout = (plt.$flags$ & 6 \u002F* queueMask *\u002F) === 2 \u002F* appLoaded *\u002F ? performance.now() + 14 * Math.ceil(queueCongestion * (1.0 \u002F 10.0)) : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length \u003E 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if ((queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length \u003E 0)) {\n \u002F\u002F still more to do yet, but we've run out of time\n \u002F\u002F let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n else {\n queueCongestion = 0;\n }\n }\n else {\n consume(queueDomWrites);\n if ((queuePending = queueDomReads.length \u003E 0)) {\n \u002F\u002F still more to do yet, but we've run out of time\n \u002F\u002F let's let this thing cool off and try again in the next tick\n plt.raf(flush);\n }\n }\n};\nconst nextTick = \u002F*@__PURE__*\u002F (cb) =\u003E promiseResolve().then(cb);\nconst readTask = \u002F*@__PURE__*\u002F queueTask(queueDomReads, false);\nconst writeTask = \u002F*@__PURE__*\u002F queueTask(queueDomWrites, true);\nconst Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false,\n};\n\nexport { BUILD as B, CSS as C, H, NAMESPACE as N, promiseResolve as a, bootstrapLazy as b, consoleDevInfo as c, doc as d, h, plt as p, registerInstance as r, win as w };\n","directory_shortid":"kPv05","id":"fc309b40-8b69-4d54-bb38-6715811fe17b","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"zY8j8","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"index-1831826d.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"export * from '.\u002Fcomponents';\n","directory_shortid":"yLzw","id":"9f72c76f-6aba-42aa-bdd2-5dc1a8b0d66f","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"7YzB","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"index.d.ts","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"export interface Item {\n title: string;\n done?: boolean;\n}\nexport declare class MyComponent {\n initialItems: Item[];\n items: Item[];\n fetchMore: () =\u003E void;\n render(): any;\n}\n","directory_shortid":"69LEn","id":"4ca38810-2021-4c07-9afe-8d09c4ffb05f","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"N50QD","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"my-component.d.ts","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"import { b as bootstrapLazy } from '.\u002Findex-1831826d.js';\nimport { p as patchBrowser, g as globalScripts } from '.\u002Fapp-globals-58b24273.js';\n\npatchBrowser().then(options =\u003E {\n globalScripts();\n return bootstrapLazy([[\"my-component\",[[1,\"my-component\",{\"initialItems\":[16],\"items\":[32]}]]]], options);\n});\n","directory_shortid":"kPv05","id":"94af599f-7672-4a75-94b0-b00662568af1","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"PpqM4","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"codesandbox-stenciljs.esm.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"import { r as registerInstance, h } from '.\u002Findex-1831826d.js';\n\nconst myComponentCss = \"@import url(\\\"https:\u002F\u002Ffonts.googleapis.com\u002Fcss?family=Roboto+Slab|Open+Sans:400italic\\\", 700italic, 400, 700);:host{font-family:\\\"Open Sans\\\", sans-serif;font-weight:normal}h1,h2,h3,h4,h5,h6{font-family:\\\"Roboto Slab\\\", serif;font-weight:normal}button{padding:5px 20px}\";\n\nconst MyComponent = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.items = [{ title: \"Item 1\" }];\n this.fetchMore = () =\u003E {\n this.items = [...this.items, { title: \"Fetched item\" }];\n };\n }\n render() {\n return (h(\"div\", null, this.items.length \u003E 0 && (h(\"ul\", null, this.items.map(item =\u003E (h(\"li\", null, item.title))))), h(\"button\", { onClick: this.fetchMore }, \"Fetch More\")));\n }\n};\nMyComponent.style = myComponentCss;\n\nexport { MyComponent as my_component };\n","directory_shortid":"kPv05","id":"7a9c3cf2-68ae-4e87-a65d-b38b1b68f90a","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"pLVyN","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"my-component.entry.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"\u002F*\n Stencil Client Platform v1.17.4 | MIT Licensed | https:\u002F\u002Fstenciljs.com\n *\u002F\n\u002F**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https:\u002F\u002Fangular.io\u002Flicense\n *\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n * https:\u002F\u002Fgithub.com\u002Fwebcomponents\u002Fwebcomponentsjs\u002Fblob\u002F4efecd7e0e\u002Fsrc\u002FShadowCSS\u002FShadowCSS.js\n * https:\u002F\u002Fgithub.com\u002Fangular\u002Fangular\u002Fblob\u002Fmaster\u002Fpackages\u002Fcompiler\u002Fsrc\u002Fshadow_css.ts\n *\u002F\nconst safeSelector = (selector) =\u003E {\n const placeholders = [];\n let index = 0;\n let content;\n \u002F\u002F Replaces attribute selectors with placeholders.\n \u002F\u002F The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(\u002F(\\[[^\\]]*\\])\u002Fg, (_, keep) =\u003E {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(keep);\n index++;\n return replaceBy;\n });\n \u002F\u002F Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n \u002F\u002F WS and \"+\" would otherwise be interpreted as selector separators.\n content = selector.replace(\u002F(:nth-[-\\w]+)(\\([^)]+\\))\u002Fg, (_, pseudo, exp) =\u003E {\n const replaceBy = `__ph-${index}__`;\n placeholders.push(exp);\n index++;\n return pseudo + replaceBy;\n });\n const ss = {\n content,\n placeholders,\n };\n return ss;\n};\nconst restoreSafeSelector = (placeholders, content) =\u003E {\n return content.replace(\u002F__ph-(\\d+)__\u002Fg, (_, index) =\u003E placeholders[+index]);\n};\nconst _polyfillHost = '-shadowcsshost';\nconst _polyfillSlotted = '-shadowcssslotted';\n\u002F\u002F note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' + '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' + ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = \u002F-shadowcsshost-no-combinator([^\\s]*)\u002F;\nconst _shadowDOMSelectorsRe = [\u002F::shadow\u002Fg, \u002F::content\u002Fg];\nconst _selectorReSuffix = '([\u003E\\\\s~+[.,{:][\\\\s\\\\S]*)?
;\nconst _polyfillHostRe = \u002F-shadowcsshost\u002Fgim;\nconst _colonHostRe = \u002F:host\u002Fgim;\nconst _colonSlottedRe = \u002F::slotted\u002Fgim;\nconst _colonHostContextRe = \u002F:host-context\u002Fgim;\nconst _commentRe = \u002F\\\u002F\\*\\s*[\\s\\S]*?\\*\\\u002F\u002Fg;\nconst stripComments = (input) =\u003E {\n return input.replace(_commentRe, '');\n};\nconst _commentWithHashRe = \u002F\\\u002F\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\\u002F\u002Fg;\nconst extractCommentsWithHash = (input) =\u003E {\n return input.match(_commentWithHashRe) || [];\n};\nconst _ruleRe = \u002F(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))\u002Fg;\nconst _curlyRe = \u002F([{}])\u002Fg;\nconst OPEN_CURLY = '{';\nconst CLOSE_CURLY = '}';\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst processRules = (input, ruleCallback) =\u003E {\n const inputWithEscapedBlocks = escapeBlocks(input);\n let nextBlockIndex = 0;\n return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) =\u003E {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const cssRule = {\n selector,\n content,\n };\n const rule = ruleCallback(cssRule);\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n });\n};\nconst escapeBlocks = (input) =\u003E {\n const inputParts = input.split(_curlyRe);\n const resultParts = [];\n const escapedBlocks = [];\n let bracketCount = 0;\n let currentBlockParts = [];\n for (let partIndex = 0; partIndex \u003C inputParts.length; partIndex++) {\n const part = inputParts[partIndex];\n if (part === CLOSE_CURLY) {\n bracketCount--;\n }\n if (bracketCount \u003E 0) {\n currentBlockParts.push(part);\n }\n else {\n if (currentBlockParts.length \u003E 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n currentBlockParts = [];\n }\n resultParts.push(part);\n }\n if (part === OPEN_CURLY) {\n bracketCount++;\n }\n }\n if (currentBlockParts.length \u003E 0) {\n escapedBlocks.push(currentBlockParts.join(''));\n resultParts.push(BLOCK_PLACEHOLDER);\n }\n const strEscapedBlocks = {\n escapedString: resultParts.join(''),\n blocks: escapedBlocks,\n };\n return strEscapedBlocks;\n};\nconst insertPolyfillHostInCssText = (selector) =\u003E {\n selector = selector\n .replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost)\n .replace(_colonSlottedRe, _polyfillSlotted);\n return selector;\n};\nconst convertColonRule = (cssText, regExp, partReplacer) =\u003E {\n \u002F\u002F m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, (...m) =\u003E {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i \u003C parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n};\nconst colonHostPartReplacer = (host, part, suffix) =\u003E {\n return host + part.replace(_polyfillHost, '') + suffix;\n};\nconst convertColonHost = (cssText) =\u003E {\n return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);\n};\nconst colonHostContextPartReplacer = (host, part, suffix) =\u003E {\n if (part.indexOf(_polyfillHost) \u003E -1) {\n return colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n};\nconst convertColonSlotted = (cssText, slotScopeId) =\u003E {\n const slotClass = '.' + slotScopeId + ' \u003E ';\n const selectors = [];\n cssText = cssText.replace(_cssColonSlottedRe, (...m) =\u003E {\n if (m[2]) {\n const compound = m[2].trim();\n const suffix = m[3];\n const slottedSelector = slotClass + compound + suffix;\n let prefixSelector = '';\n for (let i = m[4] - 1; i \u003E= 0; i--) {\n const char = m[5][i];\n if (char === '}' || char === ',') {\n break;\n }\n prefixSelector = char + prefixSelector;\n }\n const orgSelector = prefixSelector + slottedSelector;\n const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;\n if (orgSelector.trim() !== addedSelector.trim()) {\n const updatedSelector = `${addedSelector}, ${orgSelector}`;\n selectors.push({\n orgSelector,\n updatedSelector,\n });\n }\n return slottedSelector;\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n return {\n selectors,\n cssText,\n };\n};\nconst convertColonHostContext = (cssText) =\u003E {\n return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);\n};\nconst convertShadowDOMSelectors = (cssText) =\u003E {\n return _shadowDOMSelectorsRe.reduce((result, pattern) =\u003E result.replace(pattern, ' '), cssText);\n};\nconst makeScopeMatcher = (scopeSelector) =\u003E {\n const lre = \u002F\\[\u002Fg;\n const rre = \u002F\\]\u002Fg;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n};\nconst selectorNeedsScoping = (selector, scopeSelector) =\u003E {\n const re = makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n};\nconst applySimpleSelectorScope = (selector, scopeSelector, hostSelector) =\u003E {\n \u002F\u002F In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = `.${hostSelector}`;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (_, selector) =\u003E {\n return selector.replace(\u002F([^:]*)(:*)(.*)\u002F, (_, before, colon, after) =\u003E {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n};\nconst applyStrictSelectorScope = (selector, scopeSelector, hostSelector) =\u003E {\n const isRe = \u002F\\[is=([^\\]]*)\\]\u002Fg;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) =\u003E parts[0]);\n const className = '.' + scopeSelector;\n const _scopeSelectorPart = (p) =\u003E {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) \u003E -1) {\n scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n \u002F\u002F remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length \u003E 0) {\n const matches = t.match(\u002F([^:]*)(:*)(.*)\u002F);\n if (matches) {\n scopedP = matches[1] + className + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = safeSelector(selector);\n selector = safeContent.content;\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = \u002F( |\u003E|\\+|~(?!=))\\s*\u002Fg;\n \u002F\u002F If a selector appears before :host it should not be shimmed as it\n \u002F\u002F matches on ancestor elements and not on elements in the host's shadow\n \u002F\u002F `:host-context(div)` is transformed to\n \u002F\u002F `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n \u002F\u002F the `div` is not part of the component in the 2nd selectors and should not be scoped.\n \u002F\u002F Historically `component-tag:host` was matching the component so we also want to preserve\n \u002F\u002F this behavior to avoid breaking legacy apps (it should not match).\n \u002F\u002F The behavior should be:\n \u002F\u002F - `tag:host` -\u003E `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n \u002F\u002F - `tag :host` -\u003E `tag [h]` (`tag` is not scoped because it's considered part of a\n \u002F\u002F `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) \u003E -1;\n \u002F\u002F Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) \u003E -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) \u003E -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n \u002F\u002F replace the placeholders with their original values\n return restoreSafeSelector(safeContent.placeholders, scopedSelector);\n};\nconst scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) =\u003E {\n return selector\n .split(',')\n .map(shallowPart =\u003E {\n if (slotSelector && shallowPart.indexOf('.' + slotSelector) \u003E -1) {\n return shallowPart.trim();\n }\n if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {\n return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();\n }\n else {\n return shallowPart.trim();\n }\n })\n .join(', ');\n};\nconst scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) =\u003E {\n return processRules(cssText, (rule) =\u003E {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] !== '@') {\n selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') || rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);\n }\n const cssRule = {\n selector: selector.replace(\u002F\\s{2,}\u002Fg, ' ').trim(),\n content,\n };\n return cssRule;\n });\n};\nconst scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) =\u003E {\n cssText = insertPolyfillHostInCssText(cssText);\n cssText = convertColonHost(cssText);\n cssText = convertColonHostContext(cssText);\n const slotted = convertColonSlotted(cssText, slotScopeId);\n cssText = slotted.cssText;\n cssText = convertShadowDOMSelectors(cssText);\n if (scopeId) {\n cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);\n }\n cssText = cssText.replace(\u002F-shadowcsshost-no-combinator\u002Fg, `.${hostScopeId}`);\n cssText = cssText.replace(\u002F\u003E\\s*\\*\\s+([^{, ]+)\u002Fgm, ' $1 ');\n return {\n cssText: cssText.trim(),\n slottedSelectors: slotted.selectors,\n };\n};\nconst scopeCss = (cssText, scopeId, commentOriginalSelector) =\u003E {\n const hostScopeId = scopeId + '-h';\n const slotScopeId = scopeId + '-s';\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n const orgSelectors = [];\n if (commentOriginalSelector) {\n const processCommentedSelector = (rule) =\u003E {\n const placeholder = `\u002F*!@___${orgSelectors.length}___*\u002F`;\n const comment = `\u002F*!@${rule.selector}*\u002F`;\n orgSelectors.push({ placeholder, comment });\n rule.selector = placeholder + rule.selector;\n return rule;\n };\n cssText = processRules(cssText, rule =\u003E {\n if (rule.selector[0] !== '@') {\n return processCommentedSelector(rule);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') || rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n rule.content = processRules(rule.content, processCommentedSelector);\n return rule;\n }\n return rule;\n });\n }\n const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);\n cssText = [scoped.cssText, ...commentsWithHash].join('\\n');\n if (commentOriginalSelector) {\n orgSelectors.forEach(({ placeholder, comment }) =\u003E {\n cssText = cssText.replace(placeholder, comment);\n });\n }\n scoped.slottedSelectors.forEach(slottedSelector =\u003E {\n cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);\n });\n return cssText;\n};\n\nexport { scopeCss };\n","directory_shortid":"kPv05","id":"d1c7fee6-1cf4-4ab8-9de8-668ce39334f5","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"M5wmm","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"shadow-css-fb1c6168.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"\n","directory_shortid":"kPv05","id":"23e3ae4c-9a75-4ad8-8378-ab59f1dc5b69","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"16MZo","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"index.esm.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"\n(function(doc){\n var scriptElm = doc.scripts[doc.scripts.length - 1];\n var warn = ['[codesandbox-stenciljs] Deprecated script, please remove: ' + scriptElm.outerHTML];\n\n warn.push('To improve performance it is recommended to set the differential scripts in the head as follows:')\n\n var parts = scriptElm.src.split('\u002F');\n parts.pop();\n parts.push('codesandbox-stenciljs');\n var url = parts.join('\u002F');\n\n var scriptElm = doc.createElement('script');\n scriptElm.setAttribute('type', 'module');\n scriptElm.src = url + '\u002Fcodesandbox-stenciljs.esm.js';\n warn.push(scriptElm.outerHTML);\n scriptElm.setAttribute('data-stencil-namespace', 'codesandbox-stenciljs');\n doc.head.appendChild(scriptElm);\n\n false\n console.warn(warn.join('\\n'));\n\n})(document);","directory_shortid":"rEPNk","id":"d0a893e9-924b-4cb5-aa41-3139156d6123","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"l7zg7","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"codesandbox-stenciljs.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"declare type CustomMethodDecorator\u003CT\u003E = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor\u003CT\u003E) =\u003E TypedPropertyDescriptor\u003CT\u003E | void;\nexport interface ComponentDecorator {\n (opts?: ComponentOptions): ClassDecorator;\n}\nexport interface ComponentOptions {\n \u002F**\n * Tag name of the web component. Ideally, the tag name must be globally unique,\n * so it's recommended to choose an unique prefix for all your components within the same collection.\n *\n * In addition, tag name must contain a '-'\n *\u002F\n tag: string;\n \u002F**\n * If `true`, the component will use scoped stylesheets. Similar to shadow-dom,\n * but without native isolation. Defaults to `false`.\n *\u002F\n scoped?: boolean;\n \u002F**\n * If `true`, the component will use native shadow-dom encapsulation, it will fallback to\n * `scoped` if the browser does not support shadow-dom natively. Defaults to `false`.\n * Additionally, `shadow` can also be given options when attaching the shadow root.\n *\u002F\n shadow?: boolean | ShadowRootOptions;\n \u002F**\n * Relative URL to some external stylesheet file. It should be a `.css` file unless some\n * external plugin is installed like `@stencil\u002Fsass`.\n *\u002F\n styleUrl?: string;\n \u002F**\n * Similar as `styleUrl` but allows to specify different stylesheets for different modes.\n *\u002F\n styleUrls?: string[] | ModeStyles;\n \u002F**\n * String that contains inlined CSS instead of using an external stylesheet.\n * The performance characteristics of this feature are the same as using an external stylesheet.\n *\n * Notice, you can't use sass, or less, only `css` is allowed using `styles`, use `styleUrl` is you need more advanced features.\n *\u002F\n styles?: string | {\n [modeName: string]: any;\n };\n \u002F**\n * Array of relative links to folders of assets required by the component.\n *\u002F\n assetsDirs?: string[];\n \u002F**\n * @deprecated Use `assetsDirs` instead\n *\u002F\n assetsDir?: string;\n}\nexport interface ShadowRootOptions {\n \u002F**\n * When set to `true`, specifies behavior that mitigates custom element issues\n * around focusability. When a non-focusable part of the shadow DOM is clicked, the first\n * focusable part is given focus, and the shadow host is given any available `:focus` styling.\n *\u002F\n delegatesFocus?: boolean;\n}\nexport interface ModeStyles {\n [modeName: string]: string | string[];\n}\nexport interface PropDecorator {\n (opts?: PropOptions): PropertyDecorator;\n}\nexport interface PropOptions {\n \u002F**\n * The name of the associated DOM attribute.\n * Stencil uses different heuristics to determine the default name of the attribute,\n * but using this property, you can override the default behaviour.\n *\u002F\n attribute?: string | null;\n \u002F**\n * A Prop is _by default_ immutable from inside the component logic.\n * Once a value is set by a user, the component cannot update it internally.\n * However, it's possible to explicitly allow a Prop to be mutated from inside the component,\n * by setting this `mutable` option to `true`.\n *\u002F\n mutable?: boolean;\n \u002F**\n * In some cases it may be useful to keep a Prop in sync with an attribute.\n * In this case you can set the `reflect` option to `true`, since it defaults to `false`:\n *\u002F\n reflect?: boolean;\n \u002F** @deprecated: \"attr\" has been deprecated, please use \"attribute\" instead. *\u002F\n attr?: string;\n \u002F** @deprecated \"context\" has been deprecated. *\u002F\n context?: string;\n \u002F** @deprecated \"connect\" has been deprecated, please use ES modules and\u002For dynamic imports instead. *\u002F\n connect?: string;\n \u002F** @deprecated \"reflectToAttr\" has been deprecated, please use \"reflect\" instead. *\u002F\n reflectToAttr?: boolean;\n}\nexport interface MethodDecorator {\n (opts?: MethodOptions): CustomMethodDecorator\u003Cany\u003E;\n}\nexport interface MethodOptions {\n}\nexport interface ElementDecorator {\n (): PropertyDecorator;\n}\nexport interface EventDecorator {\n (opts?: EventOptions): PropertyDecorator;\n}\nexport interface EventOptions {\n \u002F**\n * A string custom event name to override the default.\n *\u002F\n eventName?: string;\n \u002F**\n * A Boolean indicating whether the event bubbles up through the DOM or not.\n *\u002F\n bubbles?: boolean;\n \u002F**\n * A Boolean indicating whether the event is cancelable.\n *\u002F\n cancelable?: boolean;\n \u002F**\n * A Boolean value indicating whether or not the event can bubble across the boundary between the shadow DOM and the regular DOM.\n *\u002F\n composed?: boolean;\n}\nexport interface ListenDecorator {\n (eventName: string, opts?: ListenOptions): CustomMethodDecorator\u003Cany\u003E;\n}\nexport interface ListenOptions {\n \u002F**\n * Handlers can also be registered for an event other than the host itself.\n * The `target` option can be used to change where the event listener is attached,\n * this is useful for listening to application-wide events.\n *\u002F\n target?: ListenTargetOptions;\n \u002F**\n * Event listener attached with `@Listen` does not \"capture\" by default,\n * When a event listener is set to \"capture\", means the event will be dispatched\n * during the \"capture phase\". Please see\n * https:\u002F\u002Fwww.quirksmode.org\u002Fjs\u002Fevents_order.html for further information.\n *\u002F\n capture?: boolean;\n \u002F**\n * By default, Stencil uses several heuristics to determine if\n * it must attach a `passive` event listener or not.\n *\n * Using the `passive` option can be used to change the default behaviour.\n * Please see https:\u002F\u002Fdevelopers.google.com\u002Fweb\u002Fupdates\u002F2016\u002F06\u002Fpassive-event-listeners for further information.\n *\u002F\n passive?: boolean;\n}\nexport declare type ListenTargetOptions = 'parent' | 'body' | 'document' | 'window';\nexport interface StateDecorator {\n (): PropertyDecorator;\n}\nexport interface WatchDecorator {\n (propName: string): CustomMethodDecorator\u003Cany\u003E;\n}\nexport interface UserBuildConditionals {\n isDev: boolean;\n isBrowser: boolean;\n isServer: boolean;\n isTesting: boolean;\n}\n\u002F**\n * The `Build` object provides many build conditionals that can be used to\n * include or exclude code depending on the build.\n *\u002F\nexport declare const Build: UserBuildConditionals;\n\u002F**\n * The `@Component()` decorator is used to provide metadata about the component class.\n * https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fcomponent\n *\u002F\nexport declare const Component: ComponentDecorator;\n\u002F**\n * The `@Element()` decorator is a reference to the actual host element\n * once it has rendered.\n *\u002F\nexport declare const Element: ElementDecorator;\n\u002F**\n * Components can emit data and events using the Event Emitter decorator.\n * To dispatch Custom DOM events for other components to handle, use the\n * `@Event()` decorator. The Event decorator also makes it easier for Stencil\n * to automatically build types and documentation for the event data.\n * https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fevents\n *\u002F\nexport declare const Event: EventDecorator;\n\u002F**\n * The `Listen()` decorator is for listening DOM events, including the ones\n * dispatched from `@Events()`.\n * https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fevents#listen-decorator\n *\u002F\nexport declare const Listen: ListenDecorator;\n\u002F**\n * The `@Method()` decorator is used to expose methods on the public API.\n * Class methods decorated with the @Method() decorator can be called directly\n * from the element, meaning they are intended to be callable from the outside.\n * https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fmethods\n *\u002F\nexport declare const Method: MethodDecorator;\n\u002F**\n * Props are custom attribute\u002Fproperties exposed publicly on the element\n * that developers can provide values for. Children components do not need to\n * know about or reference parent components, so Props can be used to pass\n * data down from the parent to the child. Components need to explicitly\n * declare the Props they expect to receive using the `@Prop()` decorator.\n * Any value changes to a Prop will cause a re-render.\n * https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fproperties\n *\u002F\nexport declare const Prop: PropDecorator;\n\u002F**\n * The `@State()` decorator can be used to manage internal data for a component.\n * This means that a user cannot modify this data from outside the component,\n * but the component can modify it however it sees fit. Any value changes to a\n * `@State()` property will cause the components render function to be called again.\n * https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fstate\n *\u002F\nexport declare const State: StateDecorator;\n\u002F**\n * When a property's value has changed, a method decorated with `@Watch()` will be\n * called and passed the new value of the prop along with the old value. Watch is\n * useful for validating props or handling side effects. Watch decorator does not\n * fire when a component initially loads.\n * https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Freactive-data#watch-decorator\n *\u002F\nexport declare const Watch: WatchDecorator;\nexport declare type ResolutionHandler = (elm: HTMLElement) =\u003E string | undefined | null;\n\u002F**\n * `setMode()` is used for libraries which provide multiple \"modes\" for styles.\n *\u002F\nexport declare const setMode: (handler: ResolutionHandler) =\u003E void;\n\u002F**\n * getMode\n *\u002F\nexport declare function getMode\u003CT = string | undefined\u003E(ref: any): T;\n\u002F**\n * Get the base path to where the assets can be found. Use `setAssetPath(path)`\n * if the path needs to be customized.\n *\u002F\nexport declare function getAssetPath(path: string): string;\n\u002F**\n * Used to manually set the base path where assets can be found. For lazy-loaded\n * builds the asset path is automatically set and assets copied to the correct\n * build directory. However, for custom elements builds, the `setAssetPath(path)` could\n * be used to customize the asset path depending on how the script file is consumed.\n * If the script is used as \"module\", it's recommended to use \"import.meta.url\", such\n * as `setAssetPath(import.meta.url)`. Other options include\n * `setAssetPath(document.currentScript.src)`, or using a bundler's replace plugin to\n * dynamically set the path at build time, such as `setAssetPath(process.env.ASSET_PATH)`.\n * But do note that this configuration depends on how your script is bundled, or lack of\n * bunding, and where your assets can be loaded from. Additionally custom bundling\n * will have to ensure the static assets are copied to its build directory.\n *\u002F\nexport declare function setAssetPath(path: string): string;\n\u002F**\n * getElement\n *\u002F\nexport declare function getElement(ref: any): HTMLStencilElement;\n\u002F**\n * Schedules a new render of the given instance or element even if no state changed.\n *\n * Notice `forceUpdate()` is not syncronous and might perform the DOM render in the next frame.\n *\u002F\nexport declare function forceUpdate(ref: any): void;\n\u002F**\n * getRenderingRef\n *\u002F\nexport declare function getRenderingRef(): any;\nexport interface HTMLStencilElement extends HTMLElement {\n componentOnReady(): Promise\u003Cthis\u003E;\n \u002F** @deprecated *\u002F\n forceUpdate(): void;\n}\n\u002F**\n * Schedules a DOM-write task. The provided callback will be executed\n * in the best moment to perform DOM mutation without causing layout thrashing.\n *\n * For further information: https:\u002F\u002Fdevelopers.google.com\u002Fweb\u002Ffundamentals\u002Fperformance\u002Frendering\u002Favoid-large-complex-layouts-and-layout-thrashing\n *\u002F\nexport declare function writeTask(task: RafCallback): void;\n\u002F**\n * Schedules a DOM-read task. The provided callback will be executed\n * in the best moment to perform DOM reads without causing layout thrashing.\n *\n * For further information: https:\u002F\u002Fdevelopers.google.com\u002Fweb\u002Ffundamentals\u002Fperformance\u002Frendering\u002Favoid-large-complex-layouts-and-layout-thrashing\n *\u002F\nexport declare function readTask(task: RafCallback): void;\n\u002F**\n * This file gets copied to all distributions of stencil component collections.\n * - no imports\n *\u002F\nexport interface ComponentWillLoad {\n \u002F**\n * The component is about to load and it has not\n * rendered yet.\n *\n * This is the best place to make any data updates\n * before the first render.\n *\n * componentWillLoad will only be called once.\n *\u002F\n componentWillLoad(): Promise\u003Cvoid\u003E | void;\n}\nexport interface ComponentDidLoad {\n \u002F**\n * The component has loaded and has already rendered.\n *\n * Updating data in this method will cause the\n * component to re-render.\n *\n * componentDidLoad will only be called once.\n *\u002F\n componentDidLoad(): void;\n}\nexport interface ComponentWillUpdate {\n \u002F**\n * The component is about to update and re-render.\n *\n * Called multiple times throughout the life of\n * the component as it updates.\n *\n * componentWillUpdate is not called on the first render.\n *\u002F\n componentWillUpdate(): Promise\u003Cvoid\u003E | void;\n}\nexport interface ComponentDidUpdate {\n \u002F**\n * The component has just re-rendered.\n *\n * Called multiple times throughout the life of\n * the component as it updates.\n *\n * componentWillUpdate is not called on the\n * first render.\n *\u002F\n componentDidUpdate(): void;\n}\nexport interface ComponentDidUnload {\n \u002F**\n * The component did unload and the element\n * will be destroyed.\n *\u002F\n componentDidUnload(): void;\n}\nexport interface ComponentInterface {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n componentWillRender?(): Promise\u003Cvoid\u003E | void;\n componentDidRender?(): void;\n \u002F**\n * The component is about to load and it has not\n * rendered yet.\n *\n * This is the best place to make any data updates\n * before the first render.\n *\n * componentWillLoad will only be called once.\n *\u002F\n componentWillLoad?(): Promise\u003Cvoid\u003E | void;\n \u002F**\n * The component has loaded and has already rendered.\n *\n * Updating data in this method will cause the\n * component to re-render.\n *\n * componentDidLoad will only be called once.\n *\u002F\n componentDidLoad?(): void;\n \u002F**\n * A `@Prop` or `@State` property changed and a rerender is about to be requested.\n *\n * Called multiple times throughout the life of\n * the component as its properties change.\n *\n * componentShouldUpdate is not called on the first render.\n *\u002F\n componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void;\n \u002F**\n * The component is about to update and re-render.\n *\n * Called multiple times throughout the life of\n * the component as it updates.\n *\n * componentWillUpdate is not called on the first render.\n *\u002F\n componentWillUpdate?(): Promise\u003Cvoid\u003E | void;\n \u002F**\n * The component has just re-rendered.\n *\n * Called multiple times throughout the life of\n * the component as it updates.\n *\n * componentWillUpdate is not called on the\n * first render.\n *\u002F\n componentDidUpdate?(): void;\n render?(): any;\n [memberName: string]: any;\n}\nexport interface EventEmitter\u003CT = any\u003E {\n emit: (data?: T) =\u003E CustomEvent\u003CT\u003E;\n}\nexport interface RafCallback {\n (timeStamp: number): void;\n}\nexport interface QueueApi {\n tick: (cb: RafCallback) =\u003E void;\n read: (cb: RafCallback) =\u003E void;\n write: (cb: RafCallback) =\u003E void;\n clear?: () =\u003E void;\n flush?: (cb?: () =\u003E void) =\u003E void;\n}\n\u002F**\n * Host\n *\u002F\ninterface HostAttributes {\n class?: string | {\n [className: string]: boolean;\n };\n style?: {\n [key: string]: string | undefined;\n };\n ref?: (el: HTMLElement | null) =\u003E void;\n [prop: string]: any;\n}\nexport interface FunctionalUtilities {\n forEach: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) =\u003E void) =\u003E void;\n map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) =\u003E ChildNode) =\u003E VNode[];\n}\nexport interface FunctionalComponent\u003CT = {}\u003E {\n (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[];\n}\nexport interface ChildNode {\n vtag?: string | number | Function;\n vkey?: string | number;\n vtext?: string;\n vchildren?: VNode[];\n vattrs?: any;\n vname?: string;\n}\n\u002F**\n * Host is a functional component can be used at the root of the render function\n * to set attributes and event listeners to the host element itself.\n *\n * For further information: https:\u002F\u002Fstenciljs.com\u002Fdocs\u002Fhost-element\n *\u002F\nexport declare const Host: FunctionalComponent\u003CHostAttributes\u003E;\n\u002F**\n * The \"h\" namespace is used to import JSX types for elements and attributes.\n * It is imported in order to avoid conflicting global JSX issues.\n *\u002F\nexport declare namespace h {\n function h(sel: any): VNode;\n function h(sel: Node, data: VNodeData): VNode;\n function h(sel: any, data: VNodeData): VNode;\n function h(sel: any, text: string): VNode;\n function h(sel: any, children: Array\u003CVNode | undefined | null\u003E): VNode;\n function h(sel: any, data: VNodeData, text: string): VNode;\n function h(sel: any, data: VNodeData, children: Array\u003CVNode | undefined | null\u003E): VNode;\n function h(sel: any, data: VNodeData, children: VNode): VNode;\n namespace JSX {\n interface IntrinsicElements extends LocalJSX.IntrinsicElements, JSXBase.IntrinsicElements {\n [tagName: string]: any;\n }\n }\n}\nexport interface VNode {\n $flags$: number;\n $tag$: string | number | Function;\n $elm$: any;\n $text$: string;\n $children$: VNode[];\n $attrs$?: any;\n $name$?: string;\n $key$?: string | number;\n}\nexport interface VNodeData {\n class?: {\n [className: string]: boolean;\n };\n style?: any;\n [attrName: string]: any;\n}\ndeclare namespace LocalJSX {\n interface Element {\n }\n interface IntrinsicElements {\n }\n}\nexport { LocalJSX as JSX };\nexport declare namespace JSXBase {\n interface IntrinsicElements {\n slot: JSXBase.SlotAttributes;\n a: JSXBase.AnchorHTMLAttributes\u003CHTMLAnchorElement\u003E;\n abbr: JSXBase.HTMLAttributes;\n address: JSXBase.HTMLAttributes;\n area: JSXBase.AreaHTMLAttributes\u003CHTMLAreaElement\u003E;\n article: JSXBase.HTMLAttributes;\n aside: JSXBase.HTMLAttributes;\n audio: JSXBase.AudioHTMLAttributes\u003CHTMLAudioElement\u003E;\n b: JSXBase.HTMLAttributes;\n base: JSXBase.BaseHTMLAttributes\u003CHTMLBaseElement\u003E;\n bdi: JSXBase.HTMLAttributes;\n bdo: JSXBase.HTMLAttributes;\n big: JSXBase.HTMLAttributes;\n blockquote: JSXBase.BlockquoteHTMLAttributes\u003CHTMLQuoteElement\u003E;\n body: JSXBase.HTMLAttributes\u003CHTMLBodyElement\u003E;\n br: JSXBase.HTMLAttributes\u003CHTMLBRElement\u003E;\n button: JSXBase.ButtonHTMLAttributes\u003CHTMLButtonElement\u003E;\n canvas: JSXBase.CanvasHTMLAttributes\u003CHTMLCanvasElement\u003E;\n caption: JSXBase.HTMLAttributes\u003CHTMLTableCaptionElement\u003E;\n cite: JSXBase.HTMLAttributes;\n code: JSXBase.HTMLAttributes;\n col: JSXBase.ColHTMLAttributes\u003CHTMLTableColElement\u003E;\n colgroup: JSXBase.ColgroupHTMLAttributes\u003CHTMLTableColElement\u003E;\n data: JSXBase.HTMLAttributes\u003CHTMLDataElement\u003E;\n datalist: JSXBase.HTMLAttributes\u003CHTMLDataListElement\u003E;\n dd: JSXBase.HTMLAttributes;\n del: JSXBase.DelHTMLAttributes\u003CHTMLModElement\u003E;\n details: JSXBase.DetailsHTMLAttributes\u003CHTMLElement\u003E;\n dfn: JSXBase.HTMLAttributes;\n dialog: JSXBase.DialogHTMLAttributes\u003CHTMLDialogElement\u003E;\n div: JSXBase.HTMLAttributes\u003CHTMLDivElement\u003E;\n dl: JSXBase.HTMLAttributes\u003CHTMLDListElement\u003E;\n dt: JSXBase.HTMLAttributes;\n em: JSXBase.HTMLAttributes;\n embed: JSXBase.EmbedHTMLAttributes\u003CHTMLEmbedElement\u003E;\n fieldset: JSXBase.FieldsetHTMLAttributes\u003CHTMLFieldSetElement\u003E;\n figcaption: JSXBase.HTMLAttributes;\n figure: JSXBase.HTMLAttributes;\n footer: JSXBase.HTMLAttributes;\n form: JSXBase.FormHTMLAttributes\u003CHTMLFormElement\u003E;\n h1: JSXBase.HTMLAttributes\u003CHTMLHeadingElement\u003E;\n h2: JSXBase.HTMLAttributes\u003CHTMLHeadingElement\u003E;\n h3: JSXBase.HTMLAttributes\u003CHTMLHeadingElement\u003E;\n h4: JSXBase.HTMLAttributes\u003CHTMLHeadingElement\u003E;\n h5: JSXBase.HTMLAttributes\u003CHTMLHeadingElement\u003E;\n h6: JSXBase.HTMLAttributes\u003CHTMLHeadingElement\u003E;\n head: JSXBase.HTMLAttributes\u003CHTMLHeadElement\u003E;\n header: JSXBase.HTMLAttributes;\n hgroup: JSXBase.HTMLAttributes;\n hr: JSXBase.HTMLAttributes\u003CHTMLHRElement\u003E;\n html: JSXBase.HTMLAttributes\u003CHTMLHtmlElement\u003E;\n i: JSXBase.HTMLAttributes;\n iframe: JSXBase.IframeHTMLAttributes\u003CHTMLIFrameElement\u003E;\n img: JSXBase.ImgHTMLAttributes\u003CHTMLImageElement\u003E;\n input: JSXBase.InputHTMLAttributes\u003CHTMLInputElement\u003E;\n ins: JSXBase.InsHTMLAttributes\u003CHTMLModElement\u003E;\n kbd: JSXBase.HTMLAttributes;\n keygen: JSXBase.KeygenHTMLAttributes\u003CHTMLElement\u003E;\n label: JSXBase.LabelHTMLAttributes\u003CHTMLLabelElement\u003E;\n legend: JSXBase.HTMLAttributes\u003CHTMLLegendElement\u003E;\n li: JSXBase.LiHTMLAttributes\u003CHTMLLIElement\u003E;\n link: JSXBase.LinkHTMLAttributes\u003CHTMLLinkElement\u003E;\n main: JSXBase.HTMLAttributes;\n map: JSXBase.MapHTMLAttributes\u003CHTMLMapElement\u003E;\n mark: JSXBase.HTMLAttributes;\n menu: JSXBase.MenuHTMLAttributes\u003CHTMLMenuElement\u003E;\n menuitem: JSXBase.HTMLAttributes;\n meta: JSXBase.MetaHTMLAttributes\u003CHTMLMetaElement\u003E;\n meter: JSXBase.MeterHTMLAttributes\u003CHTMLMeterElement\u003E;\n nav: JSXBase.HTMLAttributes;\n noscript: JSXBase.HTMLAttributes;\n object: JSXBase.ObjectHTMLAttributes\u003CHTMLObjectElement\u003E;\n ol: JSXBase.OlHTMLAttributes\u003CHTMLOListElement\u003E;\n optgroup: JSXBase.OptgroupHTMLAttributes\u003CHTMLOptGroupElement\u003E;\n option: JSXBase.OptionHTMLAttributes\u003CHTMLOptionElement\u003E;\n output: JSXBase.OutputHTMLAttributes\u003CHTMLOutputElement\u003E;\n p: JSXBase.HTMLAttributes\u003CHTMLParagraphElement\u003E;\n param: JSXBase.ParamHTMLAttributes\u003CHTMLParamElement\u003E;\n picture: JSXBase.HTMLAttributes\u003CHTMLPictureElement\u003E;\n pre: JSXBase.HTMLAttributes\u003CHTMLPreElement\u003E;\n progress: JSXBase.ProgressHTMLAttributes\u003CHTMLProgressElement\u003E;\n q: JSXBase.QuoteHTMLAttributes\u003CHTMLQuoteElement\u003E;\n rp: JSXBase.HTMLAttributes;\n rt: JSXBase.HTMLAttributes;\n ruby: JSXBase.HTMLAttributes;\n s: JSXBase.HTMLAttributes;\n samp: JSXBase.HTMLAttributes;\n script: JSXBase.ScriptHTMLAttributes\u003CHTMLScriptElement\u003E;\n section: JSXBase.HTMLAttributes;\n select: JSXBase.SelectHTMLAttributes\u003CHTMLSelectElement\u003E;\n small: JSXBase.HTMLAttributes;\n source: JSXBase.SourceHTMLAttributes\u003CHTMLSourceElement\u003E;\n span: JSXBase.HTMLAttributes\u003CHTMLSpanElement\u003E;\n strong: JSXBase.HTMLAttributes;\n style: JSXBase.StyleHTMLAttributes\u003CHTMLStyleElement\u003E;\n sub: JSXBase.HTMLAttributes;\n summary: JSXBase.HTMLAttributes;\n sup: JSXBase.HTMLAttributes;\n table: JSXBase.TableHTMLAttributes\u003CHTMLTableElement\u003E;\n tbody: JSXBase.HTMLAttributes\u003CHTMLTableSectionElement\u003E;\n td: JSXBase.TdHTMLAttributes\u003CHTMLTableDataCellElement\u003E;\n textarea: JSXBase.TextareaHTMLAttributes\u003CHTMLTextAreaElement\u003E;\n tfoot: JSXBase.HTMLAttributes\u003CHTMLTableSectionElement\u003E;\n th: JSXBase.ThHTMLAttributes\u003CHTMLTableHeaderCellElement\u003E;\n thead: JSXBase.HTMLAttributes\u003CHTMLTableSectionElement\u003E;\n time: JSXBase.TimeHTMLAttributes\u003CHTMLTimeElement\u003E;\n title: JSXBase.HTMLAttributes\u003CHTMLTitleElement\u003E;\n tr: JSXBase.HTMLAttributes\u003CHTMLTableRowElement\u003E;\n track: JSXBase.TrackHTMLAttributes\u003CHTMLTrackElement\u003E;\n u: JSXBase.HTMLAttributes;\n ul: JSXBase.HTMLAttributes\u003CHTMLUListElement\u003E;\n var: JSXBase.HTMLAttributes;\n video: JSXBase.VideoHTMLAttributes\u003CHTMLVideoElement\u003E;\n wbr: JSXBase.HTMLAttributes;\n animate: JSXBase.SVGAttributes;\n circle: JSXBase.SVGAttributes;\n clipPath: JSXBase.SVGAttributes;\n defs: JSXBase.SVGAttributes;\n desc: JSXBase.SVGAttributes;\n ellipse: JSXBase.SVGAttributes;\n feBlend: JSXBase.SVGAttributes;\n feColorMatrix: JSXBase.SVGAttributes;\n feComponentTransfer: JSXBase.SVGAttributes;\n feComposite: JSXBase.SVGAttributes;\n feConvolveMatrix: JSXBase.SVGAttributes;\n feDiffuseLighting: JSXBase.SVGAttributes;\n feDisplacementMap: JSXBase.SVGAttributes;\n feDistantLight: JSXBase.SVGAttributes;\n feDropShadow: JSXBase.SVGAttributes;\n feFlood: JSXBase.SVGAttributes;\n feFuncA: JSXBase.SVGAttributes;\n feFuncB: JSXBase.SVGAttributes;\n feFuncG: JSXBase.SVGAttributes;\n feFuncR: JSXBase.SVGAttributes;\n feGaussianBlur: JSXBase.SVGAttributes;\n feImage: JSXBase.SVGAttributes;\n feMerge: JSXBase.SVGAttributes;\n feMergeNode: JSXBase.SVGAttributes;\n feMorphology: JSXBase.SVGAttributes;\n feOffset: JSXBase.SVGAttributes;\n fePointLight: JSXBase.SVGAttributes;\n feSpecularLighting: JSXBase.SVGAttributes;\n feSpotLight: JSXBase.SVGAttributes;\n feTile: JSXBase.SVGAttributes;\n feTurbulence: JSXBase.SVGAttributes;\n filter: JSXBase.SVGAttributes;\n foreignObject: JSXBase.SVGAttributes;\n g: JSXBase.SVGAttributes;\n image: JSXBase.SVGAttributes;\n line: JSXBase.SVGAttributes;\n linearGradient: JSXBase.SVGAttributes;\n marker: JSXBase.SVGAttributes;\n mask: JSXBase.SVGAttributes;\n metadata: JSXBase.SVGAttributes;\n path: JSXBase.SVGAttributes;\n pattern: JSXBase.SVGAttributes;\n polygon: JSXBase.SVGAttributes;\n polyline: JSXBase.SVGAttributes;\n radialGradient: JSXBase.SVGAttributes;\n rect: JSXBase.SVGAttributes;\n stop: JSXBase.SVGAttributes;\n svg: JSXBase.SVGAttributes;\n switch: JSXBase.SVGAttributes;\n symbol: JSXBase.SVGAttributes;\n text: JSXBase.SVGAttributes;\n textPath: JSXBase.SVGAttributes;\n tspan: JSXBase.SVGAttributes;\n use: JSXBase.SVGAttributes;\n view: JSXBase.SVGAttributes;\n }\n interface SlotAttributes {\n name?: string;\n slot?: string;\n onSlotchange?: (event: Event) =\u003E void;\n }\n interface AnchorHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n download?: any;\n href?: string;\n hrefLang?: string;\n hreflang?: string;\n media?: string;\n rel?: string;\n target?: string;\n }\n interface AudioHTMLAttributes\u003CT\u003E extends MediaHTMLAttributes\u003CT\u003E {\n }\n interface AreaHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n alt?: string;\n coords?: string;\n download?: any;\n href?: string;\n hrefLang?: string;\n hreflang?: string;\n media?: string;\n rel?: string;\n shape?: string;\n target?: string;\n }\n interface BaseHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n href?: string;\n target?: string;\n }\n interface BlockquoteHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n cite?: string;\n }\n interface ButtonHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n autoFocus?: boolean;\n disabled?: boolean;\n form?: string;\n formAction?: string;\n formaction?: string;\n formEncType?: string;\n formenctype?: string;\n formMethod?: string;\n formmethod?: string;\n formNoValidate?: boolean;\n formnovalidate?: boolean;\n formTarget?: string;\n formtarget?: string;\n name?: string;\n type?: string;\n value?: string | string[] | number;\n }\n interface CanvasHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n height?: number | string;\n width?: number | string;\n }\n interface ColHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n span?: number;\n }\n interface ColgroupHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n span?: number;\n }\n interface DetailsHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n open?: boolean;\n onToggle?: (event: Event) =\u003E void;\n }\n interface DelHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n cite?: string;\n dateTime?: string;\n datetime?: string;\n }\n interface DialogHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n onClose?: (event: Event) =\u003E void;\n open?: boolean;\n returnValue?: string;\n }\n interface EmbedHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n height?: number | string;\n src?: string;\n type?: string;\n width?: number | string;\n }\n interface FieldsetHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n disabled?: boolean;\n form?: string;\n name?: string;\n }\n interface FormHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n acceptCharset?: string;\n acceptcharset?: string;\n action?: string;\n autoComplete?: string;\n autocomplete?: string;\n encType?: string;\n enctype?: string;\n method?: string;\n name?: string;\n noValidate?: boolean;\n novalidate?: boolean | string;\n target?: string;\n }\n interface HtmlHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n manifest?: string;\n }\n interface IframeHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n allow?: string;\n allowFullScreen?: boolean;\n allowfullScreen?: string | boolean;\n allowTransparency?: boolean;\n allowtransparency?: string | boolean;\n frameBorder?: number | string;\n frameborder?: number | string;\n importance?: 'low' | 'auto' | 'high';\n height?: number | string;\n loading?: 'lazy' | 'auto' | 'eager';\n marginHeight?: number;\n marginheight?: string | number;\n marginWidth?: number;\n marginwidth?: string | number;\n name?: string;\n referrerPolicy?: ReferrerPolicy;\n sandbox?: string;\n scrolling?: string;\n seamless?: boolean;\n src?: string;\n srcDoc?: string;\n srcdoc?: string;\n width?: number | string;\n }\n interface ImgHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n alt?: string;\n decoding?: 'async' | 'auto' | 'sync';\n importance?: 'low' | 'auto' | 'high';\n height?: number | string;\n loading?: 'lazy' | 'auto' | 'eager';\n sizes?: string;\n src?: string;\n srcSet?: string;\n srcset?: string;\n useMap?: string;\n usemap?: string;\n width?: number | string;\n }\n interface InsHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n cite?: string;\n dateTime?: string;\n datetime?: string;\n }\n interface InputHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n accept?: string;\n allowdirs?: boolean;\n alt?: string;\n autoCapitalize?: any;\n autocapitalize?: any;\n autoComplete?: string;\n autocomplete?: string;\n autoFocus?: boolean;\n autofocus?: boolean | string;\n capture?: string;\n checked?: boolean;\n crossOrigin?: string;\n crossorigin?: string;\n defaultChecked?: boolean;\n defaultValue?: string;\n dirName?: string;\n disabled?: boolean;\n files?: any;\n form?: string;\n formAction?: string;\n formaction?: string;\n formEncType?: string;\n formenctype?: string;\n formMethod?: string;\n formmethod?: string;\n formNoValidate?: boolean;\n formnovalidate?: boolean;\n formTarget?: string;\n formtarget?: string;\n height?: number | string;\n indeterminate?: boolean;\n list?: string;\n max?: number | string;\n maxLength?: number;\n maxlength?: number | string;\n min?: number | string;\n minLength?: number;\n minlength?: number | string;\n multiple?: boolean;\n name?: string;\n pattern?: string;\n placeholder?: string;\n readOnly?: boolean;\n readonly?: boolean | string;\n required?: boolean;\n selectionStart?: number | string;\n selectionEnd?: number | string;\n selectionDirection?: string;\n size?: number;\n src?: string;\n step?: number | string;\n type?: string;\n value?: string | string[] | number;\n valueAsDate?: any;\n valueAsNumber?: any;\n webkitdirectory?: boolean;\n webkitEntries?: any;\n width?: number | string;\n }\n interface KeygenHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n autoFocus?: boolean;\n autofocus?: boolean | string;\n challenge?: string;\n disabled?: boolean;\n form?: string;\n keyType?: string;\n keytype?: string;\n keyParams?: string;\n keyparams?: string;\n name?: string;\n }\n interface LabelHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n form?: string;\n htmlFor?: string;\n htmlfor?: string;\n }\n interface LiHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n value?: string | string[] | number;\n }\n interface LinkHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n as?: string;\n href?: string;\n hrefLang?: string;\n hreflang?: string;\n importance?: 'low' | 'auto' | 'high';\n integrity?: string;\n media?: string;\n rel?: string;\n sizes?: string;\n type?: string;\n }\n interface MapHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n name?: string;\n }\n interface MenuHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n type?: string;\n }\n interface MediaHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n autoPlay?: boolean;\n autoplay?: boolean | string;\n controls?: boolean;\n crossOrigin?: string;\n crossorigin?: string;\n loop?: boolean;\n mediaGroup?: string;\n mediagroup?: string;\n muted?: boolean;\n preload?: string;\n src?: string;\n onAbort?: (event: Event) =\u003E void;\n onCanPlay?: (event: Event) =\u003E void;\n onCanPlayThrough?: (event: Event) =\u003E void;\n onDurationChange?: (event: Event) =\u003E void;\n onEmptied?: (event: Event) =\u003E void;\n onEnded?: (event: Event) =\u003E void;\n onError?: (event: Event) =\u003E void;\n onInterruptBegin?: (event: Event) =\u003E void;\n onInterruptEnd?: (event: Event) =\u003E void;\n onLoadedData?: (event: Event) =\u003E void;\n onLoadedMetaData?: (event: Event) =\u003E void;\n onLoadStart?: (event: Event) =\u003E void;\n onMozAudioAvailable?: (event: Event) =\u003E void;\n onPause?: (event: Event) =\u003E void;\n onPlay?: (event: Event) =\u003E void;\n onPlaying?: (event: Event) =\u003E void;\n onProgress?: (event: Event) =\u003E void;\n onRateChange?: (event: Event) =\u003E void;\n onSeeked?: (event: Event) =\u003E void;\n onSeeking?: (event: Event) =\u003E void;\n onStalled?: (event: Event) =\u003E void;\n onSuspend?: (event: Event) =\u003E void;\n onTimeUpdate?: (event: Event) =\u003E void;\n onVolumeChange?: (event: Event) =\u003E void;\n onWaiting?: (event: Event) =\u003E void;\n }\n interface MetaHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n charSet?: string;\n charset?: string;\n content?: string;\n httpEquiv?: string;\n httpequiv?: string;\n name?: string;\n }\n interface MeterHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n form?: string;\n high?: number;\n low?: number;\n max?: number | string;\n min?: number | string;\n optimum?: number;\n value?: string | string[] | number;\n }\n interface QuoteHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n cite?: string;\n }\n interface ObjectHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n classID?: string;\n classid?: string;\n data?: string;\n form?: string;\n height?: number | string;\n name?: string;\n type?: string;\n useMap?: string;\n usemap?: string;\n width?: number | string;\n wmode?: string;\n }\n interface OlHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n reversed?: boolean;\n start?: number;\n }\n interface OptgroupHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n disabled?: boolean;\n label?: string;\n }\n interface OptionHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n disabled?: boolean;\n label?: string;\n selected?: boolean;\n value?: string | string[] | number;\n }\n interface OutputHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n form?: string;\n htmlFor?: string;\n htmlfor?: string;\n name?: string;\n }\n interface ParamHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n name?: string;\n value?: string | string[] | number;\n }\n interface ProgressHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n max?: number | string;\n value?: string | string[] | number;\n }\n interface ScriptHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n async?: boolean;\n charSet?: string;\n charset?: string;\n crossOrigin?: string;\n crossorigin?: string;\n defer?: boolean;\n importance?: 'low' | 'auto' | 'high';\n integrity?: string;\n nonce?: string;\n src?: string;\n type?: string;\n }\n interface SelectHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n autoFocus?: boolean;\n disabled?: boolean;\n form?: string;\n multiple?: boolean;\n name?: string;\n required?: boolean;\n size?: number;\n autoComplete?: string;\n autocomplete?: string;\n }\n interface SourceHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n media?: string;\n sizes?: string;\n src?: string;\n srcSet?: string;\n type?: string;\n }\n interface StyleHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n media?: string;\n nonce?: string;\n scoped?: boolean;\n type?: string;\n }\n interface TableHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n cellPadding?: number | string;\n cellpadding?: number | string;\n cellSpacing?: number | string;\n cellspacing?: number | string;\n summary?: string;\n }\n interface TextareaHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n autoFocus?: boolean;\n autofocus?: boolean | string;\n cols?: number;\n disabled?: boolean;\n form?: string;\n maxLength?: number;\n maxlength?: number | string;\n minLength?: number;\n minlength?: number | string;\n name?: string;\n placeholder?: string;\n readOnly?: boolean;\n readonly?: boolean | string;\n required?: boolean;\n rows?: number;\n value?: string | string[] | number;\n wrap?: string;\n }\n interface TdHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n colSpan?: number;\n headers?: string;\n rowSpan?: number;\n }\n interface ThHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n abbr?: string;\n colSpan?: number;\n headers?: string;\n rowSpan?: number;\n rowspan?: number | string;\n scope?: string;\n }\n interface TimeHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n dateTime?: string;\n }\n interface TrackHTMLAttributes\u003CT\u003E extends HTMLAttributes\u003CT\u003E {\n default?: boolean;\n kind?: string;\n label?: string;\n src?: string;\n srcLang?: string;\n srclang?: string;\n }\n interface VideoHTMLAttributes\u003CT\u003E extends MediaHTMLAttributes\u003CT\u003E {\n height?: number | string;\n playsInline?: boolean;\n playsinline?: boolean | string;\n poster?: string;\n width?: number | string;\n }\n interface HTMLAttributes\u003CT = HTMLElement\u003E extends DOMAttributes\u003CT\u003E {\n innerHTML?: string;\n accessKey?: string;\n class?: string | {\n [className: string]: boolean;\n };\n contentEditable?: boolean | string;\n contenteditable?: boolean | string;\n contextMenu?: string;\n contextmenu?: string;\n dir?: string;\n draggable?: boolean;\n hidden?: boolean;\n id?: string;\n lang?: string;\n spellcheck?: 'true' | 'false' | any;\n style?: {\n [key: string]: string | undefined;\n };\n tabIndex?: number;\n tabindex?: number | string;\n title?: string;\n inputMode?: string;\n inputmode?: string;\n enterKeyHint?: string;\n enterkeyhint?: string;\n is?: string;\n radioGroup?: string;\n radiogroup?: string;\n role?: string;\n about?: string;\n datatype?: string;\n inlist?: any;\n prefix?: string;\n property?: string;\n resource?: string;\n typeof?: string;\n vocab?: string;\n autoCapitalize?: any;\n autocapitalize?: any;\n autoCorrect?: string;\n autocorrect?: string;\n autoSave?: string;\n autosave?: string;\n color?: string;\n itemProp?: string;\n itemprop?: string;\n itemScope?: boolean;\n itemscope?: boolean;\n itemType?: string;\n itemtype?: string;\n itemID?: string;\n itemid?: string;\n itemRef?: string;\n itemref?: string;\n results?: number;\n security?: string;\n unselectable?: boolean;\n }\n interface SVGAttributes\u003CT = SVGElement\u003E extends DOMAttributes\u003CT\u003E {\n 'class'?: string | {\n [className: string]: boolean;\n };\n 'color'?: string;\n 'height'?: number | string;\n 'id'?: string;\n 'lang'?: string;\n 'max'?: number | string;\n 'media'?: string;\n 'method'?: string;\n 'min'?: number | string;\n 'name'?: string;\n 'style'?: {\n [key: string]: string | undefined;\n };\n 'target'?: string;\n 'type'?: string;\n 'width'?: number | string;\n 'role'?: string;\n 'tabindex'?: number;\n 'accent-height'?: number | string;\n 'accumulate'?: 'none' | 'sum';\n 'additive'?: 'replace' | 'sum';\n 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit';\n 'allowReorder'?: 'no' | 'yes';\n 'alphabetic'?: number | string;\n 'amplitude'?: number | string;\n 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated';\n 'ascent'?: number | string;\n 'attributeName'?: string;\n 'attributeType'?: string;\n 'autoReverse'?: number | string;\n 'azimuth'?: number | string;\n 'baseFrequency'?: number | string;\n 'baseline-shift'?: number | string;\n 'baseProfile'?: number | string;\n 'bbox'?: number | string;\n 'begin'?: number | string;\n 'bias'?: number | string;\n 'by'?: number | string;\n 'calcMode'?: number | string;\n 'cap-height'?: number | string;\n 'clip'?: number | string;\n 'clip-path'?: string;\n 'clipPathUnits'?: number | string;\n 'clip-rule'?: number | string;\n 'color-interpolation'?: number | string;\n 'color-interpolation-filters'?: 'auto' | 's-rGB' | 'linear-rGB' | 'inherit';\n 'color-profile'?: number | string;\n 'color-rendering'?: number | string;\n 'contentScriptType'?: number | string;\n 'contentStyleType'?: number | string;\n 'cursor'?: number | string;\n 'cx'?: number | string;\n 'cy'?: number | string;\n 'd'?: string;\n 'decelerate'?: number | string;\n 'descent'?: number | string;\n 'diffuseConstant'?: number | string;\n 'direction'?: number | string;\n 'display'?: number | string;\n 'divisor'?: number | string;\n 'dominant-baseline'?: number | string;\n 'dur'?: number | string;\n 'dx'?: number | string;\n 'dy'?: number | string;\n 'edge-mode'?: number | string;\n 'elevation'?: number | string;\n 'enable-background'?: number | string;\n 'end'?: number | string;\n 'exponent'?: number | string;\n 'externalResourcesRequired'?: number | string;\n 'fill'?: string;\n 'fill-opacity'?: number | string;\n 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit';\n 'filter'?: string;\n 'filterRes'?: number | string;\n 'filterUnits'?: number | string;\n 'flood-color'?: number | string;\n 'flood-opacity'?: number | string;\n 'focusable'?: number | string;\n 'font-family'?: string;\n 'font-size'?: number | string;\n 'font-size-adjust'?: number | string;\n 'font-stretch'?: number | string;\n 'font-style'?: number | string;\n 'font-variant'?: number | string;\n 'font-weight'?: number | string;\n 'format'?: number | string;\n 'from'?: number | string;\n 'fx'?: number | string;\n 'fy'?: number | string;\n 'g1'?: number | string;\n 'g2'?: number | string;\n 'glyph-name'?: number | string;\n 'glyph-orientation-horizontal'?: number | string;\n 'glyph-orientation-vertical'?: number | string;\n 'glyphRef'?: number | string;\n 'gradientTransform'?: string;\n 'gradientUnits'?: string;\n 'hanging'?: number | string;\n 'horiz-adv-x'?: number | string;\n 'horiz-origin-x'?: number | string;\n 'href'?: string;\n 'ideographic'?: number | string;\n 'image-rendering'?: number | string;\n 'in2'?: number | string;\n 'in'?: string;\n 'intercept'?: number | string;\n 'k1'?: number | string;\n 'k2'?: number | string;\n 'k3'?: number | string;\n 'k4'?: number | string;\n 'k'?: number | string;\n 'kernelMatrix'?: number | string;\n 'kernelUnitLength'?: number | string;\n 'kerning'?: number | string;\n 'keyPoints'?: number | string;\n 'keySplines'?: number | string;\n 'keyTimes'?: number | string;\n 'lengthAdjust'?: number | string;\n 'letter-spacing'?: number | string;\n 'lighting-color'?: number | string;\n 'limitingConeAngle'?: number | string;\n 'local'?: number | string;\n 'marker-end'?: string;\n 'markerHeight'?: number | string;\n 'marker-mid'?: string;\n 'marker-start'?: string;\n 'markerUnits'?: number | string;\n 'markerWidth'?: number | string;\n 'mask'?: string;\n 'maskContentUnits'?: number | string;\n 'maskUnits'?: number | string;\n 'mathematical'?: number | string;\n 'mode'?: number | string;\n 'numOctaves'?: number | string;\n 'offset'?: number | string;\n 'opacity'?: number | string;\n 'operator'?: number | string;\n 'order'?: number | string;\n 'orient'?: number | string;\n 'orientation'?: number | string;\n 'origin'?: number | string;\n 'overflow'?: number | string;\n 'overline-position'?: number | string;\n 'overline-thickness'?: number | string;\n 'paint-order'?: number | string;\n 'panose1'?: number | string;\n 'pathLength'?: number | string;\n 'patternContentUnits'?: string;\n 'patternTransform'?: number | string;\n 'patternUnits'?: string;\n 'pointer-events'?: number | string;\n 'points'?: string;\n 'pointsAtX'?: number | string;\n 'pointsAtY'?: number | string;\n 'pointsAtZ'?: number | string;\n 'preserveAlpha'?: number | string;\n 'preserveAspectRatio'?: string;\n 'primitiveUnits'?: number | string;\n 'r'?: number | string;\n 'radius'?: number | string;\n 'refX'?: number | string;\n 'refY'?: number | string;\n 'rendering-intent'?: number | string;\n 'repeatCount'?: number | string;\n 'repeatDur'?: number | string;\n 'requiredextensions'?: number | string;\n 'requiredFeatures'?: number | string;\n 'restart'?: number | string;\n 'result'?: string;\n 'rotate'?: number | string;\n 'rx'?: number | string;\n 'ry'?: number | string;\n 'scale'?: number | string;\n 'seed'?: number | string;\n 'shape-rendering'?: number | string;\n 'slope'?: number | string;\n 'spacing'?: number | string;\n 'specularConstant'?: number | string;\n 'specularExponent'?: number | string;\n 'speed'?: number | string;\n 'spreadMethod'?: string;\n 'startOffset'?: number | string;\n 'stdDeviation'?: number | string;\n 'stemh'?: number | string;\n 'stemv'?: number | string;\n 'stitchTiles'?: number | string;\n 'stop-color'?: string;\n 'stop-opacity'?: number | string;\n 'strikethrough-position'?: number | string;\n 'strikethrough-thickness'?: number | string;\n 'string'?: number | string;\n 'stroke'?: string;\n 'stroke-dasharray'?: string | number;\n 'stroke-dashoffset'?: string | number;\n 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit';\n 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit';\n 'stroke-miterlimit'?: string;\n 'stroke-opacity'?: number | string;\n 'stroke-width'?: number | string;\n 'surfaceScale'?: number | string;\n 'systemLanguage'?: number | string;\n 'tableValues'?: number | string;\n 'targetX'?: number | string;\n 'targetY'?: number | string;\n 'text-anchor'?: string;\n 'text-decoration'?: number | string;\n 'textLength'?: number | string;\n 'text-rendering'?: number | string;\n 'to'?: number | string;\n 'transform'?: string;\n 'u1'?: number | string;\n 'u2'?: number | string;\n 'underline-position'?: number | string;\n 'underline-thickness'?: number | string;\n 'unicode'?: number | string;\n 'unicode-bidi'?: number | string;\n 'unicode-range'?: number | string;\n 'units-per-em'?: number | string;\n 'v-alphabetic'?: number | string;\n 'values'?: string;\n 'vector-effect'?: number | string;\n 'version'?: string;\n 'vert-adv-y'?: number | string;\n 'vert-origin-x'?: number | string;\n 'vert-origin-y'?: number | string;\n 'v-hanging'?: number | string;\n 'v-ideographic'?: number | string;\n 'viewBox'?: string;\n 'viewTarget'?: number | string;\n 'visibility'?: number | string;\n 'v-mathematical'?: number | string;\n 'widths'?: number | string;\n 'word-spacing'?: number | string;\n 'writing-mode'?: number | string;\n 'x1'?: number | string;\n 'x2'?: number | string;\n 'x'?: number | string;\n 'x-channel-selector'?: string;\n 'x-height'?: number | string;\n 'xlinkActuate'?: string;\n 'xlinkArcrole'?: string;\n 'xlinkHref'?: string;\n 'xlinkRole'?: string;\n 'xlinkShow'?: string;\n 'xlinkTitle'?: string;\n 'xlinkType'?: string;\n 'xmlBase'?: string;\n 'xmlLang'?: string;\n 'xmlns'?: string;\n 'xmlSpace'?: string;\n 'y1'?: number | string;\n 'y2'?: number | string;\n 'y'?: number | string;\n 'yChannelSelector'?: string;\n 'z'?: number | string;\n 'zoomAndPan'?: string;\n }\n interface DOMAttributes\u003CT = Element\u003E {\n key?: string | number;\n ref?: (elm?: T) =\u003E void;\n slot?: string;\n part?: string;\n exportparts?: string;\n onCopy?: (event: ClipboardEvent) =\u003E void;\n onCopyCapture?: (event: ClipboardEvent) =\u003E void;\n onCut?: (event: ClipboardEvent) =\u003E void;\n onCutCapture?: (event: ClipboardEvent) =\u003E void;\n onPaste?: (event: ClipboardEvent) =\u003E void;\n onPasteCapture?: (event: ClipboardEvent) =\u003E void;\n onCompositionEnd?: (event: CompositionEvent) =\u003E void;\n onCompositionEndCapture?: (event: CompositionEvent) =\u003E void;\n onCompositionStart?: (event: CompositionEvent) =\u003E void;\n onCompositionStartCapture?: (event: CompositionEvent) =\u003E void;\n onCompositionUpdate?: (event: CompositionEvent) =\u003E void;\n onCompositionUpdateCapture?: (event: CompositionEvent) =\u003E void;\n onFocus?: (event: FocusEvent) =\u003E void;\n onFocusCapture?: (event: FocusEvent) =\u003E void;\n onFocusIn?: (event: FocusEvent) =\u003E void;\n onFocusInCapture?: (event: FocusEvent) =\u003E void;\n onFocusOut?: (event: FocusEvent) =\u003E void;\n onFocusOutCapture?: (event: FocusEvent) =\u003E void;\n onBlur?: (event: FocusEvent) =\u003E void;\n onBlurCapture?: (event: FocusEvent) =\u003E void;\n onChange?: (event: Event) =\u003E void;\n onChangeCapture?: (event: Event) =\u003E void;\n onInput?: (event: Event) =\u003E void;\n onInputCapture?: (event: Event) =\u003E void;\n onReset?: (event: Event) =\u003E void;\n onResetCapture?: (event: Event) =\u003E void;\n onSubmit?: (event: Event) =\u003E void;\n onSubmitCapture?: (event: Event) =\u003E void;\n onInvalid?: (event: Event) =\u003E void;\n onInvalidCapture?: (event: Event) =\u003E void;\n onLoad?: (event: Event) =\u003E void;\n onLoadCapture?: (event: Event) =\u003E void;\n onError?: (event: Event) =\u003E void;\n onErrorCapture?: (event: Event) =\u003E void;\n onKeyDown?: (event: KeyboardEvent) =\u003E void;\n onKeyDownCapture?: (event: KeyboardEvent) =\u003E void;\n onKeyPress?: (event: KeyboardEvent) =\u003E void;\n onKeyPressCapture?: (event: KeyboardEvent) =\u003E void;\n onKeyUp?: (event: KeyboardEvent) =\u003E void;\n onKeyUpCapture?: (event: KeyboardEvent) =\u003E void;\n onAuxClick?: (event: MouseEvent) =\u003E void;\n onClick?: (event: MouseEvent) =\u003E void;\n onClickCapture?: (event: MouseEvent) =\u003E void;\n onContextMenu?: (event: MouseEvent) =\u003E void;\n onContextMenuCapture?: (event: MouseEvent) =\u003E void;\n onDblClick?: (event: MouseEvent) =\u003E void;\n onDblClickCapture?: (event: MouseEvent) =\u003E void;\n onDrag?: (event: DragEvent) =\u003E void;\n onDragCapture?: (event: DragEvent) =\u003E void;\n onDragEnd?: (event: DragEvent) =\u003E void;\n onDragEndCapture?: (event: DragEvent) =\u003E void;\n onDragEnter?: (event: DragEvent) =\u003E void;\n onDragEnterCapture?: (event: DragEvent) =\u003E void;\n onDragExit?: (event: DragEvent) =\u003E void;\n onDragExitCapture?: (event: DragEvent) =\u003E void;\n onDragLeave?: (event: DragEvent) =\u003E void;\n onDragLeaveCapture?: (event: DragEvent) =\u003E void;\n onDragOver?: (event: DragEvent) =\u003E void;\n onDragOverCapture?: (event: DragEvent) =\u003E void;\n onDragStart?: (event: DragEvent) =\u003E void;\n onDragStartCapture?: (event: DragEvent) =\u003E void;\n onDrop?: (event: DragEvent) =\u003E void;\n onDropCapture?: (event: DragEvent) =\u003E void;\n onMouseDown?: (event: MouseEvent) =\u003E void;\n onMouseDownCapture?: (event: MouseEvent) =\u003E void;\n onMouseEnter?: (event: MouseEvent) =\u003E void;\n onMouseLeave?: (event: MouseEvent) =\u003E void;\n onMouseMove?: (event: MouseEvent) =\u003E void;\n onMouseMoveCapture?: (event: MouseEvent) =\u003E void;\n onMouseOut?: (event: MouseEvent) =\u003E void;\n onMouseOutCapture?: (event: MouseEvent) =\u003E void;\n onMouseOver?: (event: MouseEvent) =\u003E void;\n onMouseOverCapture?: (event: MouseEvent) =\u003E void;\n onMouseUp?: (event: MouseEvent) =\u003E void;\n onMouseUpCapture?: (event: MouseEvent) =\u003E void;\n onTouchCancel?: (event: TouchEvent) =\u003E void;\n onTouchCancelCapture?: (event: TouchEvent) =\u003E void;\n onTouchEnd?: (event: TouchEvent) =\u003E void;\n onTouchEndCapture?: (event: TouchEvent) =\u003E void;\n onTouchMove?: (event: TouchEvent) =\u003E void;\n onTouchMoveCapture?: (event: TouchEvent) =\u003E void;\n onTouchStart?: (event: TouchEvent) =\u003E void;\n onTouchStartCapture?: (event: TouchEvent) =\u003E void;\n onPointerDown?: (event: PointerEvent) =\u003E void;\n onPointerDownCapture?: (event: PointerEvent) =\u003E void;\n onPointerMove?: (event: PointerEvent) =\u003E void;\n onPointerMoveCapture?: (event: PointerEvent) =\u003E void;\n onPointerUp?: (event: PointerEvent) =\u003E void;\n onPointerUpCapture?: (event: PointerEvent) =\u003E void;\n onPointerCancel?: (event: PointerEvent) =\u003E void;\n onPointerCancelCapture?: (event: PointerEvent) =\u003E void;\n onPointerEnter?: (event: PointerEvent) =\u003E void;\n onPointerEnterCapture?: (event: PointerEvent) =\u003E void;\n onPointerLeave?: (event: PointerEvent) =\u003E void;\n onPointerLeaveCapture?: (event: PointerEvent) =\u003E void;\n onPointerOver?: (event: PointerEvent) =\u003E void;\n onPointerOverCapture?: (event: PointerEvent) =\u003E void;\n onPointerOut?: (event: PointerEvent) =\u003E void;\n onPointerOutCapture?: (event: PointerEvent) =\u003E void;\n onGotPointerCapture?: (event: PointerEvent) =\u003E void;\n onGotPointerCaptureCapture?: (event: PointerEvent) =\u003E void;\n onLostPointerCapture?: (event: PointerEvent) =\u003E void;\n onLostPointerCaptureCapture?: (event: PointerEvent) =\u003E void;\n onScroll?: (event: UIEvent) =\u003E void;\n onScrollCapture?: (event: UIEvent) =\u003E void;\n onWheel?: (event: WheelEvent) =\u003E void;\n onWheelCapture?: (event: WheelEvent) =\u003E void;\n onAnimationStart?: (event: AnimationEvent) =\u003E void;\n onAnimationStartCapture?: (event: AnimationEvent) =\u003E void;\n onAnimationEnd?: (event: AnimationEvent) =\u003E void;\n onAnimationEndCapture?: (event: AnimationEvent) =\u003E void;\n onAnimationIteration?: (event: AnimationEvent) =\u003E void;\n onAnimationIterationCapture?: (event: AnimationEvent) =\u003E void;\n onTransitionEnd?: (event: TransitionEvent) =\u003E void;\n onTransitionEndCapture?: (event: TransitionEvent) =\u003E void;\n }\n}\nexport interface CustomElementsDefineOptions {\n exclude?: string[];\n resourcesUrl?: string;\n syncQueue?: boolean;\n transformTagName?: (tagName: string) =\u003E string;\n jmp?: (c: Function) =\u003E any;\n raf?: (c: FrameRequestCallback) =\u003E number;\n ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) =\u003E void;\n rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) =\u003E void;\n ce?: (eventName: string, opts?: any) =\u003E CustomEvent;\n}\n","directory_shortid":"yLzw","id":"2c474c14-d6bf-442b-9eff-e612fc9f5f21","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"w0YM1","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"stencil-public-runtime.d.ts","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"export declare function format(first: string, middle: string, last: string): string;\n","directory_shortid":"Bn67o","id":"27064a23-839a-48b3-93db-cd447b32b235","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"oy1rX","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"utils.d.ts","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"import { B as BUILD, C as CSS, p as plt, w as win, a as promiseResolve, c as consoleDevInfo, H, d as doc, N as NAMESPACE } from '.\u002Findex-1831826d.js';\n\n\u002F*\n Stencil Client Patch v1.17.4 | MIT Licensed | https:\u002F\u002Fstenciljs.com\n *\u002F\nconst noop = () =\u003E {\n \u002F* noop*\u002F\n};\nconst IS_DENO_ENV = typeof Deno !== 'undefined';\nconst IS_NODE_ENV = !IS_DENO_ENV &&\n typeof global !== 'undefined' &&\n typeof require === 'function' &&\n !!global.process &&\n typeof __filename === 'string' &&\n (!global.origin || typeof global.origin !== 'string');\nconst IS_DENO_WINDOWS_ENV = IS_DENO_ENV && Deno.build.os === 'windows';\nconst getCurrentDirectory = IS_NODE_ENV ? process.cwd : IS_DENO_ENV ? Deno.cwd : () =\u003E '\u002F';\nconst exit = IS_NODE_ENV ? process.exit : IS_DENO_ENV ? Deno.exit : noop;\nconst getDynamicImportFunction = (namespace) =\u003E `__sc_import_${namespace.replace(\u002F\\s|-\u002Fg, '_')}`;\nconst patchEsm = () =\u003E {\n \u002F\u002F NOTE!! This fn cannot use async\u002Fawait!\n \u002F\u002F @ts-ignore\n if (BUILD.cssVarShim && !(CSS && CSS.supports && CSS.supports('color', 'var(--c)'))) {\n \u002F\u002F @ts-ignore\n return __sc_import_codesandbox_stenciljs(\u002F* webpackChunkName: \"polyfills-css-shim\" *\u002F '.\u002Fcss-shim-5ce2b5c4.js').then(() =\u003E {\n if ((plt.$cssShim$ = win.__cssshim)) {\n return plt.$cssShim$.i();\n }\n else {\n \u002F\u002F for better minification\n return 0;\n }\n });\n }\n return promiseResolve();\n};\nconst patchBrowser = () =\u003E {\n \u002F\u002F NOTE!! This fn cannot use async\u002Fawait!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cssVarShim) {\n \u002F\u002F shim css vars\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n \u002F\u002F opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n \u002F\u002F not all browsers support performance.mark\u002Fmeasure (Safari 10)\n performance.mark = performance.measure = () =\u003E {\n \u002F*noop*\u002F\n };\n performance.getEntriesByName = () =\u003E [];\n }\n \u002F\u002F @ts-ignore\n const scriptElm = BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find(s =\u003E new RegExp(`\\\u002F${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = \"\";\n const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {};\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration \u002F* IS_ESM_BUILD *\u002F) {\n \u002F\u002F Safari \u003C v11 support: This IF is true if it's Safari below v11.\n \u002F\u002F This fn cannot use async\u002Fawait since Safari didn't support it until v11,\n \u002F\u002F however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n \u002F\u002F so both the ESM file and nomodule file would get downloaded. Only Safari\n \u002F\u002F has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n \u002F\u002F to Safari in v11. Return a noop then() so the async\u002Fawait ESM code doesn't continue.\n \u002F\u002F IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n \u002F* promise noop *\u002F\n },\n };\n }\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n if (BUILD.dynamicImportShim && !win.customElements) {\n \u002F\u002F module support, but no custom elements support (Old Edge)\n \u002F\u002F @ts-ignore\n return __sc_import_codesandbox_stenciljs(\u002F* webpackChunkName: \"polyfills-dom\" *\u002F '.\u002Fdom-91ed8d21.js').then(() =\u003E opts);\n }\n }\n return promiseResolve(opts);\n};\nconst patchDynamicImport = (base, orgScriptElm) =\u003E {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n \u002F\u002F test if this browser supports dynamic imports\n \u002F\u002F There is a caching issue in V8, that breaks using import() in Function\n \u002F\u002F By generating a random string, we can workaround it\n \u002F\u002F Check https:\u002F\u002Fbugs.chromium.org\u002Fp\u002Fchromium\u002Fissues\u002Fdetail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);\u002F\u002F${Math.random()}`);\n }\n catch (e) {\n \u002F\u002F this shim is specifically for browsers that do support \"esm\" imports\n \u002F\u002F however, they do NOT support \"dynamic\" imports\n \u002F\u002F basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) =\u003E {\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], { type: 'application\u002Fjavascript' }));\n mod = new Promise(resolve =\u003E {\n script.onload = () =\u003E {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) =\u003E {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i \u003C srcChildNodes.length; i++) {\n \u002F\u002F Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\n\nconst globalScripts = () =\u003E {};\n\nexport { patchEsm as a, globalScripts as g, patchBrowser as p };\n","directory_shortid":"kPv05","id":"46bb8858-7326-4599-be5a-2664e53e01f3","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"W8x7n","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"app-globals-58b24273.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"\u002F*\n Stencil Client Patch v1.17.4 | MIT Licensed | https:\u002F\u002Fstenciljs.com\n *\u002F\nvar StyleNode=function(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText=\"\",this.cssText=\"\",this.atRule=!1,this.type=0,this.keyframesName=\"\",this.selector=\"\",this.parsedSelector=\"\";};function parse(e){return parseCss(lex(e=clean(e)),e)}function clean(e){return e.replace(RX.comments,\"\").replace(RX.port,\"\")}function lex(e){var t=new StyleNode;t.start=0,t.end=e.length;for(var r=t,n=0,s=e.length;n\u003Cs;n++)if(e[n]===OPEN_BRACE){r.rules||(r.rules=[]);var o=r,a=o.rules[o.rules.length-1]||null;(r=new StyleNode).start=n+1,r.parent=o,r.previous=a,o.rules.push(r);}else e[n]===CLOSE_BRACE&&(r.end=n+1,r=r.parent||t);return t}function parseCss(e,t){var r=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=r.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;r=(r=(r=_expandUnicodeEscapes(r=t.substring(n,e.start-1))).replace(RX.multipleSpaces,\" \")).substring(r.lastIndexOf(\";\")+1);var s=e.parsedSelector=e.selector=r.trim();e.atRule=0===s.indexOf(AT_START),e.atRule?0===s.indexOf(MEDIA_START)?e.type=types.MEDIA_RULE:s.match(RX.keyframesRule)&&(e.type=types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(RX.multipleSpaces).pop()):0===s.indexOf(VAR_START)?e.type=types.MIXIN_RULE:e.type=types.STYLE_RULE;}var o=e.rules;if(o)for(var a=0,i=o.length,l=void 0;a\u003Ci&&(l=o[a]);a++)parseCss(l,t);return e}function _expandUnicodeEscapes(e){return e.replace(\u002F\\\\([0-9a-f]{1,6})\\s\u002Fgi,(function(){for(var e=arguments[1],t=6-e.length;t--;)e=\"0\"+e;return \"\\\\\"+e}))}var types={STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE=\"{\",CLOSE_BRACE=\"}\",RX={comments:\u002F\\\u002F\\*[^*]*\\*+([^\u002F*][^*]*\\*+)*\\\u002F\u002Fgim,port:\u002F@import[^;]*;\u002Fgim,customProp:\u002F(?:^[^;\\-\\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\\n]|$)\u002Fgim,mixinProp:\u002F(?:^[^;\\-\\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\\n]|$)?\u002Fgim,mixinApply:\u002F@apply\\s*\\(?[^);]*\\)?\\s*(?:[;\\n]|$)?\u002Fgim,varApply:\u002F[^;:]*?:[^;]*?var\\([^;]*\\)(?:[;\\n]|$)?\u002Fgim,keyframesRule:\u002F^@[^\\s]*keyframes\u002F,multipleSpaces:\u002F\\s+\u002Fg},VAR_START=\"--\",MEDIA_START=\"@media\",AT_START=\"@\";function findRegex(e,t,r){e.lastIndex=0;var n=t.substring(r).match(e);if(n){var s=r+n.index;return {start:s,end:s+n[0].length}}return null}var VAR_USAGE_START=\u002F\\bvar\\(\u002F,VAR_ASSIGN_START=\u002F\\B--[\\w-]+\\s*:\u002F,COMMENTS=\u002F\\\u002F\\*[^*]*\\*+([^\u002F*][^*]*\\*+)*\\\u002F\u002Fgim,TRAILING_LINES=\u002F^[\\t ]+\\n\u002Fgm;function resolveVar(e,t,r){return e[t]?e[t]:r?executeTemplate(r,e):\"\"}function findVarEndIndex(e,t){for(var r=0,n=t;n\u003Ce.length;n++){var s=e[n];if(\"(\"===s)r++;else if(\")\"===s&&--r\u003C=0)return n+1}return n}function parseVar(e,t){var r=findRegex(VAR_USAGE_START,e,t);if(!r)return null;var n=findVarEndIndex(e,r.start),s=e.substring(r.end,n-1).split(\",\"),o=s[0],a=s.slice(1);return {start:r.start,end:n,propName:o.trim(),fallback:a.length\u003E0?a.join(\",\").trim():void 0}}function compileVar(e,t,r){var n=parseVar(e,r);if(!n)return t.push(e.substring(r,e.length)),e.length;var s=n.propName,o=null!=n.fallback?compileTemplate(n.fallback):void 0;return t.push(e.substring(r,n.start),(function(e){return resolveVar(e,s,o)})),n.end}function executeTemplate(e,t){for(var r=\"\",n=0;n\u003Ce.length;n++){var s=e[n];r+=\"string\"==typeof s?s:s(t);}return r}function findEndValue(e,t){for(var r=!1,n=!1,s=t;s\u003Ce.length;s++){var o=e[s];if(r)n&&'\"'===o&&(r=!1),n||\"'\"!==o||(r=!1);else if('\"'===o)r=!0,n=!0;else if(\"'\"===o)r=!0,n=!1;else {if(\";\"===o)return s+1;if(\"}\"===o)return s}}return s}function removeCustomAssigns(e){for(var t=\"\",r=0;;){var n=findRegex(VAR_ASSIGN_START,e,r),s=n?n.start:e.length;if(t+=e.substring(r,s),!n)break;r=findEndValue(e,s);}return t}function compileTemplate(e){var t=0;e=removeCustomAssigns(e=e.replace(COMMENTS,\"\")).replace(TRAILING_LINES,\"\");for(var r=[];t\u003Ce.length;)t=compileVar(e,r,t);return r}function resolveValues(e){var t={};e.forEach((function(e){e.declarations.forEach((function(e){t[e.prop]=e.value;}));}));for(var r={},n=Object.entries(t),s=function(e){var t=!1;if(n.forEach((function(e){var n=e[0],s=executeTemplate(e[1],r);s!==r[n]&&(r[n]=s,t=!0);})),!t)return \"break\"},o=0;o\u003C10;o++){if(\"break\"===s())break}return r}function getSelectors(e,t){if(void 0===t&&(t=0),!e.rules)return [];var r=[];return e.rules.filter((function(e){return e.type===types.STYLE_RULE})).forEach((function(e){var n=getDeclarations(e.cssText);n.length\u003E0&&e.parsedSelector.split(\",\").forEach((function(e){e=e.trim(),r.push({selector:e,declarations:n,specificity:computeSpecificity(),nu:t});})),t++;})),r}function computeSpecificity(e){return 1}var IMPORTANT=\"!important\",FIND_DECLARATIONS=\u002F(?:^|[;\\s{]\\s*)(--[\\w-]*?)\\s*:\\s*(?:((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};{])+)|\\{([^}]*)\\}(?:(?=[;\\s}])|$))\u002Fgm;function getDeclarations(e){for(var t,r=[];t=FIND_DECLARATIONS.exec(e.trim());){var n=normalizeValue(t[2]),s=n.value,o=n.important;r.push({prop:t[1].trim(),value:compileTemplate(s),important:o});}return r}function normalizeValue(e){var t=(e=e.replace(\u002F\\s+\u002Fgim,\" \").trim()).endsWith(IMPORTANT);return t&&(e=e.substr(0,e.length-IMPORTANT.length).trim()),{value:e,important:t}}function getActiveSelectors(e,t,r){var n=[],s=getScopesForElement(t,e);return r.forEach((function(e){return n.push(e)})),s.forEach((function(e){return n.push(e)})),sortSelectors(getSelectorsForScopes(n).filter((function(t){return matches(e,t.selector)})))}function getScopesForElement(e,t){for(var r=[];t;){var n=e.get(t);n&&r.push(n),t=t.parentElement;}return r}function getSelectorsForScopes(e){var t=[];return e.forEach((function(e){t.push.apply(t,e.selectors);})),t}function sortSelectors(e){return e.sort((function(e,t){return e.specificity===t.specificity?e.nu-t.nu:e.specificity-t.specificity})),e}function matches(e,t){return \":root\"===t||\"html\"===t||e.matches(t)}function parseCSS(e){var t=parse(e),r=compileTemplate(e);return {original:e,template:r,selectors:getSelectors(t),usesCssVars:r.length\u003E1}}function addGlobalStyle(e,t){if(e.some((function(e){return e.styleEl===t})))return !1;var r=parseCSS(t.textContent);return r.styleEl=t,e.push(r),!0}function updateGlobalScopes(e){var t=resolveValues(getSelectorsForScopes(e));e.forEach((function(e){e.usesCssVars&&(e.styleEl.textContent=executeTemplate(e.template,t));}));}function reScope(e,t){var r=e.template.map((function(r){return \"string\"==typeof r?replaceScope(r,e.scopeId,t):r})),n=e.selectors.map((function(r){return Object.assign(Object.assign({},r),{selector:replaceScope(r.selector,e.scopeId,t)})}));return Object.assign(Object.assign({},e),{template:r,selectors:n,scopeId:t})}function replaceScope(e,t,r){return e=replaceAll(e,\"\\\\.\"+t,\".\"+r)}function replaceAll(e,t,r){return e.replace(new RegExp(t,\"g\"),r)}function loadDocument(e,t){return loadDocumentStyles(e,t),loadDocumentLinks(e,t).then((function(){updateGlobalScopes(t);}))}function startWatcher(e,t){\"undefined\"!=typeof MutationObserver&&new MutationObserver((function(){loadDocumentStyles(e,t)&&updateGlobalScopes(t);})).observe(document.head,{childList:!0});}function loadDocumentLinks(e,t){for(var r=[],n=e.querySelectorAll('link[rel=\"stylesheet\"][href]:not([data-no-shim])'),s=0;s\u003Cn.length;s++)r.push(addGlobalLink(e,t,n[s]));return Promise.all(r)}function loadDocumentStyles(e,t){return Array.from(e.querySelectorAll(\"style:not([data-styles]):not([data-no-shim])\")).map((function(e){return addGlobalStyle(t,e)})).some(Boolean)}function addGlobalLink(e,t,r){var n=r.href;return fetch(n).then((function(e){return e.text()})).then((function(s){if(hasCssVariables(s)&&r.parentNode){hasRelativeUrls(s)&&(s=fixRelativeUrls(s,n));var o=e.createElement(\"style\");o.setAttribute(\"data-styles\",\"\"),o.textContent=s,addGlobalStyle(t,o),r.parentNode.insertBefore(o,r),r.remove();}})).catch((function(e){console.error(e);}))}var CSS_VARIABLE_REGEXP=\u002F[\\s;{]--[-a-zA-Z0-9]+\\s*:\u002Fm;function hasCssVariables(e){return e.indexOf(\"var(\")\u003E-1||CSS_VARIABLE_REGEXP.test(e)}var CSS_URL_REGEXP=\u002Furl[\\s]*\\([\\s]*['\"]?(?!(?:https?|data)\\:|\\\u002F)([^\\'\\\"\\)]*)[\\s]*['\"]?\\)[\\s]*\u002Fgim;function hasRelativeUrls(e){return CSS_URL_REGEXP.lastIndex=0,CSS_URL_REGEXP.test(e)}function fixRelativeUrls(e,t){var r=t.replace(\u002F[^\u002F]*$\u002F,\"\");return e.replace(CSS_URL_REGEXP,(function(e,t){var n=r+t;return e.replace(t,n)}))}var CustomStyle=function(){function e(e,t){this.win=e,this.doc=t,this.count=0,this.hostStyleMap=new WeakMap,this.hostScopeMap=new WeakMap,this.globalScopes=[],this.scopesMap=new Map,this.didInit=!1;}return e.prototype.i=function(){var e=this;return this.didInit||!this.win.requestAnimationFrame?Promise.resolve():(this.didInit=!0,new Promise((function(t){e.win.requestAnimationFrame((function(){startWatcher(e.doc,e.globalScopes),loadDocument(e.doc,e.globalScopes).then((function(){return t()}));}));})))},e.prototype.addLink=function(e){var t=this;return addGlobalLink(this.doc,this.globalScopes,e).then((function(){t.updateGlobal();}))},e.prototype.addGlobalStyle=function(e){addGlobalStyle(this.globalScopes,e)&&this.updateGlobal();},e.prototype.createHostStyle=function(e,t,r,n){if(this.hostScopeMap.has(e))throw new Error(\"host style already created\");var s=this.registerHostTemplate(r,t,n),o=this.doc.createElement(\"style\");return o.setAttribute(\"data-no-shim\",\"\"),s.usesCssVars?n?(o[\"s-sc\"]=t=s.scopeId+\"-\"+this.count,o.textContent=\"\u002F*needs update*\u002F\",this.hostStyleMap.set(e,o),this.hostScopeMap.set(e,reScope(s,t)),this.count++):(s.styleEl=o,s.usesCssVars||(o.textContent=executeTemplate(s.template,{})),this.globalScopes.push(s),this.updateGlobal(),this.hostScopeMap.set(e,s)):o.textContent=r,o},e.prototype.removeHost=function(e){var t=this.hostStyleMap.get(e);t&&t.remove(),this.hostStyleMap.delete(e),this.hostScopeMap.delete(e);},e.prototype.updateHost=function(e){var t=this.hostScopeMap.get(e);if(t&&t.usesCssVars&&t.isScoped){var r=this.hostStyleMap.get(e);if(r){var n=resolveValues(getActiveSelectors(e,this.hostScopeMap,this.globalScopes));r.textContent=executeTemplate(t.template,n);}}},e.prototype.updateGlobal=function(){updateGlobalScopes(this.globalScopes);},e.prototype.registerHostTemplate=function(e,t,r){var n=this.scopesMap.get(t);return n||((n=parseCSS(e)).scopeId=t,n.isScoped=r,this.scopesMap.set(t,n)),n},e}();!function(e){!e||e.__cssshim||e.CSS&&e.CSS.supports&&e.CSS.supports(\"color\",\"var(--c)\")||(e.__cssshim=new CustomStyle(e,e.document));}(\"undefined\"!=typeof window&&window);\n","directory_shortid":"kPv05","id":"e2a95575-cd45-4c13-a1d5-a1aed529ddde","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"qmWg3","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"css-shim-5ce2b5c4.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"\u002F*\n Stencil Client Patch v1.17.4 | MIT Licensed | https:\u002F\u002Fstenciljs.com\n *\u002F\n(function(){\nvar aa=new Set(\"annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph\".split(\" \"));function g(a){var b=aa.has(a);a=\u002F^[a-z][.0-9_a-z]*-[\\-.0-9_a-z]*$\u002F.test(a);return !b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return !(!a||!(a.__CE_isImportDocument||a instanceof Document))}\n function n(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}\n function p(a,b,d){d=void 0===d?new Set:d;for(var c=a;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;b(e);var f=e.localName;if(\"link\"===f&&\"import\"===e.getAttribute(\"rel\")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)p(c,b,d);c=n(a,e);continue}else if(\"template\"===f){c=n(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)p(e,b,d);}c=c.firstChild?c.firstChild:n(a,c);}}function r(a,b,d){a[b]=d;}function u(){this.a=new Map;this.g=new Map;this.c=[];this.f=[];this.b=!1;}function ba(a,b,d){a.a.set(b,d);a.g.set(d.constructorFunction,d);}function ca(a,b){a.b=!0;a.c.push(b);}function da(a,b){a.b=!0;a.f.push(b);}function v(a,b){a.b&&p(b,function(b){return w(a,b)});}function w(a,b){if(a.b&&!b.__CE_patched){b.__CE_patched=!0;for(var d=0;d\u003Ca.c.length;d++)a.c[d](b);for(d=0;d\u003Ca.f.length;d++)a.f[d](b);}}\n function x(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b\u003Cd.length;b++){var c=d[b];1===c.__CE_state?a.connectedCallback(c):y(a,c);}}function z(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b\u003Cd.length;b++){var c=d[b];1===c.__CE_state&&a.disconnectedCallback(c);}}\n function A(a,b,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.i||function(b){return y(a,b)},f=[];p(b,function(b){if(\"link\"===b.localName&&\"import\"===b.getAttribute(\"rel\")){var d=b.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&\"complete\"===d.readyState?d.__CE_documentLoadHandled=!0:b.addEventListener(\"load\",function(){var d=b.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);A(a,d,{u:f,i:e});}});}else f.push(b);},c);if(a.b)for(b=\n 0;b\u003Cf.length;b++)w(a,f[b]);for(b=0;b\u003Cf.length;b++)e(f[b]);}\n function y(a,b){if(void 0===b.__CE_state){var d=b.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=a.a.get(b.localName)){d.constructionStack.push(b);var c=d.constructorFunction;try{try{if(new c!==b)throw Error(\"The custom element constructor did not produce the element being upgraded.\");}finally{d.constructionStack.pop();}}catch(t){throw b.__CE_state=2,t;}b.__CE_state=1;b.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c\u003Cd.length;c++){var e=\n d[c],f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null);}l(b)&&a.connectedCallback(b);}}}u.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a);};u.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a);};\n u.prototype.attributeChangedCallback=function(a,b,d,c,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1\u003Cf.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,d,c,e);};function B(a){var b=document;this.c=a;this.a=b;this.b=void 0;A(this.c,this.a);\"loading\"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}));}function C(a){a.b&&a.b.disconnect();}B.prototype.f=function(a){var b=this.a.readyState;\"interactive\"!==b&&\"complete\"!==b||C(this);for(b=0;b\u003Ca.length;b++)for(var d=a[b].addedNodes,c=0;c\u003Cd.length;c++)A(this.c,d[c]);};function ea(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a);});}function D(a){if(a.a)throw Error(\"Already resolved.\");a.a=void 0;a.b&&a.b(void 0);}function E(a){this.c=!1;this.a=a;this.j=new Map;this.f=function(b){return b()};this.b=!1;this.g=[];this.o=new B(a);}\n E.prototype.l=function(a,b){var d=this;if(!(b instanceof Function))throw new TypeError(\"Custom element constructors must be functions.\");if(!g(a))throw new SyntaxError(\"The element name '\"+a+\"' is not valid.\");if(this.a.a.get(a))throw Error(\"A custom element with name '\"+a+\"' has already been defined.\");if(this.c)throw Error(\"A custom element is already being defined.\");this.c=!0;try{var c=function(b){var a=e[b];if(void 0!==a&&!(a instanceof Function))throw Error(\"The '\"+b+\"' callback must be a function.\");\n return a},e=b.prototype;if(!(e instanceof Object))throw new TypeError(\"The custom element constructor's prototype is not an object.\");var f=c(\"connectedCallback\");var t=c(\"disconnectedCallback\");var k=c(\"adoptedCallback\");var h=c(\"attributeChangedCallback\");var m=b.observedAttributes||[];}catch(q){return}finally{this.c=!1;}b={localName:a,constructorFunction:b,connectedCallback:f,disconnectedCallback:t,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:m,constructionStack:[]};ba(this.a,\n a,b);this.g.push(b);this.b||(this.b=!0,this.f(function(){return fa(d)}));};E.prototype.i=function(a){A(this.a,a);};\n function fa(a){if(!1!==a.b){a.b=!1;for(var b=a.g,d=[],c=new Map,e=0;e\u003Cb.length;e++)c.set(b[e].localName,[]);A(a.a,document,{i:function(b){if(void 0===b.__CE_state){var e=b.localName,f=c.get(e);f?f.push(b):a.a.a.get(e)&&d.push(b);}}});for(e=0;e\u003Cd.length;e++)y(a.a,d[e]);for(;0\u003Cb.length;){var f=b.shift();e=f.localName;f=c.get(f.localName);for(var t=0;t\u003Cf.length;t++)y(a.a,f[t]);(e=a.j.get(e))&&D(e);}}}E.prototype.get=function(a){if(a=this.a.a.get(a))return a.constructorFunction};\n E.prototype.m=function(a){if(!g(a))return Promise.reject(new SyntaxError(\"'\"+a+\"' is not a valid custom element name.\"));var b=this.j.get(a);if(b)return b.c;b=new ea;this.j.set(a,b);this.a.a.get(a)&&!this.g.some(function(b){return b.localName===a})&&D(b);return b.c};E.prototype.s=function(a){C(this.o);var b=this.f;this.f=function(d){return a(function(){return b(d)})};};window.CustomElementRegistry=E;E.prototype.define=E.prototype.l;E.prototype.upgrade=E.prototype.i;E.prototype.get=E.prototype.get;\n E.prototype.whenDefined=E.prototype.m;E.prototype.polyfillWrapFlushCallback=E.prototype.s;var F=window.Document.prototype.createElement,G=window.Document.prototype.createElementNS,ha=window.Document.prototype.importNode,ia=window.Document.prototype.prepend,ja=window.Document.prototype.append,ka=window.DocumentFragment.prototype.prepend,la=window.DocumentFragment.prototype.append,H=window.Node.prototype.cloneNode,I=window.Node.prototype.appendChild,J=window.Node.prototype.insertBefore,K=window.Node.prototype.removeChild,L=window.Node.prototype.replaceChild,M=Object.getOwnPropertyDescriptor(window.Node.prototype,\n \"textContent\"),N=window.Element.prototype.attachShadow,O=Object.getOwnPropertyDescriptor(window.Element.prototype,\"innerHTML\"),P=window.Element.prototype.getAttribute,Q=window.Element.prototype.setAttribute,R=window.Element.prototype.removeAttribute,S=window.Element.prototype.getAttributeNS,T=window.Element.prototype.setAttributeNS,U=window.Element.prototype.removeAttributeNS,ma=window.Element.prototype.insertAdjacentElement,na=window.Element.prototype.insertAdjacentHTML,oa=window.Element.prototype.prepend,\n pa=window.Element.prototype.append,V=window.Element.prototype.before,qa=window.Element.prototype.after,ra=window.Element.prototype.replaceWith,sa=window.Element.prototype.remove,ta=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,\"innerHTML\"),ua=window.HTMLElement.prototype.insertAdjacentElement,va=window.HTMLElement.prototype.insertAdjacentHTML;var wa=new function(){};function xa(){var a=X;window.HTMLElement=function(){function b(){var b=this.constructor,c=a.g.get(b);if(!c)throw Error(\"The custom element being constructed was not registered with `customElements`.\");var e=c.constructionStack;if(0===e.length)return e=F.call(document,c.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=c,w(a,e),e;c=e.length-1;var f=e[c];if(f===wa)throw Error(\"The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.\");\n e[c]=wa;Object.setPrototypeOf(f,b.prototype);w(a,f);return f}b.prototype=ta.prototype;Object.defineProperty(b.prototype,\"constructor\",{writable:!0,configurable:!0,enumerable:!1,value:b});return b}();}function Y(a,b,d){function c(b){return function(d){for(var e=[],c=0;c\u003Carguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],m=0;m\u003Ce.length;m++){var q=e[m];q instanceof Element&&l(q)&&f.push(q);if(q instanceof DocumentFragment)for(q=q.firstChild;q;q=q.nextSibling)c.push(q);else c.push(q);}b.apply(this,e);for(e=0;e\u003Cf.length;e++)z(a,f[e]);if(l(this))for(e=0;e\u003Cc.length;e++)f=c[e],f instanceof Element&&x(a,f);}}void 0!==d.h&&(b.prepend=c(d.h));void 0!==d.append&&(b.append=c(d.append));}function ya(){var a=X;r(Document.prototype,\"createElement\",function(b){if(this.__CE_hasRegistry){var d=a.a.get(b);if(d)return new d.constructorFunction}b=F.call(this,b);w(a,b);return b});r(Document.prototype,\"importNode\",function(b,d){b=ha.call(this,b,!!d);this.__CE_hasRegistry?A(a,b):v(a,b);return b});r(Document.prototype,\"createElementNS\",function(b,d){if(this.__CE_hasRegistry&&(null===b||\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\"===b)){var c=a.a.get(d);if(c)return new c.constructorFunction}b=G.call(this,b,\n d);w(a,b);return b});Y(a,Document.prototype,{h:ia,append:ja});}function za(){function a(a,c){Object.defineProperty(a,\"textContent\",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,a);else {var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0\u003Ck&&l(this)){d=Array(k);for(var h=0;h\u003Ck;h++)d[h]=e[h];}}c.set.call(this,a);if(d)for(a=0;a\u003Cd.length;a++)z(b,d[a]);}}});}var b=X;r(Node.prototype,\"insertBefore\",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);\n a=J.call(this,a,c);if(l(this))for(c=0;c\u003Ce.length;c++)x(b,e[c]);return a}e=l(a);c=J.call(this,a,c);e&&z(b,a);l(this)&&x(b,a);return c});r(Node.prototype,\"appendChild\",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=I.call(this,a);if(l(this))for(var e=0;e\u003Cc.length;e++)x(b,c[e]);return a}c=l(a);e=I.call(this,a);c&&z(b,a);l(this)&&x(b,a);return e});r(Node.prototype,\"cloneNode\",function(a){a=H.call(this,!!a);this.ownerDocument.__CE_hasRegistry?A(b,a):v(b,\n a);return a});r(Node.prototype,\"removeChild\",function(a){var c=l(a),e=K.call(this,a);c&&z(b,a);return e});r(Node.prototype,\"replaceChild\",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=L.call(this,a,c);if(l(this))for(z(b,c),c=0;c\u003Ce.length;c++)x(b,e[c]);return a}e=l(a);var f=L.call(this,a,c),d=l(this);d&&z(b,c);e&&z(b,a);d&&x(b,a);return f});M&&M.get?a(Node.prototype,M):ca(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],\n b=0;b\u003Cthis.childNodes.length;b++){var f=this.childNodes[b];f.nodeType!==Node.COMMENT_NODE&&a.push(f.textContent);}return a.join(\"\")},set:function(a){for(;this.firstChild;)K.call(this,this.firstChild);null!=a&&\"\"!==a&&I.call(this,document.createTextNode(a));}});});}function Aa(a){function b(b){return function(e){for(var c=[],d=0;d\u003Carguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h\u003Cc.length;h++){var m=c[h];m instanceof Element&&l(m)&&k.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)d.push(m);else d.push(m);}b.apply(this,c);for(c=0;c\u003Ck.length;c++)z(a,k[c]);if(l(this))for(c=0;c\u003Cd.length;c++)k=d[c],k instanceof Element&&x(a,k);}}var d=Element.prototype;void 0!==V&&(d.before=b(V));void 0!==V&&(d.after=b(qa));void 0!==ra&&\n r(d,\"replaceWith\",function(b){for(var e=[],c=0;c\u003Carguments.length;++c)e[c]=arguments[c];c=[];for(var d=[],k=0;k\u003Ce.length;k++){var h=e[k];h instanceof Element&&l(h)&&d.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)c.push(h);else c.push(h);}k=l(this);ra.apply(this,e);for(e=0;e\u003Cd.length;e++)z(a,d[e]);if(k)for(z(a,this),e=0;e\u003Cc.length;e++)d=c[e],d instanceof Element&&x(a,d);});void 0!==sa&&r(d,\"remove\",function(){var b=l(this);sa.call(this);b&&z(a,this);});}function Ba(){function a(a,b){Object.defineProperty(a,\"innerHTML\",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var e=this,d=void 0;l(this)&&(d=[],p(this,function(a){a!==e&&d.push(a);}));b.set.call(this,a);if(d)for(var f=0;f\u003Cd.length;f++){var t=d[f];1===t.__CE_state&&c.disconnectedCallback(t);}this.ownerDocument.__CE_hasRegistry?A(c,this):v(c,this);return a}});}function b(a,b){r(a,\"insertAdjacentElement\",function(a,e){var d=l(e);a=b.call(this,a,e);d&&z(c,e);l(a)&&x(c,e);return a});}\n function d(a,b){function e(a,b){for(var e=[];a!==b;a=a.nextSibling)e.push(a);for(b=0;b\u003Ce.length;b++)A(c,e[b]);}r(a,\"insertAdjacentHTML\",function(a,c){a=a.toLowerCase();if(\"beforebegin\"===a){var d=this.previousSibling;b.call(this,a,c);e(d||this.parentNode.firstChild,this);}else if(\"afterbegin\"===a)d=this.firstChild,b.call(this,a,c),e(this.firstChild,d);else if(\"beforeend\"===a)d=this.lastChild,b.call(this,a,c),e(d||this.firstChild,null);else if(\"afterend\"===a)d=this.nextSibling,b.call(this,a,c),e(this.nextSibling,\n d);else throw new SyntaxError(\"The value provided (\"+String(a)+\") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.\");});}var c=X;N&&r(Element.prototype,\"attachShadow\",function(a){a=N.call(this,a);var b=c;if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var e=0;e\u003Cb.c.length;e++)b.c[e](a);}return this.__CE_shadowRoot=a});O&&O.get?a(Element.prototype,O):W&&W.get?a(HTMLElement.prototype,W):da(c,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return H.call(this,!0).innerHTML},\n set:function(a){var b=\"template\"===this.localName,c=b?this.content:this,e=G.call(document,this.namespaceURI,this.localName);for(e.innerHTML=a;0\u003Cc.childNodes.length;)K.call(c,c.childNodes[0]);for(a=b?e.content:e;0\u003Ca.childNodes.length;)I.call(c,a.childNodes[0]);}});});r(Element.prototype,\"setAttribute\",function(a,b){if(1!==this.__CE_state)return Q.call(this,a,b);var e=P.call(this,a);Q.call(this,a,b);b=P.call(this,a);c.attributeChangedCallback(this,a,e,b,null);});r(Element.prototype,\"setAttributeNS\",function(a,\n b,d){if(1!==this.__CE_state)return T.call(this,a,b,d);var e=S.call(this,a,b);T.call(this,a,b,d);d=S.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a);});r(Element.prototype,\"removeAttribute\",function(a){if(1!==this.__CE_state)return R.call(this,a);var b=P.call(this,a);R.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null);});r(Element.prototype,\"removeAttributeNS\",function(a,b){if(1!==this.__CE_state)return U.call(this,a,b);var d=S.call(this,a,b);U.call(this,a,b);var e=S.call(this,\n a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a);});ua?b(HTMLElement.prototype,ua):ma?b(Element.prototype,ma):console.warn(\"Custom Elements: `Element#insertAdjacentElement` was not patched.\");va?d(HTMLElement.prototype,va):na?d(Element.prototype,na):console.warn(\"Custom Elements: `Element#insertAdjacentHTML` was not patched.\");Y(c,Element.prototype,{h:oa,append:pa});Aa(c);}var Z=window.customElements;if(!Z||Z.forcePolyfill||\"function\"!=typeof Z.define||\"function\"!=typeof Z.get){var X=new u;xa();ya();Y(X,DocumentFragment.prototype,{h:ka,append:la});za();Ba();document.__CE_hasRegistry=!0;var customElements=new E(X);Object.defineProperty(window,\"customElements\",{configurable:!0,enumerable:!0,value:customElements});}}).call(self);\n\n\u002F\u002F Polyfill document.baseURI\n\"string\"!==typeof document.baseURI&&Object.defineProperty(Document.prototype,\"baseURI\",{enumerable:!0,configurable:!0,get:function(){var a=document.querySelector(\"base\");return a&&a.href?a.href:document.URL}});\n\n\u002F\u002F Polyfill CustomEvent\n\"function\"!==typeof window.CustomEvent&&(window.CustomEvent=function(c,a){a=a||{bubbles:!1,cancelable:!1,detail:void 0};var b=document.createEvent(\"CustomEvent\");b.initCustomEvent(c,a.bubbles,a.cancelable,a.detail);return b},window.CustomEvent.prototype=window.Event.prototype);\n\n\u002F\u002F Event.composedPath\n(function(b,c,d){b.composedPath||(b.composedPath=function(){if(this.path)return this.path;var a=this.target;for(this.path=[];null!==a.parentNode;)this.path.push(a),a=a.parentNode;this.path.push(c,d);return this.path});})(Event.prototype,document,window);\n\n\u002F*!\nElement.closest and Element.matches\nhttps:\u002F\u002Fgithub.com\u002Fjonathantneal\u002Fclosest\nCreative Commons Zero v1.0 Universal\n*\u002F\n(function(a){\"function\"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return !!a[b]});\"function\"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode;}return null});})(window.Element.prototype);\n\n\u002F*!\nElement.getRootNode()\n*\u002F\n(function(c){function d(a){a=b(a);return a&&11===a.nodeType?d(a.host):a}function b(a){return a&&a.parentNode?b(a.parentNode):a}\"function\"!==typeof c.getRootNode&&(c.getRootNode=function(a){return a&&a.composed?d(this):b(this)});})(Element.prototype);\n\n\u002F*!\nElement.isConnected()\n*\u002F\n(function(a){\"isConnected\"in a||Object.defineProperty(a,\"isConnected\",{configurable:!0,enumerable:!0,get:function(){var a=this.getRootNode({composed:!0});return a&&9===a.nodeType}});})(Element.prototype);\n\n\u002F*!\nElement.remove()\n*\u002F\n(function(b){b.forEach(function(a){a.hasOwnProperty(\"remove\")||Object.defineProperty(a,\"remove\",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this);}});});})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);\n\n\u002F*!\nElement.classList\n*\u002F\n!function(e){'classList'in e||Object.defineProperty(e,\"classList\",{get:function(){var e=this,t=(e.getAttribute(\"class\")||\"\").replace(\u002F^\\s+|\\s$\u002Fg,\"\").split(\u002F\\s+\u002Fg);function n(){t.length\u003E0?e.setAttribute(\"class\",t.join(\" \")):e.removeAttribute(\"class\");}return \"\"===t[0]&&t.splice(0,1),t.toggle=function(e,i){void 0!==i?i?t.add(e):t.remove(e):-1!==t.indexOf(e)?t.splice(t.indexOf(e),1):t.push(e),n();},t.add=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i\u003Cs;i++)-1===t.indexOf(e[i])&&t.push(e[i]);n();},t.remove=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i\u003Cs;i++)-1!==t.indexOf(e[i])&&t.splice(t.indexOf(e[i]),1);n();},t.item=function(e){return t[e]},t.contains=function(e){return -1!==t.indexOf(e)},t.replace=function(e,i){-1!==t.indexOf(e)&&t.splice(t.indexOf(e),1,i),n();},t.value=e.getAttribute(\"class\")||\"\",t}});}(Element.prototype);\n\n\u002F*!\nDOMTokenList\n*\u002F\n(function(b){try{document.body.classList.add();}catch(e){var c=b.add,d=b.remove;b.add=function(){for(var a=0;a\u003Carguments.length;a++)c.call(this,arguments[a]);};b.remove=function(){for(var a=0;a\u003Carguments.length;a++)d.call(this,arguments[a]);};}})(DOMTokenList.prototype);\n","directory_shortid":"kPv05","id":"2d065933-fa1e-480f-9060-d5e4915b3165","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"mEArE","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"dom-91ed8d21.js","updated_at":"2021-10-09T12:00:18","upload_id":null},{"code":"\u002F* eslint-disable *\u002F\n\u002F* tslint:disable *\u002F\n\u002F**\n * This is an autogenerated file created by the Stencil compiler.\n * It contains typing information for all components that exist in this project.\n *\u002F\nimport { HTMLStencilElement, JSXBase } from \".\u002Fstencil-public-runtime\";\nimport { Item } from \".\u002Fcomponents\u002Fmy-component\u002Fmy-component\";\nexport namespace Components {\n interface MyComponent {\n \"initialItems\": Item[];\n }\n}\ndeclare global {\n interface HTMLMyComponentElement extends Components.MyComponent, HTMLStencilElement {\n }\n var HTMLMyComponentElement: {\n prototype: HTMLMyComponentElement;\n new (): HTMLMyComponentElement;\n };\n interface HTMLElementTagNameMap {\n \"my-component\": HTMLMyComponentElement;\n }\n}\ndeclare namespace LocalJSX {\n interface MyComponent {\n \"initialItems\"?: Item[];\n }\n interface IntrinsicElements {\n \"my-component\": MyComponent;\n }\n}\nexport { LocalJSX as JSX };\ndeclare module \"@stencil\u002Fcore\" {\n export namespace JSX {\n interface IntrinsicElements {\n \"my-component\": LocalJSX.MyComponent & JSXBase.HTMLAttributes\u003CHTMLMyComponentElement\u003E;\n }\n }\n}\n","directory_shortid":"yLzw","id":"fe0f3539-6db2-436e-b15a-f13fd31aa2b4","inserted_at":"2021-10-09T11:37:29","is_binary":null,"sha":null,"shortid":"VOMxo","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"components.d.ts","updated_at":"2021-10-09T12:00:18","upload_id":null}],"git":null,"authorization":"read","forked_from_sandbox":null,"user_liked":false,"always_on":false,"entry":"src\u002Findex.js","tags":[],"updated_at":"2020-05-24T15:20:04","pr_number":null,"screenshot_url":"https:\u002F\u002Fcodesandbox.io\u002Fstatic\u002Fimg\u002Fbanner.png","custom_template":null,"picks":[],"version":44,"fork_count":10,"preview_secret":null,"original_git_commit_sha":null,"base_git":null,"template":"node","author":{"avatar_url":"https:\u002F\u002Favatars2.githubusercontent.com\u002Fu\u002F639189?v=4","id":"9f28baab-0218-4fd6-b0bb-d91233ab5b62","name":"Duc Ng","personal_workspace_id":"accadf8a-f3d0-46f2-a39b-e56317b0c9c5","subscription_plan":null,"subscription_since":null,"username":"ngduc"},"forked_template":{"color":"#c4198b","icon_url":"TypeScriptIcon","id":"d451f017-69f4-4d41-bd2e-a0e646939f51","official":false,"published":true,"title":"codesandbox-stenciljs","url":null},"forked_template_sandbox":{"alias":"codesandbox-stenciljs-44t8v","custom_template":{"color":"#c4198b","icon_url":"TypeScriptIcon","id":"d451f017-69f4-4d41-bd2e-a0e646939f51","official":false,"published":true,"title":"codesandbox-stenciljs","url":null},"git":null,"id":"44t8v","inserted_at":"2020-02-07T20:06:12","privacy":0,"template":"node","title":"codesandbox-stenciljs","updated_at":"2020-10-22T07:27:47"},"feature_flags":{"comments":false,"container_lsp":null},"description":null,"directories":[{"directory_shortid":null,"id":"beeb7685-6f89-497b-a1b0-4c43030a72b5","inserted_at":"2020-05-24T07:52:43","shortid":"Hk8u4SiGI","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":".stencil","updated_at":"2020-02-07T20:11:25"},{"directory_shortid":"H1_DEBjG8","id":"144f6884-362a-4154-b2d2-0b312c6534dd","inserted_at":"2020-05-24T07:52:43","shortid":"HkldwVBszI","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"build","updated_at":"2020-02-07T20:11:11"},{"directory_shortid":null,"id":"5066d247-49dd-4d31-8856-1b3c2f3e2a78","inserted_at":"2020-05-24T07:52:43","shortid":"H1_DEBjG8","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"www","updated_at":"2020-02-07T20:11:11"},{"directory_shortid":"ryZMNSjGL","id":"11328de2-1fd7-460f-9e1e-53199b97447a","inserted_at":"2020-05-24T07:52:43","shortid":"rkx-z4BoM8","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"my-component","updated_at":"2020-02-07T20:09:45"},{"directory_shortid":"GXOoy","id":"e916dffc-78af-4a96-a905-09742294bd0a","inserted_at":"2020-05-24T07:52:43","shortid":"ryZMNSjGL","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"components","updated_at":"2020-02-07T20:09:45"},{"directory_shortid":"GXOoy","id":"c0869826-eec6-46de-bab3-c5bcc0918095","inserted_at":"2020-05-24T07:52:43","shortid":"AlA39","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"utils","updated_at":"2020-02-07T20:09:19"},{"directory_shortid":null,"id":"b1bafc88-3796-4aa7-a661-9419ae9bd229","inserted_at":"2020-05-24T07:52:43","shortid":"GXOoy","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"src","updated_at":"2018-09-27T18:04:27"},{"directory_shortid":"rEPNk","id":"ff67d175-c196-42f6-a79b-dafa7a311774","inserted_at":"2021-10-09T11:37:29","shortid":"kPv05","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"codesandbox-stenciljs","updated_at":"2021-10-09T11:37:29"},{"directory_shortid":"yLzw","id":"a3c64adf-0ac5-4b9d-a4be-060ee73b009d","inserted_at":"2021-10-09T11:37:29","shortid":"wg4V1","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"components","updated_at":"2021-10-09T11:37:29"},{"directory_shortid":"rEPNk","id":"49e0ea1f-ece9-4a8d-9699-9255b3c3180d","inserted_at":"2021-10-09T11:37:29","shortid":"yLzw","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"types","updated_at":"2021-10-09T11:37:29"},{"directory_shortid":"wg4V1","id":"acfb9e61-e3cd-4e17-93cd-02049f85a1cf","inserted_at":"2021-10-09T11:37:29","shortid":"69LEn","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"my-component","updated_at":"2021-10-09T11:37:29"},{"directory_shortid":null,"id":"705eb29f-cc9e-4538-b11b-898a1dacc4cc","inserted_at":"2021-10-09T11:37:29","shortid":"rEPNk","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"dist","updated_at":"2021-10-09T11:37:29"},{"directory_shortid":"yLzw","id":"da38e79c-25ff-4753-8606-ae69f08ef7ee","inserted_at":"2021-10-09T11:37:29","shortid":"Bn67o","source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","title":"utils","updated_at":"2021-10-09T11:37:29"}],"npm_registries":[],"permissions":{"prevent_sandbox_export":false,"prevent_sandbox_leaving":false},"npm_dependencies":{"react":"16.0.0","react-dom":"16.0.0"},"owned":false,"source_id":"bb851a23-60af-4f39-afb2-3e39d1f4f9db","original_git":null,"title":"Stencil Example"};