{"version":3,"file":"js/112-ebb2b16c570700aa2072.js","mappings":"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","sources":["webpack://app/./node_modules/@hotwired/stimulus/dist/stimulus.js","webpack://app/./node_modules/trix/dist/trix.esm.min.js","webpack://app/./node_modules/@rails/actiontext/app/assets/javascripts/actiontext.js"],"sourcesContent":["/*\nStimulus 3.2.1\nCopyright © 2022 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[1];\n let keyFilter = matches[2];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[3]),\n eventName,\n eventOptions: matches[6] ? parseEventOptions(matches[6]) : {},\n identifier: matches[4],\n methodName: matches[5],\n keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n isFilterTarget(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filteres = this.keyFilter.split(\"+\");\n const modifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\n const [meta, ctrl, alt, shift] = modifiers.map((modifier) => filteres.includes(modifier));\n if (event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift) {\n return true;\n }\n const standardFilter = filteres.filter((key) => !modifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(event)) {\n this.invokeWithEvent(event);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n const { params } = this.action;\n const actionEvent = Object.assign(event, { params });\n this.method.call(this.controller, actionEvent);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.isFilterTarget(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(node, attributeName) {\n const element = node;\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details = {}) {\n this.selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const matches = element.matches(this.selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n elementMatched(element) {\n this.selectorMatched(element);\n }\n elementUnmatched(element) {\n this.selectorUnmatched(element);\n }\n elementAttributeChanged(element, _attributeName) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(this.selector, element);\n if (!matches && matchedBefore) {\n this.selectorUnmatched(element);\n }\n }\n selectorMatched(element) {\n if (this.delegate.selectorMatched) {\n this.delegate.selectorMatched(element, this.selector, this.details);\n this.matchesByElement.add(this.selector, element);\n }\n }\n selectorUnmatched(element) {\n this.delegate.selectorUnmatched(element, this.selector, this.details);\n this.matchesByElement.delete(this.selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n }\n start() {\n if (this.selectorObserverMap.size === 0) {\n this.outletDefinitions.forEach((outletName) => {\n const selector = this.selector(outletName);\n const details = { outletName };\n if (selector) {\n this.selectorObserverMap.set(outletName, new SelectorObserver(document.body, selector, this, details));\n }\n });\n this.selectorObserverMap.forEach((observer) => observer.start());\n }\n this.dependentContexts.forEach((context) => context.refresh());\n }\n stop() {\n if (this.selectorObserverMap.size > 0) {\n this.disconnectAllOutlets();\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n return (this.hasOutlet(element, outletName) &&\n element.matches(`[${this.context.application.schema.controllerAttribute}~=${outletName}]`));\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad(definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outlet = this.outlets.find(name);\n if (outlet) {\n const outletController = this.application.getControllerForElementAndIdentifier(outlet, name);\n if (outletController) {\n return outletController;\n }\n else {\n throw new Error(`Missing \"data-controller=${name}\" attribute on outlet element for \"${this.identifier}\" controller`);\n }\n }\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outlet) => {\n const controller = this.application.getControllerForElementAndIdentifier(outlet, name);\n if (controller) {\n return controller;\n }\n else {\n console.warn(`The provided outlet element is missing the outlet controller \"${name}\" for \"${this.identifier}\"`, outlet);\n }\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outlet = this.outlets.find(name);\n if (outlet) {\n return outlet;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const typeFromObject = parseValueTypeConstant(payload.typeObject.type);\n if (!typeFromObject)\n return;\n const defaultValueType = parseValueTypeDefault(payload.typeObject.default);\n if (typeFromObject !== defaultValueType) {\n const propertyPath = payload.controller ? `${payload.controller}.${payload.token}` : payload.token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${payload.typeObject.default}\" is of type \"${defaultValueType}\".`);\n }\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const typeFromObject = parseValueTypeObject({\n controller: payload.controller,\n token: payload.token,\n typeObject: payload.typeDefinition,\n });\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeDefinition);\n const typeFromConstant = parseValueTypeConstant(payload.typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = payload.controller ? `${payload.controller}.${payload.typeDefinition}` : payload.token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${payload.token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const defaultValue = typeDefinition.default;\n if (defaultValue !== undefined)\n return defaultValue;\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const key = `${dasherize(payload.token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(payload.typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(payload.typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value);\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","/*\nTrix 2.0.5\nCopyright © 2023 37signals, LLC\n */\nconst t={preview:{presentation:\"gallery\",caption:{name:!0,size:!0}},file:{caption:{size:!0}}},e={default:{tagName:\"div\",parse:!1},quote:{tagName:\"blockquote\",nestable:!0},heading1:{tagName:\"h1\",terminal:!0,breakOnReturn:!0,group:!1},code:{tagName:\"pre\",terminal:!0,text:{plaintext:!0}},bulletList:{tagName:\"ul\",parse:!1},bullet:{tagName:\"li\",listAttribute:\"bulletList\",group:!1,nestable:!0,test(t){return i(t.parentNode)===e[this.listAttribute].tagName}},numberList:{tagName:\"ol\",parse:!1},number:{tagName:\"li\",listAttribute:\"numberList\",group:!1,nestable:!0,test(t){return i(t.parentNode)===e[this.listAttribute].tagName}},attachmentGallery:{tagName:\"div\",exclusive:!0,terminal:!0,parse:!1,group:!1}},i=t=>{var e;return null==t||null===(e=t.tagName)||void 0===e?void 0:e.toLowerCase()},n=navigator.userAgent.match(/android\\s([0-9]+.*Chrome)/i),r=n&&parseInt(n[1]);var o={composesExistingText:/Android.*Chrome/.test(navigator.userAgent),recentAndroid:r&&r>12,samsungAndroid:r&&navigator.userAgent.match(/Android.*SM-/),forcesObjectResizing:/Trident.*rv:11/.test(navigator.userAgent),supportsInputEvents:\"undefined\"!=typeof InputEvent&&[\"data\",\"getTargetRanges\",\"inputType\"].every((t=>t in InputEvent.prototype))},s={attachFiles:\"Attach Files\",bold:\"Bold\",bullets:\"Bullets\",byte:\"Byte\",bytes:\"Bytes\",captionPlaceholder:\"Add a caption…\",code:\"Code\",heading1:\"Heading\",indent:\"Increase Level\",italic:\"Italic\",link:\"Link\",numbers:\"Numbers\",outdent:\"Decrease Level\",quote:\"Quote\",redo:\"Redo\",remove:\"Remove\",strike:\"Strikethrough\",undo:\"Undo\",unlink:\"Unlink\",url:\"URL\",urlPlaceholder:\"Enter a URL…\",GB:\"GB\",KB:\"KB\",MB:\"MB\",PB:\"PB\",TB:\"TB\"};const a=[s.bytes,s.KB,s.MB,s.GB,s.TB,s.PB];var l={prefix:\"IEC\",precision:2,formatter(t){switch(t){case 0:return\"0 \".concat(s.bytes);case 1:return\"1 \".concat(s.byte);default:let e;\"SI\"===this.prefix?e=1e3:\"IEC\"===this.prefix&&(e=1024);const i=Math.floor(Math.log(t)/Math.log(e)),n=(t/Math.pow(e,i)).toFixed(this.precision).replace(/0*$/,\"\").replace(/\\.$/,\"\");return\"\".concat(n,\" \").concat(a[i])}}};const c=function(t){for(const e in t){const i=t[e];this[e]=i}return this},h=document.documentElement,u=h.matches,d=function(t){let{onElement:e,matchingSelector:i,withCallback:n,inPhase:r,preventDefault:o,times:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=e||h,l=i,c=\"capturing\"===r,u=function(t){null!=s&&0==--s&&u.destroy();const e=p(t.target,{matchingSelector:l});null!=e&&(null==n||n.call(e,t,e),o&&t.preventDefault())};return u.destroy=()=>a.removeEventListener(t,u,c),a.addEventListener(t,u,c),u},g=function(t){let{onElement:e,bubbles:i,cancelable:n,attributes:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=null!=e?e:h;i=!1!==i,n=!1!==n;const s=document.createEvent(\"Events\");return s.initEvent(t,i,n),null!=r&&c.call(s,r),o.dispatchEvent(s)},m=function(t,e){if(1===(null==t?void 0:t.nodeType))return u.call(t,e)},p=function(t){let{matchingSelector:e,untilNode:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.parentNode;if(null!=t){if(null==e)return t;if(t.closest&&null==i)return t.closest(e);for(;t&&t!==i;){if(m(t,e))return t;t=t.parentNode}}},f=t=>document.activeElement!==t&&b(t,document.activeElement),b=function(t,e){if(t&&e)for(;e;){if(e===t)return!0;e=e.parentNode}},v=function(t){var e;if(null===(e=t)||void 0===e||!e.parentNode)return;let i=0;for(t=t.previousSibling;t;)i++,t=t.previousSibling;return i},A=t=>{var e;return null==t||null===(e=t.parentNode)||void 0===e?void 0:e.removeChild(t)},x=function(t){let{onlyNodesOfType:e,usingFilter:i,expandEntityReferences:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=(()=>{switch(e){case\"element\":return NodeFilter.SHOW_ELEMENT;case\"text\":return NodeFilter.SHOW_TEXT;case\"comment\":return NodeFilter.SHOW_COMMENT;default:return NodeFilter.SHOW_ALL}})();return document.createTreeWalker(t,r,null!=i?i:null,!0===n)},y=t=>{var e;return null==t||null===(e=t.tagName)||void 0===e?void 0:e.toLowerCase()},C=function(t){let e,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"object\"==typeof t?(n=t,t=n.tagName):n={attributes:n};const r=document.createElement(t);if(null!=n.editable&&(null==n.attributes&&(n.attributes={}),n.attributes.contenteditable=n.editable),n.attributes)for(e in n.attributes)i=n.attributes[e],r.setAttribute(e,i);if(n.style)for(e in n.style)i=n.style[e],r.style[e]=i;if(n.data)for(e in n.data)i=n.data[e],r.dataset[e]=i;return n.className&&n.className.split(\" \").forEach((t=>{r.classList.add(t)})),n.textContent&&(r.textContent=n.textContent),n.childNodes&&[].concat(n.childNodes).forEach((t=>{r.appendChild(t)})),r};let R;const E=function(){if(null!=R)return R;R=[];for(const t in e){const i=e[t];i.tagName&&R.push(i.tagName)}return R},S=t=>D(null==t?void 0:t.firstChild),k=function(t){return E().includes(y(t))&&!E().includes(y(t.firstChild))},L=function(t){let{strict:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{strict:!0};return e?D(t):D(t)||!D(t.firstChild)&&k(t)},D=t=>w(t)&&\"block\"===(null==t?void 0:t.data),w=t=>(null==t?void 0:t.nodeType)===Node.COMMENT_NODE,T=function(t){let{name:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t)return I(t)?\"\\ufeff\"===t.data?!e||t.parentNode.dataset.trixCursorTarget===e:void 0:T(t.firstChild)},F=t=>m(t,\"[data-trix-attachment]\"),B=t=>I(t)&&\"\"===(null==t?void 0:t.data),I=t=>(null==t?void 0:t.nodeType)===Node.TEXT_NODE,P={level2Enabled:!0,getLevel(){return this.level2Enabled&&o.supportsInputEvents?2:0},pickFiles(t){const e=C(\"input\",{type:\"file\",multiple:!0,hidden:!0,id:this.fileInputId});e.addEventListener(\"change\",(()=>{t(e.files),A(e)})),A(document.getElementById(this.fileInputId)),document.body.appendChild(e),e.click()}};var N={removeBlankTableCells:!1,tableCellSeparator:\" | \",tableRowSeparator:\"\\n\"},O={bold:{tagName:\"strong\",inheritable:!0,parser(t){const e=window.getComputedStyle(t);return\"bold\"===e.fontWeight||e.fontWeight>=600}},italic:{tagName:\"em\",inheritable:!0,parser:t=>\"italic\"===window.getComputedStyle(t).fontStyle},href:{groupTagName:\"a\",parser(t){const e=\"a:not(\".concat(\"[data-trix-attachment]\",\")\"),i=t.closest(e);if(i)return i.getAttribute(\"href\")}},strike:{tagName:\"del\",inheritable:!0},frozen:{style:{backgroundColor:\"highlight\"}}},M={getDefaultHTML:()=>'
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
')};const j={interval:5e3};var W=Object.freeze({__proto__:null,attachments:t,blockAttributes:e,browser:o,css:{attachment:\"attachment\",attachmentCaption:\"attachment__caption\",attachmentCaptionEditor:\"attachment__caption-editor\",attachmentMetadata:\"attachment__metadata\",attachmentMetadataContainer:\"attachment__metadata-container\",attachmentName:\"attachment__name\",attachmentProgress:\"attachment__progress\",attachmentSize:\"attachment__size\",attachmentToolbar:\"attachment__toolbar\",attachmentGallery:\"attachment-gallery\"},fileSize:l,input:P,keyNames:{8:\"backspace\",9:\"tab\",13:\"return\",27:\"escape\",37:\"left\",39:\"right\",46:\"delete\",68:\"d\",72:\"h\",79:\"o\"},lang:s,parser:N,textAttributes:O,toolbar:M,undo:j});class U{static proxyMethod(t){const{name:e,toMethod:i,toProperty:n,optional:r}=q(t);this.prototype[e]=function(){let t,o;var s,a;i?o=r?null===(s=this[i])||void 0===s?void 0:s.call(this):this[i]():n&&(o=this[n]);return r?(t=null===(a=o)||void 0===a?void 0:a[e],t?V.call(t,o,arguments):void 0):(t=o[e],V.call(t,o,arguments))}}}const q=function(t){const e=t.match(z);if(!e)throw new Error(\"can't parse @proxyMethod expression: \".concat(t));const i={name:e[4]};return null!=e[2]?i.toMethod=e[1]:i.toProperty=e[1],null!=e[3]&&(i.optional=!0),i},{apply:V}=Function.prototype,z=new RegExp(\"^(.+?)(\\\\(\\\\))?(\\\\?)?\\\\.(.+?)$\");var _,H,J;class K extends U{static box(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";return t instanceof this?t:this.fromUCS2String(null==t?void 0:t.toString())}static fromUCS2String(t){return new this(t,Y(t))}static fromCodepoints(t){return new this(Q(t),t)}constructor(t,e){super(...arguments),this.ucs2String=t,this.codepoints=e,this.length=this.codepoints.length,this.ucs2Length=this.ucs2String.length}offsetToUCS2Offset(t){return Q(this.codepoints.slice(0,Math.max(0,t))).length}offsetFromUCS2Offset(t){return Y(this.ucs2String.slice(0,Math.max(0,t))).length}slice(){return this.constructor.fromCodepoints(this.codepoints.slice(...arguments))}charAt(t){return this.slice(t,t+1)}isEqualTo(t){return this.constructor.box(t).ucs2String===this.ucs2String}toJSON(){return this.ucs2String}getCacheKey(){return this.ucs2String}toString(){return this.ucs2String}}const G=1===(null===(_=Array.from)||void 0===_?void 0:_.call(Array,\"👼\").length),$=null!=(null===(H=\" \".codePointAt)||void 0===H?void 0:H.call(\" \",0)),X=\" 👼\"===(null===(J=String.fromCodePoint)||void 0===J?void 0:J.call(String,32,128124));let Y,Q;Y=G&&$?t=>Array.from(t).map((t=>t.codePointAt(0))):function(t){const e=[];let i=0;const{length:n}=t;for(;iString.fromCodePoint(...Array.from(t||[])):function(t){return(()=>{const e=[];return Array.from(t).forEach((t=>{let i=\"\";t>65535&&(t-=65536,i+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e.push(i+String.fromCharCode(t))})),e})().join(\"\")};let Z=0;class tt extends U{static fromJSONString(t){return this.fromJSON(JSON.parse(t))}constructor(){super(...arguments),this.id=++Z}hasSameConstructorAs(t){return this.constructor===(null==t?void 0:t.constructor)}isEqualTo(t){return this===t}inspect(){const t=[],e=this.contentsForInspection()||{};for(const i in e){const n=e[i];t.push(\"\".concat(i,\"=\").concat(n))}return\"#<\".concat(this.constructor.name,\":\").concat(this.id).concat(t.length?\" \".concat(t.join(\", \")):\"\",\">\")}contentsForInspection(){}toJSONString(){return JSON.stringify(this)}toUTF16String(){return K.box(this)}getCacheKey(){return this.id.toString()}}const et=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(t.length!==e.length)return!1;for(let i=0;i1?i-1:0),r=1;r(ot||(ot=gt().concat(ut())),ot),ht=t=>e[t],ut=()=>(st||(st=Object.keys(e)),st),dt=t=>O[t],gt=()=>(at||(at=Object.keys(O)),at),mt=function(t,e){pt(t).textContent=e.replace(/%t/g,t)},pt=function(t){const e=document.createElement(\"style\");e.setAttribute(\"type\",\"text/css\"),e.setAttribute(\"data-tag-name\",t.toLowerCase());const i=ft();return i&&e.setAttribute(\"nonce\",i),document.head.insertBefore(e,document.head.firstChild),e},ft=function(){const t=bt(\"trix-csp-nonce\")||bt(\"csp-nonce\");if(t)return t.getAttribute(\"content\")},bt=t=>document.head.querySelector(\"meta[name=\".concat(t,\"]\")),vt={\"application/x-trix-feature-detection\":\"test\"},At=function(t){const e=t.getData(\"text/plain\"),i=t.getData(\"text/html\");if(!e||!i)return null==e?void 0:e.length;{const{body:t}=(new DOMParser).parseFromString(i,\"text/html\");if(t.textContent===e)return!t.querySelector(\"*\")}},xt=/Mac|^iP/.test(navigator.platform)?t=>t.metaKey:t=>t.ctrlKey,yt=t=>setTimeout(t,1),Ct=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e={};for(const i in t){const n=t[i];e[i]=n}return e},Rt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const i in t){if(t[i]!==e[i])return!1}return!0},Et=function(t){if(null!=t)return Array.isArray(t)||(t=[t,t]),[Lt(t[0]),Lt(null!=t[1]?t[1]:t[0])]},St=function(t){if(null==t)return;const[e,i]=Et(t);return Dt(e,i)},kt=function(t,e){if(null==t||null==e)return;const[i,n]=Et(t),[r,o]=Et(e);return Dt(i,r)&&Dt(n,o)},Lt=function(t){return\"number\"==typeof t?t:Ct(t)},Dt=function(t,e){return\"number\"==typeof t?t===e:Rt(t,e)};class wt extends U{constructor(){super(...arguments),this.update=this.update.bind(this),this.run=this.run.bind(this),this.selectionManagers=[]}start(){if(!this.started)return this.started=!0,\"onselectionchange\"in document?document.addEventListener(\"selectionchange\",this.update,!0):this.run()}stop(){if(this.started)return this.started=!1,document.removeEventListener(\"selectionchange\",this.update,!0)}registerSelectionManager(t){if(!this.selectionManagers.includes(t))return this.selectionManagers.push(t),this.start()}unregisterSelectionManager(t){if(this.selectionManagers=this.selectionManagers.filter((e=>e!==t)),0===this.selectionManagers.length)return this.stop()}notifySelectionManagersOfSelectionChange(){return this.selectionManagers.map((t=>t.selectionDidChange()))}update(){const t=It();if(!Tt(t,this.domRange))return this.domRange=t,this.notifySelectionManagersOfSelectionChange()}reset(){return this.domRange=null,this.update()}run(){if(this.started)return this.update(),requestAnimationFrame(this.run)}}const Tt=(t,e)=>(null==t?void 0:t.startContainer)===(null==e?void 0:e.startContainer)&&(null==t?void 0:t.startOffset)===(null==e?void 0:e.startOffset)&&(null==t?void 0:t.endContainer)===(null==e?void 0:e.endContainer)&&(null==t?void 0:t.endOffset)===(null==e?void 0:e.endOffset),Ft=new wt,Bt=function(){const t=window.getSelection();if(t.rangeCount>0)return t},It=function(){var t;const e=null===(t=Bt())||void 0===t?void 0:t.getRangeAt(0);if(e&&!Nt(e))return e},Pt=function(t){const e=window.getSelection();return e.removeAllRanges(),e.addRange(t),Ft.update()},Nt=t=>Ot(t.startContainer)||Ot(t.endContainer),Ot=t=>!Object.getPrototypeOf(t),Mt=t=>t.replace(new RegExp(\"\".concat(\"\\ufeff\"),\"g\"),\"\").replace(new RegExp(\"\".concat(\" \"),\"g\"),\" \"),jt=new RegExp(\"[^\\\\S\".concat(\" \",\"]\")),Wt=t=>t.replace(new RegExp(\"\".concat(jt.source),\"g\"),\" \").replace(/\\ {2,}/g,\" \"),Ut=function(t,e){if(t.isEqualTo(e))return[\"\",\"\"];const i=qt(t,e),{length:n}=i.utf16String;let r;if(n){const{offset:o}=i,s=t.codepoints.slice(0,o).concat(t.codepoints.slice(o+n));r=qt(e,K.fromCodepoints(s))}else r=qt(e,t);return[i.utf16String.toString(),r.utf16String.toString()]},qt=function(t,e){let i=0,n=t.length,r=e.length;for(;ii+1&&t.charAt(n-1).isEqualTo(e.charAt(r-1));)n--,r--;return{utf16String:t.slice(i,n),offset:i}};class Vt extends tt{static fromCommonAttributesOfObjects(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!t.length)return new this;let e=Jt(t[0]),i=e.getKeys();return t.slice(1).forEach((t=>{i=e.getKeysCommonToHash(Jt(t)),e=e.slice(i)})),e}static box(t){return Jt(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(...arguments),this.values=Ht(t)}add(t,e){return this.merge(zt(t,e))}remove(t){return new Vt(Ht(this.values,t))}get(t){return this.values[t]}has(t){return t in this.values}merge(t){return new Vt(_t(this.values,Kt(t)))}slice(t){const e={};return Array.from(t).forEach((t=>{this.has(t)&&(e[t]=this.values[t])})),new Vt(e)}getKeys(){return Object.keys(this.values)}getKeysCommonToHash(t){return t=Jt(t),this.getKeys().filter((e=>this.values[e]===t.values[e]))}isEqualTo(t){return et(this.toArray(),Jt(t).toArray())}isEmpty(){return 0===this.getKeys().length}toArray(){if(!this.array){const t=[];for(const e in this.values){const i=this.values[e];t.push(t.push(e,i))}this.array=t.slice(0)}return this.array}toObject(){return Ht(this.values)}toJSON(){return this.toObject()}contentsForInspection(){return{values:JSON.stringify(this.values)}}}const zt=function(t,e){const i={};return i[t]=e,i},_t=function(t,e){const i=Ht(t);for(const t in e){const n=e[t];i[t]=n}return i},Ht=function(t,e){const i={};return Object.keys(t).sort().forEach((n=>{n!==e&&(i[n]=t[n])})),i},Jt=function(t){return t instanceof Vt?t:new Vt(t)},Kt=function(t){return t instanceof Vt?t.values:t};class Gt{static groupObjects(){let t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{depth:i,asTree:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n&&null==i&&(i=0);const r=[];return Array.from(e).forEach((e=>{var o;if(t){var s,a,l;if(null!==(s=e.canBeGrouped)&&void 0!==s&&s.call(e,i)&&null!==(a=(l=t[t.length-1]).canBeGroupedWith)&&void 0!==a&&a.call(l,e,i))return void t.push(e);r.push(new this(t,{depth:i,asTree:n})),t=null}null!==(o=e.canBeGrouped)&&void 0!==o&&o.call(e,i)?t=[e]:r.push(e)})),t&&r.push(new this(t,{depth:i,asTree:n})),r}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{depth:e,asTree:i}=arguments.length>1?arguments[1]:void 0;this.objects=t,i&&(this.depth=e,this.objects=this.constructor.groupObjects(this.objects,{asTree:i,depth:this.depth+1}))}getObjects(){return this.objects}getDepth(){return this.depth}getCacheKey(){const t=[\"objectGroup\"];return Array.from(this.getObjects()).forEach((e=>{t.push(e.getCacheKey())})),t.join(\"/\")}}class $t extends U{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.objects={},Array.from(t).forEach((t=>{const e=JSON.stringify(t);null==this.objects[e]&&(this.objects[e]=t)}))}find(t){const e=JSON.stringify(t);return this.objects[e]}}class Xt{constructor(t){this.reset(t)}add(t){const e=Yt(t);this.elements[e]=t}remove(t){const e=Yt(t),i=this.elements[e];if(i)return delete this.elements[e],i}reset(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.elements={},Array.from(t).forEach((t=>{this.add(t)})),t}}const Yt=t=>t.dataset.trixStoreKey;class Qt extends U{isPerforming(){return!0===this.performing}hasPerformed(){return!0===this.performed}hasSucceeded(){return this.performed&&this.succeeded}hasFailed(){return this.performed&&!this.succeeded}getPromise(){return this.promise||(this.promise=new Promise(((t,e)=>(this.performing=!0,this.perform(((i,n)=>{this.succeeded=i,this.performing=!1,this.performed=!0,this.succeeded?t(n):e(n)})))))),this.promise}perform(t){return t(!1)}release(){var t,e;null===(t=this.promise)||void 0===t||null===(e=t.cancel)||void 0===e||e.call(t),this.promise=null,this.performing=null,this.performed=null,this.succeeded=null}}Qt.proxyMethod(\"getPromise().then\"),Qt.proxyMethod(\"getPromise().catch\");class Zt extends U{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.object=t,this.options=e,this.childViews=[],this.rootView=this}getNodes(){return this.nodes||(this.nodes=this.createNodes()),this.nodes.map((t=>t.cloneNode(!0)))}invalidate(){var t;return this.nodes=null,this.childViews=[],null===(t=this.parentView)||void 0===t?void 0:t.invalidate()}invalidateViewForObject(t){var e;return null===(e=this.findViewForObject(t))||void 0===e?void 0:e.invalidate()}findOrCreateCachedChildView(t,e,i){let n=this.getCachedViewForObject(e);return n?this.recordChildView(n):(n=this.createChildView(...arguments),this.cacheViewForObject(n,e)),n}createChildView(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e instanceof Gt&&(i.viewClass=t,t=te);const n=new t(e,i);return this.recordChildView(n)}recordChildView(t){return t.parentView=this,t.rootView=this.rootView,this.childViews.push(t),t}getAllChildViews(){let t=[];return this.childViews.forEach((e=>{t.push(e),t=t.concat(e.getAllChildViews())})),t}findElement(){return this.findElementForObject(this.object)}findElementForObject(t){const e=null==t?void 0:t.id;if(e)return this.rootView.element.querySelector(\"[data-trix-id='\".concat(e,\"']\"))}findViewForObject(t){for(const e of this.getAllChildViews())if(e.object===t)return e}getViewCache(){return this.rootView!==this?this.rootView.getViewCache():this.isViewCachingEnabled()?(this.viewCache||(this.viewCache={}),this.viewCache):void 0}isViewCachingEnabled(){return!1!==this.shouldCacheViews}enableViewCaching(){this.shouldCacheViews=!0}disableViewCaching(){this.shouldCacheViews=!1}getCachedViewForObject(t){var e;return null===(e=this.getViewCache())||void 0===e?void 0:e[t.getCacheKey()]}cacheViewForObject(t,e){const i=this.getViewCache();i&&(i[e.getCacheKey()]=t)}garbageCollectCachedViews(){const t=this.getViewCache();if(t){const e=this.getAllChildViews().concat(this).map((t=>t.object.getCacheKey()));for(const i in t)e.includes(i)||delete t[i]}}}class te extends Zt{constructor(){super(...arguments),this.objectGroup=this.object,this.viewClass=this.options.viewClass,delete this.options.viewClass}getChildViews(){return this.childViews.length||Array.from(this.objectGroup.getObjects()).forEach((t=>{this.findOrCreateCachedChildView(this.viewClass,t,this.options)})),this.childViews}createNodes(){const t=this.createContainerElement();return this.getChildViews().forEach((e=>{Array.from(e.getNodes()).forEach((e=>{t.appendChild(e)}))})),[t]}createContainerElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.objectGroup.getDepth();return this.getChildViews()[0].createContainerElement(t)}}const{css:ee}=W;class ie extends Zt{constructor(){super(...arguments),this.attachment=this.object,this.attachment.uploadProgressDelegate=this,this.attachmentPiece=this.options.piece}createContentNodes(){return[]}createNodes(){let t;const e=t=C({tagName:\"figure\",className:this.getClassName(),data:this.getData(),editable:!1}),i=this.getHref();return i&&(t=C({tagName:\"a\",editable:!1,attributes:{href:i,tabindex:-1}}),e.appendChild(t)),this.attachment.hasContent()?t.innerHTML=this.attachment.getContent():this.createContentNodes().forEach((e=>{t.appendChild(e)})),t.appendChild(this.createCaptionElement()),this.attachment.isPending()&&(this.progressElement=C({tagName:\"progress\",attributes:{class:ee.attachmentProgress,value:this.attachment.getUploadProgress(),max:100},data:{trixMutable:!0,trixStoreKey:[\"progressElement\",this.attachment.id].join(\"/\")}}),e.appendChild(this.progressElement)),[ne(\"left\"),e,ne(\"right\")]}createCaptionElement(){const t=C({tagName:\"figcaption\",className:ee.attachmentCaption}),e=this.attachmentPiece.getCaption();if(e)t.classList.add(\"\".concat(ee.attachmentCaption,\"--edited\")),t.textContent=e;else{let e,i;const n=this.getCaptionConfig();if(n.name&&(e=this.attachment.getFilename()),n.size&&(i=this.attachment.getFormattedFilesize()),e){const i=C({tagName:\"span\",className:ee.attachmentName,textContent:e});t.appendChild(i)}if(i){e&&t.appendChild(document.createTextNode(\" \"));const n=C({tagName:\"span\",className:ee.attachmentSize,textContent:i});t.appendChild(n)}}return t}getClassName(){const t=[ee.attachment,\"\".concat(ee.attachment,\"--\").concat(this.attachment.getType())],e=this.attachment.getExtension();return e&&t.push(\"\".concat(ee.attachment,\"--\").concat(e)),t.join(\" \")}getData(){const t={trixAttachment:JSON.stringify(this.attachment),trixContentType:this.attachment.getContentType(),trixId:this.attachment.id},{attributes:e}=this.attachmentPiece;return e.isEmpty()||(t.trixAttributes=JSON.stringify(e)),this.attachment.isPending()&&(t.trixSerialize=!1),t}getHref(){if(!re(this.attachment.getContent(),\"a\"))return this.attachment.getHref()}getCaptionConfig(){var e;const i=this.attachment.getType(),n=Ct(null===(e=t[i])||void 0===e?void 0:e.caption);return\"file\"===i&&(n.name=!0),n}findProgressElement(){var t;return null===(t=this.findElement())||void 0===t?void 0:t.querySelector(\"progress\")}attachmentDidChangeUploadProgress(){const t=this.attachment.getUploadProgress(),e=this.findProgressElement();e&&(e.value=t)}}const ne=t=>C({tagName:\"span\",textContent:\"\\ufeff\",data:{trixCursorTarget:t,trixSerialize:!1}}),re=function(t,e){const i=C(\"div\");return i.innerHTML=t||\"\",i.querySelector(e)};class oe extends ie{constructor(){super(...arguments),this.attachment.previewDelegate=this}createContentNodes(){return this.image=C({tagName:\"img\",attributes:{src:\"\"},data:{trixMutable:!0}}),this.refresh(this.image),[this.image]}createCaptionElement(){const t=super.createCaptionElement(...arguments);return t.textContent||t.setAttribute(\"data-trix-placeholder\",s.captionPlaceholder),t}refresh(t){var e;t||(t=null===(e=this.findElement())||void 0===e?void 0:e.querySelector(\"img\"));if(t)return this.updateAttributesForImage(t)}updateAttributesForImage(t){const e=this.attachment.getURL(),i=this.attachment.getPreviewURL();if(t.src=i||e,i===e)t.removeAttribute(\"data-trix-serialized-attributes\");else{const i=JSON.stringify({src:e});t.setAttribute(\"data-trix-serialized-attributes\",i)}const n=this.attachment.getWidth(),r=this.attachment.getHeight();null!=n&&(t.width=n),null!=r&&(t.height=r);const o=[\"imageElement\",this.attachment.id,t.src,t.width,t.height].join(\"/\");t.dataset.trixStoreKey=o}attachmentDidChangeAttributes(){return this.refresh(this.image),this.refresh()}}class se extends Zt{constructor(){super(...arguments),this.piece=this.object,this.attributes=this.piece.getAttributes(),this.textConfig=this.options.textConfig,this.context=this.options.context,this.piece.attachment?this.attachment=this.piece.attachment:this.string=this.piece.toString()}createNodes(){let t=this.attachment?this.createAttachmentNodes():this.createStringNodes();const e=this.createElement();if(e){const i=function(t){for(;null!==(e=t)&&void 0!==e&&e.firstElementChild;){var e;t=t.firstElementChild}return t}(e);Array.from(t).forEach((t=>{i.appendChild(t)})),t=[e]}return t}createAttachmentNodes(){const t=this.attachment.isPreviewable()?oe:ie;return this.createChildView(t,this.piece.attachment,{piece:this.piece}).getNodes()}createStringNodes(){var t;if(null!==(t=this.textConfig)&&void 0!==t&&t.plaintext)return[document.createTextNode(this.string)];{const t=[],e=this.string.split(\"\\n\");for(let i=0;i0){const e=C(\"br\");t.push(e)}if(n.length){const e=document.createTextNode(this.preserveSpaces(n));t.push(e)}}return t}}createElement(){let t,e,i;const n={};for(e in this.attributes){i=this.attributes[e];const o=dt(e);if(o){if(o.tagName){var r;const e=C(o.tagName);r?(r.appendChild(e),r=e):t=r=e}if(o.styleProperty&&(n[o.styleProperty]=i),o.style)for(e in o.style)i=o.style[e],n[e]=i}}if(Object.keys(n).length)for(e in t||(t=C(\"span\")),n)i=n[e],t.style[e]=i;return t}createContainerElement(){for(const t in this.attributes){const e=this.attributes[t],i=dt(t);if(i&&i.groupTagName){const n={};return n[t]=e,C(i.groupTagName,n)}}}preserveSpaces(t){return this.context.isLast&&(t=t.replace(/\\ $/,\" \")),t=t.replace(/(\\S)\\ {3}(\\S)/g,\"$1 \".concat(\" \",\" $2\")).replace(/\\ {2}/g,\"\".concat(\" \",\" \")).replace(/\\ {2}/g,\" \".concat(\" \")),(this.context.isFirst||this.context.followsWhitespace)&&(t=t.replace(/^\\ /,\" \")),t}}class ae extends Zt{constructor(){super(...arguments),this.text=this.object,this.textConfig=this.options.textConfig}createNodes(){const t=[],e=Gt.groupObjects(this.getPieces()),i=e.length-1;for(let r=0;r!t.hasAttribute(\"blockBreak\")))}}const le=t=>/\\s$/.test(null==t?void 0:t.toString()),{css:ce}=W;class he extends Zt{constructor(){super(...arguments),this.block=this.object,this.attributes=this.block.getAttributes()}createNodes(){const t=[document.createComment(\"block\")];if(this.block.isEmpty())t.push(C(\"br\"));else{var i;const e=null===(i=ht(this.block.getLastAttribute()))||void 0===i?void 0:i.text,n=this.findOrCreateCachedChildView(ae,this.block.text,{textConfig:e});t.push(...Array.from(n.getNodes()||[])),this.shouldAddExtraNewlineElement()&&t.push(C(\"br\"))}if(this.attributes.length)return t;{let i;const{tagName:n}=e.default;this.block.isRTL()&&(i={dir:\"rtl\"});const r=C({tagName:n,attributes:i});return t.forEach((t=>r.appendChild(t))),[r]}}createContainerElement(t){let e,i;const n=this.attributes[t],{tagName:r}=ht(n);if(0===t&&this.block.isRTL()&&(e={dir:\"rtl\"}),\"attachmentGallery\"===n){const t=this.block.getBlockBreakPosition();i=\"\".concat(ce.attachmentGallery,\" \").concat(ce.attachmentGallery,\"--\").concat(t)}return C({tagName:r,className:i,attributes:e})}shouldAddExtraNewlineElement(){return/\\n\\n$/.test(this.block.toString())}}class ue extends Zt{static render(t){const e=C(\"div\"),i=new this(t,{element:e});return i.render(),i.sync(),e}constructor(){super(...arguments),this.element=this.options.element,this.elementStore=new Xt,this.setDocument(this.object)}setDocument(t){t.isEqualTo(this.document)||(this.document=this.object=t)}render(){if(this.childViews=[],this.shadowElement=C(\"div\"),!this.document.isEmpty()){const t=Gt.groupObjects(this.document.getBlocks(),{asTree:!0});Array.from(t).forEach((t=>{const e=this.findOrCreateCachedChildView(he,t);Array.from(e.getNodes()).map((t=>this.shadowElement.appendChild(t)))}))}}isSynced(){return ge(this.shadowElement,this.element)}sync(){const t=this.createDocumentFragmentForSync();for(;this.element.lastChild;)this.element.removeChild(this.element.lastChild);return this.element.appendChild(t),this.didSync()}didSync(){return this.elementStore.reset(de(this.element)),yt((()=>this.garbageCollectCachedViews()))}createDocumentFragmentForSync(){const t=document.createDocumentFragment();return Array.from(this.shadowElement.childNodes).forEach((e=>{t.appendChild(e.cloneNode(!0))})),Array.from(de(t)).forEach((t=>{const e=this.elementStore.remove(t);e&&t.parentNode.replaceChild(e,t)})),t}}const de=t=>t.querySelectorAll(\"[data-trix-store-key]\"),ge=(t,e)=>me(t.innerHTML)===me(e.innerHTML),me=t=>t.replace(/ /g,\" \");function pe(t){this.wrapped=t}function fe(t){var e,i;function n(e,i){try{var o=t[e](i),s=o.value,a=s instanceof pe;Promise.resolve(a?s.wrapped:s).then((function(t){a?n(\"return\"===e?\"return\":\"next\",t):r(o.done?\"return\":\"normal\",t)}),(function(t){n(\"throw\",t)}))}catch(t){r(\"throw\",t)}}function r(t,r){switch(t){case\"return\":e.resolve({value:r,done:!0});break;case\"throw\":e.reject(r);break;default:e.resolve({value:r,done:!1})}(e=e.next)?n(e.key,e.arg):i=null}this._invoke=function(t,r){return new Promise((function(o,s){var a={key:t,arg:r,resolve:o,reject:s,next:null};i?i=i.next=a:(e=i=a,n(t,r))}))},\"function\"!=typeof t.return&&(this.return=void 0)}function be(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}fe.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},fe.prototype.next=function(t){return this._invoke(\"next\",t)},fe.prototype.throw=function(t){return this._invoke(\"throw\",t)},fe.prototype.return=function(t){return this._invoke(\"return\",t)};class ve extends tt{static registerType(t,e){e.type=t,this.types[t]=e}static fromJSON(t){const e=this.types[t.type];if(e)return e.fromJSON(t)}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.attributes=Vt.box(e)}copyWithAttributes(t){return new this.constructor(this.getValue(),t)}copyWithAdditionalAttributes(t){return this.copyWithAttributes(this.attributes.merge(t))}copyWithoutAttribute(t){return this.copyWithAttributes(this.attributes.remove(t))}copy(){return this.copyWithAttributes(this.attributes)}getAttribute(t){return this.attributes.get(t)}getAttributesHash(){return this.attributes}getAttributes(){return this.attributes.toObject()}hasAttribute(t){return this.attributes.has(t)}hasSameStringValueAsPiece(t){return t&&this.toString()===t.toString()}hasSameAttributesAsPiece(t){return t&&(this.attributes===t.attributes||this.attributes.isEqualTo(t.attributes))}isBlockBreak(){return!1}isEqualTo(t){return super.isEqualTo(...arguments)||this.hasSameConstructorAs(t)&&this.hasSameStringValueAsPiece(t)&&this.hasSameAttributesAsPiece(t)}isEmpty(){return 0===this.length}isSerializable(){return!0}toJSON(){return{type:this.constructor.type,attributes:this.getAttributes()}}contentsForInspection(){return{type:this.constructor.type,attributes:this.attributes.inspect()}}canBeGrouped(){return this.hasAttribute(\"href\")}canBeGroupedWith(t){return this.getAttribute(\"href\")===t.getAttribute(\"href\")}getLength(){return this.length}canBeConsolidatedWith(t){return!1}}be(ve,\"types\",{});class Ae extends Qt{constructor(t){super(...arguments),this.url=t}perform(t){const e=new Image;e.onload=()=>(e.width=this.width=e.naturalWidth,e.height=this.height=e.naturalHeight,t(!0,e)),e.onerror=()=>t(!1),e.src=this.url}}class xe extends tt{static attachmentForFile(t){const e=new this(this.attributesForFile(t));return e.setFile(t),e}static attributesForFile(t){return new Vt({filename:t.name,filesize:t.size,contentType:t.type})}static fromJSON(t){return new this(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(t),this.releaseFile=this.releaseFile.bind(this),this.attributes=Vt.box(t),this.didChangeAttributes()}getAttribute(t){return this.attributes.get(t)}hasAttribute(t){return this.attributes.has(t)}getAttributes(){return this.attributes.toObject()}setAttributes(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const e=this.attributes.merge(t);var i,n,r,o;if(!this.attributes.isEqualTo(e))return this.attributes=e,this.didChangeAttributes(),null===(i=this.previewDelegate)||void 0===i||null===(n=i.attachmentDidChangeAttributes)||void 0===n||n.call(i,this),null===(r=this.delegate)||void 0===r||null===(o=r.attachmentDidChangeAttributes)||void 0===o?void 0:o.call(r,this)}didChangeAttributes(){if(this.isPreviewable())return this.preloadURL()}isPending(){return null!=this.file&&!(this.getURL()||this.getHref())}isPreviewable(){return this.attributes.has(\"previewable\")?this.attributes.get(\"previewable\"):xe.previewablePattern.test(this.getContentType())}getType(){return this.hasContent()?\"content\":this.isPreviewable()?\"preview\":\"file\"}getURL(){return this.attributes.get(\"url\")}getHref(){return this.attributes.get(\"href\")}getFilename(){return this.attributes.get(\"filename\")||\"\"}getFilesize(){return this.attributes.get(\"filesize\")}getFormattedFilesize(){const t=this.attributes.get(\"filesize\");return\"number\"==typeof t?l.formatter(t):\"\"}getExtension(){var t;return null===(t=this.getFilename().match(/\\.(\\w+)$/))||void 0===t?void 0:t[1].toLowerCase()}getContentType(){return this.attributes.get(\"contentType\")}hasContent(){return this.attributes.has(\"content\")}getContent(){return this.attributes.get(\"content\")}getWidth(){return this.attributes.get(\"width\")}getHeight(){return this.attributes.get(\"height\")}getFile(){return this.file}setFile(t){if(this.file=t,this.isPreviewable())return this.preloadFile()}releaseFile(){this.releasePreloadedFile(),this.file=null}getUploadProgress(){return null!=this.uploadProgress?this.uploadProgress:0}setUploadProgress(t){var e,i;if(this.uploadProgress!==t)return this.uploadProgress=t,null===(e=this.uploadProgressDelegate)||void 0===e||null===(i=e.attachmentDidChangeUploadProgress)||void 0===i?void 0:i.call(e,this)}toJSON(){return this.getAttributes()}getCacheKey(){return[super.getCacheKey(...arguments),this.attributes.getCacheKey(),this.getPreviewURL()].join(\"/\")}getPreviewURL(){return this.previewURL||this.preloadingURL}setPreviewURL(t){var e,i,n,r;if(t!==this.getPreviewURL())return this.previewURL=t,null===(e=this.previewDelegate)||void 0===e||null===(i=e.attachmentDidChangeAttributes)||void 0===i||i.call(e,this),null===(n=this.delegate)||void 0===n||null===(r=n.attachmentDidChangePreviewURL)||void 0===r?void 0:r.call(n,this)}preloadURL(){return this.preload(this.getURL(),this.releaseFile)}preloadFile(){if(this.file)return this.fileObjectURL=URL.createObjectURL(this.file),this.preload(this.fileObjectURL)}releasePreloadedFile(){this.fileObjectURL&&(URL.revokeObjectURL(this.fileObjectURL),this.fileObjectURL=null)}preload(t,e){if(t&&t!==this.getPreviewURL()){this.preloadingURL=t;return new Ae(t).then((i=>{let{width:n,height:r}=i;return this.getWidth()&&this.getHeight()||this.setAttributes({width:n,height:r}),this.preloadingURL=null,this.setPreviewURL(t),null==e?void 0:e()})).catch((()=>(this.preloadingURL=null,null==e?void 0:e())))}}}be(xe,\"previewablePattern\",/^image(\\/(gif|png|webp|jpe?g)|$)/);class ye extends ve{static fromJSON(t){return new this(xe.fromJSON(t.attachment),t.attributes)}constructor(t){super(...arguments),this.attachment=t,this.length=1,this.ensureAttachmentExclusivelyHasAttribute(\"href\"),this.attachment.hasContent()||this.removeProhibitedAttributes()}ensureAttachmentExclusivelyHasAttribute(t){this.hasAttribute(t)&&(this.attachment.hasAttribute(t)||this.attachment.setAttributes(this.attributes.slice([t])),this.attributes=this.attributes.remove(t))}removeProhibitedAttributes(){const t=this.attributes.slice(ye.permittedAttributes);t.isEqualTo(this.attributes)||(this.attributes=t)}getValue(){return this.attachment}isSerializable(){return!this.attachment.isPending()}getCaption(){return this.attributes.get(\"caption\")||\"\"}isEqualTo(t){var e;return super.isEqualTo(t)&&this.attachment.id===(null==t||null===(e=t.attachment)||void 0===e?void 0:e.id)}toString(){return\"\"}toJSON(){const t=super.toJSON(...arguments);return t.attachment=this.attachment,t}getCacheKey(){return[super.getCacheKey(...arguments),this.attachment.getCacheKey()].join(\"/\")}toConsole(){return JSON.stringify(this.toString())}}be(ye,\"permittedAttributes\",[\"caption\",\"presentation\"]),ve.registerType(\"attachment\",ye);class Ce extends ve{static fromJSON(t){return new this(t.string,t.attributes)}constructor(t){super(...arguments),this.string=(t=>t.replace(/\\r\\n/g,\"\\n\"))(t),this.length=this.string.length}getValue(){return this.string}toString(){return this.string.toString()}isBlockBreak(){return\"\\n\"===this.toString()&&!0===this.getAttribute(\"blockBreak\")}toJSON(){const t=super.toJSON(...arguments);return t.string=this.string,t}canBeConsolidatedWith(t){return t&&this.hasSameConstructorAs(t)&&this.hasSameAttributesAsPiece(t)}consolidateWith(t){return new this.constructor(this.toString()+t.toString(),this.attributes)}splitAtOffset(t){let e,i;return 0===t?(e=null,i=this):t===this.length?(e=this,i=null):(e=new this.constructor(this.string.slice(0,t),this.attributes),i=new this.constructor(this.string.slice(t),this.attributes)),[e,i]}toConsole(){let{string:t}=this;return t.length>15&&(t=t.slice(0,14)+\"…\"),JSON.stringify(t.toString())}}ve.registerType(\"string\",Ce);class Re extends tt{static box(t){return t instanceof this?t:new this(t)}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.objects=t.slice(0),this.length=this.objects.length}indexOf(t){return this.objects.indexOf(t)}splice(){for(var t=arguments.length,e=new Array(t),i=0;it(e,i)))}insertObjectAtIndex(t,e){return this.splice(e,0,t)}insertSplittableListAtIndex(t,e){return this.splice(e,0,...t.objects)}insertSplittableListAtPosition(t,e){const[i,n]=this.splitObjectAtPosition(e);return new this.constructor(i).insertSplittableListAtIndex(t,n)}editObjectAtIndex(t,e){return this.replaceObjectAtIndex(e(this.objects[t]),t)}replaceObjectAtIndex(t,e){return this.splice(e,1,t)}removeObjectAtIndex(t){return this.splice(t,1)}getObjectAtIndex(t){return this.objects[t]}getSplittableListInRange(t){const[e,i,n]=this.splitObjectsAtRange(t);return new this.constructor(e.slice(i,n+1))}selectSplittableList(t){const e=this.objects.filter((e=>t(e)));return new this.constructor(e)}removeObjectsInRange(t){const[e,i,n]=this.splitObjectsAtRange(t);return new this.constructor(e).splice(i,n-i+1)}transformObjectsInRange(t,e){const[i,n,r]=this.splitObjectsAtRange(t),o=i.map(((t,i)=>n<=i&&i<=r?e(t):t));return new this.constructor(o)}splitObjectsAtRange(t){let e,[i,n,r]=this.splitObjectAtPosition(Se(t));return[i,e]=new this.constructor(i).splitObjectAtPosition(ke(t)+r),[i,n,e-1]}getObjectAtPosition(t){const{index:e}=this.findIndexAndOffsetAtPosition(t);return this.objects[e]}splitObjectAtPosition(t){let e,i;const{index:n,offset:r}=this.findIndexAndOffsetAtPosition(t),o=this.objects.slice(0);if(null!=n)if(0===r)e=n,i=0;else{const t=this.getObjectAtIndex(n),[s,a]=t.splitAtOffset(r);o.splice(n,1,s,a),e=n+1,i=s.getLength()-r}else e=o.length,i=0;return[o,e,i]}consolidate(){const t=[];let e=this.objects[0];return this.objects.slice(1).forEach((i=>{var n,r;null!==(n=(r=e).canBeConsolidatedWith)&&void 0!==n&&n.call(r,i)?e=e.consolidateWith(i):(t.push(e),e=i)})),e&&t.push(e),new this.constructor(t)}consolidateFromIndexToIndex(t,e){const i=this.objects.slice(0).slice(t,e+1),n=new this.constructor(i).consolidate().toArray();return this.splice(t,i.length,...n)}findIndexAndOffsetAtPosition(t){let e,i=0;for(e=0;ethis.endPosition+=t.getLength()))),this.endPosition}toString(){return this.objects.join(\"\")}toArray(){return this.objects.slice(0)}toJSON(){return this.toArray()}isEqualTo(t){return super.isEqualTo(...arguments)||Ee(this.objects,null==t?void 0:t.objects)}contentsForInspection(){return{objects:\"[\".concat(this.objects.map((t=>t.inspect())).join(\", \"),\"]\")}}}const Ee=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(t.length!==e.length)return!1;let i=!0;for(let n=0;nt[0],ke=t=>t[1];class Le extends tt{static textForAttachmentWithAttributes(t,e){return new this([new ye(t,e)])}static textForStringWithAttributes(t,e){return new this([new Ce(t,e)])}static fromJSON(t){return new this(Array.from(t).map((t=>ve.fromJSON(t))))}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments);const e=t.filter((t=>!t.isEmpty()));this.pieceList=new Re(e)}copy(){return this.copyWithPieceList(this.pieceList)}copyWithPieceList(t){return new this.constructor(t.consolidate().toArray())}copyUsingObjectMap(t){const e=this.getPieces().map((e=>t.find(e)||e));return new this.constructor(e)}appendText(t){return this.insertTextAtPosition(t,this.getLength())}insertTextAtPosition(t,e){return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList,e))}removeTextAtRange(t){return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t))}replaceTextAtRange(t,e){return this.removeTextAtRange(e).insertTextAtPosition(t,e[0])}moveTextFromRangeToPosition(t,e){if(t[0]<=e&&e<=t[1])return;const i=this.getTextAtRange(t),n=i.getLength();return t[0]e.copyWithAdditionalAttributes(t))))}removeAttributeAtRange(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,(e=>e.copyWithoutAttribute(t))))}setAttributesAtRange(t,e){return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e,(e=>e.copyWithAttributes(t))))}getAttributesAtPosition(t){var e;return(null===(e=this.pieceList.getObjectAtPosition(t))||void 0===e?void 0:e.getAttributes())||{}}getCommonAttributes(){const t=Array.from(this.pieceList.toArray()).map((t=>t.getAttributes()));return Vt.fromCommonAttributesOfObjects(t).toObject()}getCommonAttributesAtRange(t){return this.getTextAtRange(t).getCommonAttributes()||{}}getExpandedRangeForAttributeAtOffset(t,e){let i,n=i=e;const r=this.getLength();for(;n>0&&this.getCommonAttributesAtRange([n-1,i])[t];)n--;for(;i!!t.attachment))}getAttachments(){return this.getAttachmentPieces().map((t=>t.attachment))}getAttachmentAndPositionById(t){let e=0;for(const n of this.pieceList.toArray()){var i;if((null===(i=n.attachment)||void 0===i?void 0:i.id)===t)return{attachment:n.attachment,position:e};e+=n.length}return{attachment:null,position:null}}getAttachmentById(t){const{attachment:e}=this.getAttachmentAndPositionById(t);return e}getRangeOfAttachment(t){const e=this.getAttachmentAndPositionById(t.id),i=e.position;if(t=e.attachment)return[i,i+1]}updateAttributesForAttachment(t,e){const i=this.getRangeOfAttachment(e);return i?this.addAttributesAtRange(t,i):this}getLength(){return this.pieceList.getEndPosition()}isEmpty(){return 0===this.getLength()}isEqualTo(t){var e;return super.isEqualTo(t)||(null==t||null===(e=t.pieceList)||void 0===e?void 0:e.isEqualTo(this.pieceList))}isBlockBreak(){return 1===this.getLength()&&this.pieceList.getObjectAtIndex(0).isBlockBreak()}eachPiece(t){return this.pieceList.eachObject(t)}getPieces(){return this.pieceList.toArray()}getPieceAtPosition(t){return this.pieceList.getObjectAtPosition(t)}contentsForInspection(){return{pieceList:this.pieceList.inspect()}}toSerializableText(){const t=this.pieceList.selectSplittableList((t=>t.isSerializable()));return this.copyWithPieceList(t)}toString(){return this.pieceList.toString()}toJSON(){return this.pieceList.toJSON()}toConsole(){return JSON.stringify(this.pieceList.toArray().map((t=>JSON.parse(t.toConsole()))))}getDirection(){return rt(this.toString())}isRTL(){return\"rtl\"===this.getDirection()}}class De extends tt{static fromJSON(t){return new this(Le.fromJSON(t.text),t.attributes)}constructor(t,e){super(...arguments),this.text=we(t||new Le),this.attributes=e||[]}isEmpty(){return this.text.isBlockBreak()}isEqualTo(t){return!!super.isEqualTo(t)||this.text.isEqualTo(null==t?void 0:t.text)&&et(this.attributes,null==t?void 0:t.attributes)}copyWithText(t){return new De(t,this.attributes)}copyWithoutText(){return this.copyWithText(null)}copyWithAttributes(t){return new De(this.text,t)}copyWithoutAttributes(){return this.copyWithAttributes(null)}copyUsingObjectMap(t){const e=t.find(this.text);return e?this.copyWithText(e):this.copyWithText(this.text.copyUsingObjectMap(t))}addAttribute(t){const e=this.attributes.concat(Ne(t));return this.copyWithAttributes(e)}removeAttribute(t){const{listAttribute:e}=ht(t),i=Me(Me(this.attributes,t),e);return this.copyWithAttributes(i)}removeLastAttribute(){return this.removeAttribute(this.getLastAttribute())}getLastAttribute(){return Oe(this.attributes)}getAttributes(){return this.attributes.slice(0)}getAttributeLevel(){return this.attributes.length}getAttributeAtLevel(t){return this.attributes[t-1]}hasAttribute(t){return this.attributes.includes(t)}hasAttributes(){return this.getAttributeLevel()>0}getLastNestableAttribute(){return Oe(this.getNestableAttributes())}getNestableAttributes(){return this.attributes.filter((t=>ht(t).nestable))}getNestingLevel(){return this.getNestableAttributes().length}decreaseNestingLevel(){const t=this.getLastNestableAttribute();return t?this.removeAttribute(t):this}increaseNestingLevel(){const t=this.getLastNestableAttribute();if(t){const e=this.attributes.lastIndexOf(t),i=it(this.attributes,e+1,0,...Ne(t));return this.copyWithAttributes(i)}return this}getListItemAttributes(){return this.attributes.filter((t=>ht(t).listAttribute))}isListItem(){var t;return null===(t=ht(this.getLastAttribute()))||void 0===t?void 0:t.listAttribute}isTerminalBlock(){var t;return null===(t=ht(this.getLastAttribute()))||void 0===t?void 0:t.terminal}breaksOnReturn(){var t;return null===(t=ht(this.getLastAttribute()))||void 0===t?void 0:t.breakOnReturn}findLineBreakInDirectionFromPosition(t,e){const i=this.toString();let n;switch(t){case\"forward\":n=i.indexOf(\"\\n\",e);break;case\"backward\":n=i.slice(0,e).lastIndexOf(\"\\n\")}if(-1!==n)return n}contentsForInspection(){return{text:this.text.inspect(),attributes:this.attributes}}toString(){return this.text.toString()}toJSON(){return{text:this.text,attributes:this.attributes}}getDirection(){return this.text.getDirection()}isRTL(){return this.text.isRTL()}getLength(){return this.text.getLength()}canBeConsolidatedWith(t){return!this.hasAttributes()&&!t.hasAttributes()&&this.getDirection()===t.getDirection()}consolidateWith(t){const e=Le.textForStringWithAttributes(\"\\n\"),i=this.getTextWithoutBlockBreak().appendText(e);return this.copyWithText(i.appendText(t.text))}splitAtOffset(t){let e,i;return 0===t?(e=null,i=this):t===this.getLength()?(e=this,i=null):(e=this.copyWithText(this.text.getTextAtRange([0,t])),i=this.copyWithText(this.text.getTextAtRange([t,this.getLength()]))),[e,i]}getBlockBreakPosition(){return this.text.getLength()-1}getTextWithoutBlockBreak(){return Ie(this.text)?this.text.getTextAtRange([0,this.getBlockBreakPosition()]):this.text.copy()}canBeGrouped(t){return this.attributes[t]}canBeGroupedWith(t,i){const n=t.getAttributes(),r=n[i],o=this.attributes[i];return o===r&&!(!1===ht(o).group&&!(()=>{if(!lt){lt=[];for(const t in e){const{listAttribute:i}=e[t];null!=i&<.push(i)}}return lt})().includes(n[i+1]))&&(this.getDirection()===t.getDirection()||t.isEmpty())}}const we=function(t){return t=Te(t),t=Be(t)},Te=function(t){let e=!1;const i=t.getPieces();let n=i.slice(0,i.length-1);const r=i[i.length-1];return r?(n=n.map((t=>t.isBlockBreak()?(e=!0,Pe(t)):t)),e?new Le([...n,r]):t):t},Fe=Le.textForStringWithAttributes(\"\\n\",{blockBreak:!0}),Be=function(t){return Ie(t)?t:t.appendText(Fe)},Ie=function(t){const e=t.getLength();if(0===e)return!1;return t.getTextAtRange([e-1,e]).isBlockBreak()},Pe=t=>t.copyWithoutAttribute(\"blockBreak\"),Ne=function(t){const{listAttribute:e}=ht(t);return e?[e,t]:[t]},Oe=t=>t.slice(-1)[0],Me=function(t,e){const i=t.lastIndexOf(e);return-1===i?t:it(t,i,1)};class je extends tt{static fromJSON(t){return new this(Array.from(t).map((t=>De.fromJSON(t))))}static fromString(t,e){const i=Le.textForStringWithAttributes(t,e);return new this([new De(i)])}constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),0===t.length&&(t=[new De]),this.blockList=Re.box(t)}isEmpty(){const t=this.getBlockAtIndex(0);return 1===this.blockList.length&&t.isEmpty()&&!t.hasAttributes()}copy(){const t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).consolidateBlocks?this.blockList.consolidate().toArray():this.blockList.toArray();return new this.constructor(t)}copyUsingObjectsFromDocument(t){const e=new $t(t.getObjects());return this.copyUsingObjectMap(e)}copyUsingObjectMap(t){const e=this.getBlocks().map((e=>t.find(e)||e.copyUsingObjectMap(t)));return new this.constructor(e)}copyWithBaseBlockAttributes(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const e=this.getBlocks().map((e=>{const i=t.concat(e.getAttributes());return e.copyWithAttributes(i)}));return new this.constructor(e)}replaceBlock(t,e){const i=this.blockList.indexOf(t);return-1===i?this:new this.constructor(this.blockList.replaceObjectAtIndex(e,i))}insertDocumentAtRange(t,e){const{blockList:i}=t;e=Et(e);let[n]=e;const{index:r,offset:o}=this.locationFromPosition(n);let s=this;const a=this.getBlockAtPosition(n);return St(e)&&a.isEmpty()&&!a.hasAttributes()?s=new this.constructor(s.blockList.removeObjectAtIndex(r)):a.getBlockBreakPosition()===o&&n++,s=s.removeTextAtRange(e),new this.constructor(s.blockList.insertSplittableListAtPosition(i,n))}mergeDocumentAtRange(t,e){let i,n;e=Et(e);const[r]=e,o=this.locationFromPosition(r),s=this.getBlockAtIndex(o.index).getAttributes(),a=t.getBaseBlockAttributes(),l=s.slice(-a.length);if(et(a,l)){const e=s.slice(0,-a.length);i=t.copyWithBaseBlockAttributes(e)}else i=t.copy({consolidateBlocks:!0}).copyWithBaseBlockAttributes(s);const c=i.getBlockCount(),h=i.getBlockAtIndex(0);if(et(s,h.getAttributes())){const t=h.getTextWithoutBlockBreak();if(n=this.insertTextAtRange(t,e),c>1){i=new this.constructor(i.getBlocks().slice(1));const e=r+t.getLength();n=n.insertDocumentAtRange(i,e)}}else n=this.insertDocumentAtRange(i,e);return n}insertTextAtRange(t,e){e=Et(e);const[i]=e,{index:n,offset:r}=this.locationFromPosition(i),o=this.removeTextAtRange(e);return new this.constructor(o.blockList.editObjectAtIndex(n,(e=>e.copyWithText(e.text.insertTextAtPosition(t,r)))))}removeTextAtRange(t){let e;t=Et(t);const[i,n]=t;if(St(t))return this;const[r,o]=Array.from(this.locationRangeFromRange(t)),s=r.index,a=r.offset,l=this.getBlockAtIndex(s),c=o.index,h=o.offset,u=this.getBlockAtIndex(c);if(n-i==1&&l.getBlockBreakPosition()===a&&u.getBlockBreakPosition()!==h&&\"\\n\"===u.text.getStringAtPosition(h))e=this.blockList.editObjectAtIndex(c,(t=>t.copyWithText(t.text.removeTextAtRange([h,h+1]))));else{let t;const i=l.text.getTextAtRange([0,a]),n=u.text.getTextAtRange([h,u.getLength()]),r=i.appendText(n);t=s!==c&&0===a&&l.getAttributeLevel()>=u.getAttributeLevel()?u.copyWithText(r):l.copyWithText(r);const o=c+1-s;e=this.blockList.splice(s,o,t)}return new this.constructor(e)}moveTextFromRangeToPosition(t,e){let i;t=Et(t);const[n,r]=t;if(n<=e&&e<=r)return this;let o=this.getDocumentAtRange(t),s=this.removeTextAtRange(t);const a=nn=n.editObjectAtIndex(o,(function(){return ht(t)?i.addAttribute(t,e):r[0]===r[1]?i:i.copyWithText(i.text.addAttributeAtRange(t,e,r))})))),new this.constructor(n)}addAttribute(t,e){let{blockList:i}=this;return this.eachBlock(((n,r)=>i=i.editObjectAtIndex(r,(()=>n.addAttribute(t,e))))),new this.constructor(i)}removeAttributeAtRange(t,e){let{blockList:i}=this;return this.eachBlockAtRange(e,(function(e,n,r){ht(t)?i=i.editObjectAtIndex(r,(()=>e.removeAttribute(t))):n[0]!==n[1]&&(i=i.editObjectAtIndex(r,(()=>e.copyWithText(e.text.removeAttributeAtRange(t,n)))))})),new this.constructor(i)}updateAttributesForAttachment(t,e){const i=this.getRangeOfAttachment(e),[n]=Array.from(i),{index:r}=this.locationFromPosition(n),o=this.getTextAtIndex(r);return new this.constructor(this.blockList.editObjectAtIndex(r,(i=>i.copyWithText(o.updateAttributesForAttachment(t,e)))))}removeAttributeForAttachment(t,e){const i=this.getRangeOfAttachment(e);return this.removeAttributeAtRange(t,i)}insertBlockBreakAtRange(t){let e;t=Et(t);const[i]=t,{offset:n}=this.locationFromPosition(i),r=this.removeTextAtRange(t);return 0===n&&(e=[new De]),new this.constructor(r.blockList.insertSplittableListAtPosition(new Re(e),i))}applyBlockAttributeAtRange(t,e,i){const n=this.expandRangeToLineBreaksAndSplitBlocks(i);let r=n.document;i=n.range;const o=ht(t);if(o.listAttribute){r=r.removeLastListAttributeAtRange(i,{exceptAttributeName:t});const e=r.convertLineBreaksToBlockBreaksInRange(i);r=e.document,i=e.range}else r=o.exclusive?r.removeBlockAttributesAtRange(i):o.terminal?r.removeLastTerminalAttributeAtRange(i):r.consolidateBlocksAtRange(i);return r.addAttributeAtRange(t,e,i)}removeLastListAttributeAtRange(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{blockList:i}=this;return this.eachBlockAtRange(t,(function(t,n,r){const o=t.getLastAttribute();o&&ht(o).listAttribute&&o!==e.exceptAttributeName&&(i=i.editObjectAtIndex(r,(()=>t.removeAttribute(o))))})),new this.constructor(i)}removeLastTerminalAttributeAtRange(t){let{blockList:e}=this;return this.eachBlockAtRange(t,(function(t,i,n){const r=t.getLastAttribute();r&&ht(r).terminal&&(e=e.editObjectAtIndex(n,(()=>t.removeAttribute(r))))})),new this.constructor(e)}removeBlockAttributesAtRange(t){let{blockList:e}=this;return this.eachBlockAtRange(t,(function(t,i,n){t.hasAttributes()&&(e=e.editObjectAtIndex(n,(()=>t.copyWithoutAttributes())))})),new this.constructor(e)}expandRangeToLineBreaksAndSplitBlocks(t){let e;t=Et(t);let[i,n]=t;const r=this.locationFromPosition(i),o=this.locationFromPosition(n);let s=this;const a=s.getBlockAtIndex(r.index);if(r.offset=a.findLineBreakInDirectionFromPosition(\"backward\",r.offset),null!=r.offset&&(e=s.positionFromLocation(r),s=s.insertBlockBreakAtRange([e,e+1]),o.index+=1,o.offset-=s.getBlockAtIndex(r.index).getLength(),r.index+=1),r.offset=0,0===o.offset&&o.index>r.index)o.index-=1,o.offset=s.getBlockAtIndex(o.index).getBlockBreakPosition();else{const t=s.getBlockAtIndex(o.index);\"\\n\"===t.text.getStringAtRange([o.offset-1,o.offset])?o.offset-=1:o.offset=t.findLineBreakInDirectionFromPosition(\"forward\",o.offset),o.offset!==t.getBlockBreakPosition()&&(e=s.positionFromLocation(o),s=s.insertBlockBreakAtRange([e,e+1]))}return i=s.positionFromLocation(r),n=s.positionFromLocation(o),{document:s,range:t=Et([i,n])}}convertLineBreaksToBlockBreaksInRange(t){t=Et(t);let[e]=t;const i=this.getStringAtRange(t).slice(0,-1);let n=this;return i.replace(/.*?\\n/g,(function(t){e+=t.length,n=n.insertBlockBreakAtRange([e-1,e])})),{document:n,range:t}}consolidateBlocksAtRange(t){t=Et(t);const[e,i]=t,n=this.locationFromPosition(e).index,r=this.locationFromPosition(i).index;return new this.constructor(this.blockList.consolidateFromIndexToIndex(n,r))}getDocumentAtRange(t){t=Et(t);const e=this.blockList.getSplittableListInRange(t).toArray();return new this.constructor(e)}getStringAtRange(t){let e;const i=t=Et(t);return i[i.length-1]!==this.getLength()&&(e=-1),this.getDocumentAtRange(t).toString().slice(0,e)}getBlockAtIndex(t){return this.blockList.getObjectAtIndex(t)}getBlockAtPosition(t){const{index:e}=this.locationFromPosition(t);return this.getBlockAtIndex(e)}getTextAtIndex(t){var e;return null===(e=this.getBlockAtIndex(t))||void 0===e?void 0:e.text}getTextAtPosition(t){const{index:e}=this.locationFromPosition(t);return this.getTextAtIndex(e)}getPieceAtPosition(t){const{index:e,offset:i}=this.locationFromPosition(t);return this.getTextAtIndex(e).getPieceAtPosition(i)}getCharacterAtPosition(t){const{index:e,offset:i}=this.locationFromPosition(t);return this.getTextAtIndex(e).getStringAtRange([i,i+1])}getLength(){return this.blockList.getEndPosition()}getBlocks(){return this.blockList.toArray()}getBlockCount(){return this.blockList.length}getEditCount(){return this.editCount}eachBlock(t){return this.blockList.eachObject(t)}eachBlockAtRange(t,e){let i,n;t=Et(t);const[r,o]=t,s=this.locationFromPosition(r),a=this.locationFromPosition(o);if(s.index===a.index)return i=this.getBlockAtIndex(s.index),n=[s.offset,a.offset],e(i,n,s.index);for(let t=s.index;t<=a.index;t++)if(i=this.getBlockAtIndex(t),i){switch(t){case s.index:n=[s.offset,i.text.getLength()];break;case a.index:n=[0,a.offset];break;default:n=[0,i.text.getLength()]}e(i,n,t)}}getCommonAttributesAtRange(t){t=Et(t);const[e]=t;if(St(t))return this.getCommonAttributesAtPosition(e);{const e=[],i=[];return this.eachBlockAtRange(t,(function(t,n){if(n[0]!==n[1])return e.push(t.text.getCommonAttributesAtRange(n)),i.push(We(t))})),Vt.fromCommonAttributesOfObjects(e).merge(Vt.fromCommonAttributesOfObjects(i)).toObject()}}getCommonAttributesAtPosition(t){let e,i;const{index:n,offset:r}=this.locationFromPosition(t),o=this.getBlockAtIndex(n);if(!o)return{};const s=We(o),a=o.text.getAttributesAtPosition(r),l=o.text.getAttributesAtPosition(r-1),c=Object.keys(O).filter((t=>O[t].inheritable));for(e in l)i=l[e],(i===a[e]||c.includes(e))&&(s[e]=i);return s}getRangeOfCommonAttributeAtPosition(t,e){const{index:i,offset:n}=this.locationFromPosition(e),r=this.getTextAtIndex(i),[o,s]=Array.from(r.getExpandedRangeForAttributeAtOffset(t,n)),a=this.positionFromLocation({index:i,offset:o}),l=this.positionFromLocation({index:i,offset:s});return Et([a,l])}getBaseBlockAttributes(){let t=this.getBlockAtIndex(0).getAttributes();for(let e=1;e{const e=[];for(let r=0;r{let{text:i}=e;return t=t.concat(i.getAttachmentPieces())})),t}getAttachments(){return this.getAttachmentPieces().map((t=>t.attachment))}getRangeOfAttachment(t){let e=0;const i=this.blockList.toArray();for(let n=0;n{const r=n.getLength();n.hasAttribute(t)&&i.push([e,e+r]),e+=r})),i}findRangesForTextAttribute(t){let{withValue:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=0,n=[];const r=[];return this.getPieces().forEach((o=>{const s=o.getLength();(function(i){return e?i.getAttribute(t)===e:i.hasAttribute(t)})(o)&&(n[1]===i?n[1]=i+s:r.push(n=[i,i+s])),i+=s})),r}locationFromPosition(t){const e=this.blockList.findIndexAndOffsetAtPosition(Math.max(0,t));if(null!=e.index)return e;{const t=this.getBlocks();return{index:t.length-1,offset:t[t.length-1].getLength()}}}positionFromLocation(t){return this.blockList.findPositionAtIndexAndOffset(t.index,t.offset)}locationRangeFromPosition(t){return Et(this.locationFromPosition(t))}locationRangeFromRange(t){if(!(t=Et(t)))return;const[e,i]=Array.from(t),n=this.locationFromPosition(e),r=this.locationFromPosition(i);return Et([n,r])}rangeFromLocationRange(t){let e;t=Et(t);const i=this.positionFromLocation(t[0]);return St(t)||(e=this.positionFromLocation(t[1])),Et([i,e])}isEqualTo(t){return this.blockList.isEqualTo(null==t?void 0:t.blockList)}getTexts(){return this.getBlocks().map((t=>t.text))}getPieces(){const t=[];return Array.from(this.getTexts()).forEach((e=>{t.push(...Array.from(e.getPieces()||[]))})),t}getObjects(){return this.getBlocks().concat(this.getTexts()).concat(this.getPieces())}toSerializableDocument(){const t=[];return this.blockList.eachObject((e=>t.push(e.copyWithText(e.text.toSerializableText())))),new this.constructor(t)}toString(){return this.blockList.toString()}toJSON(){return this.blockList.toJSON()}toConsole(){return JSON.stringify(this.blockList.toArray()).map((t=>JSON.parse(t.text.toConsole())))}}const We=function(t){const e={},i=t.getLastAttribute();return i&&(e[i]=!0),e},Ue=\"style href src width height class\".split(\" \"),qe=\"javascript:\".split(\" \"),Ve=\"script iframe form\".split(\" \");class ze extends U{static sanitize(t,e){const i=new this(t,e);return i.sanitize(),i}constructor(t){let{allowedAttributes:e,forbiddenProtocols:i,forbiddenElements:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.allowedAttributes=e||Ue,this.forbiddenProtocols=i||qe,this.forbiddenElements=n||Ve,this.body=_e(t)}sanitize(){return this.sanitizeElements(),this.normalizeListElementNesting()}getHTML(){return this.body.innerHTML}getBody(){return this.body}sanitizeElements(){const t=x(this.body),e=[];for(;t.nextNode();){const i=t.currentNode;switch(i.nodeType){case Node.ELEMENT_NODE:this.elementIsRemovable(i)?e.push(i):this.sanitizeElement(i);break;case Node.COMMENT_NODE:e.push(i)}}return e.forEach((t=>A(t))),this.body}sanitizeElement(t){return t.hasAttribute(\"href\")&&this.forbiddenProtocols.includes(t.protocol)&&t.removeAttribute(\"href\"),Array.from(t.attributes).forEach((e=>{let{name:i}=e;this.allowedAttributes.includes(i)||0===i.indexOf(\"data-trix\")||t.removeAttribute(i)})),t}normalizeListElementNesting(){return Array.from(this.body.querySelectorAll(\"ul,ol\")).forEach((t=>{const e=t.previousElementSibling;e&&\"li\"===y(e)&&e.appendChild(t)})),this.body}elementIsRemovable(t){if((null==t?void 0:t.nodeType)===Node.ELEMENT_NODE)return this.elementIsForbidden(t)||this.elementIsntSerializable(t)}elementIsForbidden(t){return this.forbiddenElements.includes(y(t))}elementIsntSerializable(t){return\"false\"===t.getAttribute(\"data-trix-serialize\")&&!F(t)}}const _e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";t=t.replace(/<\\/html[^>]*>[^]*$/i,\"\");const e=document.implementation.createHTMLDocument(\"\");return e.documentElement.innerHTML=t,Array.from(e.head.querySelectorAll(\"style\")).forEach((t=>{e.body.appendChild(t)})),e.body},He=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=\"string\";return{string:t=Mt(t),attributes:e,type:i}},Je=(t,e)=>{try{return JSON.parse(t.getAttribute(\"data-trix-\".concat(e)))}catch(t){return{}}};class Ke extends U{static parse(t,e){const i=new this(t,e);return i.parse(),i}constructor(t){let{referenceElement:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(...arguments),this.html=t,this.referenceElement=e,this.blocks=[],this.blockElements=[],this.processedElements=[]}getDocument(){return je.fromJSON(this.blocks)}parse(){try{this.createHiddenContainer();const t=ze.sanitize(this.html).getHTML();this.containerElement.innerHTML=t;const e=x(this.containerElement,{usingFilter:Ye});for(;e.nextNode();)this.processNode(e.currentNode);return this.translateBlockElementMarginsToNewlines()}finally{this.removeHiddenContainer()}}createHiddenContainer(){return this.referenceElement?(this.containerElement=this.referenceElement.cloneNode(!1),this.containerElement.removeAttribute(\"id\"),this.containerElement.setAttribute(\"data-trix-internal\",\"\"),this.containerElement.style.display=\"none\",this.referenceElement.parentNode.insertBefore(this.containerElement,this.referenceElement.nextSibling)):(this.containerElement=C({tagName:\"div\",style:{display:\"none\"}}),document.body.appendChild(this.containerElement))}removeHiddenContainer(){return A(this.containerElement)}processNode(t){switch(t.nodeType){case Node.TEXT_NODE:if(!this.isInsignificantTextNode(t))return this.appendBlockForTextNode(t),this.processTextNode(t);break;case Node.ELEMENT_NODE:return this.appendBlockForElement(t),this.processElement(t)}}appendBlockForTextNode(t){const e=t.parentNode;if(e===this.currentBlockElement&&this.isBlockElement(t.previousSibling))return this.appendStringWithAttributes(\"\\n\");if(e===this.containerElement||this.isBlockElement(e)){var i;const t=this.getBlockAttributes(e);et(t,null===(i=this.currentBlock)||void 0===i?void 0:i.attributes)||(this.currentBlock=this.appendBlockForAttributesWithElement(t,e),this.currentBlockElement=e)}}appendBlockForElement(t){const e=this.isBlockElement(t),i=b(this.currentBlockElement,t);if(e&&!this.isBlockElement(t.firstChild)){if(!this.isInsignificantTextNode(t.firstChild)||!this.isBlockElement(t.firstElementChild)){const e=this.getBlockAttributes(t);if(t.firstChild){if(i&&et(e,this.currentBlock.attributes))return this.appendStringWithAttributes(\"\\n\");this.currentBlock=this.appendBlockForAttributesWithElement(e,t),this.currentBlockElement=t}}}else if(this.currentBlockElement&&!i&&!e){const e=this.findParentBlockElement(t);if(e)return this.appendBlockForElement(e);this.currentBlock=this.appendEmptyBlock(),this.currentBlockElement=null}}findParentBlockElement(t){let{parentElement:e}=t;for(;e&&e!==this.containerElement;){if(this.isBlockElement(e)&&this.blockElements.includes(e))return e;e=e.parentElement}return null}processTextNode(t){let e=t.data;var i;Ge(t.parentNode)||(e=Wt(e),ti(null===(i=t.previousSibling)||void 0===i?void 0:i.textContent)&&(e=Qe(e)));return this.appendStringWithAttributes(e,this.getTextAttributes(t.parentNode))}processElement(t){let e;if(F(t)){if(e=Je(t,\"attachment\"),Object.keys(e).length){const i=this.getTextAttributes(t);this.appendAttachmentWithAttributes(e,i),t.innerHTML=\"\"}return this.processedElements.push(t)}switch(y(t)){case\"br\":return this.isExtraBR(t)||this.isBlockElement(t.nextSibling)||this.appendStringWithAttributes(\"\\n\",this.getTextAttributes(t)),this.processedElements.push(t);case\"img\":e={url:t.getAttribute(\"src\"),contentType:\"image\"};const i=(t=>{const e=t.getAttribute(\"width\"),i=t.getAttribute(\"height\"),n={};return e&&(n.width=parseInt(e,10)),i&&(n.height=parseInt(i,10)),n})(t);for(const t in i){const n=i[t];e[t]=n}return this.appendAttachmentWithAttributes(e,this.getTextAttributes(t)),this.processedElements.push(t);case\"tr\":if(this.needsTableSeparator(t))return this.appendStringWithAttributes(N.tableRowSeparator);break;case\"td\":if(this.needsTableSeparator(t))return this.appendStringWithAttributes(N.tableCellSeparator)}}appendBlockForAttributesWithElement(t,e){this.blockElements.push(e);const i=function(){return{text:[],attributes:arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}}(t);return this.blocks.push(i),i}appendEmptyBlock(){return this.appendBlockForAttributesWithElement([],null)}appendStringWithAttributes(t,e){return this.appendPiece(He(t,e))}appendAttachmentWithAttributes(t,e){return this.appendPiece(function(t){return{attachment:t,attributes:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},type:\"attachment\"}}(t,e))}appendPiece(t){return 0===this.blocks.length&&this.appendEmptyBlock(),this.blocks[this.blocks.length-1].text.push(t)}appendStringToTextAtIndex(t,e){const{text:i}=this.blocks[e],n=i[i.length-1];if(\"string\"!==(null==n?void 0:n.type))return i.push(He(t));n.string+=t}prependStringToTextAtIndex(t,e){const{text:i}=this.blocks[e],n=i[0];if(\"string\"!==(null==n?void 0:n.type))return i.unshift(He(t));n.string=t+n.string}getTextAttributes(t){let e;const i={};for(const n in O){const r=O[n];if(r.tagName&&p(t,{matchingSelector:r.tagName,untilNode:this.containerElement}))i[n]=!0;else if(r.parser){if(e=r.parser(t),e){let o=!1;for(const i of this.findBlockElementAncestors(t))if(r.parser(i)===e){o=!0;break}o||(i[n]=e)}}else r.styleProperty&&(e=t.style[r.styleProperty],e&&(i[n]=e))}if(F(t)){const n=Je(t,\"attributes\");for(const t in n)e=n[t],i[t]=e}return i}getBlockAttributes(t){const i=[];for(;t&&t!==this.containerElement;){for(const r in e){const o=e[r];var n;if(!1!==o.parse)if(y(t)===o.tagName)(null!==(n=o.test)&&void 0!==n&&n.call(o,t)||!o.test)&&(i.push(r),o.listAttribute&&i.push(o.listAttribute))}t=t.parentNode}return i.reverse()}findBlockElementAncestors(t){const e=[];for(;t&&t!==this.containerElement;){const i=y(t);E().includes(i)&&e.push(t),t=t.parentNode}return e}isBlockElement(t){if((null==t?void 0:t.nodeType)===Node.ELEMENT_NODE&&!F(t)&&!p(t,{matchingSelector:\"td\",untilNode:this.containerElement}))return E().includes(y(t))||\"block\"===window.getComputedStyle(t).display}isInsignificantTextNode(t){if((null==t?void 0:t.nodeType)!==Node.TEXT_NODE)return;if(!Ze(t.data))return;const{parentNode:e,previousSibling:i,nextSibling:n}=t;return $e(e.previousSibling)&&!this.isBlockElement(e.previousSibling)||Ge(e)?void 0:!i||this.isBlockElement(i)||!n||this.isBlockElement(n)}isExtraBR(t){return\"br\"===y(t)&&this.isBlockElement(t.parentNode)&&t.parentNode.lastChild===t}needsTableSeparator(t){if(N.removeBlankTableCells){var e;const i=null===(e=t.previousSibling)||void 0===e?void 0:e.textContent;return i&&/\\S/.test(i)}return t.previousSibling}translateBlockElementMarginsToNewlines(){const t=this.getMarginOfDefaultBlockElement();for(let e=0;e2*t.top&&this.prependStringToTextAtIndex(\"\\n\",e),i.bottom>2*t.bottom&&this.appendStringToTextAtIndex(\"\\n\",e))}}getMarginOfBlockElementAtIndex(t){const e=this.blockElements[t];if(e&&e.textContent&&!E().includes(y(e))&&!this.processedElements.includes(e))return Xe(e)}getMarginOfDefaultBlockElement(){const t=C(e.default.tagName);return this.containerElement.appendChild(t),Xe(t)}}const Ge=function(t){const{whiteSpace:e}=window.getComputedStyle(t);return[\"pre\",\"pre-wrap\",\"pre-line\"].includes(e)},$e=t=>t&&!ti(t.textContent),Xe=function(t){const e=window.getComputedStyle(t);if(\"block\"===e.display)return{top:parseInt(e.marginTop),bottom:parseInt(e.marginBottom)}},Ye=function(t){return\"style\"===y(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},Qe=t=>t.replace(new RegExp(\"^\".concat(jt.source,\"+\")),\"\"),Ze=t=>new RegExp(\"^\".concat(jt.source,\"*$\")).test(t),ti=t=>/\\s$/.test(t),ei=[\"contenteditable\",\"data-trix-id\",\"data-trix-store-key\",\"data-trix-mutable\",\"data-trix-placeholder\",\"tabindex\"],ii=\"[\".concat(\"data-trix-serialized-attributes\",\"]\"),ni=new RegExp(\"\\x3c!--block--\\x3e\",\"g\"),ri={\"application/json\":function(t){let e;if(t instanceof je)e=t;else{if(!(t instanceof HTMLElement))throw new Error(\"unserializable object\");e=Ke.parse(t.innerHTML).getDocument()}return e.toSerializableDocument().toJSONString()},\"text/html\":function(t){let e;if(t instanceof je)e=ue.render(t);else{if(!(t instanceof HTMLElement))throw new Error(\"unserializable object\");e=t.cloneNode(!0)}return Array.from(e.querySelectorAll(\"[data-trix-serialize=false]\")).forEach((t=>{A(t)})),ei.forEach((t=>{Array.from(e.querySelectorAll(\"[\".concat(t,\"]\"))).forEach((e=>{e.removeAttribute(t)}))})),Array.from(e.querySelectorAll(ii)).forEach((t=>{try{const e=JSON.parse(t.getAttribute(\"data-trix-serialized-attributes\"));t.removeAttribute(\"data-trix-serialized-attributes\");for(const i in e){const n=e[i];t.setAttribute(i,n)}}catch(t){}})),e.innerHTML.replace(ni,\"\")}};var oi=Object.freeze({__proto__:null});class si extends U{constructor(t,e){super(...arguments),this.attachmentManager=t,this.attachment=e,this.id=this.attachment.id,this.file=this.attachment.file}remove(){return this.attachmentManager.requestRemovalOfAttachment(this.attachment)}}si.proxyMethod(\"attachment.getAttribute\"),si.proxyMethod(\"attachment.hasAttribute\"),si.proxyMethod(\"attachment.setAttribute\"),si.proxyMethod(\"attachment.getAttributes\"),si.proxyMethod(\"attachment.setAttributes\"),si.proxyMethod(\"attachment.isPending\"),si.proxyMethod(\"attachment.isPreviewable\"),si.proxyMethod(\"attachment.getURL\"),si.proxyMethod(\"attachment.getHref\"),si.proxyMethod(\"attachment.getFilename\"),si.proxyMethod(\"attachment.getFilesize\"),si.proxyMethod(\"attachment.getFormattedFilesize\"),si.proxyMethod(\"attachment.getExtension\"),si.proxyMethod(\"attachment.getContentType\"),si.proxyMethod(\"attachment.getFile\"),si.proxyMethod(\"attachment.setFile\"),si.proxyMethod(\"attachment.releaseFile\"),si.proxyMethod(\"attachment.getUploadProgress\"),si.proxyMethod(\"attachment.setUploadProgress\");class ai extends U{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(...arguments),this.managedAttachments={},Array.from(t).forEach((t=>{this.manageAttachment(t)}))}getAttachments(){const t=[];for(const e in this.managedAttachments){const i=this.managedAttachments[e];t.push(i)}return t}manageAttachment(t){return this.managedAttachments[t.id]||(this.managedAttachments[t.id]=new si(this,t)),this.managedAttachments[t.id]}attachmentIsManaged(t){return t.id in this.managedAttachments}requestRemovalOfAttachment(t){var e,i;if(this.attachmentIsManaged(t))return null===(e=this.delegate)||void 0===e||null===(i=e.attachmentManagerDidRequestRemovalOfAttachment)||void 0===i?void 0:i.call(e,t)}unmanageAttachment(t){const e=this.managedAttachments[t.id];return delete this.managedAttachments[t.id],e}}class li{constructor(t){this.composition=t,this.document=this.composition.document;const e=this.composition.getSelectedRange();this.startPosition=e[0],this.endPosition=e[1],this.startLocation=this.document.locationFromPosition(this.startPosition),this.endLocation=this.document.locationFromPosition(this.endPosition),this.block=this.document.getBlockAtIndex(this.endLocation.index),this.breaksOnReturn=this.block.breaksOnReturn(),this.previousCharacter=this.block.text.getStringAtPosition(this.endLocation.offset-1),this.nextCharacter=this.block.text.getStringAtPosition(this.endLocation.offset)}shouldInsertBlockBreak(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?0!==this.startLocation.offset:this.breaksOnReturn&&\"\\n\"!==this.nextCharacter}shouldBreakFormattedBlock(){return this.block.hasAttributes()&&!this.block.isListItem()&&(this.breaksOnReturn&&\"\\n\"===this.nextCharacter||\"\\n\"===this.previousCharacter)}shouldDecreaseListLevel(){return this.block.hasAttributes()&&this.block.isListItem()&&this.block.isEmpty()}shouldPrependListItem(){return this.block.isListItem()&&0===this.startLocation.offset&&!this.block.isEmpty()}shouldRemoveLastBlockAttribute(){return this.block.hasAttributes()&&!this.block.isListItem()&&this.block.isEmpty()}}class ci extends U{constructor(){super(...arguments),this.document=new je,this.attachments=[],this.currentAttributes={},this.revision=0}setDocument(t){var e,i;if(!t.isEqualTo(this.document))return this.document=t,this.refreshAttachments(),this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidChangeDocument)||void 0===i?void 0:i.call(e,t)}getSnapshot(){return{document:this.document,selectedRange:this.getSelectedRange()}}loadSnapshot(t){var e,i,n,r;let{document:o,selectedRange:s}=t;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionWillLoadSnapshot)||void 0===i||i.call(e),this.setDocument(null!=o?o:new je),this.setSelection(null!=s?s:[0,0]),null===(n=this.delegate)||void 0===n||null===(r=n.compositionDidLoadSnapshot)||void 0===r?void 0:r.call(n)}insertText(t){let{updatePosition:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{updatePosition:!0};const i=this.getSelectedRange();this.setDocument(this.document.insertTextAtRange(t,i));const n=i[0],r=n+t.getLength();return e&&this.setSelection(r),this.notifyDelegateOfInsertionAtRange([n,r])}insertBlock(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new De;const e=new je([t]);return this.insertDocument(e)}insertDocument(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new je;const e=this.getSelectedRange();this.setDocument(this.document.insertDocumentAtRange(t,e));const i=e[0],n=i+t.getLength();return this.setSelection(n),this.notifyDelegateOfInsertionAtRange([i,n])}insertString(t,e){const i=this.getCurrentTextAttributes(),n=Le.textForStringWithAttributes(t,i);return this.insertText(n,e)}insertBlockBreak(){const t=this.getSelectedRange();this.setDocument(this.document.insertBlockBreakAtRange(t));const e=t[0],i=e+1;return this.setSelection(i),this.notifyDelegateOfInsertionAtRange([e,i])}insertLineBreak(){const t=new li(this);if(t.shouldDecreaseListLevel())return this.decreaseListLevel(),this.setSelection(t.startPosition);if(t.shouldPrependListItem()){const e=new je([t.block.copyWithoutText()]);return this.insertDocument(e)}return t.shouldInsertBlockBreak()?this.insertBlockBreak():t.shouldRemoveLastBlockAttribute()?this.removeLastBlockAttribute():t.shouldBreakFormattedBlock()?this.breakFormattedBlock(t):this.insertString(\"\\n\")}insertHTML(t){const e=Ke.parse(t).getDocument(),i=this.getSelectedRange();this.setDocument(this.document.mergeDocumentAtRange(e,i));const n=i[0],r=n+e.getLength()-1;return this.setSelection(r),this.notifyDelegateOfInsertionAtRange([n,r])}replaceHTML(t){const e=Ke.parse(t).getDocument().copyUsingObjectsFromDocument(this.document),i=this.getLocationRange({strict:!1}),n=this.document.rangeFromLocationRange(i);return this.setDocument(e),this.setSelection(n)}insertFile(t){return this.insertFiles([t])}insertFiles(t){const e=[];return Array.from(t).forEach((t=>{var i;if(null!==(i=this.delegate)&&void 0!==i&&i.compositionShouldAcceptFile(t)){const i=xe.attachmentForFile(t);e.push(i)}})),this.insertAttachments(e)}insertAttachment(t){return this.insertAttachments([t])}insertAttachments(e){let i=new Le;return Array.from(e).forEach((e=>{var n;const r=e.getType(),o=null===(n=t[r])||void 0===n?void 0:n.presentation,s=this.getCurrentTextAttributes();o&&(s.presentation=o);const a=Le.textForAttachmentWithAttributes(e,s);i=i.appendText(a)})),this.insertText(i)}shouldManageDeletingInDirection(t){const e=this.getLocationRange();if(St(e)){if(\"backward\"===t&&0===e[0].offset)return!0;if(this.shouldManageMovingCursorInDirection(t))return!0}else if(e[0].index!==e[1].index)return!0;return!1}deleteInDirection(t){let e,i,n,{length:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=this.getLocationRange();let s=this.getSelectedRange();const a=St(s);if(a?i=\"backward\"===t&&0===o[0].offset:n=o[0].index!==o[1].index,i&&this.canDecreaseBlockAttributeLevel()){const t=this.getBlock();if(t.isListItem()?this.decreaseListLevel():this.decreaseBlockAttributeLevel(),this.setSelection(s[0]),t.isEmpty())return!1}return a&&(s=this.getExpandedRangeInDirection(t,{length:r}),\"backward\"===t&&(e=this.getAttachmentAtRange(s))),e?(this.editAttachment(e),!1):(this.setDocument(this.document.removeTextAtRange(s)),this.setSelection(s[0]),!i&&!n&&void 0)}moveTextFromRange(t){const[e]=Array.from(this.getSelectedRange());return this.setDocument(this.document.moveTextFromRangeToPosition(t,e)),this.setSelection(e)}removeAttachment(t){const e=this.document.getRangeOfAttachment(t);if(e)return this.stopEditingAttachment(),this.setDocument(this.document.removeTextAtRange(e)),this.setSelection(e[0])}removeLastBlockAttribute(){const[t,e]=Array.from(this.getSelectedRange()),i=this.document.getBlockAtPosition(e);return this.removeCurrentAttribute(i.getLastAttribute()),this.setSelection(t)}insertPlaceholder(){return this.placeholderPosition=this.getPosition(),this.insertString(\" \")}selectPlaceholder(){if(null!=this.placeholderPosition)return this.setSelectedRange([this.placeholderPosition,this.placeholderPosition+\" \".length]),this.getSelectedRange()}forgetPlaceholder(){this.placeholderPosition=null}hasCurrentAttribute(t){const e=this.currentAttributes[t];return null!=e&&!1!==e}toggleCurrentAttribute(t){const e=!this.currentAttributes[t];return e?this.setCurrentAttribute(t,e):this.removeCurrentAttribute(t)}canSetCurrentAttribute(t){return ht(t)?this.canSetCurrentBlockAttribute(t):this.canSetCurrentTextAttribute(t)}canSetCurrentTextAttribute(t){const e=this.getSelectedDocument();if(e){for(const t of Array.from(e.getAttachments()))if(!t.hasContent())return!1;return!0}}canSetCurrentBlockAttribute(t){const e=this.getBlock();if(e)return!e.isTerminalBlock()}setCurrentAttribute(t,e){return ht(t)?this.setBlockAttribute(t,e):(this.setTextAttribute(t,e),this.currentAttributes[t]=e,this.notifyDelegateOfCurrentAttributesChange())}setTextAttribute(t,e){const i=this.getSelectedRange();if(!i)return;const[n,r]=Array.from(i);if(n!==r)return this.setDocument(this.document.addAttributeAtRange(t,e,i));if(\"href\"===t){const t=Le.textForStringWithAttributes(e,{href:e});return this.insertText(t)}}setBlockAttribute(t,e){const i=this.getSelectedRange();if(this.canSetCurrentAttribute(t))return this.setDocument(this.document.applyBlockAttributeAtRange(t,e,i)),this.setSelection(i)}removeCurrentAttribute(t){return ht(t)?(this.removeBlockAttribute(t),this.updateCurrentAttributes()):(this.removeTextAttribute(t),delete this.currentAttributes[t],this.notifyDelegateOfCurrentAttributesChange())}removeTextAttribute(t){const e=this.getSelectedRange();if(e)return this.setDocument(this.document.removeAttributeAtRange(t,e))}removeBlockAttribute(t){const e=this.getSelectedRange();if(e)return this.setDocument(this.document.removeAttributeAtRange(t,e))}canDecreaseNestingLevel(){var t;return(null===(t=this.getBlock())||void 0===t?void 0:t.getNestingLevel())>0}canIncreaseNestingLevel(){var t;const e=this.getBlock();if(e){if(null===(t=ht(e.getLastNestableAttribute()))||void 0===t||!t.listAttribute)return e.getNestingLevel()>0;{const t=this.getPreviousBlock();if(t)return function(){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return et((arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).slice(0,t.length),t)}(t.getListItemAttributes(),e.getListItemAttributes())}}}decreaseNestingLevel(){const t=this.getBlock();if(t)return this.setDocument(this.document.replaceBlock(t,t.decreaseNestingLevel()))}increaseNestingLevel(){const t=this.getBlock();if(t)return this.setDocument(this.document.replaceBlock(t,t.increaseNestingLevel()))}canDecreaseBlockAttributeLevel(){var t;return(null===(t=this.getBlock())||void 0===t?void 0:t.getAttributeLevel())>0}decreaseBlockAttributeLevel(){var t;const e=null===(t=this.getBlock())||void 0===t?void 0:t.getLastAttribute();if(e)return this.removeCurrentAttribute(e)}decreaseListLevel(){let[t]=Array.from(this.getSelectedRange());const{index:e}=this.document.locationFromPosition(t);let i=e;const n=this.getBlock().getAttributeLevel();let r=this.document.getBlockAtIndex(i+1);for(;r&&r.isListItem()&&!(r.getAttributeLevel()<=n);)i++,r=this.document.getBlockAtIndex(i+1);t=this.document.positionFromLocation({index:e,offset:0});const o=this.document.positionFromLocation({index:i,offset:0});return this.setDocument(this.document.removeLastListAttributeAtRange([t,o]))}updateCurrentAttributes(){const t=this.getSelectedRange({ignoreLock:!0});if(t){const e=this.document.getCommonAttributesAtRange(t);if(Array.from(ct()).forEach((t=>{e[t]||this.canSetCurrentAttribute(t)||(e[t]=!1)})),!Rt(e,this.currentAttributes))return this.currentAttributes=e,this.notifyDelegateOfCurrentAttributesChange()}}getCurrentAttributes(){return c.call({},this.currentAttributes)}getCurrentTextAttributes(){const t={};for(const e in this.currentAttributes){const i=this.currentAttributes[e];!1!==i&&dt(e)&&(t[e]=i)}return t}freezeSelection(){return this.setCurrentAttribute(\"frozen\",!0)}thawSelection(){return this.removeCurrentAttribute(\"frozen\")}hasFrozenSelection(){return this.hasCurrentAttribute(\"frozen\")}setSelection(t){var e;const i=this.document.locationRangeFromRange(t);return null===(e=this.delegate)||void 0===e?void 0:e.compositionDidRequestChangingSelectionToLocationRange(i)}getSelectedRange(){const t=this.getLocationRange();if(t)return this.document.rangeFromLocationRange(t)}setSelectedRange(t){const e=this.document.locationRangeFromRange(t);return this.getSelectionManager().setLocationRange(e)}getPosition(){const t=this.getLocationRange();if(t)return this.document.positionFromLocation(t[0])}getLocationRange(t){return this.targetLocationRange?this.targetLocationRange:this.getSelectionManager().getLocationRange(t)||Et({index:0,offset:0})}withTargetLocationRange(t,e){let i;this.targetLocationRange=t;try{i=e()}finally{this.targetLocationRange=null}return i}withTargetRange(t,e){const i=this.document.locationRangeFromRange(t);return this.withTargetLocationRange(i,e)}withTargetDOMRange(t,e){const i=this.createLocationRangeFromDOMRange(t,{strict:!1});return this.withTargetLocationRange(i,e)}getExpandedRangeInDirection(t){let{length:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[i,n]=Array.from(this.getSelectedRange());return\"backward\"===t?e?i-=e:i=this.translateUTF16PositionFromOffset(i,-1):e?n+=e:n=this.translateUTF16PositionFromOffset(n,1),Et([i,n])}shouldManageMovingCursorInDirection(t){if(this.editingAttachment)return!0;const e=this.getExpandedRangeInDirection(t);return null!=this.getAttachmentAtRange(e)}moveCursorInDirection(t){let e,i;if(this.editingAttachment)i=this.document.getRangeOfAttachment(this.editingAttachment);else{const n=this.getSelectedRange();i=this.getExpandedRangeInDirection(t),e=!kt(n,i)}if(\"backward\"===t?this.setSelectedRange(i[0]):this.setSelectedRange(i[1]),e){const t=this.getAttachmentAtRange(i);if(t)return this.editAttachment(t)}}expandSelectionInDirection(t){let{length:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=this.getExpandedRangeInDirection(t,{length:e});return this.setSelectedRange(i)}expandSelectionForEditing(){if(this.hasCurrentAttribute(\"href\"))return this.expandSelectionAroundCommonAttribute(\"href\")}expandSelectionAroundCommonAttribute(t){const e=this.getPosition(),i=this.document.getRangeOfCommonAttributeAtPosition(t,e);return this.setSelectedRange(i)}selectionContainsAttachments(){var t;return(null===(t=this.getSelectedAttachments())||void 0===t?void 0:t.length)>0}selectionIsInCursorTarget(){return this.editingAttachment||this.positionIsCursorTarget(this.getPosition())}positionIsCursorTarget(t){const e=this.document.locationFromPosition(t);if(e)return this.locationIsCursorTarget(e)}positionIsBlockBreak(t){var e;return null===(e=this.document.getPieceAtPosition(t))||void 0===e?void 0:e.isBlockBreak()}getSelectedDocument(){const t=this.getSelectedRange();if(t)return this.document.getDocumentAtRange(t)}getSelectedAttachments(){var t;return null===(t=this.getSelectedDocument())||void 0===t?void 0:t.getAttachments()}getAttachments(){return this.attachments.slice(0)}refreshAttachments(){const t=this.document.getAttachments(),{added:e,removed:i}=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const i=[],n=[],r=new Set;t.forEach((t=>{r.add(t)}));const o=new Set;return e.forEach((t=>{o.add(t),r.has(t)||i.push(t)})),t.forEach((t=>{o.has(t)||n.push(t)})),{added:i,removed:n}}(this.attachments,t);return this.attachments=t,Array.from(i).forEach((t=>{var e,i;t.delegate=null,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidRemoveAttachment)||void 0===i||i.call(e,t)})),(()=>{const t=[];return Array.from(e).forEach((e=>{var i,n;e.delegate=this,t.push(null===(i=this.delegate)||void 0===i||null===(n=i.compositionDidAddAttachment)||void 0===n?void 0:n.call(i,e))})),t})()}attachmentDidChangeAttributes(t){var e,i;return this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidEditAttachment)||void 0===i?void 0:i.call(e,t)}attachmentDidChangePreviewURL(t){var e,i;return this.revision++,null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidChangeAttachmentPreviewURL)||void 0===i?void 0:i.call(e,t)}editAttachment(t,e){var i,n;if(t!==this.editingAttachment)return this.stopEditingAttachment(),this.editingAttachment=t,null===(i=this.delegate)||void 0===i||null===(n=i.compositionDidStartEditingAttachment)||void 0===n?void 0:n.call(i,this.editingAttachment,e)}stopEditingAttachment(){var t,e;this.editingAttachment&&(null===(t=this.delegate)||void 0===t||null===(e=t.compositionDidStopEditingAttachment)||void 0===e||e.call(t,this.editingAttachment),this.editingAttachment=null)}updateAttributesForAttachment(t,e){return this.setDocument(this.document.updateAttributesForAttachment(t,e))}removeAttributeForAttachment(t,e){return this.setDocument(this.document.removeAttributeForAttachment(t,e))}breakFormattedBlock(t){let{document:e}=t;const{block:i}=t;let n=t.startPosition,r=[n-1,n];i.getBlockBreakPosition()===t.startLocation.offset?(i.breaksOnReturn()&&\"\\n\"===t.nextCharacter?n+=1:e=e.removeTextAtRange(r),r=[n,n]):\"\\n\"===t.nextCharacter?\"\\n\"===t.previousCharacter?r=[n-1,n+1]:(r=[n,n+1],n+=1):t.startLocation.offset-1!=0&&(n+=1);const o=new je([i.removeLastAttribute().copyWithoutText()]);return this.setDocument(e.insertDocumentAtRange(o,r)),this.setSelection(n)}getPreviousBlock(){const t=this.getLocationRange();if(t){const{index:e}=t[0];if(e>0)return this.document.getBlockAtIndex(e-1)}}getBlock(){const t=this.getLocationRange();if(t)return this.document.getBlockAtIndex(t[0].index)}getAttachmentAtRange(t){const e=this.document.getDocumentAtRange(t);if(e.toString()===\"\".concat(\"\",\"\\n\"))return e.getAttachments()[0]}notifyDelegateOfCurrentAttributesChange(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.compositionDidChangeCurrentAttributes)||void 0===e?void 0:e.call(t,this.currentAttributes)}notifyDelegateOfInsertionAtRange(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionDidPerformInsertionAtRange)||void 0===i?void 0:i.call(e,t)}translateUTF16PositionFromOffset(t,e){const i=this.document.toUTF16String(),n=i.offsetFromUCS2Offset(t);return i.offsetToUCS2Offset(n+e)}}ci.proxyMethod(\"getSelectionManager().getPointRange\"),ci.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"),ci.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"),ci.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"),ci.proxyMethod(\"getSelectionManager().selectionIsExpanded\"),ci.proxyMethod(\"delegate?.getSelectionManager\");class hi extends U{constructor(t){super(...arguments),this.composition=t,this.undoEntries=[],this.redoEntries=[]}recordUndoEntry(t){let{context:e,consolidatable:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.undoEntries.slice(-1)[0];if(!i||!ui(n,t,e)){const i=this.createEntry({description:t,context:e});this.undoEntries.push(i),this.redoEntries=[]}}undo(){const t=this.undoEntries.pop();if(t){const e=this.createEntry(t);return this.redoEntries.push(e),this.composition.loadSnapshot(t.snapshot)}}redo(){const t=this.redoEntries.pop();if(t){const e=this.createEntry(t);return this.undoEntries.push(e),this.composition.loadSnapshot(t.snapshot)}}canUndo(){return this.undoEntries.length>0}canRedo(){return this.redoEntries.length>0}createEntry(){let{description:t,context:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{description:null==t?void 0:t.toString(),context:JSON.stringify(e),snapshot:this.composition.getSnapshot()}}}const ui=(t,e,i)=>(null==t?void 0:t.description)===(null==e?void 0:e.toString())&&(null==t?void 0:t.context)===JSON.stringify(i);class di{constructor(t){this.document=t.document,this.selectedRange=t.selectedRange}perform(){return this.removeBlockAttribute(),this.applyBlockAttribute()}getSnapshot(){return{document:this.document,selectedRange:this.selectedRange}}removeBlockAttribute(){return this.findRangesOfBlocks().map((t=>this.document=this.document.removeAttributeAtRange(\"attachmentGallery\",t)))}applyBlockAttribute(){let t=0;this.findRangesOfPieces().forEach((e=>{e[1]-e[0]>1&&(e[0]+=t,e[1]+=t,\"\\n\"!==this.document.getCharacterAtPosition(e[1])&&(this.document=this.document.insertBlockBreakAtRange(e[1]),e[1]0&&void 0!==arguments[0]?arguments[0]:\"\";const e=Ke.parse(t,{referenceElement:this.element}).getDocument();return this.loadDocument(e)}loadJSON(t){let{document:e,selectedRange:i}=t;return e=je.fromJSON(e),this.loadSnapshot({document:e,selectedRange:i})}loadSnapshot(t){return this.undoManager=new hi(this.composition),this.composition.loadSnapshot(t)}getDocument(){return this.composition.document}getSelectedDocument(){return this.composition.getSelectedDocument()}getSnapshot(){return this.composition.getSnapshot()}toJSON(){return this.getSnapshot()}deleteInDirection(t){return this.composition.deleteInDirection(t)}insertAttachment(t){return this.composition.insertAttachment(t)}insertAttachments(t){return this.composition.insertAttachments(t)}insertDocument(t){return this.composition.insertDocument(t)}insertFile(t){return this.composition.insertFile(t)}insertFiles(t){return this.composition.insertFiles(t)}insertHTML(t){return this.composition.insertHTML(t)}insertString(t){return this.composition.insertString(t)}insertText(t){return this.composition.insertText(t)}insertLineBreak(){return this.composition.insertLineBreak()}getSelectedRange(){return this.composition.getSelectedRange()}getPosition(){return this.composition.getPosition()}getClientRectAtPosition(t){const e=this.getDocument().locationRangeFromRange([t,t+1]);return this.selectionManager.getClientRectAtLocationRange(e)}expandSelectionInDirection(t){return this.composition.expandSelectionInDirection(t)}moveCursorInDirection(t){return this.composition.moveCursorInDirection(t)}setSelectedRange(t){return this.composition.setSelectedRange(t)}activateAttribute(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.composition.setCurrentAttribute(t,e)}attributeIsActive(t){return this.composition.hasCurrentAttribute(t)}canActivateAttribute(t){return this.composition.canSetCurrentAttribute(t)}deactivateAttribute(t){return this.composition.removeCurrentAttribute(t)}canDecreaseNestingLevel(){return this.composition.canDecreaseNestingLevel()}canIncreaseNestingLevel(){return this.composition.canIncreaseNestingLevel()}decreaseNestingLevel(){if(this.canDecreaseNestingLevel())return this.composition.decreaseNestingLevel()}increaseNestingLevel(){if(this.canIncreaseNestingLevel())return this.composition.increaseNestingLevel()}canRedo(){return this.undoManager.canRedo()}canUndo(){return this.undoManager.canUndo()}recordUndoEntry(t){let{context:e,consolidatable:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.undoManager.recordUndoEntry(t,{context:e,consolidatable:i})}redo(){if(this.canRedo())return this.undoManager.redo()}undo(){if(this.canUndo())return this.undoManager.undo()}}class fi{constructor(t){this.element=t}findLocationFromContainerAndOffset(t,e){let{strict:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{strict:!0},n=0,r=!1;const o={index:0,offset:0},s=this.findAttachmentElementParentForNode(t);s&&(t=s.parentNode,e=v(s));const a=x(this.element,{usingFilter:xi});for(;a.nextNode();){const s=a.currentNode;if(s===t&&I(t)){T(s)||(o.offset+=e);break}if(s.parentNode===t){if(n++===e)break}else if(!b(t,s)&&n>0)break;L(s,{strict:i})?(r&&o.index++,o.offset=0,r=!0):o.offset+=bi(s)}return o}findContainerAndOffsetFromLocation(t){let e,i;if(0===t.index&&0===t.offset){for(e=this.element,i=0;e.firstChild;)if(e=e.firstChild,S(e)){i=1;break}return[e,i]}let[n,r]=this.findNodeAndOffsetFromLocation(t);if(n){if(I(n))0===bi(n)?(e=n.parentNode.parentNode,i=v(n.parentNode),T(n,{name:\"right\"})&&i++):(e=n,i=t.offset-r);else{if(e=n.parentNode,!L(n.previousSibling)&&!S(e))for(;n===e.lastChild&&(n=e,e=e.parentNode,!S(e)););i=v(n),0!==t.offset&&i++}return[e,i]}}findNodeAndOffsetFromLocation(t){let e,i,n=0;for(const r of this.getSignificantNodesForIndex(t.index)){const o=bi(r);if(t.offset<=n+o)if(I(r)){if(e=r,i=n,t.offset===i&&T(e))break}else e||(e=r,i=n);if(n+=o,n>t.offset)break}return[e,i]}findAttachmentElementParentForNode(t){for(;t&&t!==this.element;){if(F(t))return t;t=t.parentNode}}getSignificantNodesForIndex(t){const e=[],i=x(this.element,{usingFilter:vi});let n=!1;for(;i.nextNode();){const o=i.currentNode;var r;if(D(o)){if(null!=r?r++:r=0,r===t)n=!0;else if(n)break}else n&&e.push(o)}return e}}const bi=function(t){if(t.nodeType===Node.TEXT_NODE){if(T(t))return 0;return t.textContent.length}return\"br\"===y(t)||F(t)?1:0},vi=function(t){return Ai(t)===NodeFilter.FILTER_ACCEPT?xi(t):NodeFilter.FILTER_REJECT},Ai=function(t){return B(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},xi=function(t){return F(t.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT};class yi{createDOMRangeFromPoint(t){let e,{x:i,y:n}=t;if(document.caretPositionFromPoint){const{offsetNode:t,offset:r}=document.caretPositionFromPoint(i,n);return e=document.createRange(),e.setStart(t,r),e}if(document.caretRangeFromPoint)return document.caretRangeFromPoint(i,n);if(document.body.createTextRange){const t=It();try{const t=document.body.createTextRange();t.moveToPoint(i,n),t.select()}catch(t){}return e=It(),Pt(t),e}}getClientRectsForDOMRange(t){const e=Array.from(t.getClientRects());return[e[0],e[e.length-1]]}}class Ci extends U{constructor(t){super(...arguments),this.didMouseDown=this.didMouseDown.bind(this),this.selectionDidChange=this.selectionDidChange.bind(this),this.element=t,this.locationMapper=new fi(this.element),this.pointMapper=new yi,this.lockCount=0,d(\"mousedown\",{onElement:this.element,withCallback:this.didMouseDown})}getLocationRange(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!1===t.strict?this.createLocationRangeFromDOMRange(It()):t.ignoreLock?this.currentLocationRange:this.lockedLocationRange?this.lockedLocationRange:this.currentLocationRange}setLocationRange(t){if(this.lockedLocationRange)return;t=Et(t);const e=this.createDOMRangeFromLocationRange(t);e&&(Pt(e),this.updateCurrentLocationRange(t))}setLocationRangeFromPointRange(t){t=Et(t);const e=this.getLocationAtPoint(t[0]),i=this.getLocationAtPoint(t[1]);this.setLocationRange([e,i])}getClientRectAtLocationRange(t){const e=this.createDOMRangeFromLocationRange(t);if(e)return this.getClientRectsForDOMRange(e)[1]}locationIsCursorTarget(t){const e=Array.from(this.findNodeAndOffsetFromLocation(t))[0];return T(e)}lock(){0==this.lockCount++&&(this.updateCurrentLocationRange(),this.lockedLocationRange=this.getLocationRange())}unlock(){if(0==--this.lockCount){const{lockedLocationRange:t}=this;if(this.lockedLocationRange=null,null!=t)return this.setLocationRange(t)}}clearSelection(){var t;return null===(t=Bt())||void 0===t?void 0:t.removeAllRanges()}selectionIsCollapsed(){var t;return!0===(null===(t=It())||void 0===t?void 0:t.collapsed)}selectionIsExpanded(){return!this.selectionIsCollapsed()}createLocationRangeFromDOMRange(t,e){if(null==t||!this.domRangeWithinElement(t))return;const i=this.findLocationFromContainerAndOffset(t.startContainer,t.startOffset,e);if(!i)return;const n=t.collapsed?void 0:this.findLocationFromContainerAndOffset(t.endContainer,t.endOffset,e);return Et([i,n])}didMouseDown(){return this.pauseTemporarily()}pauseTemporarily(){let t;this.paused=!0;const e=()=>{if(this.paused=!1,clearTimeout(i),Array.from(t).forEach((t=>{t.destroy()})),b(document,this.element))return this.selectionDidChange()},i=setTimeout(e,200);t=[\"mousemove\",\"keydown\"].map((t=>d(t,{onElement:document,withCallback:e})))}selectionDidChange(){if(!this.paused&&!f(this.element))return this.updateCurrentLocationRange()}updateCurrentLocationRange(t){var e,i;if((null!=t?t:t=this.createLocationRangeFromDOMRange(It()))&&!kt(t,this.currentLocationRange))return this.currentLocationRange=t,null===(e=this.delegate)||void 0===e||null===(i=e.locationRangeDidChange)||void 0===i?void 0:i.call(e,this.currentLocationRange.slice(0))}createDOMRangeFromLocationRange(t){const e=this.findContainerAndOffsetFromLocation(t[0]),i=St(t)?e:this.findContainerAndOffsetFromLocation(t[1])||e;if(null!=e&&null!=i){const t=document.createRange();return t.setStart(...Array.from(e||[])),t.setEnd(...Array.from(i||[])),t}}getLocationAtPoint(t){const e=this.createDOMRangeFromPoint(t);var i;if(e)return null===(i=this.createLocationRangeFromDOMRange(e))||void 0===i?void 0:i[0]}domRangeWithinElement(t){return t.collapsed?b(this.element,t.startContainer):b(this.element,t.startContainer)&&b(this.element,t.endContainer)}}Ci.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"),Ci.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"),Ci.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"),Ci.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"),Ci.proxyMethod(\"pointMapper.getClientRectsForDOMRange\");var Ri=Object.freeze({__proto__:null,Attachment:xe,AttachmentManager:ai,AttachmentPiece:ye,Block:De,Composition:ci,Document:je,Editor:pi,HTMLParser:Ke,HTMLSanitizer:ze,LineBreakInsertion:li,LocationMapper:fi,ManagedAttachment:si,Piece:ve,PointMapper:yi,SelectionManager:Ci,SplittableList:Re,StringPiece:Ce,Text:Le,UndoManager:hi}),Ei=Object.freeze({__proto__:null});const{lang:Si,css:ki,keyNames:Li}=W,Di=function(t){return function(){const e=t.apply(this,arguments);e.do(),this.undos||(this.undos=[]),this.undos.push(e.undo)}};class wi extends U{constructor(t,e,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(...arguments),be(this,\"makeElementMutable\",Di((()=>({do:()=>{this.element.dataset.trixMutable=!0},undo:()=>delete this.element.dataset.trixMutable})))),be(this,\"addToolbar\",Di((()=>{const t=C({tagName:\"div\",className:ki.attachmentToolbar,data:{trixMutable:!0},childNodes:C({tagName:\"div\",className:\"trix-button-row\",childNodes:C({tagName:\"span\",className:\"trix-button-group trix-button-group--actions\",childNodes:C({tagName:\"button\",className:\"trix-button trix-button--remove\",textContent:Si.remove,attributes:{title:Si.remove},data:{trixAction:\"remove\"}})})})});return this.attachment.isPreviewable()&&t.appendChild(C({tagName:\"div\",className:ki.attachmentMetadataContainer,childNodes:C({tagName:\"span\",className:ki.attachmentMetadata,childNodes:[C({tagName:\"span\",className:ki.attachmentName,textContent:this.attachment.getFilename(),attributes:{title:this.attachment.getFilename()}}),C({tagName:\"span\",className:ki.attachmentSize,textContent:this.attachment.getFormattedFilesize()})]})})),d(\"click\",{onElement:t,withCallback:this.didClickToolbar}),d(\"click\",{onElement:t,matchingSelector:\"[data-trix-action]\",withCallback:this.didClickActionButton}),g(\"trix-attachment-before-toolbar\",{onElement:this.element,attributes:{toolbar:t,attachment:this.attachment}}),{do:()=>this.element.appendChild(t),undo:()=>A(t)}}))),be(this,\"installCaptionEditor\",Di((()=>{const t=C({tagName:\"textarea\",className:ki.attachmentCaptionEditor,attributes:{placeholder:Si.captionPlaceholder},data:{trixMutable:!0}});t.value=this.attachmentPiece.getCaption();const e=t.cloneNode();e.classList.add(\"trix-autoresize-clone\"),e.tabIndex=-1;const i=function(){e.value=t.value,t.style.height=e.scrollHeight+\"px\"};d(\"input\",{onElement:t,withCallback:i}),d(\"input\",{onElement:t,withCallback:this.didInputCaption}),d(\"keydown\",{onElement:t,withCallback:this.didKeyDownCaption}),d(\"change\",{onElement:t,withCallback:this.didChangeCaption}),d(\"blur\",{onElement:t,withCallback:this.didBlurCaption});const n=this.element.querySelector(\"figcaption\"),r=n.cloneNode();return{do:()=>{if(n.style.display=\"none\",r.appendChild(t),r.appendChild(e),r.classList.add(\"\".concat(ki.attachmentCaption,\"--editing\")),n.parentElement.insertBefore(r,n),i(),this.options.editCaption)return yt((()=>t.focus()))},undo(){A(r),n.style.display=null}}}))),this.didClickToolbar=this.didClickToolbar.bind(this),this.didClickActionButton=this.didClickActionButton.bind(this),this.didKeyDownCaption=this.didKeyDownCaption.bind(this),this.didInputCaption=this.didInputCaption.bind(this),this.didChangeCaption=this.didChangeCaption.bind(this),this.didBlurCaption=this.didBlurCaption.bind(this),this.attachmentPiece=t,this.element=e,this.container=i,this.options=n,this.attachment=this.attachmentPiece.attachment,\"a\"===y(this.element)&&(this.element=this.element.firstChild),this.install()}install(){this.makeElementMutable(),this.addToolbar(),this.attachment.isPreviewable()&&this.installCaptionEditor()}uninstall(){var t;let e=this.undos.pop();for(this.savePendingCaption();e;)e(),e=this.undos.pop();null===(t=this.delegate)||void 0===t||t.didUninstallAttachmentEditor(this)}savePendingCaption(){if(null!=this.pendingCaption){const r=this.pendingCaption;var t,e,i,n;if(this.pendingCaption=null,r)null===(t=this.delegate)||void 0===t||null===(e=t.attachmentEditorDidRequestUpdatingAttributesForAttachment)||void 0===e||e.call(t,{caption:r},this.attachment);else null===(i=this.delegate)||void 0===i||null===(n=i.attachmentEditorDidRequestRemovingAttributeForAttachment)||void 0===n||n.call(i,\"caption\",this.attachment)}}didClickToolbar(t){return t.preventDefault(),t.stopPropagation()}didClickActionButton(t){var e;if(\"remove\"===t.target.getAttribute(\"data-trix-action\"))return null===(e=this.delegate)||void 0===e?void 0:e.attachmentEditorDidRequestRemovalOfAttachment(this.attachment)}didKeyDownCaption(t){var e,i;if(\"return\"===Li[t.keyCode])return t.preventDefault(),this.savePendingCaption(),null===(e=this.delegate)||void 0===e||null===(i=e.attachmentEditorDidRequestDeselectingAttachment)||void 0===i?void 0:i.call(e,this.attachment)}didInputCaption(t){this.pendingCaption=t.target.value.replace(/\\s/g,\" \").trim()}didChangeCaption(t){return this.savePendingCaption()}didBlurCaption(t){return this.savePendingCaption()}}class Ti extends U{constructor(t,e){super(...arguments),this.didFocus=this.didFocus.bind(this),this.didBlur=this.didBlur.bind(this),this.didClickAttachment=this.didClickAttachment.bind(this),this.element=t,this.composition=e,this.documentView=new ue(this.composition.document,{element:this.element}),d(\"focus\",{onElement:this.element,withCallback:this.didFocus}),d(\"blur\",{onElement:this.element,withCallback:this.didBlur}),d(\"click\",{onElement:this.element,matchingSelector:\"a[contenteditable=false]\",preventDefault:!0}),d(\"mousedown\",{onElement:this.element,matchingSelector:\"[data-trix-attachment]\",withCallback:this.didClickAttachment}),d(\"click\",{onElement:this.element,matchingSelector:\"a\".concat(\"[data-trix-attachment]\"),preventDefault:!0})}didFocus(t){var e;const i=()=>{var t,e;if(!this.focused)return this.focused=!0,null===(t=this.delegate)||void 0===t||null===(e=t.compositionControllerDidFocus)||void 0===e?void 0:e.call(t)};return(null===(e=this.blurPromise)||void 0===e?void 0:e.then(i))||i()}didBlur(t){this.blurPromise=new Promise((t=>yt((()=>{var e,i;f(this.element)||(this.focused=null,null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidBlur)||void 0===i||i.call(e));return this.blurPromise=null,t()}))))}didClickAttachment(t,e){var i,n;const r=this.findAttachmentForElement(e),o=!!p(t.target,{matchingSelector:\"figcaption\"});return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerDidSelectAttachment)||void 0===n?void 0:n.call(i,r,{editCaption:o})}getSerializableElement(){return this.isEditingAttachment()?this.documentView.shadowElement:this.element}render(){var t,e,i,n,r,o;(this.revision!==this.composition.revision&&(this.documentView.setDocument(this.composition.document),this.documentView.render(),this.revision=this.composition.revision),this.canSyncDocumentView()&&!this.documentView.isSynced())&&(null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillSyncDocumentView)||void 0===n||n.call(i),this.documentView.sync(),null===(r=this.delegate)||void 0===r||null===(o=r.compositionControllerDidSyncDocumentView)||void 0===o||o.call(r));return null===(t=this.delegate)||void 0===t||null===(e=t.compositionControllerDidRender)||void 0===e?void 0:e.call(t)}rerenderViewForObject(t){return this.invalidateViewForObject(t),this.render()}invalidateViewForObject(t){return this.documentView.invalidateViewForObject(t)}isViewCachingEnabled(){return this.documentView.isViewCachingEnabled()}enableViewCaching(){return this.documentView.enableViewCaching()}disableViewCaching(){return this.documentView.disableViewCaching()}refreshViewCache(){return this.documentView.garbageCollectCachedViews()}isEditingAttachment(){return!!this.attachmentEditor}installAttachmentEditorForAttachment(t,e){var i;if((null===(i=this.attachmentEditor)||void 0===i?void 0:i.attachment)===t)return;const n=this.documentView.findElementForObject(t);if(!n)return;this.uninstallAttachmentEditor();const r=this.composition.document.getAttachmentPieceForAttachment(t);this.attachmentEditor=new wi(r,n,this.element,e),this.attachmentEditor.delegate=this}uninstallAttachmentEditor(){var t;return null===(t=this.attachmentEditor)||void 0===t?void 0:t.uninstall()}didUninstallAttachmentEditor(){return this.attachmentEditor=null,this.render()}attachmentEditorDidRequestUpdatingAttributesForAttachment(t,e){var i,n;return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillUpdateAttachment)||void 0===n||n.call(i,e),this.composition.updateAttributesForAttachment(t,e)}attachmentEditorDidRequestRemovingAttributeForAttachment(t,e){var i,n;return null===(i=this.delegate)||void 0===i||null===(n=i.compositionControllerWillUpdateAttachment)||void 0===n||n.call(i,e),this.composition.removeAttributeForAttachment(t,e)}attachmentEditorDidRequestRemovalOfAttachment(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidRequestRemovalOfAttachment)||void 0===i?void 0:i.call(e,t)}attachmentEditorDidRequestDeselectingAttachment(t){var e,i;return null===(e=this.delegate)||void 0===e||null===(i=e.compositionControllerDidRequestDeselectingAttachment)||void 0===i?void 0:i.call(e,t)}canSyncDocumentView(){return!this.isEditingAttachment()}findAttachmentForElement(t){return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId,10))}}class Fi extends U{}const Bi=\"[\".concat(\"data-trix-mutable\",\"]\"),Ii={attributes:!0,childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0};class Pi extends U{constructor(t){super(t),this.didMutate=this.didMutate.bind(this),this.element=t,this.observer=new window.MutationObserver(this.didMutate),this.start()}start(){return this.reset(),this.observer.observe(this.element,Ii)}stop(){return this.observer.disconnect()}didMutate(t){var e,i;if(this.mutations.push(...Array.from(this.findSignificantMutations(t)||[])),this.mutations.length)return null===(e=this.delegate)||void 0===e||null===(i=e.elementDidMutate)||void 0===i||i.call(e,this.getMutationSummary()),this.reset()}reset(){this.mutations=[]}findSignificantMutations(t){return t.filter((t=>this.mutationIsSignificant(t)))}mutationIsSignificant(t){if(this.nodeIsMutable(t.target))return!1;for(const e of Array.from(this.nodesModifiedByMutation(t)))if(this.nodeIsSignificant(e))return!0;return!1}nodeIsSignificant(t){return t!==this.element&&!this.nodeIsMutable(t)&&!B(t)}nodeIsMutable(t){return p(t,{matchingSelector:Bi})}nodesModifiedByMutation(t){const e=[];switch(t.type){case\"attributes\":\"data-trix-mutable\"!==t.attributeName&&e.push(t.target);break;case\"characterData\":e.push(t.target.parentNode),e.push(t.target);break;case\"childList\":e.push(...Array.from(t.addedNodes||[])),e.push(...Array.from(t.removedNodes||[]))}return e}getMutationSummary(){return this.getTextMutationSummary()}getTextMutationSummary(){const{additions:t,deletions:e}=this.getTextChangesFromCharacterData(),i=this.getTextChangesFromChildList();Array.from(i.additions).forEach((e=>{Array.from(t).includes(e)||t.push(e)})),e.push(...Array.from(i.deletions||[]));const n={},r=t.join(\"\");r&&(n.textAdded=r);const o=e.join(\"\");return o&&(n.textDeleted=o),n}getMutationsByType(t){return Array.from(this.mutations).filter((e=>e.type===t))}getTextChangesFromChildList(){let t,e;const i=[],n=[];Array.from(this.getMutationsByType(\"childList\")).forEach((t=>{i.push(...Array.from(t.addedNodes||[])),n.push(...Array.from(t.removedNodes||[]))}));0===i.length&&1===n.length&&D(n[0])?(t=[],e=[\"\\n\"]):(t=Ni(i),e=Ni(n));return{additions:t.filter(((t,i)=>t!==e[i])).map(Mt),deletions:e.filter(((e,i)=>e!==t[i])).map(Mt)}}getTextChangesFromCharacterData(){let t,e;const i=this.getMutationsByType(\"characterData\");if(i.length){const n=i[0],r=i[i.length-1],o=function(t,e){let i,n;return t=K.box(t),(e=K.box(e)).length0&&void 0!==arguments[0]?arguments[0]:[];const e=[];for(const i of Array.from(t))switch(i.nodeType){case Node.TEXT_NODE:e.push(i.data);break;case Node.ELEMENT_NODE:\"br\"===y(i)?e.push(\"\\n\"):e.push(...Array.from(Ni(i.childNodes)||[]))}return e};class Oi extends Qt{constructor(t){super(...arguments),this.file=t}perform(t){const e=new FileReader;return e.onerror=()=>t(!1),e.onload=()=>{e.onerror=null;try{e.abort()}catch(t){}return t(!0,this.file)},e.readAsArrayBuffer(this.file)}}class Mi{constructor(t){this.element=t}shouldIgnore(t){return!!o.samsungAndroid&&(this.previousEvent=this.event,this.event=t,this.checkSamsungKeyboardBuggyModeStart(),this.checkSamsungKeyboardBuggyModeEnd(),this.buggyMode)}checkSamsungKeyboardBuggyModeStart(){this.insertingLongTextAfterUnidentifiedChar()&&ji(this.element.innerText,this.event.data)&&(this.buggyMode=!0,this.event.preventDefault())}checkSamsungKeyboardBuggyModeEnd(){this.buggyMode&&\"insertText\"!==this.event.inputType&&(this.buggyMode=!1)}insertingLongTextAfterUnidentifiedChar(){var t;return this.isBeforeInputInsertText()&&this.previousEventWasUnidentifiedKeydown()&&(null===(t=this.event.data)||void 0===t?void 0:t.length)>50}isBeforeInputInsertText(){return\"beforeinput\"===this.event.type&&\"insertText\"===this.event.inputType}previousEventWasUnidentifiedKeydown(){var t,e;return\"keydown\"===(null===(t=this.previousEvent)||void 0===t?void 0:t.type)&&\"Unidentified\"===(null===(e=this.previousEvent)||void 0===e?void 0:e.key)}}const ji=(t,e)=>Ui(t)===Ui(e),Wi=new RegExp(\"(\".concat(\"\",\"|\").concat(\"\\ufeff\",\"|\").concat(\" \",\"|\\\\s)+\"),\"g\"),Ui=t=>t.replace(Wi,\" \").trim();class qi extends U{constructor(t){super(...arguments),this.element=t,this.mutationObserver=new Pi(this.element),this.mutationObserver.delegate=this,this.flakyKeyboardDetector=new Mi(this.element);for(const t in this.constructor.events)d(t,{onElement:this.element,withCallback:this.handlerFor(t)})}elementDidMutate(t){}editorWillSyncDocumentView(){return this.mutationObserver.stop()}editorDidSyncDocumentView(){return this.mutationObserver.start()}requestRender(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidRequestRender)||void 0===e?void 0:e.call(t)}requestReparse(){var t,e;return null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidRequestReparse)||void 0===e||e.call(t),this.requestRender()}attachFiles(t){const e=Array.from(t).map((t=>new Oi(t)));return Promise.all(e).then((t=>{this.handleInput((function(){var e,i;return null===(e=this.delegate)||void 0===e||e.inputControllerWillAttachFiles(),null===(i=this.responder)||void 0===i||i.insertFiles(t),this.requestRender()}))}))}handlerFor(t){return e=>{e.defaultPrevented||this.handleInput((()=>{if(!f(this.element)){if(this.flakyKeyboardDetector.shouldIgnore(e))return;this.eventName=t,this.constructor.events[t].call(this,e)}}))}}handleInput(t){try{var e;null===(e=this.delegate)||void 0===e||e.inputControllerWillHandleInput(),t.call(this)}finally{var i;null===(i=this.delegate)||void 0===i||i.inputControllerDidHandleInput()}}createLinkHTML(t,e){const i=document.createElement(\"a\");return i.href=t,i.textContent=e||t,i.outerHTML}}var Vi;be(qi,\"events\",{});const{browser:zi,keyNames:_i}=W;let Hi=0;class Ji extends qi{constructor(){super(...arguments),this.resetInputSummary()}setInputSummary(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.inputSummary.eventName=this.eventName;for(const e in t){const i=t[e];this.inputSummary[e]=i}return this.inputSummary}resetInputSummary(){this.inputSummary={}}reset(){return this.resetInputSummary(),Ft.reset()}elementDidMutate(t){var e,i;return this.isComposing()?null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidAllowUnhandledInput)||void 0===i?void 0:i.call(e):this.handleInput((function(){return this.mutationIsSignificant(t)&&(this.mutationIsExpected(t)?this.requestRender():this.requestReparse()),this.reset()}))}mutationIsExpected(t){let{textAdded:e,textDeleted:i}=t;if(this.inputSummary.preferDocument)return!0;const n=null!=e?e===this.inputSummary.textAdded:!this.inputSummary.textAdded,r=null!=i?this.inputSummary.didDelete:!this.inputSummary.didDelete,o=[\"\\n\",\" \\n\"].includes(e)&&!n,s=\"\\n\"===i&&!r;if(o&&!s||s&&!o){const t=this.getSelectedRange();if(t){var a;const i=o?e.replace(/\\n$/,\"\").length||-1:(null==e?void 0:e.length)||1;if(null!==(a=this.responder)&&void 0!==a&&a.positionIsBlockBreak(t[1]+i))return!0}}return n&&r}mutationIsSignificant(t){var e;const i=Object.keys(t).length>0,n=\"\"===(null===(e=this.compositionInput)||void 0===e?void 0:e.getEndData());return i||!n}getCompositionInput(){if(this.isComposing())return this.compositionInput;this.compositionInput=new Yi(this)}isComposing(){return this.compositionInput&&!this.compositionInput.isEnded()}deleteInDirection(t,e){var i;return!1!==(null===(i=this.responder)||void 0===i?void 0:i.deleteInDirection(t))?this.setInputSummary({didDelete:!0}):e?(e.preventDefault(),this.requestRender()):void 0}serializeSelectionToDataTransfer(t){var e;if(!function(t){if(null==t||!t.setData)return!1;for(const e in vt){const i=vt[e];try{if(t.setData(e,i),!t.getData(e)===i)return!1}catch(t){return!1}}return!0}(t))return;const i=null===(e=this.responder)||void 0===e?void 0:e.getSelectedDocument().toSerializableDocument();return t.setData(\"application/x-trix-document\",JSON.stringify(i)),t.setData(\"text/html\",ue.render(i).innerHTML),t.setData(\"text/plain\",i.toString().replace(/\\n$/,\"\")),!0}canAcceptDataTransfer(t){const e={};return Array.from((null==t?void 0:t.types)||[]).forEach((t=>{e[t]=!0})),e.Files||e[\"application/x-trix-document\"]||e[\"text/html\"]||e[\"text/plain\"]}getPastedHTMLUsingHiddenElement(t){const e=this.getSelectedRange(),i={position:\"absolute\",left:\"\".concat(window.pageXOffset,\"px\"),top:\"\".concat(window.pageYOffset,\"px\"),opacity:0},n=C({style:i,tagName:\"div\",editable:!0});return document.body.appendChild(n),n.focus(),requestAnimationFrame((()=>{const i=n.innerHTML;return A(n),this.setSelectedRange(e),t(i)}))}}be(Ji,\"events\",{keydown(t){this.isComposing()||this.resetInputSummary(),this.inputSummary.didInput=!0;const e=_i[t.keyCode];if(e){var i;let n=this.keys;[\"ctrl\",\"alt\",\"shift\",\"meta\"].forEach((e=>{var i;t[\"\".concat(e,\"Key\")]&&(\"ctrl\"===e&&(e=\"control\"),n=null===(i=n)||void 0===i?void 0:i[e])})),null!=(null===(i=n)||void 0===i?void 0:i[e])&&(this.setInputSummary({keyName:e}),Ft.reset(),n[e].call(this,t))}if(xt(t)){const e=String.fromCharCode(t.keyCode).toLowerCase();if(e){var n;const i=[\"alt\",\"shift\"].map((e=>{if(t[\"\".concat(e,\"Key\")])return e})).filter((t=>t));i.push(e),null!==(n=this.delegate)&&void 0!==n&&n.inputControllerDidReceiveKeyboardCommand(i)&&t.preventDefault()}}},keypress(t){if(null!=this.inputSummary.eventName)return;if(t.metaKey)return;if(t.ctrlKey&&!t.altKey)return;const e=$i(t);var i,n;return e?(null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformTyping(),null===(n=this.responder)||void 0===n||n.insertString(e),this.setInputSummary({textAdded:e,didDelete:this.selectionIsExpanded()})):void 0},textInput(t){const{data:e}=t,{textAdded:i}=this.inputSummary;if(i&&i!==e&&i.toUpperCase()===e){var n;const t=this.getSelectedRange();return this.setSelectedRange([t[0],t[1]+i.length]),null===(n=this.responder)||void 0===n||n.insertString(e),this.setInputSummary({textAdded:e}),this.setSelectedRange(t)}},dragenter(t){t.preventDefault()},dragstart(t){var e,i;return this.serializeSelectionToDataTransfer(t.dataTransfer),this.draggedRange=this.getSelectedRange(),null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidStartDrag)||void 0===i?void 0:i.call(e)},dragover(t){if(this.draggedRange||this.canAcceptDataTransfer(t.dataTransfer)){t.preventDefault();const n={x:t.clientX,y:t.clientY};var e,i;if(!Rt(n,this.draggingPoint))return this.draggingPoint=n,null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidReceiveDragOverPoint)||void 0===i?void 0:i.call(e,this.draggingPoint)}},dragend(t){var e,i;null===(e=this.delegate)||void 0===e||null===(i=e.inputControllerDidCancelDrag)||void 0===i||i.call(e),this.draggedRange=null,this.draggingPoint=null},drop(t){var e,i;t.preventDefault();const n=null===(e=t.dataTransfer)||void 0===e?void 0:e.files,r=t.dataTransfer.getData(\"application/x-trix-document\"),o={x:t.clientX,y:t.clientY};if(null===(i=this.responder)||void 0===i||i.setLocationRangeFromPointRange(o),null!=n&&n.length)this.attachFiles(n);else if(this.draggedRange){var s,a;null===(s=this.delegate)||void 0===s||s.inputControllerWillMoveText(),null===(a=this.responder)||void 0===a||a.moveTextFromRange(this.draggedRange),this.draggedRange=null,this.requestRender()}else if(r){var l;const t=je.fromJSONString(r);null===(l=this.responder)||void 0===l||l.insertDocument(t),this.requestRender()}this.draggedRange=null,this.draggingPoint=null},cut(t){var e,i;if(null!==(e=this.responder)&&void 0!==e&&e.selectionIsExpanded()&&(this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault(),null===(i=this.delegate)||void 0===i||i.inputControllerWillCutText(),this.deleteInDirection(\"backward\"),t.defaultPrevented))return this.requestRender()},copy(t){var e;null!==(e=this.responder)&&void 0!==e&&e.selectionIsExpanded()&&this.serializeSelectionToDataTransfer(t.clipboardData)&&t.preventDefault()},paste(t){const e=t.clipboardData||t.testClipboardData,i={clipboard:e};if(!e||Xi(t))return void this.getPastedHTMLUsingHiddenElement((t=>{var e,n,r;return i.type=\"text/html\",i.html=t,null===(e=this.delegate)||void 0===e||e.inputControllerWillPaste(i),null===(n=this.responder)||void 0===n||n.insertHTML(i.html),this.requestRender(),null===(r=this.delegate)||void 0===r?void 0:r.inputControllerDidPaste(i)}));const n=e.getData(\"URL\"),r=e.getData(\"text/html\"),o=e.getData(\"public.url-name\");if(n){var s,a,l;let t;i.type=\"text/html\",t=o?Wt(o).trim():n,i.html=this.createLinkHTML(n,t),null===(s=this.delegate)||void 0===s||s.inputControllerWillPaste(i),this.setInputSummary({textAdded:t,didDelete:this.selectionIsExpanded()}),null===(a=this.responder)||void 0===a||a.insertHTML(i.html),this.requestRender(),null===(l=this.delegate)||void 0===l||l.inputControllerDidPaste(i)}else if(At(e)){var c,h,u;i.type=\"text/plain\",i.string=e.getData(\"text/plain\"),null===(c=this.delegate)||void 0===c||c.inputControllerWillPaste(i),this.setInputSummary({textAdded:i.string,didDelete:this.selectionIsExpanded()}),null===(h=this.responder)||void 0===h||h.insertString(i.string),this.requestRender(),null===(u=this.delegate)||void 0===u||u.inputControllerDidPaste(i)}else if(r){var d,g,m;i.type=\"text/html\",i.html=r,null===(d=this.delegate)||void 0===d||d.inputControllerWillPaste(i),null===(g=this.responder)||void 0===g||g.insertHTML(i.html),this.requestRender(),null===(m=this.delegate)||void 0===m||m.inputControllerDidPaste(i)}else if(Array.from(e.types).includes(\"Files\")){var p,f,b;const t=null===(p=e.items)||void 0===p||null===(f=p[0])||void 0===f||null===(b=f.getAsFile)||void 0===b?void 0:b.call(f);if(t){var v,A,x;const e=Ki(t);!t.name&&e&&(t.name=\"pasted-file-\".concat(++Hi,\".\").concat(e)),i.type=\"File\",i.file=t,null===(v=this.delegate)||void 0===v||v.inputControllerWillAttachFiles(),null===(A=this.responder)||void 0===A||A.insertFile(i.file),this.requestRender(),null===(x=this.delegate)||void 0===x||x.inputControllerDidPaste(i)}}t.preventDefault()},compositionstart(t){return this.getCompositionInput().start(t.data)},compositionupdate(t){return this.getCompositionInput().update(t.data)},compositionend(t){return this.getCompositionInput().end(t.data)},beforeinput(t){this.inputSummary.didInput=!0},input(t){return this.inputSummary.didInput=!0,t.stopPropagation()}}),be(Ji,\"keys\",{backspace(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},delete(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},return(t){var e,i;return this.setInputSummary({preferDocument:!0}),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i?void 0:i.insertLineBreak()},tab(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.canIncreaseNestingLevel()&&(null===(i=this.responder)||void 0===i||i.increaseNestingLevel(),this.requestRender(),t.preventDefault())},left(t){var e;if(this.selectionIsInCursorTarget())return t.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"backward\")},right(t){var e;if(this.selectionIsInCursorTarget())return t.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"forward\")},control:{d(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"forward\",t)},h(t){var e;return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),this.deleteInDirection(\"backward\",t)},o(t){var e,i;return t.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.insertString(\"\\n\",{updatePosition:!1}),this.requestRender()}},shift:{return(t){var e,i;null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.insertString(\"\\n\"),this.requestRender(),t.preventDefault()},tab(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.canDecreaseNestingLevel()&&(null===(i=this.responder)||void 0===i||i.decreaseNestingLevel(),this.requestRender(),t.preventDefault())},left(t){if(this.selectionIsInCursorTarget())return t.preventDefault(),this.expandSelectionInDirection(\"backward\")},right(t){if(this.selectionIsInCursorTarget())return t.preventDefault(),this.expandSelectionInDirection(\"forward\")}},alt:{backspace(t){var e;return this.setInputSummary({preferDocument:!1}),null===(e=this.delegate)||void 0===e?void 0:e.inputControllerWillPerformTyping()}},meta:{backspace(t){var e;return this.setInputSummary({preferDocument:!1}),null===(e=this.delegate)||void 0===e?void 0:e.inputControllerWillPerformTyping()}}}),Ji.proxyMethod(\"responder?.getSelectedRange\"),Ji.proxyMethod(\"responder?.setSelectedRange\"),Ji.proxyMethod(\"responder?.expandSelectionInDirection\"),Ji.proxyMethod(\"responder?.selectionIsInCursorTarget\"),Ji.proxyMethod(\"responder?.selectionIsExpanded\");const Ki=t=>{var e,i;return null===(e=t.type)||void 0===e||null===(i=e.match(/\\/(\\w+)$/))||void 0===i?void 0:i[1]},Gi=!(null===(Vi=\" \".codePointAt)||void 0===Vi||!Vi.call(\" \",0)),$i=function(t){if(t.key&&Gi&&t.key.codePointAt(0)===t.keyCode)return t.key;{let e;if(null===t.which?e=t.keyCode:0!==t.which&&0!==t.charCode&&(e=t.charCode),null!=e&&\"escape\"!==_i[e])return K.fromCodepoints([e]).toString()}},Xi=function(t){const e=t.clipboardData;if(e){if(e.types.includes(\"text/html\")){for(const t of e.types){const i=/^CorePasteboardFlavorType/.test(t),n=/^dyn\\./.test(t)&&e.getData(t);if(i||n)return!0}return!1}{const t=e.types.includes(\"com.apple.webarchive\"),i=e.types.includes(\"com.apple.flat-rtfd\");return t||i}}};class Yi extends U{constructor(t){super(...arguments),this.inputController=t,this.responder=this.inputController.responder,this.delegate=this.inputController.delegate,this.inputSummary=this.inputController.inputSummary,this.data={}}start(t){if(this.data.start=t,this.isSignificant()){var e,i;if(\"keypress\"===this.inputSummary.eventName&&this.inputSummary.textAdded)null===(i=this.responder)||void 0===i||i.deleteInDirection(\"left\");this.selectionIsExpanded()||(this.insertPlaceholder(),this.requestRender()),this.range=null===(e=this.responder)||void 0===e?void 0:e.getSelectedRange()}}update(t){if(this.data.update=t,this.isSignificant()){const t=this.selectPlaceholder();t&&(this.forgetPlaceholder(),this.range=t)}}end(t){return this.data.end=t,this.isSignificant()?(this.forgetPlaceholder(),this.canApplyToDocument()?(this.setInputSummary({preferDocument:!0,didInput:!1}),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.setSelectedRange(this.range),null===(n=this.responder)||void 0===n||n.insertString(this.data.end),null===(r=this.responder)||void 0===r?void 0:r.setSelectedRange(this.range[0]+this.data.end.length)):null!=this.data.start||null!=this.data.update?(this.requestReparse(),this.inputController.reset()):void 0):this.inputController.reset();var e,i,n,r}getEndData(){return this.data.end}isEnded(){return null!=this.getEndData()}isSignificant(){return!zi.composesExistingText||this.inputSummary.didInput}canApplyToDocument(){var t,e;return 0===(null===(t=this.data.start)||void 0===t?void 0:t.length)&&(null===(e=this.data.end)||void 0===e?void 0:e.length)>0&&this.range}}Yi.proxyMethod(\"inputController.setInputSummary\"),Yi.proxyMethod(\"inputController.requestRender\"),Yi.proxyMethod(\"inputController.requestReparse\"),Yi.proxyMethod(\"responder?.selectionIsExpanded\"),Yi.proxyMethod(\"responder?.insertPlaceholder\"),Yi.proxyMethod(\"responder?.selectPlaceholder\"),Yi.proxyMethod(\"responder?.forgetPlaceholder\");class Qi extends qi{constructor(){super(...arguments),this.render=this.render.bind(this)}elementDidMutate(){return this.scheduledRender?this.composing?null===(t=this.delegate)||void 0===t||null===(e=t.inputControllerDidAllowUnhandledInput)||void 0===e?void 0:e.call(t):void 0:this.reparse();var t,e}scheduleRender(){return this.scheduledRender?this.scheduledRender:this.scheduledRender=requestAnimationFrame(this.render)}render(){var t,e;(cancelAnimationFrame(this.scheduledRender),this.scheduledRender=null,this.composing)||(null===(e=this.delegate)||void 0===e||e.render());null===(t=this.afterRender)||void 0===t||t.call(this),this.afterRender=null}reparse(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.reparse()}insertString(){var t;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",i=arguments.length>1?arguments[1]:void 0;return null===(t=this.delegate)||void 0===t||t.inputControllerWillPerformTyping(),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertString(e,i)}))}toggleAttributeIfSupported(t){var e;if(ct().includes(t))return null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformFormatting(t),this.withTargetDOMRange((function(){var e;return null===(e=this.responder)||void 0===e?void 0:e.toggleCurrentAttribute(t)}))}activateAttributeIfSupported(t,e){var i;if(ct().includes(t))return null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformFormatting(t),this.withTargetDOMRange((function(){var i;return null===(i=this.responder)||void 0===i?void 0:i.setCurrentAttribute(t,e)}))}deleteInDirection(t){let{recordUndoEntry:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{recordUndoEntry:!0};var i;e&&(null===(i=this.delegate)||void 0===i||i.inputControllerWillPerformTyping());const n=()=>{var e;return null===(e=this.responder)||void 0===e?void 0:e.deleteInDirection(t)},r=this.getTargetDOMRange({minLength:2});return r?this.withTargetDOMRange(r,n):n()}withTargetDOMRange(t,e){var i;return\"function\"==typeof t&&(e=t,t=this.getTargetDOMRange()),t?null===(i=this.responder)||void 0===i?void 0:i.withTargetDOMRange(t,e.bind(this)):(Ft.reset(),e.call(this))}getTargetDOMRange(){var t,e;let{minLength:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{minLength:0};const n=null===(t=(e=this.event).getTargetRanges)||void 0===t?void 0:t.call(e);if(n&&n.length){const t=Zi(n[0]);if(0===i||t.toString().length>=i)return t}}withEvent(t,e){let i;this.event=t;try{i=e.call(this)}finally{this.event=null}return i}}be(Qi,\"events\",{keydown(t){if(xt(t)){var e;const i=rn(t);null!==(e=this.delegate)&&void 0!==e&&e.inputControllerDidReceiveKeyboardCommand(i)&&t.preventDefault()}else{let e=t.key;t.altKey&&(e+=\"+Alt\"),t.shiftKey&&(e+=\"+Shift\");const i=this.constructor.keys[e];if(i)return this.withEvent(t,i)}},paste(t){var e;let i;const n=null===(e=t.clipboardData)||void 0===e?void 0:e.getData(\"URL\");return en(t)?(t.preventDefault(),this.attachFiles(t.clipboardData.files)):nn(t)?(t.preventDefault(),i={type:\"text/plain\",string:t.clipboardData.getData(\"text/plain\")},null===(r=this.delegate)||void 0===r||r.inputControllerWillPaste(i),null===(o=this.responder)||void 0===o||o.insertString(i.string),this.render(),null===(s=this.delegate)||void 0===s?void 0:s.inputControllerDidPaste(i)):n?(t.preventDefault(),i={type:\"text/html\",html:this.createLinkHTML(n)},null===(a=this.delegate)||void 0===a||a.inputControllerWillPaste(i),null===(l=this.responder)||void 0===l||l.insertHTML(i.html),this.render(),null===(c=this.delegate)||void 0===c?void 0:c.inputControllerDidPaste(i)):void 0;var r,o,s,a,l,c},beforeinput(t){const e=this.constructor.inputTypes[t.inputType];e&&(this.withEvent(t,e),this.scheduleRender())},input(t){Ft.reset()},dragstart(t){var e,i;null!==(e=this.responder)&&void 0!==e&&e.selectionContainsAttachments()&&(t.dataTransfer.setData(\"application/x-trix-dragging\",!0),this.dragging={range:null===(i=this.responder)||void 0===i?void 0:i.getSelectedRange(),point:on(t)})},dragenter(t){tn(t)&&t.preventDefault()},dragover(t){if(this.dragging){t.preventDefault();const i=on(t);var e;if(!Rt(i,this.dragging.point))return this.dragging.point=i,null===(e=this.responder)||void 0===e?void 0:e.setLocationRangeFromPointRange(i)}else tn(t)&&t.preventDefault()},drop(t){var e,i;if(this.dragging)return t.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillMoveText(),null===(i=this.responder)||void 0===i||i.moveTextFromRange(this.dragging.range),this.dragging=null,this.scheduleRender();if(tn(t)){var n;t.preventDefault();const e=on(t);return null===(n=this.responder)||void 0===n||n.setLocationRangeFromPointRange(e),this.attachFiles(t.dataTransfer.files)}},dragend(){var t;this.dragging&&(null===(t=this.responder)||void 0===t||t.setSelectedRange(this.dragging.range),this.dragging=null)},compositionend(t){this.composing&&(this.composing=!1,o.recentAndroid||this.scheduleRender())}}),be(Qi,\"keys\",{ArrowLeft(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageMovingCursorInDirection(\"backward\"))return this.event.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"backward\")},ArrowRight(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageMovingCursorInDirection(\"forward\"))return this.event.preventDefault(),null===(e=this.responder)||void 0===e?void 0:e.moveCursorInDirection(\"forward\")},Backspace(){var t,e,i;if(null!==(t=this.responder)&&void 0!==t&&t.shouldManageDeletingInDirection(\"backward\"))return this.event.preventDefault(),null===(e=this.delegate)||void 0===e||e.inputControllerWillPerformTyping(),null===(i=this.responder)||void 0===i||i.deleteInDirection(\"backward\"),this.render()},Tab(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.canIncreaseNestingLevel())return this.event.preventDefault(),null===(e=this.responder)||void 0===e||e.increaseNestingLevel(),this.render()},\"Tab+Shift\"(){var t,e;if(null!==(t=this.responder)&&void 0!==t&&t.canDecreaseNestingLevel())return this.event.preventDefault(),null===(e=this.responder)||void 0===e||e.decreaseNestingLevel(),this.render()}}),be(Qi,\"inputTypes\",{deleteByComposition(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteByCut(){return this.deleteInDirection(\"backward\")},deleteByDrag(){return this.event.preventDefault(),this.withTargetDOMRange((function(){var t;this.deleteByDragRange=null===(t=this.responder)||void 0===t?void 0:t.getSelectedRange()}))},deleteCompositionText(){return this.deleteInDirection(\"backward\",{recordUndoEntry:!1})},deleteContent(){return this.deleteInDirection(\"backward\")},deleteContentBackward(){return this.deleteInDirection(\"backward\")},deleteContentForward(){return this.deleteInDirection(\"forward\")},deleteEntireSoftLine(){return this.deleteInDirection(\"forward\")},deleteHardLineBackward(){return this.deleteInDirection(\"backward\")},deleteHardLineForward(){return this.deleteInDirection(\"forward\")},deleteSoftLineBackward(){return this.deleteInDirection(\"backward\")},deleteSoftLineForward(){return this.deleteInDirection(\"forward\")},deleteWordBackward(){return this.deleteInDirection(\"backward\")},deleteWordForward(){return this.deleteInDirection(\"forward\")},formatBackColor(){return this.activateAttributeIfSupported(\"backgroundColor\",this.event.data)},formatBold(){return this.toggleAttributeIfSupported(\"bold\")},formatFontColor(){return this.activateAttributeIfSupported(\"color\",this.event.data)},formatFontName(){return this.activateAttributeIfSupported(\"font\",this.event.data)},formatIndent(){var t;if(null!==(t=this.responder)&&void 0!==t&&t.canIncreaseNestingLevel())return this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.increaseNestingLevel()}))},formatItalic(){return this.toggleAttributeIfSupported(\"italic\")},formatJustifyCenter(){return this.toggleAttributeIfSupported(\"justifyCenter\")},formatJustifyFull(){return this.toggleAttributeIfSupported(\"justifyFull\")},formatJustifyLeft(){return this.toggleAttributeIfSupported(\"justifyLeft\")},formatJustifyRight(){return this.toggleAttributeIfSupported(\"justifyRight\")},formatOutdent(){var t;if(null!==(t=this.responder)&&void 0!==t&&t.canDecreaseNestingLevel())return this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.decreaseNestingLevel()}))},formatRemove(){this.withTargetDOMRange((function(){for(const i in null===(t=this.responder)||void 0===t?void 0:t.getCurrentAttributes()){var t,e;null===(e=this.responder)||void 0===e||e.removeCurrentAttribute(i)}}))},formatSetBlockTextDirection(){return this.activateAttributeIfSupported(\"blockDir\",this.event.data)},formatSetInlineTextDirection(){return this.activateAttributeIfSupported(\"textDir\",this.event.data)},formatStrikeThrough(){return this.toggleAttributeIfSupported(\"strike\")},formatSubscript(){return this.toggleAttributeIfSupported(\"sub\")},formatSuperscript(){return this.toggleAttributeIfSupported(\"sup\")},formatUnderline(){return this.toggleAttributeIfSupported(\"underline\")},historyRedo(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerWillPerformRedo()},historyUndo(){var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerWillPerformUndo()},insertCompositionText(){return this.composing=!0,this.insertString(this.event.data)},insertFromComposition(){return this.composing=!1,this.insertString(this.event.data)},insertFromDrop(){const t=this.deleteByDragRange;var e;if(t)return this.deleteByDragRange=null,null===(e=this.delegate)||void 0===e||e.inputControllerWillMoveText(),this.withTargetDOMRange((function(){var e;return null===(e=this.responder)||void 0===e?void 0:e.moveTextFromRange(t)}))},insertFromPaste(){var t;const{dataTransfer:e}=this.event,i={dataTransfer:e},n=e.getData(\"URL\"),r=e.getData(\"text/html\");if(n){var o;let t;this.event.preventDefault(),i.type=\"text/html\";const r=e.getData(\"public.url-name\");t=r?Wt(r).trim():n,i.html=this.createLinkHTML(n,t),null===(o=this.delegate)||void 0===o||o.inputControllerWillPaste(i),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertHTML(i.html)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(i)}}else if(At(e)){var s;i.type=\"text/plain\",i.string=e.getData(\"text/plain\"),null===(s=this.delegate)||void 0===s||s.inputControllerWillPaste(i),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertString(i.string)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(i)}}else if(r){var a;this.event.preventDefault(),i.type=\"text/html\",i.html=r,null===(a=this.delegate)||void 0===a||a.inputControllerWillPaste(i),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertHTML(i.html)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(i)}}else if(null!==(t=e.files)&&void 0!==t&&t.length){var l;i.type=\"File\",i.file=e.files[0],null===(l=this.delegate)||void 0===l||l.inputControllerWillPaste(i),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertFile(i.file)})),this.afterRender=()=>{var t;return null===(t=this.delegate)||void 0===t?void 0:t.inputControllerDidPaste(i)}}},insertFromYank(){return this.insertString(this.event.data)},insertLineBreak(){return this.insertString(\"\\n\")},insertLink(){return this.activateAttributeIfSupported(\"href\",this.event.data)},insertOrderedList(){return this.toggleAttributeIfSupported(\"number\")},insertParagraph(){var t;return null===(t=this.delegate)||void 0===t||t.inputControllerWillPerformTyping(),this.withTargetDOMRange((function(){var t;return null===(t=this.responder)||void 0===t?void 0:t.insertLineBreak()}))},insertReplacementText(){return this.insertString(this.event.dataTransfer.getData(\"text/plain\"),{updatePosition:!1})},insertText(){var t;return this.insertString(this.event.data||(null===(t=this.event.dataTransfer)||void 0===t?void 0:t.getData(\"text/plain\")))},insertTranspose(){return this.insertString(this.event.data)},insertUnorderedList(){return this.toggleAttributeIfSupported(\"bullet\")}});const Zi=function(t){const e=document.createRange();return e.setStart(t.startContainer,t.startOffset),e.setEnd(t.endContainer,t.endOffset),e},tn=t=>{var e;return Array.from((null===(e=t.dataTransfer)||void 0===e?void 0:e.types)||[]).includes(\"Files\")},en=function(t){const e=t.clipboardData;if(e)return e.types.includes(\"Files\")&&1===e.types.length&&e.files.length>=1},nn=function(t){const e=t.clipboardData;if(e)return e.types.includes(\"text/plain\")&&1===e.types.length},rn=function(t){const e=[];return t.altKey&&e.push(\"alt\"),t.shiftKey&&e.push(\"shift\"),e.push(t.key),e},on=t=>({x:t.clientX,y:t.clientY}),sn=\"\".concat(\"[data-trix-attribute]\",\", \").concat(\"[data-trix-action]\"),an=\"\".concat(\"[data-trix-dialog]\",\"[data-trix-active]\"),ln=\"\".concat(\"[data-trix-dialog]\",\" [data-trix-method]\"),cn=\"\".concat(\"[data-trix-dialog]\",\" [data-trix-input]\"),hn=(t,e)=>(e||(e=dn(t)),t.querySelector(\"[data-trix-input][name='\".concat(e,\"']\"))),un=t=>t.getAttribute(\"data-trix-action\"),dn=t=>t.getAttribute(\"data-trix-attribute\")||t.getAttribute(\"data-trix-dialog-attribute\");class gn extends U{constructor(t){super(t),this.didClickActionButton=this.didClickActionButton.bind(this),this.didClickAttributeButton=this.didClickAttributeButton.bind(this),this.didClickDialogButton=this.didClickDialogButton.bind(this),this.didKeyDownDialogInput=this.didKeyDownDialogInput.bind(this),this.element=t,this.attributes={},this.actions={},this.resetDialogInputs(),d(\"mousedown\",{onElement:this.element,matchingSelector:\"[data-trix-action]\",withCallback:this.didClickActionButton}),d(\"mousedown\",{onElement:this.element,matchingSelector:\"[data-trix-attribute]\",withCallback:this.didClickAttributeButton}),d(\"click\",{onElement:this.element,matchingSelector:sn,preventDefault:!0}),d(\"click\",{onElement:this.element,matchingSelector:ln,withCallback:this.didClickDialogButton}),d(\"keydown\",{onElement:this.element,matchingSelector:cn,withCallback:this.didKeyDownDialogInput})}didClickActionButton(t,e){var i;null===(i=this.delegate)||void 0===i||i.toolbarDidClickButton(),t.preventDefault();const n=un(e);return this.getDialog(n)?this.toggleDialog(n):null===(r=this.delegate)||void 0===r?void 0:r.toolbarDidInvokeAction(n);var r}didClickAttributeButton(t,e){var i;null===(i=this.delegate)||void 0===i||i.toolbarDidClickButton(),t.preventDefault();const n=dn(e);var r;this.getDialog(n)?this.toggleDialog(n):null===(r=this.delegate)||void 0===r||r.toolbarDidToggleAttribute(n);return this.refreshAttributeButtons()}didClickDialogButton(t,e){const i=p(e,{matchingSelector:\"[data-trix-dialog]\"});return this[e.getAttribute(\"data-trix-method\")].call(this,i)}didKeyDownDialogInput(t,e){if(13===t.keyCode){t.preventDefault();const i=e.getAttribute(\"name\"),n=this.getDialog(i);this.setAttribute(n)}if(27===t.keyCode)return t.preventDefault(),this.hideDialog()}updateActions(t){return this.actions=t,this.refreshActionButtons()}refreshActionButtons(){return this.eachActionButton(((t,e)=>{t.disabled=!1===this.actions[e]}))}eachActionButton(t){return Array.from(this.element.querySelectorAll(\"[data-trix-action]\")).map((e=>t(e,un(e))))}updateAttributes(t){return this.attributes=t,this.refreshAttributeButtons()}refreshAttributeButtons(){return this.eachAttributeButton(((t,e)=>(t.disabled=!1===this.attributes[e],this.attributes[e]||this.dialogIsVisible(e)?(t.setAttribute(\"data-trix-active\",\"\"),t.classList.add(\"trix-active\")):(t.removeAttribute(\"data-trix-active\"),t.classList.remove(\"trix-active\")))))}eachAttributeButton(t){return Array.from(this.element.querySelectorAll(\"[data-trix-attribute]\")).map((e=>t(e,dn(e))))}applyKeyboardCommand(t){const e=JSON.stringify(t.sort());for(const t of Array.from(this.element.querySelectorAll(\"[data-trix-key]\"))){const i=t.getAttribute(\"data-trix-key\").split(\"+\");if(JSON.stringify(i.sort())===e)return g(\"mousedown\",{onElement:t}),!0}return!1}dialogIsVisible(t){const e=this.getDialog(t);if(e)return e.hasAttribute(\"data-trix-active\")}toggleDialog(t){return this.dialogIsVisible(t)?this.hideDialog():this.showDialog(t)}showDialog(t){var e,i;this.hideDialog(),null===(e=this.delegate)||void 0===e||e.toolbarWillShowDialog();const n=this.getDialog(t);n.setAttribute(\"data-trix-active\",\"\"),n.classList.add(\"trix-active\"),Array.from(n.querySelectorAll(\"input[disabled]\")).forEach((t=>{t.removeAttribute(\"disabled\")}));const r=dn(n);if(r){const e=hn(n,t);e&&(e.value=this.attributes[r]||\"\",e.select())}return null===(i=this.delegate)||void 0===i?void 0:i.toolbarDidShowDialog(t)}setAttribute(t){const e=dn(t),i=hn(t,e);return i.willValidate&&!i.checkValidity()?(i.setAttribute(\"data-trix-validate\",\"\"),i.classList.add(\"trix-validate\"),i.focus()):(null===(n=this.delegate)||void 0===n||n.toolbarDidUpdateAttribute(e,i.value),this.hideDialog());var n}removeAttribute(t){var e;const i=dn(t);return null===(e=this.delegate)||void 0===e||e.toolbarDidRemoveAttribute(i),this.hideDialog()}hideDialog(){const t=this.element.querySelector(an);var e;if(t)return t.removeAttribute(\"data-trix-active\"),t.classList.remove(\"trix-active\"),this.resetDialogInputs(),null===(e=this.delegate)||void 0===e?void 0:e.toolbarDidHideDialog((t=>t.getAttribute(\"data-trix-dialog\"))(t))}resetDialogInputs(){Array.from(this.element.querySelectorAll(cn)).forEach((t=>{t.setAttribute(\"disabled\",\"disabled\"),t.removeAttribute(\"data-trix-validate\"),t.classList.remove(\"trix-validate\")}))}getDialog(t){return this.element.querySelector(\"[data-trix-dialog=\".concat(t,\"]\"))}}class mn extends Fi{constructor(t){let{editorElement:e,document:i,html:n}=t;super(...arguments),this.editorElement=e,this.selectionManager=new Ci(this.editorElement),this.selectionManager.delegate=this,this.composition=new ci,this.composition.delegate=this,this.attachmentManager=new ai(this.composition.getAttachments()),this.attachmentManager.delegate=this,this.inputController=2===P.getLevel()?new Qi(this.editorElement):new Ji(this.editorElement),this.inputController.delegate=this,this.inputController.responder=this.composition,this.compositionController=new Ti(this.editorElement,this.composition),this.compositionController.delegate=this,this.toolbarController=new gn(this.editorElement.toolbarElement),this.toolbarController.delegate=this,this.editor=new pi(this.composition,this.selectionManager,this.editorElement),i?this.editor.loadDocument(i):this.editor.loadHTML(n)}registerSelectionManager(){return Ft.registerSelectionManager(this.selectionManager)}unregisterSelectionManager(){return Ft.unregisterSelectionManager(this.selectionManager)}render(){return this.compositionController.render()}reparse(){return this.composition.replaceHTML(this.editorElement.innerHTML)}compositionDidChangeDocument(t){if(this.notifyEditorElement(\"document-change\"),!this.handlingInput)return this.render()}compositionDidChangeCurrentAttributes(t){return this.currentAttributes=t,this.toolbarController.updateAttributes(this.currentAttributes),this.updateCurrentActions(),this.notifyEditorElement(\"attributes-change\",{attributes:this.currentAttributes})}compositionDidPerformInsertionAtRange(t){this.pasting&&(this.pastedRange=t)}compositionShouldAcceptFile(t){return this.notifyEditorElement(\"file-accept\",{file:t})}compositionDidAddAttachment(t){const e=this.attachmentManager.manageAttachment(t);return this.notifyEditorElement(\"attachment-add\",{attachment:e})}compositionDidEditAttachment(t){this.compositionController.rerenderViewForObject(t);const e=this.attachmentManager.manageAttachment(t);return this.notifyEditorElement(\"attachment-edit\",{attachment:e}),this.notifyEditorElement(\"change\")}compositionDidChangeAttachmentPreviewURL(t){return this.compositionController.invalidateViewForObject(t),this.notifyEditorElement(\"change\")}compositionDidRemoveAttachment(t){const e=this.attachmentManager.unmanageAttachment(t);return this.notifyEditorElement(\"attachment-remove\",{attachment:e})}compositionDidStartEditingAttachment(t,e){return this.attachmentLocationRange=this.composition.document.getLocationRangeOfAttachment(t),this.compositionController.installAttachmentEditorForAttachment(t,e),this.selectionManager.setLocationRange(this.attachmentLocationRange)}compositionDidStopEditingAttachment(t){this.compositionController.uninstallAttachmentEditor(),this.attachmentLocationRange=null}compositionDidRequestChangingSelectionToLocationRange(t){if(!this.loadingSnapshot||this.isFocused())return this.requestedLocationRange=t,this.compositionRevisionWhenLocationRangeRequested=this.composition.revision,this.handlingInput?void 0:this.render()}compositionWillLoadSnapshot(){this.loadingSnapshot=!0}compositionDidLoadSnapshot(){this.compositionController.refreshViewCache(),this.render(),this.loadingSnapshot=!1}getSelectionManager(){return this.selectionManager}attachmentManagerDidRequestRemovalOfAttachment(t){return this.removeAttachment(t)}compositionControllerWillSyncDocumentView(){return this.inputController.editorWillSyncDocumentView(),this.selectionManager.lock(),this.selectionManager.clearSelection()}compositionControllerDidSyncDocumentView(){return this.inputController.editorDidSyncDocumentView(),this.selectionManager.unlock(),this.updateCurrentActions(),this.notifyEditorElement(\"sync\")}compositionControllerDidRender(){this.requestedLocationRange&&(this.compositionRevisionWhenLocationRangeRequested===this.composition.revision&&this.selectionManager.setLocationRange(this.requestedLocationRange),this.requestedLocationRange=null,this.compositionRevisionWhenLocationRangeRequested=null),this.renderedCompositionRevision!==this.composition.revision&&(this.runEditorFilters(),this.composition.updateCurrentAttributes(),this.notifyEditorElement(\"render\")),this.renderedCompositionRevision=this.composition.revision}compositionControllerDidFocus(){return this.isFocusedInvisibly()&&this.setLocationRange({index:0,offset:0}),this.toolbarController.hideDialog(),this.notifyEditorElement(\"focus\")}compositionControllerDidBlur(){return this.notifyEditorElement(\"blur\")}compositionControllerDidSelectAttachment(t,e){return this.toolbarController.hideDialog(),this.composition.editAttachment(t,e)}compositionControllerDidRequestDeselectingAttachment(t){const e=this.attachmentLocationRange||this.composition.document.getLocationRangeOfAttachment(t);return this.selectionManager.setLocationRange(e[1])}compositionControllerWillUpdateAttachment(t){return this.editor.recordUndoEntry(\"Edit Attachment\",{context:t.id,consolidatable:!0})}compositionControllerDidRequestRemovalOfAttachment(t){return this.removeAttachment(t)}inputControllerWillHandleInput(){this.handlingInput=!0,this.requestedRender=!1}inputControllerDidRequestRender(){this.requestedRender=!0}inputControllerDidHandleInput(){if(this.handlingInput=!1,this.requestedRender)return this.requestedRender=!1,this.render()}inputControllerDidAllowUnhandledInput(){return this.notifyEditorElement(\"change\")}inputControllerDidRequestReparse(){return this.reparse()}inputControllerWillPerformTyping(){return this.recordTypingUndoEntry()}inputControllerWillPerformFormatting(t){return this.recordFormattingUndoEntry(t)}inputControllerWillCutText(){return this.editor.recordUndoEntry(\"Cut\")}inputControllerWillPaste(t){return this.editor.recordUndoEntry(\"Paste\"),this.pasting=!0,this.notifyEditorElement(\"before-paste\",{paste:t})}inputControllerDidPaste(t){return t.range=this.pastedRange,this.pastedRange=null,this.pasting=null,this.notifyEditorElement(\"paste\",{paste:t})}inputControllerWillMoveText(){return this.editor.recordUndoEntry(\"Move\")}inputControllerWillAttachFiles(){return this.editor.recordUndoEntry(\"Drop Files\")}inputControllerWillPerformUndo(){return this.editor.undo()}inputControllerWillPerformRedo(){return this.editor.redo()}inputControllerDidReceiveKeyboardCommand(t){return this.toolbarController.applyKeyboardCommand(t)}inputControllerDidStartDrag(){this.locationRangeBeforeDrag=this.selectionManager.getLocationRange()}inputControllerDidReceiveDragOverPoint(t){return this.selectionManager.setLocationRangeFromPointRange(t)}inputControllerDidCancelDrag(){this.selectionManager.setLocationRange(this.locationRangeBeforeDrag),this.locationRangeBeforeDrag=null}locationRangeDidChange(t){return this.composition.updateCurrentAttributes(),this.updateCurrentActions(),this.attachmentLocationRange&&!kt(this.attachmentLocationRange,t)&&this.composition.stopEditingAttachment(),this.notifyEditorElement(\"selection-change\")}toolbarDidClickButton(){if(!this.getLocationRange())return this.setLocationRange({index:0,offset:0})}toolbarDidInvokeAction(t){return this.invokeAction(t)}toolbarDidToggleAttribute(t){if(this.recordFormattingUndoEntry(t),this.composition.toggleCurrentAttribute(t),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidUpdateAttribute(t,e){if(this.recordFormattingUndoEntry(t),this.composition.setCurrentAttribute(t,e),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarDidRemoveAttribute(t){if(this.recordFormattingUndoEntry(t),this.composition.removeCurrentAttribute(t),this.render(),!this.selectionFrozen)return this.editorElement.focus()}toolbarWillShowDialog(t){return this.composition.expandSelectionForEditing(),this.freezeSelection()}toolbarDidShowDialog(t){return this.notifyEditorElement(\"toolbar-dialog-show\",{dialogName:t})}toolbarDidHideDialog(t){return this.thawSelection(),this.editorElement.focus(),this.notifyEditorElement(\"toolbar-dialog-hide\",{dialogName:t})}freezeSelection(){if(!this.selectionFrozen)return this.selectionManager.lock(),this.composition.freezeSelection(),this.selectionFrozen=!0,this.render()}thawSelection(){if(this.selectionFrozen)return this.composition.thawSelection(),this.selectionManager.unlock(),this.selectionFrozen=!1,this.render()}canInvokeAction(t){return!!this.actionIsExternal(t)||!(null===(e=this.actions[t])||void 0===e||null===(i=e.test)||void 0===i||!i.call(this));var e,i}invokeAction(t){return this.actionIsExternal(t)?this.notifyEditorElement(\"action-invoke\",{actionName:t}):null===(e=this.actions[t])||void 0===e||null===(i=e.perform)||void 0===i?void 0:i.call(this);var e,i}actionIsExternal(t){return/^x-./.test(t)}getCurrentActions(){const t={};for(const e in this.actions)t[e]=this.canInvokeAction(e);return t}updateCurrentActions(){const t=this.getCurrentActions();if(!Rt(t,this.currentActions))return this.currentActions=t,this.toolbarController.updateActions(this.currentActions),this.notifyEditorElement(\"actions-change\",{actions:this.currentActions})}runEditorFilters(){let t=this.composition.getSnapshot();if(Array.from(this.editor.filters).forEach((e=>{const{document:i,selectedRange:n}=t;t=e.call(this.editor,t)||{},t.document||(t.document=i),t.selectedRange||(t.selectedRange=n)})),e=t,i=this.composition.getSnapshot(),!kt(e.selectedRange,i.selectedRange)||!e.document.isEqualTo(i.document))return this.composition.loadSnapshot(t);var e,i}updateInputElement(){const t=function(t,e){const i=ri[e];if(i)return i(t);throw new Error(\"unknown content type: \".concat(e))}(this.compositionController.getSerializableElement(),\"text/html\");return this.editorElement.setInputElementValue(t)}notifyEditorElement(t,e){switch(t){case\"document-change\":this.documentChangedSinceLastRender=!0;break;case\"render\":this.documentChangedSinceLastRender&&(this.documentChangedSinceLastRender=!1,this.notifyEditorElement(\"change\"));break;case\"change\":case\"attachment-add\":case\"attachment-edit\":case\"attachment-remove\":this.updateInputElement()}return this.editorElement.notify(t,e)}removeAttachment(t){return this.editor.recordUndoEntry(\"Delete Attachment\"),this.composition.removeAttachment(t),this.render()}recordFormattingUndoEntry(t){const e=ht(t),i=this.selectionManager.getLocationRange();if(e||!St(i))return this.editor.recordUndoEntry(\"Formatting\",{context:this.getUndoContext(),consolidatable:!0})}recordTypingUndoEntry(){return this.editor.recordUndoEntry(\"Typing\",{context:this.getUndoContext(this.currentAttributes),consolidatable:!0})}getUndoContext(){for(var t=arguments.length,e=new Array(t),i=0;i0?Math.floor((new Date).getTime()/j.interval):0}isFocused(){var t;return this.editorElement===(null===(t=this.editorElement.ownerDocument)||void 0===t?void 0:t.activeElement)}isFocusedInvisibly(){return this.isFocused()&&!this.getLocationRange()}get actions(){return this.constructor.actions}}be(mn,\"actions\",{undo:{test(){return this.editor.canUndo()},perform(){return this.editor.undo()}},redo:{test(){return this.editor.canRedo()},perform(){return this.editor.redo()}},link:{test(){return this.editor.canActivateAttribute(\"href\")}},increaseNestingLevel:{test(){return this.editor.canIncreaseNestingLevel()},perform(){return this.editor.increaseNestingLevel()&&this.render()}},decreaseNestingLevel:{test(){return this.editor.canDecreaseNestingLevel()},perform(){return this.editor.decreaseNestingLevel()&&this.render()}},attachFiles:{test:()=>!0,perform(){return P.pickFiles(this.editor.insertFiles)}}}),mn.proxyMethod(\"getSelectionManager().setLocationRange\"),mn.proxyMethod(\"getSelectionManager().getLocationRange\");var pn=Object.freeze({__proto__:null,AttachmentEditorController:wi,CompositionController:Ti,Controller:Fi,EditorController:mn,InputController:qi,Level0InputController:Ji,Level2InputController:Qi,ToolbarController:gn}),fn=Object.freeze({__proto__:null,MutationObserver:Pi,SelectionChangeObserver:wt}),bn=Object.freeze({__proto__:null,FileVerificationOperation:Oi,ImagePreloadOperation:Ae});mt(\"trix-toolbar\",\"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\");class vn extends HTMLElement{connectedCallback(){\"\"===this.innerHTML&&(this.innerHTML=M.getDefaultHTML())}}let An=0;const xn=function(t){if(!t.hasAttribute(\"contenteditable\"))return t.setAttribute(\"contenteditable\",\"\"),function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.times=1,d(t,e)}(\"focus\",{onElement:t,withCallback:()=>yn(t)})},yn=function(t){return Cn(t),Rn(t)},Cn=function(t){var e,i;if(null!==(e=(i=document).queryCommandSupported)&&void 0!==e&&e.call(i,\"enableObjectResizing\"))return document.execCommand(\"enableObjectResizing\",!1,!1),d(\"mscontrolselect\",{onElement:t,preventDefault:!0})},Rn=function(t){var i,n;if(null!==(i=(n=document).queryCommandSupported)&&void 0!==i&&i.call(n,\"DefaultParagraphSeparator\")){const{tagName:t}=e.default;if([\"div\",\"p\"].includes(t))return document.execCommand(\"DefaultParagraphSeparator\",!1,t)}},En=o.forcesObjectResizing?{display:\"inline\",width:\"auto\"}:{display:\"inline-block\",width:\"1px\"};mt(\"trix-editor\",\"%t {\\n display: block;\\n}\\n\\n%t:empty:not(:focus)::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n white-space: pre-line;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \".concat(\"[data-trix-attachment]\",\" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \").concat(\"[data-trix-attachment]\",\" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \").concat(\"[data-trix-attachment]\",\" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \").concat(En.display,\" !important;\\n width: \").concat(En.width,\" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\"));class Sn extends HTMLElement{get trixId(){return this.hasAttribute(\"trix-id\")?this.getAttribute(\"trix-id\"):(this.setAttribute(\"trix-id\",++An),this.trixId)}get labels(){const t=[];this.id&&this.ownerDocument&&t.push(...Array.from(this.ownerDocument.querySelectorAll(\"label[for='\".concat(this.id,\"']\"))||[]));const e=p(this,{matchingSelector:\"label\"});return e&&[this,null].includes(e.control)&&t.push(e),t}get toolbarElement(){var t;if(this.hasAttribute(\"toolbar\"))return null===(t=this.ownerDocument)||void 0===t?void 0:t.getElementById(this.getAttribute(\"toolbar\"));if(this.parentNode){const t=\"trix-toolbar-\".concat(this.trixId);this.setAttribute(\"toolbar\",t);const e=C(\"trix-toolbar\",{id:t});return this.parentNode.insertBefore(e,this),e}}get form(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.form}get inputElement(){var t;if(this.hasAttribute(\"input\"))return null===(t=this.ownerDocument)||void 0===t?void 0:t.getElementById(this.getAttribute(\"input\"));if(this.parentNode){const t=\"trix-input-\".concat(this.trixId);this.setAttribute(\"input\",t);const e=C(\"input\",{type:\"hidden\",id:t});return this.parentNode.insertBefore(e,this.nextElementSibling),e}}get editor(){var t;return null===(t=this.editorController)||void 0===t?void 0:t.editor}get name(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.name}get value(){var t;return null===(t=this.inputElement)||void 0===t?void 0:t.value}set value(t){var e;this.defaultValue=t,null===(e=this.editor)||void 0===e||e.loadHTML(this.defaultValue)}notify(t,e){if(this.editorController)return g(\"trix-\".concat(t),{onElement:this,attributes:e})}setInputElementValue(t){this.inputElement&&(this.inputElement.value=t)}connectedCallback(){this.hasAttribute(\"data-trix-internal\")||(xn(this),function(t){if(!t.hasAttribute(\"role\"))t.setAttribute(\"role\",\"textbox\")}(this),function(t){if(t.hasAttribute(\"aria-label\")||t.hasAttribute(\"aria-labelledby\"))return;const e=function(){const e=Array.from(t.labels).map((e=>{if(!e.contains(t))return e.textContent})).filter((t=>t)),i=e.join(\" \");return i?t.setAttribute(\"aria-label\",i):t.removeAttribute(\"aria-label\")};e(),d(\"focus\",{onElement:t,withCallback:e})}(this),this.editorController||(g(\"trix-before-initialize\",{onElement:this}),this.editorController=new mn({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame((()=>g(\"trix-initialize\",{onElement:this})))),this.editorController.registerSelectionManager(),this.registerResetListener(),this.registerClickListener(),function(t){if(!document.querySelector(\":focus\")&&t.hasAttribute(\"autofocus\")&&document.querySelector(\"[autofocus]\")===t)t.focus()}(this))}disconnectedCallback(){var t;return null===(t=this.editorController)||void 0===t||t.unregisterSelectionManager(),this.unregisterResetListener(),this.unregisterClickListener()}registerResetListener(){return this.resetListener=this.resetBubbled.bind(this),window.addEventListener(\"reset\",this.resetListener,!1)}unregisterResetListener(){return window.removeEventListener(\"reset\",this.resetListener,!1)}registerClickListener(){return this.clickListener=this.clickBubbled.bind(this),window.addEventListener(\"click\",this.clickListener,!1)}unregisterClickListener(){return window.removeEventListener(\"click\",this.clickListener,!1)}resetBubbled(t){if(!t.defaultPrevented&&t.target===this.form)return this.reset()}clickBubbled(t){if(t.defaultPrevented)return;if(this.contains(t.target))return;const e=p(t.target,{matchingSelector:\"label\"});return e&&Array.from(this.labels).includes(e)?this.focus():void 0}reset(){this.value=this.defaultValue}}const kn={VERSION:\"2.0.5\",config:W,core:oi,models:Ri,views:Ei,controllers:pn,observers:fn,operations:bn,elements:Object.freeze({__proto__:null,TrixEditorElement:Sn,TrixToolbarElement:vn}),filters:Object.freeze({__proto__:null,Filter:di,attachmentGalleryFilter:gi})};Object.assign(kn,Ri),window.Trix=kn,setTimeout((function(){customElements.get(\"trix-toolbar\")||customElements.define(\"trix-toolbar\",vn),customElements.get(\"trix-editor\")||customElements.define(\"trix-editor\",Sn)}),0);export{kn as default};\n//# sourceMappingURL=trix.esm.min.js.map\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar activestorage = {exports: {}};\n\n(function (module, exports) {\n(function(global, factory) {\n factory(exports) ;\n})(commonjsGlobal, (function(exports) {\n var sparkMd5 = {\n exports: {}\n };\n (function(module, exports) {\n (function(factory) {\n {\n module.exports = factory();\n }\n })((function(undefined$1) {\n var hex_chr = [ \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\" ];\n function md5cycle(x, k) {\n var a = x[0], b = x[1], c = x[2], d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [], i;\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = \"\", j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join(\"\");\n }\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function() {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function(from, to) {\n var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray;\n if (to !== undefined$1) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [], length = hex.length, x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n function SparkMD5() {\n this.reset();\n }\n SparkMD5.prototype.append = function(str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n SparkMD5.prototype.appendBinary = function(contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length, i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n SparkMD5.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, i, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.prototype.reset = function() {\n this._buff = \"\";\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.prototype.getState = function() {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n SparkMD5.prototype.setState = function(state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n SparkMD5.prototype.destroy = function() {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n SparkMD5.prototype._finish = function(tail, length) {\n var i = length, tmp, lo, hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n SparkMD5.hash = function(str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n SparkMD5.hashBinary = function(content, raw) {\n var hash = md51(content), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n SparkMD5.ArrayBuffer = function() {\n this.reset();\n };\n SparkMD5.ArrayBuffer.prototype.append = function(arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true), length = buff.length, i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], i, ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.ArrayBuffer.prototype.reset = function() {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.getState = function() {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n SparkMD5.ArrayBuffer.prototype.setState = function(state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n SparkMD5.ArrayBuffer.hash = function(arr, raw) {\n var hash = md51_array(new Uint8Array(arr)), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n }));\n })(sparkMd5);\n var SparkMD5 = sparkMd5.exports;\n const fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n class FileChecksum {\n static create(file, callback) {\n const instance = new FileChecksum(file);\n instance.create(callback);\n }\n constructor(file) {\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n create(callback) {\n this.callback = callback;\n this.md5Buffer = new SparkMD5.ArrayBuffer;\n this.fileReader = new FileReader;\n this.fileReader.addEventListener(\"load\", (event => this.fileReaderDidLoad(event)));\n this.fileReader.addEventListener(\"error\", (event => this.fileReaderDidError(event)));\n this.readNextChunk();\n }\n fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n if (!this.readNextChunk()) {\n const binaryDigest = this.md5Buffer.end(true);\n const base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n fileReaderDidError(event) {\n this.callback(`Error reading ${this.file.name}`);\n }\n readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n const start = this.chunkIndex * this.chunkSize;\n const end = Math.min(start + this.chunkSize, this.file.size);\n const bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }\n function getMetaValue(name) {\n const element = findElement(document.head, `meta[name=\"${name}\"]`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n const elements = root.querySelectorAll(selector);\n return toArray(elements);\n }\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n }\n function dispatchEvent(element, type, eventInit = {}) {\n const {disabled: disabled} = element;\n const {bubbles: bubbles, cancelable: cancelable, detail: detail} = eventInit;\n const event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n return event;\n }\n function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n class BlobRecord {\n constructor(file, checksum, url) {\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest;\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n const csrfToken = getMetaValue(\"csrf-token\");\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n this.xhr.addEventListener(\"load\", (event => this.requestDidLoad(event)));\n this.xhr.addEventListener(\"error\", (event => this.requestDidError(event)));\n }\n get status() {\n return this.xhr.status;\n }\n get response() {\n const {responseType: responseType, response: response} = this.xhr;\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n const {response: response} = this;\n const {direct_upload: direct_upload} = response;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n requestDidError(event) {\n this.callback(`Error creating Blob for \"${this.file.name}\". Status: ${this.status}`);\n }\n toJSON() {\n const result = {};\n for (const key in this.attributes) {\n result[key] = this.attributes[key];\n }\n return result;\n }\n }\n class BlobUpload {\n constructor(blob) {\n this.blob = blob;\n this.file = blob.file;\n const {url: url, headers: headers} = blob.directUploadData;\n this.xhr = new XMLHttpRequest;\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n for (const key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n this.xhr.addEventListener(\"load\", (event => this.requestDidLoad(event)));\n this.xhr.addEventListener(\"error\", (event => this.requestDidError(event)));\n }\n create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n requestDidLoad(event) {\n const {status: status, response: response} = this.xhr;\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n requestDidError(event) {\n this.callback(`Error storing \"${this.file.name}\". Status: ${this.xhr.status}`);\n }\n }\n let id = 0;\n class DirectUpload {\n constructor(file, url, delegate) {\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n create(callback) {\n FileChecksum.create(this.file, ((error, checksum) => {\n if (error) {\n callback(error);\n return;\n }\n const blob = new BlobRecord(this.file, checksum, this.url);\n notify(this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create((error => {\n if (error) {\n callback(error);\n } else {\n const upload = new BlobUpload(blob);\n notify(this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create((error => {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n }));\n }\n }));\n }));\n }\n }\n function notify(object, methodName, ...messages) {\n if (object && typeof object[methodName] == \"function\") {\n return object[methodName](...messages);\n }\n }\n class DirectUploadController {\n constructor(input, file) {\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n start(callback) {\n const hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(((error, attributes) => {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n this.dispatch(\"end\");\n callback(error);\n }));\n }\n uploadRequestDidProgress(event) {\n const progress = event.loaded / event.total * 100;\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n get url() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n dispatch(name, detail = {}) {\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, `direct-upload:${name}`, {\n detail: detail\n });\n }\n dispatchError(error) {\n const event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n directUploadWillStoreFileWithXHR(xhr) {\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", (event => this.uploadRequestDidProgress(event)));\n }\n }\n const inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n class DirectUploadsController {\n constructor(form) {\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter((input => input.files.length));\n }\n start(callback) {\n const controllers = this.createDirectUploadControllers();\n const startNextController = () => {\n const controller = controllers.shift();\n if (controller) {\n controller.start((error => {\n if (error) {\n callback(error);\n this.dispatch(\"end\");\n } else {\n startNextController();\n }\n }));\n } else {\n callback();\n this.dispatch(\"end\");\n }\n };\n this.dispatch(\"start\");\n startNextController();\n }\n createDirectUploadControllers() {\n const controllers = [];\n this.inputs.forEach((input => {\n toArray(input.files).forEach((file => {\n const controller = new DirectUploadController(input, file);\n controllers.push(controller);\n }));\n }));\n return controllers;\n }\n dispatch(name, detail = {}) {\n return dispatchEvent(this.form, `direct-uploads:${name}`, {\n detail: detail\n });\n }\n }\n const processingAttribute = \"data-direct-uploads-processing\";\n const submitButtonsByForm = new WeakMap;\n let started = false;\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm, true);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n function didClick(event) {\n const {target: target} = event;\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n function handleFormSubmissionEvent(event) {\n const form = event.target;\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n const controller = new DirectUploadsController(form);\n const {inputs: inputs} = controller;\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start((error => {\n form.removeAttribute(processingAttribute);\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n }));\n }\n }\n function submitForm(form) {\n let button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n if (button) {\n const {disabled: disabled} = button;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n submitButtonsByForm.delete(form);\n }\n function disable(input) {\n input.disabled = true;\n }\n function enable(input) {\n input.disabled = false;\n }\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n setTimeout(autostart, 1);\n exports.DirectUpload = DirectUpload;\n exports.start = start;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n}));\n}(activestorage, activestorage.exports));\n\nclass AttachmentUpload {\n constructor(attachment, element) {\n this.attachment = attachment;\n this.element = element;\n this.directUpload = new activestorage.exports.DirectUpload(attachment.file, this.directUploadUrl, this);\n }\n\n start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this));\n }\n\n directUploadWillStoreFileWithXHR(xhr) {\n xhr.upload.addEventListener(\"progress\", event => {\n const progress = event.loaded / event.total * 100;\n this.attachment.setUploadProgress(progress);\n });\n }\n\n directUploadDidComplete(error, attributes) {\n if (error) {\n throw new Error(`Direct upload failed: ${error}`)\n }\n\n this.attachment.setAttributes({\n sgid: attributes.attachable_sgid,\n url: this.createBlobUrl(attributes.signed_id, attributes.filename)\n });\n }\n\n createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate\n .replace(\":signed_id\", signedId)\n .replace(\":filename\", encodeURIComponent(filename))\n }\n\n get directUploadUrl() {\n return this.element.dataset.directUploadUrl\n }\n\n get blobUrlTemplate() {\n return this.element.dataset.blobUrlTemplate\n }\n}\n\naddEventListener(\"trix-attachment-add\", event => {\n const { attachment, target } = event;\n\n if (attachment.file) {\n const upload = new AttachmentUpload(attachment, target);\n upload.start();\n }\n});\n"],"names":["EventListener","constructor","eventTarget","eventName","eventOptions","this","unorderedBindings","Set","connect","addEventListener","disconnect","removeEventListener","bindingConnected","binding","add","bindingDisconnected","delete","handleEvent","event","extendedEvent","stopImmediatePropagation","Object","assign","immediatePropagationStopped","call","extendEvent","bindings","hasBindings","size","Array","from","sort","left","right","leftIndex","index","rightIndex","Dispatcher","application","eventListenerMaps","Map","started","start","eventListeners","forEach","eventListener","stop","values","reduce","listeners","map","concat","fetchEventListenerForBinding","clearEventListeners","clearEventListenersForBinding","handleError","error","message","detail","removeMappedEventListenerFor","eventListenerMap","fetchEventListenerMapForEventTarget","cacheKey","fetchEventListener","get","createEventListener","set","parts","keys","key","push","join","defaultActionDescriptorFilters","value","stopPropagation","prevent","preventDefault","self","element","target","descriptorPattern","parseEventTarget","eventTargetName","window","document","camelize","replace","_","char","toUpperCase","namespaceCamelize","capitalize","charAt","slice","dasherize","toLowerCase","Action","descriptor","schema","tagName","defaultEventNames","getDefaultEventNameForElement","identifier","methodName","keyFilter","static","token","descriptorString","matches","trim","match","includes","split","options","test","parseActionDescriptorString","content","toString","eventFilter","isFilterTarget","filteres","modifiers","meta","ctrl","alt","shift","modifier","metaKey","ctrlKey","altKey","shiftKey","standardFilter","filter","prototype","hasOwnProperty","keyMappings","params","pattern","RegExp","name","attributes","typecast","a","button","form","details","input","e","getAttribute","select","textarea","Error","JSON","parse","o_O","Binding","context","action","willBeInvokedByEvent","applyEventModifiers","invokeWithEvent","method","controller","actionDescriptorFilters","passes","entries","currentTarget","actionEvent","logDebugActivity","KeyboardEvent","Element","contains","scope","containsElement","ElementObserver","delegate","mutationObserverInit","childList","subtree","elements","mutationObserver","MutationObserver","mutations","processMutations","observe","refresh","pause","callback","takeRecords","matchElementsInTree","has","removeElement","addElement","mutation","processMutation","type","processAttributeChange","attributeName","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","node","elementAttributeChanged","matchElement","nodes","elementFromNode","processTree","elementIsActive","tree","processor","nodeType","Node","ELEMENT_NODE","isConnected","elementMatched","elementUnmatched","AttributeObserver","elementObserver","selector","hasAttribute","querySelectorAll","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","fetch","del","prune","Multimap","valuesByKey","hasKey","hasValue","some","getValuesForKey","getKeysForValue","_key","_values","SelectorObserver","matchesByElement","selectorMatchElement","selectorMatched","selectorUnmatched","_attributeName","matchedBefore","StringMapObserver","stringMap","attributeOldValue","knownAttributeNames","refreshAttribute","oldValue","getStringMapKeyForAttribute","stringMapKeyAdded","stringMapValueChanged","stringMapKeyRemoved","currentAttributeNames","recordedAttributeNames","attribute","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","unmatchedTokens","matchedTokens","refreshTokensForElement","tokensUnmatched","tokens","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","length","Math","max","zip","findIndex","previousToken","currentToken","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","WeakMap","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","connectAction","disconnectAction","clear","forToken","ValueObserver","receiver","stringMapObserver","valueDescriptorMap","invokeChangedCallbacksForDefaultValues","invokeChangedCallback","writer","defaultValue","valueDescriptorNameMap","valueDescriptors","undefined","data","rawValue","rawOldValue","changedMethodName","changedMethod","reader","TypeError","descriptors","hasMethodName","TargetObserver","targetsByName","disconnectAllTargets","connectTarget","disconnectTarget","_a","targetConnected","targetDisconnected","readInheritableStaticArrayValues","propertyName","ancestors","getAncestorsForConstructor","definition","isArray","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","getOwnStaticObjectPairs","getPrototypeOf","reverse","OutletObserver","outletsByName","outletElementsByName","selectorObserverMap","outletDefinitions","outletName","body","observer","dependentContexts","disconnectAllOutlets","_selector","outlet","getOutlet","connectOutlet","getOutletFromMap","disconnectOutlet","hasOutlet","controllerAttribute","outletConnected","outletDisconnected","outlets","getSelectorForOutletName","outletDependencies","dependencies","router","modules","module","controllerConstructor","dependentControllerIdentifiers","identifiers","contexts","getControllerForElementAndIdentifier","find","Context","functionName","bindingObserver","dispatcher","valueObserver","targetObserver","outletObserver","initialize","parentElement","invokeControllerMethod","args","bless","properties","shadowConstructor","extend","shadowProperties","getOwnKeys","shadowingDescriptor","getOwnPropertyDescriptor","getShadowedDescriptor","getShadowProperties","defineProperties","shadow","blessings","blessedProperties","blessing","getBlessedProperties","getOwnPropertySymbols","object","getOwnPropertyNames","extendWithReflect","extended","Reflect","construct","arguments","create","setPrototypeOf","b","testReflectExtension","Module","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","ClassMap","getDataKey","getAll","getAttributeName","getAttributeNameForKey","DataMap","setAttribute","removeAttribute","Guide","logger","warnedKeysByObject","warn","warnedKeys","attributeValueContainsToken","TargetSet","targetName","targetNames","findTarget","findLegacyTarget","findAll","targets","findAllTargets","findAllLegacyTargets","getSelectorForTargetName","findElement","findAllElements","targetAttributeForScope","getLegacySelectorForTargetName","deprecate","targetDescriptor","targetAttribute","revisedAttributeName","guide","OutletSet","controllerElement","outletNames","findOutlet","findAllOutlets","outletAttributeForScope","queryElements","matchesElement","Scope","classes","closest","controllerSelector","documentScope","isDocumentScope","documentElement","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","scopesByIdentifier","fetchScopesByIdentifierForElement","createScopeForElementAndIdentifier","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","loadDefinition","unloadIdentifier","connectModule","afterLoad","disconnectModule","getContextForElementAndIdentifier","defaultSchema","enter","tab","esc","space","up","down","home","end","objectFromEntries","c","n","array","memo","k","v","Application","console","debug","logFormattedMessage","async","Promise","resolve","readyState","register","load","registerActionOption","head","rest","shouldLoad","unload","controllers","onerror","groupCollapsed","log","groupEnd","parseValueDefinitionPair","typeDefinition","payload","typeFromObject","parseValueTypeConstant","typeObject","defaultValueType","parseValueTypeDefault","default","propertyPath","parseValueTypeObject","typeFromDefaultValue","typeFromConstant","parseValueTypeDefinition","constant","defaultValuesByType","defaultValueForDefinition","hasCustomDefaultValue","readers","writers","valueDescriptorForTokenAndTypeDefinition","Boolean","Number","String","boolean","number","string","writeJSON","stringify","Controller","_identifier","_application","dispatch","prefix","bubbles","cancelable","CustomEvent","dispatchEvent","classDefinition","targetDefinition","valueDefinitionPairs","propertyDescriptorMap","result","valueDefinitionPair","valueDescriptor","read","write","propertiesForValueDefinitionPair","outletDefinition","camelizedName","outletController","propertiesForOutletDefinition","t","preview","presentation","caption","file","quote","nestable","heading1","terminal","breakOnReturn","group","code","text","plaintext","bulletList","bullet","listAttribute","i","parentNode","numberList","attachmentGallery","exclusive","navigator","userAgent","r","parseInt","o","composesExistingText","recentAndroid","samsungAndroid","forcesObjectResizing","supportsInputEvents","InputEvent","every","s","attachFiles","bold","bullets","byte","bytes","captionPlaceholder","indent","italic","link","numbers","outdent","redo","remove","strike","undo","unlink","url","urlPlaceholder","GB","KB","MB","PB","TB","l","precision","formatter","floor","pow","toFixed","h","u","d","onElement","matchingSelector","withCallback","inPhase","times","destroy","p","g","createEvent","initEvent","m","untilNode","f","activeElement","previousSibling","A","removeChild","x","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","y","C","createElement","editable","contenteditable","style","dataset","className","classList","textContent","childNodes","appendChild","R","E","S","D","firstChild","L","strict","w","COMMENT_NODE","T","I","trixCursorTarget","F","B","TEXT_NODE","P","level2Enabled","getLevel","pickFiles","multiple","hidden","id","fileInputId","files","getElementById","click","N","removeBlankTableCells","tableCellSeparator","tableRowSeparator","O","inheritable","parser","getComputedStyle","fontWeight","fontStyle","href","groupTagName","frozen","backgroundColor","M","getDefaultHTML","j","interval","W","freeze","__proto__","attachments","blockAttributes","browser","css","attachment","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","fileSize","keyNames","lang","textAttributes","toolbar","U","toMethod","toProperty","optional","q","V","z","apply","Function","H","J","K","fromUCS2String","Y","Q","super","ucs2String","codepoints","ucs2Length","offsetToUCS2Offset","offsetFromUCS2Offset","fromCodepoints","isEqualTo","box","toJSON","getCacheKey","G","$","codePointAt","X","fromCodePoint","charCodeAt","fromCharCode","Z","tt","fromJSON","hasSameConstructorAs","inspect","contentsForInspection","toJSONString","toUTF16String","et","it","splice","nt","rt","dir","dirName","FormData","ot","st","at","lt","ct","gt","ut","ht","dt","mt","pt","ft","insertBefore","bt","querySelector","vt","At","getData","DOMParser","parseFromString","xt","platform","yt","setTimeout","Ct","Rt","Et","Lt","St","Dt","kt","wt","update","bind","run","selectionManagers","registerSelectionManager","unregisterSelectionManager","notifySelectionManagersOfSelectionChange","selectionDidChange","It","Tt","domRange","reset","requestAnimationFrame","startContainer","startOffset","endContainer","endOffset","Ft","Bt","getSelection","rangeCount","getRangeAt","Nt","Pt","removeAllRanges","addRange","Ot","Mt","jt","Wt","source","Ut","qt","utf16String","offset","Vt","Jt","getKeys","getKeysCommonToHash","Ht","merge","zt","_t","Kt","toArray","isEmpty","toObject","Gt","depth","asTree","canBeGrouped","canBeGroupedWith","objects","groupObjects","getObjects","getDepth","$t","Xt","Yt","trixStoreKey","Qt","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","promise","perform","release","cancel","proxyMethod","Zt","childViews","rootView","getNodes","createNodes","cloneNode","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","te","getAllChildViews","findElementForObject","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","objectGroup","getChildViews","createContainerElement","ee","ie","uploadProgressDelegate","attachmentPiece","piece","createContentNodes","getClassName","getHref","tabindex","hasContent","innerHTML","getContent","createCaptionElement","isPending","progressElement","class","getUploadProgress","trixMutable","ne","getCaption","getCaptionConfig","getFilename","getFormattedFilesize","createTextNode","getType","getExtension","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","re","findProgressElement","attachmentDidChangeUploadProgress","oe","previewDelegate","image","src","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","width","height","attachmentDidChangeAttributes","se","getAttributes","textConfig","createAttachmentNodes","createStringNodes","firstElementChild","isPreviewable","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","ae","getPieces","le","ce","he","block","createComment","getLastAttribute","shouldAddExtraNewlineElement","isRTL","getBlockBreakPosition","ue","render","sync","elementStore","setDocument","shadowElement","getBlocks","isSynced","ge","createDocumentFragmentForSync","lastChild","didSync","de","createDocumentFragment","replaceChild","me","pe","wrapped","fe","then","done","reject","next","arg","_invoke","return","be","defineProperty","enumerable","configurable","writable","Symbol","asyncIterator","throw","ve","types","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","copy","getAttributesHash","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","getLength","canBeConsolidatedWith","Ae","Image","onload","naturalWidth","naturalHeight","xe","attributesForFile","setFile","filename","filesize","contentType","releaseFile","didChangeAttributes","setAttributes","preloadURL","previewablePattern","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","setUploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","URL","createObjectURL","revokeObjectURL","catch","ye","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","registerType","Ce","consolidateWith","splitAtOffset","Re","indexOf","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","transformObjectsInRange","Se","ke","getObjectAtPosition","findIndexAndOffsetAtPosition","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","Ee","Le","pieceList","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributes","fromCommonAttributesOfObjects","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","position","getAttachmentById","getRangeOfAttachment","updateAttributesForAttachment","eachPiece","getPieceAtPosition","toSerializableText","getDirection","De","we","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","Ne","Me","removeLastAttribute","Oe","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","decreaseNestingLevel","increaseNestingLevel","lastIndexOf","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","textForStringWithAttributes","getTextWithoutBlockBreak","Ie","Te","Be","Pe","Fe","blockBreak","je","blockList","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","locationRangeFromRange","getDocumentAtRange","eachBlockAtRange","eachBlock","getTextAtIndex","removeAttributeForAttachment","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","range","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","positionFromLocation","getTextAtPosition","getCharacterAtPosition","getEditCount","editCount","getCommonAttributesAtPosition","We","getRangeOfCommonAttributeAtPosition","min","getLocationRangeOfAttachment","getAttachmentPieceForAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","rangeFromLocationRange","getTexts","toSerializableDocument","Ue","qe","Ve","ze","sanitize","allowedAttributes","forbiddenProtocols","forbiddenElements","_e","sanitizeElements","normalizeListElementNesting","getHTML","getBody","nextNode","currentNode","elementIsRemovable","sanitizeElement","protocol","previousElementSibling","elementIsForbidden","elementIsntSerializable","implementation","createHTMLDocument","He","Je","Ke","referenceElement","html","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","Ye","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","display","nextSibling","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","appendStringWithAttributes","getBlockAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","Ge","ti","Qe","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","needsTableSeparator","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","unshift","findBlockElementAncestors","Ze","$e","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","top","bottom","Xe","whiteSpace","marginTop","marginBottom","FILTER_REJECT","FILTER_ACCEPT","ei","ii","ni","ri","HTMLElement","oi","si","attachmentManager","requestRemovalOfAttachment","ai","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","li","composition","getSelectedRange","startPosition","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","ci","currentAttributes","revision","refreshAttachments","compositionDidChangeDocument","getSnapshot","selectedRange","loadSnapshot","compositionWillLoadSnapshot","setSelection","compositionDidLoadSnapshot","insertText","updatePosition","notifyDelegateOfInsertionAtRange","insertBlock","insertDocument","insertString","getCurrentTextAttributes","insertBlockBreak","insertLineBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","insertHTML","replaceHTML","getLocationRange","insertFile","insertFiles","compositionShouldAcceptFile","attachmentForFile","insertAttachments","insertAttachment","textForAttachmentWithAttributes","shouldManageDeletingInDirection","shouldManageMovingCursorInDirection","deleteInDirection","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","moveTextFromRange","removeAttachment","stopEditingAttachment","removeCurrentAttribute","insertPlaceholder","placeholderPosition","getPosition","selectPlaceholder","setSelectedRange","forgetPlaceholder","hasCurrentAttribute","toggleCurrentAttribute","setCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","getSelectedDocument","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","canDecreaseNestingLevel","canIncreaseNestingLevel","getPreviousBlock","ignoreLock","getCurrentAttributes","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","withTargetDOMRange","createLocationRangeFromDOMRange","translateUTF16PositionFromOffset","editingAttachment","moveCursorInDirection","expandSelectionInDirection","expandSelectionForEditing","expandSelectionAroundCommonAttribute","selectionContainsAttachments","getSelectedAttachments","selectionIsInCursorTarget","positionIsCursorTarget","locationIsCursorTarget","positionIsBlockBreak","added","removed","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","hi","undoEntries","redoEntries","recordUndoEntry","consolidatable","ui","createEntry","description","pop","snapshot","canUndo","canRedo","di","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","gi","mi","pi","selectionManager","undoManager","filters","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","fi","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","xi","bi","findContainerAndOffsetFromLocation","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","vi","Ai","yi","createDOMRangeFromPoint","caretPositionFromPoint","offsetNode","createRange","setStart","caretRangeFromPoint","createTextRange","moveToPoint","getClientRectsForDOMRange","getClientRects","Ci","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","setLocationRangeFromPointRange","getLocationAtPoint","lock","unlock","clearSelection","selectionIsCollapsed","collapsed","selectionIsExpanded","domRangeWithinElement","pauseTemporarily","paused","clearTimeout","locationRangeDidChange","setEnd","Ri","Attachment","AttachmentManager","AttachmentPiece","Block","Composition","Document","Editor","HTMLParser","HTMLSanitizer","LineBreakInsertion","LocationMapper","ManagedAttachment","Piece","PointMapper","SelectionManager","SplittableList","StringPiece","Text","UndoManager","Ei","Si","ki","Li","Di","do","undos","wi","title","trixAction","didClickToolbar","didClickActionButton","placeholder","tabIndex","scrollHeight","didInputCaption","didKeyDownCaption","didChangeCaption","didBlurCaption","editCaption","focus","container","install","makeElementMutable","addToolbar","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","attachmentEditorDidRequestRemovalOfAttachment","keyCode","attachmentEditorDidRequestDeselectingAttachment","Ti","didFocus","didBlur","didClickAttachment","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","compositionControllerWillUpdateAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","Fi","Bi","Ii","characterData","characterDataOldValue","Pi","didMutate","findSignificantMutations","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","getTextMutationSummary","additions","deletions","getTextChangesFromCharacterData","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","Ni","Oi","FileReader","abort","readAsArrayBuffer","Mi","shouldIgnore","previousEvent","checkSamsungKeyboardBuggyModeStart","checkSamsungKeyboardBuggyModeEnd","buggyMode","insertingLongTextAfterUnidentifiedChar","ji","innerText","inputType","isBeforeInputInsertText","previousEventWasUnidentifiedKeydown","Ui","Wi","qi","flakyKeyboardDetector","events","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","all","handleInput","inputControllerWillAttachFiles","responder","defaultPrevented","inputControllerWillHandleInput","inputControllerDidHandleInput","createLinkHTML","outerHTML","Vi","zi","_i","Hi","Ji","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","compositionInput","getEndData","getCompositionInput","Yi","isEnded","serializeSelectionToDataTransfer","setData","canAcceptDataTransfer","Files","getPastedHTMLUsingHiddenElement","pageXOffset","pageYOffset","opacity","keydown","didInput","keyName","inputControllerDidReceiveKeyboardCommand","keypress","$i","inputControllerWillPerformTyping","textInput","dragenter","dragstart","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","clientX","clientY","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","inputControllerWillMoveText","fromJSONString","cut","clipboardData","inputControllerWillCutText","paste","testClipboardData","clipboard","Xi","inputControllerWillPaste","inputControllerDidPaste","items","getAsFile","Ki","compositionstart","compositionupdate","compositionend","beforeinput","backspace","control","Gi","which","charCode","inputController","isSignificant","canApplyToDocument","Qi","scheduledRender","composing","reparse","scheduleRender","cancelAnimationFrame","afterRender","toggleAttributeIfSupported","inputControllerWillPerformFormatting","activateAttributeIfSupported","getTargetDOMRange","minLength","getTargetRanges","Zi","withEvent","rn","en","nn","inputTypes","dragging","point","on","tn","ArrowLeft","ArrowRight","Backspace","Tab","deleteByComposition","deleteByCut","deleteByDrag","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","formatBold","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertTranspose","insertUnorderedList","sn","an","ln","cn","hn","dn","un","gn","didClickAttributeButton","didClickDialogButton","didKeyDownDialogInput","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","disabled","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","mn","editorElement","compositionController","toolbarController","toolbarElement","editor","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","isFocusedInvisibly","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","getCurrentActions","currentActions","updateInputElement","setInputElementValue","documentChangedSinceLastRender","notify","getUndoContext","getLocationContext","getTimeContext","Date","getTime","ownerDocument","pn","AttachmentEditorController","CompositionController","EditorController","InputController","Level0InputController","Level2InputController","ToolbarController","fn","SelectionChangeObserver","bn","FileVerificationOperation","ImagePreloadOperation","vn","connectedCallback","An","yn","Cn","Rn","queryCommandSupported","execCommand","En","Sn","labels","inputElement","nextElementSibling","editorController","xn","registerResetListener","registerClickListener","disconnectedCallback","unregisterResetListener","unregisterClickListener","resetListener","resetBubbled","clickListener","clickBubbled","kn","VERSION","config","core","models","views","observers","operations","TrixEditorElement","TrixToolbarElement","Filter","attachmentGalleryFilter","Trix","customElements","define","globalThis","global","activestorage","exports","sparkMd5","factory","undefined$1","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tail","tmp","lo","state","substring","md51_array","subarray","Uint8Array","rhex","hex","toUtf8","str","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arr","arrayBuffer2Utf8Str","concatenateArrayBuffers","first","second","byteLength","buffer","hexToBinaryString","substr","SparkMD5","clamp","val","to","num","targetArray","sourceArray","begin","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","setState","hashBinary","fileSlice","File","mozSlice","webkitSlice","FileChecksum","chunkSize","chunkCount","ceil","chunkIndex","md5Buffer","fileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","getMetaValue","findElements","root","eventInit","BlobRecord","checksum","content_type","byte_size","xhr","XMLHttpRequest","open","responseType","setRequestHeader","csrfToken","requestDidLoad","requestDidError","status","response","send","blob","direct_upload","directUploadData","BlobUpload","headers","DirectUpload","upload","messages","DirectUploadController","directUpload","hiddenInput","insertAdjacentElement","dispatchError","signed_id","uploadRequestDidProgress","progress","loaded","total","alert","directUploadWillCreateBlobWithXHR","directUploadWillStoreFileWithXHR","inputSelector","DirectUploadsController","inputs","createDirectUploadControllers","startNextController","processingAttribute","submitButtonsByForm","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","disable","enable","submitForm","autostart","ActiveStorage","AttachmentUpload","directUploadUrl","directUploadDidComplete","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate"],"sourceRoot":""}