{"version":3,"file":"index.js","sources":["../node_modules/lit-html/lib/dom.js","../node_modules/lit-html/lib/template.js","../node_modules/lit-html/lib/modify-template.js","../node_modules/lit-html/lib/directive.js","../node_modules/lit-html/lib/part.js","../node_modules/lit-html/lib/template-instance.js","../node_modules/lit-html/lib/template-result.js","../node_modules/lit-html/lib/parts.js","../node_modules/lit-html/lib/template-factory.js","../node_modules/lit-html/lib/render.js","../node_modules/lit-html/lib/default-template-processor.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-html/lib/shady-render.js","../node_modules/lit-element/lib/updating-element.js","../node_modules/lit-element/lib/css-tag.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directives/class-map.js","../node_modules/@bundled-es-modules/axios/axios.js","../node_modules/@bundled-es-modules/axios/index.js","../src/components/accountDetailsComponent.js","../node_modules/lit-html/directives/repeat.js","../node_modules/@vaadin/vaadin-lumo-styles/version.js","../node_modules/@webcomponents/shadycss/src/document-wait.js","../node_modules/@webcomponents/shadycss/src/custom-style-interface.js","../node_modules/@webcomponents/shadycss/src/common-regex.js","../node_modules/@webcomponents/shadycss/src/common-utils.js","../node_modules/@webcomponents/shadycss/src/style-settings.js","../node_modules/@webcomponents/shadycss/entrypoints/custom-style-interface.js","../node_modules/@polymer/polymer/lib/utils/boot.js","../node_modules/@polymer/polymer/lib/utils/resolve-url.js","../node_modules/@polymer/polymer/lib/utils/settings.js","../node_modules/@polymer/polymer/lib/elements/dom-module.js","../node_modules/@polymer/polymer/lib/utils/style-gather.js","../node_modules/@polymer/polymer/lib/elements/custom-style.js","../node_modules/@vaadin/vaadin-lumo-styles/sizing.js","../node_modules/@vaadin/vaadin-lumo-styles/spacing.js","../node_modules/@vaadin/vaadin-lumo-styles/style.js","../node_modules/@vaadin/vaadin-lumo-styles/color.js","../node_modules/@vaadin/vaadin-lumo-styles/typography.js","../node_modules/@vaadin/vaadin-lumo-styles/mixins/overlay.js","../node_modules/@vaadin/vaadin-lumo-styles/mixins/menu-overlay.js","../node_modules/@polymer/polymer/lib/utils/html-tag.js","../node_modules/@vaadin/vaadin-date-picker/theme/lumo/vaadin-date-picker-overlay-styles.js","../node_modules/@vaadin/vaadin-button/theme/lumo/vaadin-button-styles.js","../node_modules/@polymer/polymer/lib/utils/mixin.js","../node_modules/@polymer/polymer/lib/utils/wrap.js","../node_modules/@polymer/polymer/lib/utils/path.js","../node_modules/@polymer/polymer/lib/utils/case-map.js","../node_modules/@polymer/polymer/lib/utils/async.js","../node_modules/@polymer/polymer/lib/mixins/properties-changed.js","../node_modules/@polymer/polymer/lib/mixins/property-accessors.js","../node_modules/@polymer/polymer/lib/mixins/template-stamp.js","../node_modules/@polymer/polymer/lib/mixins/property-effects.js","../node_modules/@polymer/polymer/lib/utils/telemetry.js","../node_modules/@polymer/polymer/lib/mixins/properties-mixin.js","../node_modules/@polymer/polymer/lib/mixins/element-mixin.js","../node_modules/@polymer/polymer/polymer-element.js","../node_modules/@polymer/polymer/lib/utils/debounce.js","../node_modules/@polymer/polymer/lib/utils/gestures.js","../node_modules/@polymer/polymer/lib/mixins/gesture-event-listeners.js","../node_modules/@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js","../node_modules/@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js","../node_modules/@vaadin/vaadin-control-state-mixin/vaadin-control-state-mixin.js","../node_modules/@polymer/polymer/lib/utils/flush.js","../node_modules/@vaadin/vaadin-element-mixin/vaadin-dir-helper.js","../node_modules/@vaadin/vaadin-element-mixin/vaadin-dir-mixin.js","../node_modules/@vaadin/vaadin-development-mode-detector/vaadin-development-mode-detector.js","../node_modules/@vaadin/vaadin-usage-statistics/vaadin-usage-statistics-collect.js","../node_modules/@vaadin/vaadin-element-mixin/vaadin-element-mixin.js","../node_modules/@vaadin/vaadin-button/src/vaadin-button.js","../node_modules/@vaadin/vaadin-date-picker/theme/lumo/vaadin-date-picker-overlay-content-styles.js","../node_modules/@vaadin/vaadin-date-picker/theme/lumo/vaadin-month-calendar-styles.js","../node_modules/@vaadin/vaadin-lumo-styles/font-icons.js","../node_modules/@vaadin/vaadin-lumo-styles/mixins/field-button.js","../node_modules/@vaadin/vaadin-date-picker/theme/lumo/vaadin-date-picker-styles.js","../node_modules/@vaadin/vaadin-lumo-styles/mixins/required-field.js","../node_modules/@vaadin/vaadin-text-field/theme/lumo/vaadin-text-field-styles.js","../node_modules/@vaadin/vaadin-text-field/src/vaadin-text-field-mixin.js","../node_modules/@vaadin/vaadin-text-field/src/vaadin-text-field.js","../node_modules/@vaadin/vaadin-date-picker/theme/lumo/vaadin-date-picker-text-field-styles.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-date-picker-text-field.js","../node_modules/@webcomponents/shadycss/src/css-parse.js","../node_modules/@webcomponents/shadycss/src/unscoped-style-handler.js","../node_modules/@webcomponents/shadycss/src/style-util.js","../node_modules/@webcomponents/shadycss/src/apply-shim.js","../node_modules/@webcomponents/shadycss/src/template-map.js","../node_modules/@webcomponents/shadycss/src/apply-shim-utils.js","../node_modules/@webcomponents/shadycss/entrypoints/apply-shim.js","../node_modules/@polymer/polymer/lib/mixins/dir-mixin.js","../node_modules/@polymer/polymer/lib/utils/render-status.js","../node_modules/@polymer/polymer/lib/utils/unresolved.js","../node_modules/@polymer/polymer/lib/utils/array-splice.js","../node_modules/@polymer/polymer/lib/utils/flattened-nodes-observer.js","../node_modules/@polymer/polymer/lib/legacy/polymer.dom.js","../node_modules/@polymer/polymer/lib/utils/scope-subtree.js","../node_modules/@polymer/polymer/lib/mixins/disable-upgrade-mixin.js","../node_modules/@polymer/polymer/lib/legacy/legacy-element-mixin.js","../node_modules/@polymer/polymer/lib/legacy/class.js","../node_modules/@polymer/polymer/lib/legacy/polymer-fn.js","../node_modules/@polymer/polymer/lib/mixins/mutable-data.js","../node_modules/@polymer/polymer/lib/utils/templatize.js","../node_modules/@polymer/polymer/lib/legacy/templatizer-behavior.js","../node_modules/@polymer/polymer/lib/utils/hide-template-controls.js","../node_modules/@polymer/polymer/lib/elements/dom-bind.js","../node_modules/@polymer/polymer/lib/elements/dom-repeat.js","../node_modules/@polymer/polymer/lib/elements/dom-if.js","../node_modules/@polymer/polymer/lib/elements/array-selector.js","../node_modules/@polymer/polymer/lib/legacy/mutable-data-behavior.js","../node_modules/@polymer/polymer/polymer-legacy.js","../node_modules/@polymer/iron-media-query/iron-media-query.js","../node_modules/@vaadin/vaadin-overlay/src/vaadin-focusables-helper.js","../node_modules/@vaadin/vaadin-overlay/src/vaadin-overlay.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-date-picker-overlay.js","../node_modules/@polymer/iron-a11y-keys-behavior/iron-a11y-keys-behavior.js","../node_modules/@polymer/iron-a11y-announcer/iron-a11y-announcer.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-date-picker-helper.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-month-calendar.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-infinite-scroller.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-date-picker-styles.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-date-picker-overlay-content.js","../node_modules/@polymer/iron-resizable-behavior/iron-resizable-behavior.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-date-picker-mixin.js","../node_modules/@vaadin/vaadin-date-picker/src/vaadin-date-picker.js","../src/components/deliveryProblemComponent.js","../src/components/loginComponent.js","../src/components/paymentComponent.js","../src/components/subscriptionDetailsComponent.js","../src/components/vacationHoldComponent.js","../src/components/welcomeHeaderComponent.js","../src/components/syncuiButton.js","../node_modules/@vaadin/vaadin-overlay/theme/lumo/vaadin-overlay-styles.js","../node_modules/@vaadin/vaadin-combo-box/theme/lumo/vaadin-combo-box-dropdown-styles.js","../node_modules/@vaadin/vaadin-item/theme/lumo/vaadin-item-styles.js","../node_modules/@vaadin/vaadin-item/src/vaadin-item-mixin.js","../node_modules/@vaadin/vaadin-item/src/vaadin-item.js","../node_modules/@vaadin/vaadin-combo-box/theme/lumo/vaadin-combo-box-item-styles.js","../node_modules/@vaadin/vaadin-combo-box/theme/lumo/vaadin-combo-box-styles.js","../node_modules/@vaadin/vaadin-combo-box/src/vaadin-combo-box-placeholder.js","../node_modules/@vaadin/vaadin-combo-box/src/vaadin-combo-box-mixin.js","../node_modules/@polymer/iron-scroll-target-behavior/iron-scroll-target-behavior.js","../node_modules/@polymer/iron-list/iron-list.js","../node_modules/@vaadin/vaadin-combo-box/src/vaadin-combo-box-item.js","../node_modules/@vaadin/vaadin-combo-box/src/vaadin-combo-box-dropdown.js","../node_modules/@vaadin/vaadin-combo-box/src/vaadin-combo-box-dropdown-wrapper.js","../node_modules/@vaadin/vaadin-combo-box/src/vaadin-combo-box-data-provider-mixin.js","../node_modules/@vaadin/vaadin-combo-box/src/vaadin-combo-box.js","../src/components/paymentRenewComponent.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n/**\n * True if the custom elements polyfill is in use.\n */\nexport const isCEPolyfill = typeof window !== 'undefined' &&\n window.customElements != null &&\n window.customElements.polyfillWrapFlushCallback !==\n undefined;\n/**\n * Reparents nodes, starting from `start` (inclusive) to `end` (exclusive),\n * into another container (could be the same container), before `before`. If\n * `before` is null, it appends the nodes to the container.\n */\nexport const reparentNodes = (container, start, end = null, before = null) => {\n while (start !== end) {\n const n = start.nextSibling;\n container.insertBefore(start, before);\n start = n;\n }\n};\n/**\n * Removes nodes, starting from `start` (inclusive) to `end` (exclusive), from\n * `container`.\n */\nexport const removeNodes = (container, start, end = null) => {\n while (start !== end) {\n const n = start.nextSibling;\n container.removeChild(start);\n start = n;\n }\n};\n//# sourceMappingURL=dom.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n/**\n * An expression marker with embedded unique key to avoid collision with\n * possible text in templates.\n */\nexport const marker = `{{lit-${String(Math.random()).slice(2)}}}`;\n/**\n * An expression marker used text-positions, multi-binding attributes, and\n * attributes with markup-like text values.\n */\nexport const nodeMarker = ``;\nexport const markerRegex = new RegExp(`${marker}|${nodeMarker}`);\n/**\n * Suffix appended to all bound attribute names.\n */\nexport const boundAttributeSuffix = '$lit$';\n/**\n * An updatable Template that tracks the location of dynamic parts.\n */\nexport class Template {\n constructor(result, element) {\n this.parts = [];\n this.element = element;\n const nodesToRemove = [];\n const stack = [];\n // Edge needs all 4 parameters present; IE11 needs 3rd parameter to be null\n const walker = document.createTreeWalker(element.content, 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */, null, false);\n // Keeps track of the last index associated with a part. We try to delete\n // unnecessary nodes, but we never want to associate two different parts\n // to the same index. They must have a constant node between.\n let lastPartIndex = 0;\n let index = -1;\n let partIndex = 0;\n const { strings, values: { length } } = result;\n while (partIndex < length) {\n const node = walker.nextNode();\n if (node === null) {\n // We've exhausted the content inside a nested template element.\n // Because we still have parts (the outer for-loop), we know:\n // - There is a template in the stack\n // - The walker will find a nextNode outside the template\n walker.currentNode = stack.pop();\n continue;\n }\n index++;\n if (node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n if (node.hasAttributes()) {\n const attributes = node.attributes;\n const { length } = attributes;\n // Per\n // https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap,\n // attributes are not guaranteed to be returned in document order.\n // In particular, Edge/IE can return them out of order, so we cannot\n // assume a correspondence between part index and attribute index.\n let count = 0;\n for (let i = 0; i < length; i++) {\n if (endsWith(attributes[i].name, boundAttributeSuffix)) {\n count++;\n }\n }\n while (count-- > 0) {\n // Get the template literal section leading up to the first\n // expression in this attribute\n const stringForPart = strings[partIndex];\n // Find the attribute name\n const name = lastAttributeNameRegex.exec(stringForPart)[2];\n // Find the corresponding attribute\n // All bound attributes have had a suffix added in\n // TemplateResult#getHTML to opt out of special attribute\n // handling. To look up the attribute value we also need to add\n // the suffix.\n const attributeLookupName = name.toLowerCase() + boundAttributeSuffix;\n const attributeValue = node.getAttribute(attributeLookupName);\n node.removeAttribute(attributeLookupName);\n const statics = attributeValue.split(markerRegex);\n this.parts.push({ type: 'attribute', index, name, strings: statics });\n partIndex += statics.length - 1;\n }\n }\n if (node.tagName === 'TEMPLATE') {\n stack.push(node);\n walker.currentNode = node.content;\n }\n }\n else if (node.nodeType === 3 /* Node.TEXT_NODE */) {\n const data = node.data;\n if (data.indexOf(marker) >= 0) {\n const parent = node.parentNode;\n const strings = data.split(markerRegex);\n const lastIndex = strings.length - 1;\n // Generate a new text node for each literal section\n // These nodes are also used as the markers for node parts\n for (let i = 0; i < lastIndex; i++) {\n let insert;\n let s = strings[i];\n if (s === '') {\n insert = createMarker();\n }\n else {\n const match = lastAttributeNameRegex.exec(s);\n if (match !== null && endsWith(match[2], boundAttributeSuffix)) {\n s = s.slice(0, match.index) + match[1] +\n match[2].slice(0, -boundAttributeSuffix.length) + match[3];\n }\n insert = document.createTextNode(s);\n }\n parent.insertBefore(insert, node);\n this.parts.push({ type: 'node', index: ++index });\n }\n // If there's no text, we must insert a comment to mark our place.\n // Else, we can trust it will stick around after cloning.\n if (strings[lastIndex] === '') {\n parent.insertBefore(createMarker(), node);\n nodesToRemove.push(node);\n }\n else {\n node.data = strings[lastIndex];\n }\n // We have a part for each match found\n partIndex += lastIndex;\n }\n }\n else if (node.nodeType === 8 /* Node.COMMENT_NODE */) {\n if (node.data === marker) {\n const parent = node.parentNode;\n // Add a new marker node to be the startNode of the Part if any of\n // the following are true:\n // * We don't have a previousSibling\n // * The previousSibling is already the start of a previous part\n if (node.previousSibling === null || index === lastPartIndex) {\n index++;\n parent.insertBefore(createMarker(), node);\n }\n lastPartIndex = index;\n this.parts.push({ type: 'node', index });\n // If we don't have a nextSibling, keep this node so we have an end.\n // Else, we can remove it to save future costs.\n if (node.nextSibling === null) {\n node.data = '';\n }\n else {\n nodesToRemove.push(node);\n index--;\n }\n partIndex++;\n }\n else {\n let i = -1;\n while ((i = node.data.indexOf(marker, i + 1)) !== -1) {\n // Comment node has a binding marker inside, make an inactive part\n // The binding won't work, but subsequent bindings will\n // TODO (justinfagnani): consider whether it's even worth it to\n // make bindings in comments work\n this.parts.push({ type: 'node', index: -1 });\n partIndex++;\n }\n }\n }\n }\n // Remove text binding nodes after the walk to not disturb the TreeWalker\n for (const n of nodesToRemove) {\n n.parentNode.removeChild(n);\n }\n }\n}\nconst endsWith = (str, suffix) => {\n const index = str.length - suffix.length;\n return index >= 0 && str.slice(index) === suffix;\n};\nexport const isTemplatePartActive = (part) => part.index !== -1;\n// Allows `document.createComment('')` to be renamed for a\n// small manual size-savings.\nexport const createMarker = () => document.createComment('');\n/**\n * This regex extracts the attribute name preceding an attribute-position\n * expression. It does this by matching the syntax allowed for attributes\n * against the string literal directly preceding the expression, assuming that\n * the expression is in an attribute-value position.\n *\n * See attributes in the HTML spec:\n * https://www.w3.org/TR/html5/syntax.html#elements-attributes\n *\n * \" \\x09\\x0a\\x0c\\x0d\" are HTML space characters:\n * https://www.w3.org/TR/html5/infrastructure.html#space-characters\n *\n * \"\\0-\\x1F\\x7F-\\x9F\" are Unicode control characters, which includes every\n * space character except \" \".\n *\n * So an attribute is:\n * * The name: any character except a control character, space character, ('),\n * (\"), \">\", \"=\", or \"/\"\n * * Followed by zero or more space characters\n * * Followed by \"=\"\n * * Followed by zero or more space characters\n * * Followed by:\n * * Any character except space, ('), (\"), \"<\", \">\", \"=\", (`), or\n * * (\") then any non-(\"), or\n * * (') then any non-(')\n */\nexport const lastAttributeNameRegex = \n// eslint-disable-next-line no-control-regex\n/([ \\x09\\x0a\\x0c\\x0d])([^\\0-\\x1F\\x7F-\\x9F \"'>=/]+)([ \\x09\\x0a\\x0c\\x0d]*=[ \\x09\\x0a\\x0c\\x0d]*(?:[^ \\x09\\x0a\\x0c\\x0d\"'`<>=]*|\"[^\"]*|'[^']*))$/;\n//# sourceMappingURL=template.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n/**\n * @module shady-render\n */\nimport { isTemplatePartActive } from './template.js';\nconst walkerNodeFilter = 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */;\n/**\n * Removes the list of nodes from a Template safely. In addition to removing\n * nodes from the Template, the Template part indices are updated to match\n * the mutated Template DOM.\n *\n * As the template is walked the removal state is tracked and\n * part indices are adjusted as needed.\n *\n * div\n * div#1 (remove) <-- start removing (removing node is div#1)\n * div\n * div#2 (remove) <-- continue removing (removing node is still div#1)\n * div\n * div <-- stop removing since previous sibling is the removing node (div#1,\n * removed 4 nodes)\n */\nexport function removeNodesFromTemplate(template, nodesToRemove) {\n const { element: { content }, parts } = template;\n const walker = document.createTreeWalker(content, walkerNodeFilter, null, false);\n let partIndex = nextActiveIndexInTemplateParts(parts);\n let part = parts[partIndex];\n let nodeIndex = -1;\n let removeCount = 0;\n const nodesToRemoveInTemplate = [];\n let currentRemovingNode = null;\n while (walker.nextNode()) {\n nodeIndex++;\n const node = walker.currentNode;\n // End removal if stepped past the removing node\n if (node.previousSibling === currentRemovingNode) {\n currentRemovingNode = null;\n }\n // A node to remove was found in the template\n if (nodesToRemove.has(node)) {\n nodesToRemoveInTemplate.push(node);\n // Track node we're removing\n if (currentRemovingNode === null) {\n currentRemovingNode = node;\n }\n }\n // When removing, increment count by which to adjust subsequent part indices\n if (currentRemovingNode !== null) {\n removeCount++;\n }\n while (part !== undefined && part.index === nodeIndex) {\n // If part is in a removed node deactivate it by setting index to -1 or\n // adjust the index as needed.\n part.index = currentRemovingNode !== null ? -1 : part.index - removeCount;\n // go to the next active part.\n partIndex = nextActiveIndexInTemplateParts(parts, partIndex);\n part = parts[partIndex];\n }\n }\n nodesToRemoveInTemplate.forEach((n) => n.parentNode.removeChild(n));\n}\nconst countNodes = (node) => {\n let count = (node.nodeType === 11 /* Node.DOCUMENT_FRAGMENT_NODE */) ? 0 : 1;\n const walker = document.createTreeWalker(node, walkerNodeFilter, null, false);\n while (walker.nextNode()) {\n count++;\n }\n return count;\n};\nconst nextActiveIndexInTemplateParts = (parts, startIndex = -1) => {\n for (let i = startIndex + 1; i < parts.length; i++) {\n const part = parts[i];\n if (isTemplatePartActive(part)) {\n return i;\n }\n }\n return -1;\n};\n/**\n * Inserts the given node into the Template, optionally before the given\n * refNode. In addition to inserting the node into the Template, the Template\n * part indices are updated to match the mutated Template DOM.\n */\nexport function insertNodeIntoTemplate(template, node, refNode = null) {\n const { element: { content }, parts } = template;\n // If there's no refNode, then put node at end of template.\n // No part indices need to be shifted in this case.\n if (refNode === null || refNode === undefined) {\n content.appendChild(node);\n return;\n }\n const walker = document.createTreeWalker(content, walkerNodeFilter, null, false);\n let partIndex = nextActiveIndexInTemplateParts(parts);\n let insertCount = 0;\n let walkerIndex = -1;\n while (walker.nextNode()) {\n walkerIndex++;\n const walkerNode = walker.currentNode;\n if (walkerNode === refNode) {\n insertCount = countNodes(node);\n refNode.parentNode.insertBefore(node, refNode);\n }\n while (partIndex !== -1 && parts[partIndex].index === walkerIndex) {\n // If we've inserted the node, simply adjust all subsequent parts\n if (insertCount > 0) {\n while (partIndex !== -1) {\n parts[partIndex].index += insertCount;\n partIndex = nextActiveIndexInTemplateParts(parts, partIndex);\n }\n return;\n }\n partIndex = nextActiveIndexInTemplateParts(parts, partIndex);\n }\n }\n}\n//# sourceMappingURL=modify-template.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\nconst directives = new WeakMap();\n/**\n * Brands a function as a directive factory function so that lit-html will call\n * the function during template rendering, rather than passing as a value.\n *\n * A _directive_ is a function that takes a Part as an argument. It has the\n * signature: `(part: Part) => void`.\n *\n * A directive _factory_ is a function that takes arguments for data and\n * configuration and returns a directive. Users of directive usually refer to\n * the directive factory as the directive. For example, \"The repeat directive\".\n *\n * Usually a template author will invoke a directive factory in their template\n * with relevant arguments, which will then return a directive function.\n *\n * Here's an example of using the `repeat()` directive factory that takes an\n * array and a function to render an item:\n *\n * ```js\n * html`