{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/trix/dist/trix.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/@rails/actiontext/node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///(webpack)/buildin/global.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/source/jquery.maskedinput.min.js","webpack:///./app/javascript/source/app.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","obj","constructor","this","Rails","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","ref","document","querySelector","content","cspNonce","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","setData","$","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","window","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","data","dispatchEvent","stopEverything","e","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","html","xml","json","script","ajax","options","response","responseText","getResponseHeader","Math","floor","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","url","location","href","type","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","JSON","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","map","encodeURIComponent","join","formElements","form","filter","el","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","method","action","style","display","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","arguments","length","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","_defineProperties","props","descriptor","configurable","writable","AttachmentUpload","attachment","instance","Constructor","TypeError","_classCallCheck","directUpload","file","directUploadUrl","protoProps","staticProps","directUploadDidComplete","_this","upload","progress","loaded","total","setUploadProgress","attributes","concat","setAttributes","sgid","attachable_sgid","createBlobUrl","signed_id","filename","signedId","blobUrlTemplate","dataset","webpackPolyfill","deprecate","paths","children","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","Set","clear","values","has","add","splice","_state","_handled","_value","_deferreds","h","onFulfilled","onRejected","promise","then","a","u","setImmediate","console","warn","all","resolve","reject","race","_setImmediateFn","_setUnhandledRejectionFn","Promise","customElements","registerElement","WeakMap","Date","now","random","set","A","b","g","sort","uid_","takeRecords","nodes_","observer","removeTransientObservers","callback_","subtree","enqueue","records_","C","addedNodes","removedNodes","previousSibling","nextSibling","attributeName","attributeNamespace","oldValue","x","w","f","transientObservedNodes","JsMutationObserver","test","navigator","userAgent","v","y","String","postMessage","observe","ShadowDOMPolyfill","wrapIfNeeded","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","disconnect","addListeners_","removeListeners_","addTransientObserver","handleEvent","attrName","relatedNode","namespaceURI","attrChange","MutationEvent","ADDITION","prevValue","MutationObserver","_isPolyfilled","self","performance","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","initEvent","Boolean","WebComponents","CustomElements","flags","addModule","initializeModules","hasNative","isIE","useNative","register","HTMLImports","firstElementChild","firstChild","nodeType","Node","ELEMENT_NODE","nextElementSibling","shadowRoot","olderShadowRoot","IMPORT_LINK_TYPE","forDocumentTree","wrap","import","forSubtree","upgrade","__upgraded__","__attached","attachedCallback","detachedCallback","dom","URL","_URL","localName","split","shift","pop","group","DOCUMENT_FRAGMENT_NODE","E","groupEnd","__observer","baseURI","hasPolyfillMutations","hasThrottledAttached","S","createShadowRoot","watchShadow","__watched","log","upgradeDocumentTree","upgradeDocument","upgradeSubtree","upgradeAll","attached","is","createdCallback","__proto__","HTMLElement","getOwnPropertyNames","getOwnPropertyDescriptor","getPrototypeOf","native","HTMLTemplateElement","decorate","getRegisteredDefinition","tag","extends","upgradeWithDefinition","implementPrototype","_polyfilled","removeAttribute","toLowerCase","attributeChangedCallback","ctor","createElementNS","__name","lifecycle","ancestry","ready","registry","instanceof","reservedTagList","readyTime","elapsed","unwrap","unwrapIfNeeded","__importsParsingHook","eager","attachEvent","Trix","VERSION","ZERO_WIDTH_SPACE","NON_BREAKING_SPACE","OBJECT_REPLACEMENT_CHARACTER","composesExistingText","forcesObjectResizing","supportsInputEvents","InputEvent","config","BasicObject","proxyMethod","toMethod","toProperty","optional","Function","_t","__super__","id","fromJSONString","fromJSON","hasSameConstructorAs","isEqualTo","inspect","contentsForInspection","toJSONString","stringify","toUTF16String","UTF16String","box","getCacheKey","toString","extend","defer","normalizeSpaces","RegExp","normalizeNewlines","breakableWhitespacePattern","squishBreakableWhitespace","source","escapeHTML","textContent","summarizeStringChange","added","removed","_n","utf16String","offset","codepoints","fromCodepoints","_t2","charAt","copyObject","objectsAreEqual","keys","arraysAreEqual","arrayStartsWith","spliceArray","summarizeArrayChange","getAllAttributeNames","getTextAttributeNames","getBlockAttributeNames","getBlockConfig","blockAttributes","getTextConfig","textAttributes","getListAttributeNames","listAttribute","documentElement","_s","onElement","matchingSelector","withCallback","inPhase","times","destroy","findClosestElementFromNode","handleEventOnce","triggerEvent","elementMatchesSelector","untilNode","closest","findInnerElement","innerElementIsActive","activeElement","elementContainsNode","findNodeFromContainerAndOffset","TEXT_NODE","childNodes","item","findElementFromContainerAndOffset","findChildIndexOfNode","removeNode","walkTree","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","tagName","makeElement","editable","contenteditable","className","classList","getBlockTagNames","blockTagNames","nodeIsBlockContainer","nodeIsBlockStartComment","nodeProbablyIsBlockContainer","nodeIsBlockStart","strict","nodeIsCommentNode","COMMENT_NODE","nodeIsCursorTarget","nodeIsTextNode","trixCursorTarget","nodeIsAttachmentElement","AttachmentView","attachmentSelector","nodeIsEmptyTextNode","normalizeRange","isArray","rangeIsCollapsed","rangesAreEqual","defaultCSS","insertBefore","_t3","initialize","connect","initialized","connectedCallback","disconnectedCallback","_n2","Reflect","construct","setPrototypeOf","defineProperties","define","getDOMSelection","getSelection","rangeCount","getDOMRange","getRangeAt","setDOMRange","removeAllRanges","addRange","selectionChangeObserver","update","_t4","startContainer","endContainer","dataTransferIsPlainText","dataTransferIsWritable","keyEventIsKeyboardCommand","platform","Hash","fromCommonAttributesOfObjects","getKeys","getKeysCommonToHash","merge","remove","isEmpty","toObject","toJSON","ObjectGroup","objects","depth","asTree","groupObjects","canBeGrouped","canBeGroupedWith","getObjects","getDepth","_t5","ObjectMap","find","ElementStore","reset","trixStoreKey","_t6","Operation","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","perform","release","cancel","ucs2String","ucs2Length","fromUCS2String","offsetToUCS2Offset","max","offsetFromUCS2Offset","from","codePointAt","fromCodePoint","charCodeAt","fromCharCode","lang","attachFiles","bold","bullets","bytes","captionPlaceholder","code","heading1","indent","italic","link","numbers","outdent","quote","redo","strike","undo","unlink","urlPlaceholder","GB","KB","MB","PB","TB","css","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","attachmentGallery","nestable","terminal","breakOnReturn","plaintext","bulletList","bullet","numberList","number","exclusive","fileSize","prefix","precision","formatter","byte","pow","toFixed","inheritable","getComputedStyle","fontWeight","fontStyle","groupTagName","frozen","backgroundColor","serializers","Document","fromHTML","toSerializableDocument","DocumentView","render","cloneNode","deserializers","serializeToContentType","deserializeFromContentType","toolbar","getDefaultHTML","undoInterval","attachments","preview","presentation","caption","size","keyNames","8","9","13","27","37","39","46","68","72","79","level2Enabled","getLevel","pickFiles","multiple","hidden","fileInputId","files","getElementById","_t7","ObjectView","childViews","rootView","getNodes","nodes","createNodes","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ObjectGroupView","getAllChildViews","findElement","findElementForObject","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","_t8","objectGroup","getChildViews","createContainerElement","_t9","Controller","didMutate","_h","stop","mutations","findSignificantMutations","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","getTextMutationSummary","getTextChangesFromCharacterData","additions","deletions","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","_t10","FileVerificationOperation","FileReader","onerror","onload","abort","readAsArrayBuffer","InputController","mutationObserver","events","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","handleInput","inputControllerWillAttachFiles","responder","insertFiles","eventName","inputControllerWillHandleInput","inputControllerDidHandleInput","Level0InputController","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","getSelectedRange","positionIsBlockBreak","compositionInput","getEndData","keydown","didInput","keyCode","keyName","inputControllerDidReceiveKeyboardCommand","keypress","altKey","inputControllerWillPerformTyping","insertString","selectionIsExpanded","textInput","setSelectedRange","dragenter","dragstart","serializeSelectionToDataTransfer","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","canAcceptDataTransfer","clientX","clientY","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","setLocationRangeFromPointRange","inputControllerWillMoveText","moveTextFromRange","insertDocument","cut","clipboardData","inputControllerWillCutText","deleteInDirection","copy","paste","R","k","D","testClipboardData","clipboard","getPastedHTMLUsingHiddenElement","inputControllerWillPaste","insertHTML","inputControllerDidPaste","string","trim","insertText","Text","textForStringWithAttributes","types","items","getAsFile","insertFile","compositionstart","getCompositionInput","compositionupdate","compositionend","end","beforeinput","backspace","insertLineBreak","tab","canIncreaseNestingLevel","increaseNestingLevel","left","selectionIsInCursorTarget","moveCursorInDirection","right","control","updatePosition","canDecreaseNestingLevel","decreaseNestingLevel","expandSelectionInDirection","alt","isEnded","getSelectedDocument","Files","position","pageXOffset","top","pageYOffset","opacity","focus","which","charCode","inputController","isSignificant","insertPlaceholder","range","selectPlaceholder","forgetPlaceholder","canApplyToDocument","Level2InputController","scheduledRender","composing","reparse","scheduleRender","afterRender","shiftKey","withEvent","inputTypes","inputType","selectionContainsAttachments","dragging","point","ArrowLeft","shouldManageMovingCursorInDirection","ArrowRight","Backspace","shouldManageDeletingInDirection","Tab","deleteByComposition","recordUndoEntry","deleteByCut","deleteByDrag","withTargetDOMRange","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","activateAttributeIfSupported","formatBold","toggleAttributeIfSupported","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","getCurrentAttributes","removeCurrentAttribute","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertTranspose","insertUnorderedList","inputControllerWillPerformFormatting","toggleCurrentAttribute","setCurrentAttribute","getTargetDOMRange","minLength","getTargetRanges","createRange","setStart","startOffset","setEnd","endOffset","AttachmentEditorController","attachmentPiece","container","didBlurCaption","didChangeCaption","didInputCaption","didKeyDownCaption","didClickActionButton","didClickToolbar","install","undos","makeElementMutable","addToolbar","isPreviewable","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","trixMutable","getFilename","getFormattedFilesize","placeholder","getCaption","tabIndex","height","scrollHeight","parentElement","editCaption","attachmentEditorDidRequestRemovalOfAttachment","attachmentEditorDidRequestDeselectingAttachment","uploadProgressDelegate","piece","createContentNodes","getClassName","getHref","tabindex","hasContent","getContent","createCaptionElement","isPending","progressElement","getUploadProgress","getCaptionConfig","createTextNode","getType","getExtension","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","findProgressElement","attachmentDidChangeUploadProgress","PreviewableAttachmentView","previewDelegate","image","src","refresh","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","width","attachmentDidChangeAttributes","PieceView","getAttributes","textConfig","context","createAttachmentNodes","createStringNodes","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","_t11","TextView","getPieces","hasAttribute","BlockView","block","createComment","getLastAttribute","shouldAddExtraNewlineElement","getBlockBreakPosition","elementStore","setDocument","sync","shadowElement","getBlocks","isSynced","createDocumentFragmentForSync","lastChild","didSync","createDocumentFragment","replaceChild","CompositionController","composition","didClickAttachment","didBlur","didFocus","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","revision","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","getAttachmentPieceForAttachment","compositionControllerWillUpdateAttachment","updateAttributesForAttachment","removeAttributeForAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","getAttachmentById","parseInt","ToolbarController","didKeyDownDialogInput","didClickDialogButton","didClickAttributeButton","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","select","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","_t12","ImagePreloadOperation","Image","naturalWidth","naturalHeight","_t13","Attachment","releaseFile","didChangeAttributes","previewablePattern","attachmentForFile","attributesForFile","setFile","filesize","contentType","preloadURL","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","createObjectURL","revokeObjectURL","_t14","Piece","registerType","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","getAttributesHash","getCommonAttributes","pieceList","getPieceAtIndex","eachPiece","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","getLength","canBeConsolidatedWith","_t15","AttachmentPiece","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","StringPiece","consolidateWith","splitAtOffset","SplittableList","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","transformObjectsInRange","getObjectAtPosition","findIndexAndOffsetAtPosition","index","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","_t16","textForAttachmentWithAttributes","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","getRangeOfAttachment","getPieceAtPosition","toSerializableText","Block","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","removeLastAttribute","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","lastIndexOf","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","getTextWithoutBlockBreak","blockBreak","HTMLSanitizer","allowedAttributes","forbiddenProtocols","sanitize","sanitizeElements","normalizeListElementNesting","getHTML","getBody","nextNode","currentNode","sanitizeElement","previousElementSibling","implementation","createHTMLDocument","HTMLParser","referenceElement","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","FILTER_REJECT","FILTER_ACCEPT","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","getBlockAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","appendStringWithAttributes","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","unshift","findBlockElementAncestors","reverse","whiteSpace","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","bottom","marginTop","marginBottom","blockList","fromString","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","locationRangeFromRange","getDocumentAtRange","eachBlockAtRange","eachBlock","getTextAtIndex","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","positionFromLocation","getTextAtPosition","getCharacterAtPosition","getEditCount","editCount","getCommonAttributesAtPosition","getRangeOfCommonAttributeAtPosition","min","getLocationRangeOfAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","rangeFromLocationRange","getTexts","LineBreakInsertion","startPosition","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","Composition","currentAttributes","refreshAttachments","compositionDidChangeDocument","getSnapshot","selectedRange","loadSnapshot","compositionWillLoadSnapshot","setSelection","compositionDidLoadSnapshot","notifyDelegateOfInsertionAtRange","insertBlock","getCurrentTextAttributes","insertBlockBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","replaceHTML","getLocationRange","compositionShouldAcceptFile","insertAttachments","insertAttachment","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","removeAttachment","stopEditingAttachment","placeholderPosition","getPosition","hasCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","getPreviousBlock","ignoreLock","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","createLocationRangeFromDOMRange","translateUTF16PositionFromOffset","editingAttachment","expandSelectionForEditing","expandSelectionAroundCommonAttribute","getSelectedAttachments","positionIsCursorTarget","locationIsCursorTarget","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","_t17","UndoManager","undoEntries","redoEntries","consolidatable","createEntry","description","snapshot","canUndo","canRedo","attachmentGalleryFilter","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","Editor","selectionManager","_t18","undoManager","filters","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","_t19","ManagedAttachment","attachmentManager","requestRemovalOfAttachment","_t20","AttachmentManager","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","LocationMapper","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","findContainerAndOffsetFromLocation","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","PointMapper","createDOMRangeFromPoint","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","getClientRectsForDOMRange","getClientRects","SelectionChangeObserver","selectionManagers","started","registerSelectionManager","unregisterSelectionManager","notifySelectionManagersOfSelectionChange","selectionDidChange","domRange","SelectionManager","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","getLocationAtPoint","lock","unlock","clearSelection","selectionIsCollapsed","collapsed","domRangeWithinElement","pauseTemporarily","paused","locationRangeDidChange","EditorController","editorElement","compositionController","toolbarController","toolbarElement","editor","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","getCurrentActions","currentActions","updateInputElement","setInputElementValue","documentChangedSinceLastRender","notify","getUndoContext","getLocationContext","getTimeContext","getTime","ownerDocument","queryCommandSupported","execCommand","inputElement","editorController","defaultValue","registerResetListener","unregisterResetListener","resetListener","resetBubbled","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","global","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","task","factory","sparkMd5","fn","createCommonjsModule","undefined","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tail","tmp","lo","hi","state","substring","rhex","j","hex","toUtf8","str","unescape","hexToBinaryString","substr","SparkMD5","ArrayBuffer","clamp","val","to","num","targetArray","sourceArray","byteLength","begin","Uint8Array","appendBinary","contents","_buff","_length","_hash","raw","ret","buff","_finish","getState","hash","setState","hashBinary","arr","first","second","returnUInt8Array","buffer","subarray","utf8Str2ArrayBuffer","md51_array","classCallCheck","createClass","fileSlice","File","mozSlice","webkitSlice","FileChecksum","chunkSize","chunkCount","ceil","chunkIndex","md5Buffer","fileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","root","eventInit","toArray$1","BlobRecord","checksum","content_type","byte_size","responseType","getMetaValue","requestDidLoad","requestDidError","blob","direct_upload","directUploadData","_xhr","BlobUpload","_blob$directUploadDat","headers","DirectUpload","methodName","_len","messages","_key","DirectUploadController","dispatch","hiddenInput","insertAdjacentElement","dispatchError","alert","_this2","uploadRequestDidProgress","DirectUploadsController","controllers","createDirectUploadControllers","startNextController","controller","submitButtonsByForm","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","disable","enable","delete","submitForm","ActiveStorage","require","mask","definitions","dataName","caret","each","setSelectionRange","collapse","moveEnd","moveStart","selectionStart","selectionEnd","selection","duplicate","unmask","trigger","completed","pos","attr","one","unbind","removeData","change","proxy","flickity","cellAlign","contain","wrapAround","lazyLoad","initialIndex","prevNextButtons","pageDots"],"mappings":"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","file":"js/application-95181c246e9da7ae0ddd.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 975);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { DirectUpload } from \"@rails/activestorage\";\nexport var AttachmentUpload = /*#__PURE__*/function () {\n function AttachmentUpload(attachment, element) {\n _classCallCheck(this, AttachmentUpload);\n\n this.attachment = attachment;\n this.element = element;\n this.directUpload = new DirectUpload(attachment.file, this.directUploadUrl, this);\n }\n\n _createClass(AttachmentUpload, [{\n key: \"start\",\n value: function start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this));\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this = this;\n\n xhr.upload.addEventListener(\"progress\", function (event) {\n var progress = event.loaded / event.total * 100;\n\n _this.attachment.setUploadProgress(progress);\n });\n }\n }, {\n key: \"directUploadDidComplete\",\n value: function directUploadDidComplete(error, attributes) {\n if (error) {\n throw new Error(\"Direct upload failed: \".concat(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 key: \"createBlobUrl\",\n value: function createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate.replace(\":signed_id\", signedId).replace(\":filename\", encodeURIComponent(filename));\n }\n }, {\n key: \"directUploadUrl\",\n get: function get() {\n return this.element.dataset.directUploadUrl;\n }\n }, {\n key: \"blobUrlTemplate\",\n get: function get() {\n return this.element.dataset.blobUrlTemplate;\n }\n }]);\n\n return AttachmentUpload;\n}();","import { AttachmentUpload } from \"./attachment_upload\";\naddEventListener(\"trix-attachment-add\", function (event) {\n var attachment = event.attachment,\n target = event.target;\n\n if (attachment.file) {\n var upload = new AttachmentUpload(attachment, target);\n upload.start();\n }\n});","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nTrix 1.2.3\nCopyright © 2020 Basecamp, LLC\nhttp://trix-editor.org/\n */\n(function () {}).call(this), function () {\n var t;\n null == window.Set && (window.Set = t = function () {\n function t() {\n this.clear();\n }\n\n return t.prototype.clear = function () {\n return this.values = [];\n }, t.prototype.has = function (t) {\n return -1 !== this.values.indexOf(t);\n }, t.prototype.add = function (t) {\n return this.has(t) || this.values.push(t), this;\n }, t.prototype[\"delete\"] = function (t) {\n var e;\n return -1 === (e = this.values.indexOf(t)) ? !1 : (this.values.splice(e, 1), !0);\n }, t.prototype.forEach = function () {\n var t;\n return (t = this.values).forEach.apply(t, arguments);\n }, t;\n }());\n}.call(this), function (t) {\n function e() {}\n\n function n(t, e) {\n return function () {\n t.apply(e, arguments);\n };\n }\n\n function i(t) {\n if (\"object\" != _typeof(this)) throw new TypeError(\"Promises must be constructed via new\");\n if (\"function\" != typeof t) throw new TypeError(\"not a function\");\n this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], c(t, this);\n }\n\n function o(t, e) {\n for (; 3 === t._state;) {\n t = t._value;\n }\n\n return 0 === t._state ? void t._deferreds.push(e) : (t._handled = !0, void h(function () {\n var n = 1 === t._state ? e.onFulfilled : e.onRejected;\n if (null === n) return void (1 === t._state ? r : s)(e.promise, t._value);\n var i;\n\n try {\n i = n(t._value);\n } catch (o) {\n return void s(e.promise, o);\n }\n\n r(e.promise, i);\n }));\n }\n\n function r(t, e) {\n try {\n if (e === t) throw new TypeError(\"A promise cannot be resolved with itself.\");\n\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) {\n var o = e.then;\n if (e instanceof i) return t._state = 3, t._value = e, void a(t);\n if (\"function\" == typeof o) return void c(n(o, e), t);\n }\n\n t._state = 1, t._value = e, a(t);\n } catch (r) {\n s(t, r);\n }\n }\n\n function s(t, e) {\n t._state = 2, t._value = e, a(t);\n }\n\n function a(t) {\n 2 === t._state && 0 === t._deferreds.length && setTimeout(function () {\n t._handled || p(t._value);\n }, 1);\n\n for (var e = 0, n = t._deferreds.length; n > e; e++) {\n o(t, t._deferreds[e]);\n }\n\n t._deferreds = null;\n }\n\n function u(t, e, n) {\n this.onFulfilled = \"function\" == typeof t ? t : null, this.onRejected = \"function\" == typeof e ? e : null, this.promise = n;\n }\n\n function c(t, e) {\n var n = !1;\n\n try {\n t(function (t) {\n n || (n = !0, r(e, t));\n }, function (t) {\n n || (n = !0, s(e, t));\n });\n } catch (i) {\n if (n) return;\n n = !0, s(e, i);\n }\n }\n\n var l = setTimeout,\n h = \"function\" == typeof setImmediate && setImmediate || function (t) {\n l(t, 1);\n },\n p = function p(t) {\n \"undefined\" != typeof console && console && console.warn(\"Possible Unhandled Promise Rejection:\", t);\n };\n\n i.prototype[\"catch\"] = function (t) {\n return this.then(null, t);\n }, i.prototype.then = function (t, n) {\n var r = new i(e);\n return o(this, new u(t, n, r)), r;\n }, i.all = function (t) {\n var e = Array.prototype.slice.call(t);\n return new i(function (t, n) {\n function i(r, s) {\n try {\n if (s && (\"object\" == _typeof(s) || \"function\" == typeof s)) {\n var a = s.then;\n if (\"function\" == typeof a) return void a.call(s, function (t) {\n i(r, t);\n }, n);\n }\n\n e[r] = s, 0 === --o && t(e);\n } catch (u) {\n n(u);\n }\n }\n\n if (0 === e.length) return t([]);\n\n for (var o = e.length, r = 0; r < e.length; r++) {\n i(r, e[r]);\n }\n });\n }, i.resolve = function (t) {\n return t && \"object\" == _typeof(t) && t.constructor === i ? t : new i(function (e) {\n e(t);\n });\n }, i.reject = function (t) {\n return new i(function (e, n) {\n n(t);\n });\n }, i.race = function (t) {\n return new i(function (e, n) {\n for (var i = 0, o = t.length; o > i; i++) {\n t[i].then(e, n);\n }\n });\n }, i._setImmediateFn = function (t) {\n h = t;\n }, i._setUnhandledRejectionFn = function (t) {\n p = t;\n }, \"undefined\" != typeof module && module.exports ? module.exports = i : t.Promise || (t.Promise = i);\n}(this), function () {\n var t = \"object\" == _typeof(window.customElements),\n e = \"function\" == typeof document.registerElement,\n n = t || e;\n\n n || (\n /**\n * @license\n * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n \"undefined\" == typeof WeakMap && !function () {\n var t = Object.defineProperty,\n e = Date.now() % 1e9,\n n = function n() {\n this.name = \"__st\" + (1e9 * Math.random() >>> 0) + (e++ + \"__\");\n };\n\n n.prototype = {\n set: function set(e, n) {\n var i = e[this.name];\n return i && i[0] === e ? i[1] = n : t(e, this.name, {\n value: [e, n],\n writable: !0\n }), this;\n },\n get: function get(t) {\n var e;\n return (e = t[this.name]) && e[0] === t ? e[1] : void 0;\n },\n \"delete\": function _delete(t) {\n var e = t[this.name];\n return e && e[0] === t ? (e[0] = e[1] = void 0, !0) : !1;\n },\n has: function has(t) {\n var e = t[this.name];\n return e ? e[0] === t : !1;\n }\n }, window.WeakMap = n;\n }(), function (t) {\n function e(t) {\n A.push(t), b || (b = !0, g(i));\n }\n\n function n(t) {\n return window.ShadowDOMPolyfill && window.ShadowDOMPolyfill.wrapIfNeeded(t) || t;\n }\n\n function i() {\n b = !1;\n var t = A;\n A = [], t.sort(function (t, e) {\n return t.uid_ - e.uid_;\n });\n var e = !1;\n t.forEach(function (t) {\n var n = t.takeRecords();\n o(t), n.length && (t.callback_(n, t), e = !0);\n }), e && i();\n }\n\n function o(t) {\n t.nodes_.forEach(function (e) {\n var n = m.get(e);\n n && n.forEach(function (e) {\n e.observer === t && e.removeTransientObservers();\n });\n });\n }\n\n function r(t, e) {\n for (var n = t; n; n = n.parentNode) {\n var i = m.get(n);\n if (i) for (var o = 0; o < i.length; o++) {\n var r = i[o],\n s = r.options;\n\n if (n === t || s.subtree) {\n var a = e(s);\n a && r.enqueue(a);\n }\n }\n }\n }\n\n function s(t) {\n this.callback_ = t, this.nodes_ = [], this.records_ = [], this.uid_ = ++C;\n }\n\n function a(t, e) {\n this.type = t, this.target = e, this.addedNodes = [], this.removedNodes = [], this.previousSibling = null, this.nextSibling = null, this.attributeName = null, this.attributeNamespace = null, this.oldValue = null;\n }\n\n function u(t) {\n var e = new a(t.type, t.target);\n return e.addedNodes = t.addedNodes.slice(), e.removedNodes = t.removedNodes.slice(), e.previousSibling = t.previousSibling, e.nextSibling = t.nextSibling, e.attributeName = t.attributeName, e.attributeNamespace = t.attributeNamespace, e.oldValue = t.oldValue, e;\n }\n\n function c(t, e) {\n return x = new a(t, e);\n }\n\n function l(t) {\n return w ? w : (w = u(x), w.oldValue = t, w);\n }\n\n function h() {\n x = w = void 0;\n }\n\n function p(t) {\n return t === w || t === x;\n }\n\n function d(t, e) {\n return t === e ? t : w && p(t) ? w : null;\n }\n\n function f(t, e, n) {\n this.observer = t, this.target = e, this.options = n, this.transientObservedNodes = [];\n }\n\n if (!t.JsMutationObserver) {\n var g,\n m = new WeakMap();\n if (/Trident|Edge/.test(navigator.userAgent)) g = setTimeout;else if (window.setImmediate) g = window.setImmediate;else {\n var v = [],\n y = String(Math.random());\n window.addEventListener(\"message\", function (t) {\n if (t.data === y) {\n var e = v;\n v = [], e.forEach(function (t) {\n t();\n });\n }\n }), g = function g(t) {\n v.push(t), window.postMessage(y, \"*\");\n };\n }\n var b = !1,\n A = [],\n C = 0;\n s.prototype = {\n observe: function observe(t, e) {\n if (t = n(t), !e.childList && !e.attributes && !e.characterData || e.attributeOldValue && !e.attributes || e.attributeFilter && e.attributeFilter.length && !e.attributes || e.characterDataOldValue && !e.characterData) throw new SyntaxError();\n var i = m.get(t);\n i || m.set(t, i = []);\n\n for (var o, r = 0; r < i.length; r++) {\n if (i[r].observer === this) {\n o = i[r], o.removeListeners(), o.options = e;\n break;\n }\n }\n\n o || (o = new f(this, t, e), i.push(o), this.nodes_.push(t)), o.addListeners();\n },\n disconnect: function disconnect() {\n this.nodes_.forEach(function (t) {\n for (var e = m.get(t), n = 0; n < e.length; n++) {\n var i = e[n];\n\n if (i.observer === this) {\n i.removeListeners(), e.splice(n, 1);\n break;\n }\n }\n }, this), this.records_ = [];\n },\n takeRecords: function takeRecords() {\n var t = this.records_;\n return this.records_ = [], t;\n }\n };\n var x, w;\n f.prototype = {\n enqueue: function enqueue(t) {\n var n = this.observer.records_,\n i = n.length;\n\n if (n.length > 0) {\n var o = n[i - 1],\n r = d(o, t);\n if (r) return void (n[i - 1] = r);\n } else e(this.observer);\n\n n[i] = t;\n },\n addListeners: function addListeners() {\n this.addListeners_(this.target);\n },\n addListeners_: function addListeners_(t) {\n var e = this.options;\n e.attributes && t.addEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.addEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.addEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.addEventListener(\"DOMNodeRemoved\", this, !0);\n },\n removeListeners: function removeListeners() {\n this.removeListeners_(this.target);\n },\n removeListeners_: function removeListeners_(t) {\n var e = this.options;\n e.attributes && t.removeEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.removeEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.removeEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.removeEventListener(\"DOMNodeRemoved\", this, !0);\n },\n addTransientObserver: function addTransientObserver(t) {\n if (t !== this.target) {\n this.addListeners_(t), this.transientObservedNodes.push(t);\n var e = m.get(t);\n e || m.set(t, e = []), e.push(this);\n }\n },\n removeTransientObservers: function removeTransientObservers() {\n var t = this.transientObservedNodes;\n this.transientObservedNodes = [], t.forEach(function (t) {\n this.removeListeners_(t);\n\n for (var e = m.get(t), n = 0; n < e.length; n++) {\n if (e[n] === this) {\n e.splice(n, 1);\n break;\n }\n }\n }, this);\n },\n handleEvent: function handleEvent(t) {\n switch (t.stopImmediatePropagation(), t.type) {\n case \"DOMAttrModified\":\n var e = t.attrName,\n n = t.relatedNode.namespaceURI,\n i = t.target,\n o = new c(\"attributes\", i);\n o.attributeName = e, o.attributeNamespace = n;\n var s = t.attrChange === MutationEvent.ADDITION ? null : t.prevValue;\n r(i, function (t) {\n return !t.attributes || t.attributeFilter && t.attributeFilter.length && -1 === t.attributeFilter.indexOf(e) && -1 === t.attributeFilter.indexOf(n) ? void 0 : t.attributeOldValue ? l(s) : o;\n });\n break;\n\n case \"DOMCharacterDataModified\":\n var i = t.target,\n o = c(\"characterData\", i),\n s = t.prevValue;\n r(i, function (t) {\n return t.characterData ? t.characterDataOldValue ? l(s) : o : void 0;\n });\n break;\n\n case \"DOMNodeRemoved\":\n this.addTransientObserver(t.target);\n\n case \"DOMNodeInserted\":\n var a,\n u,\n p = t.target;\n \"DOMNodeInserted\" === t.type ? (a = [p], u = []) : (a = [], u = [p]);\n var d = p.previousSibling,\n f = p.nextSibling,\n o = c(\"childList\", t.target.parentNode);\n o.addedNodes = a, o.removedNodes = u, o.previousSibling = d, o.nextSibling = f, r(t.relatedNode, function (t) {\n return t.childList ? o : void 0;\n });\n }\n\n h();\n }\n }, t.JsMutationObserver = s, t.MutationObserver || (t.MutationObserver = s, s._isPolyfilled = !0);\n }\n }(self), function () {\n \"use strict\";\n\n if (!window.performance || !window.performance.now) {\n var t = Date.now();\n window.performance = {\n now: function now() {\n return Date.now() - t;\n }\n };\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function () {\n var t = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n return t ? function (e) {\n return t(function () {\n e(performance.now());\n });\n } : function (t) {\n return window.setTimeout(t, 1e3 / 60);\n };\n }()), window.cancelAnimationFrame || (window.cancelAnimationFrame = function () {\n return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function (t) {\n clearTimeout(t);\n };\n }());\n\n var e = function () {\n var t = document.createEvent(\"Event\");\n return t.initEvent(\"foo\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }();\n\n if (!e) {\n var n = Event.prototype.preventDefault;\n\n Event.prototype.preventDefault = function () {\n this.cancelable && (n.call(this), Object.defineProperty(this, \"defaultPrevented\", {\n get: function get() {\n return !0;\n },\n configurable: !0\n }));\n };\n }\n\n var i = /Trident/.test(navigator.userAgent);\n\n if ((!window.CustomEvent || i && \"function\" != typeof window.CustomEvent) && (window.CustomEvent = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"CustomEvent\");\n return n.initCustomEvent(t, Boolean(e.bubbles), Boolean(e.cancelable), e.detail), n;\n }, window.CustomEvent.prototype = window.Event.prototype), !window.Event || i && \"function\" != typeof window.Event) {\n var o = window.Event;\n window.Event = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"Event\");\n return n.initEvent(t, Boolean(e.bubbles), Boolean(e.cancelable)), n;\n }, window.Event.prototype = o.prototype;\n }\n }(window.WebComponents), window.CustomElements = window.CustomElements || {\n flags: {}\n }, function (t) {\n var e = t.flags,\n n = [],\n i = function i(t) {\n n.push(t);\n },\n o = function o() {\n n.forEach(function (e) {\n e(t);\n });\n };\n\n t.addModule = i, t.initializeModules = o, t.hasNative = Boolean(document.registerElement), t.isIE = /Trident/.test(navigator.userAgent), t.useNative = !e.register && t.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || window.HTMLImports.useNative);\n }(window.CustomElements), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n n(t, function (t) {\n return e(t) ? !0 : void i(t, e);\n }), i(t, e);\n }\n\n function n(t, e, i) {\n var o = t.firstElementChild;\n if (!o) for (o = t.firstChild; o && o.nodeType !== Node.ELEMENT_NODE;) {\n o = o.nextSibling;\n }\n\n for (; o;) {\n e(o, i) !== !0 && n(o, e, i), o = o.nextElementSibling;\n }\n\n return null;\n }\n\n function i(t, n) {\n for (var i = t.shadowRoot; i;) {\n e(i, n), i = i.olderShadowRoot;\n }\n }\n\n function o(t, e) {\n r(t, e, []);\n }\n\n function r(t, e, n) {\n if (t = window.wrap(t), !(n.indexOf(t) >= 0)) {\n n.push(t);\n\n for (var i, o = t.querySelectorAll(\"link[rel=\" + s + \"]\"), a = 0, u = o.length; u > a && (i = o[a]); a++) {\n i.import && r(i.import, e, n);\n }\n\n e(t);\n }\n }\n\n var s = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : \"none\";\n t.forDocumentTree = o, t.forSubtree = e;\n }), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n return n(t, e) || i(t, e);\n }\n\n function n(e, n) {\n return t.upgrade(e, n) ? !0 : void (n && s(e));\n }\n\n function i(t, e) {\n b(t, function (t) {\n return n(t, e) ? !0 : void 0;\n });\n }\n\n function o(t) {\n w.push(t), x || (x = !0, setTimeout(r));\n }\n\n function r() {\n x = !1;\n\n for (var t, e = w, n = 0, i = e.length; i > n && (t = e[n]); n++) {\n t();\n }\n\n w = [];\n }\n\n function s(t) {\n C ? o(function () {\n a(t);\n }) : a(t);\n }\n\n function a(t) {\n t.__upgraded__ && !t.__attached && (t.__attached = !0, t.attachedCallback && t.attachedCallback());\n }\n\n function u(t) {\n c(t), b(t, function (t) {\n c(t);\n });\n }\n\n function c(t) {\n C ? o(function () {\n l(t);\n }) : l(t);\n }\n\n function l(t) {\n t.__upgraded__ && t.__attached && (t.__attached = !1, t.detachedCallback && t.detachedCallback());\n }\n\n function h(t) {\n for (var e = t, n = window.wrap(document); e;) {\n if (e == n) return !0;\n e = e.parentNode || e.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e.host;\n }\n }\n\n function p(t) {\n if (t.shadowRoot && !t.shadowRoot.__watched) {\n y.dom && console.log(\"watching shadow-root for: \", t.localName);\n\n for (var e = t.shadowRoot; e;) {\n g(e), e = e.olderShadowRoot;\n }\n }\n }\n\n function d(t, n) {\n if (y.dom) {\n var i = n[0];\n\n if (i && \"childList\" === i.type && i.addedNodes && i.addedNodes) {\n for (var o = i.addedNodes[0]; o && o !== document && !o.host;) {\n o = o.parentNode;\n }\n\n var r = o && (o.URL || o._URL || o.host && o.host.localName) || \"\";\n r = r.split(\"/?\").shift().split(\"/\").pop();\n }\n\n console.group(\"mutations (%d) [%s]\", n.length, r || \"\");\n }\n\n var s = h(t);\n n.forEach(function (t) {\n \"childList\" === t.type && (E(t.addedNodes, function (t) {\n t.localName && e(t, s);\n }), E(t.removedNodes, function (t) {\n t.localName && u(t);\n }));\n }), y.dom && console.groupEnd();\n }\n\n function f(t) {\n for (t = window.wrap(t), t || (t = window.wrap(document)); t.parentNode;) {\n t = t.parentNode;\n }\n\n var e = t.__observer;\n e && (d(t, e.takeRecords()), r());\n }\n\n function g(t) {\n if (!t.__observer) {\n var e = new MutationObserver(d.bind(this, t));\n e.observe(t, {\n childList: !0,\n subtree: !0\n }), t.__observer = e;\n }\n }\n\n function m(t) {\n t = window.wrap(t), y.dom && console.group(\"upgradeDocument: \", t.baseURI.split(\"/\").pop());\n var n = t === window.wrap(document);\n e(t, n), g(t), y.dom && console.groupEnd();\n }\n\n function v(t) {\n A(t, m);\n }\n\n var y = t.flags,\n b = t.forSubtree,\n A = t.forDocumentTree,\n C = window.MutationObserver._isPolyfilled && y[\"throttle-attached\"];\n t.hasPolyfillMutations = C, t.hasThrottledAttached = C;\n var x = !1,\n w = [],\n E = Array.prototype.forEach.call.bind(Array.prototype.forEach),\n S = Element.prototype.createShadowRoot;\n S && (Element.prototype.createShadowRoot = function () {\n var t = S.call(this);\n return window.CustomElements.watchShadow(this), t;\n }), t.watchShadow = p, t.upgradeDocumentTree = v, t.upgradeDocument = m, t.upgradeSubtree = i, t.upgradeAll = e, t.attached = s, t.takeRecords = f;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n if (\"template\" === e.localName && window.HTMLTemplateElement && HTMLTemplateElement.decorate && HTMLTemplateElement.decorate(e), !e.__upgraded__ && e.nodeType === Node.ELEMENT_NODE) {\n var o = e.getAttribute(\"is\"),\n r = t.getRegisteredDefinition(e.localName) || t.getRegisteredDefinition(o);\n if (r && (o && r.tag == e.localName || !o && !r.extends)) return n(e, r, i);\n }\n }\n\n function n(e, n, o) {\n return s.upgrade && console.group(\"upgrade:\", e.localName), n.is && e.setAttribute(\"is\", n.is), i(e, n), e.__upgraded__ = !0, r(e), o && t.attached(e), t.upgradeSubtree(e, o), s.upgrade && console.groupEnd(), e;\n }\n\n function i(t, e) {\n Object.__proto__ ? t.__proto__ = e.prototype : (o(t, e.prototype, e.native), t.__proto__ = e.prototype);\n }\n\n function o(t, e, n) {\n for (var i = {}, o = e; o !== n && o !== HTMLElement.prototype;) {\n for (var r, s = Object.getOwnPropertyNames(o), a = 0; r = s[a]; a++) {\n i[r] || (Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(o, r)), i[r] = 1);\n }\n\n o = Object.getPrototypeOf(o);\n }\n }\n\n function r(t) {\n t.createdCallback && t.createdCallback();\n }\n\n var s = t.flags;\n t.upgrade = e, t.upgradeWithDefinition = n, t.implementPrototype = i;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n var u = i || {};\n if (!e) throw new Error(\"document.registerElement: first argument `name` must not be empty\");\n if (e.indexOf(\"-\") < 0) throw new Error(\"document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '\" + String(e) + \"'.\");\n if (o(e)) throw new Error(\"Failed to execute 'registerElement' on 'Document': Registration failed for type '\" + String(e) + \"'. The type name is invalid.\");\n if (c(e)) throw new Error(\"DuplicateDefinitionError: a type with name '\" + String(e) + \"' is already registered\");\n return u.prototype || (u.prototype = Object.create(HTMLElement.prototype)), u.__name = e.toLowerCase(), u.extends && (u.extends = u.extends.toLowerCase()), u.lifecycle = u.lifecycle || {}, u.ancestry = r(u.extends), s(u), a(u), n(u.prototype), l(u.__name, u), u.ctor = h(u), u.ctor.prototype = u.prototype, u.prototype.constructor = u.ctor, t.ready && m(document), u.ctor;\n }\n\n function n(t) {\n if (!t.setAttribute._polyfilled) {\n var e = t.setAttribute;\n\n t.setAttribute = function (t, n) {\n i.call(this, t, n, e);\n };\n\n var n = t.removeAttribute;\n t.removeAttribute = function (t) {\n i.call(this, t, null, n);\n }, t.setAttribute._polyfilled = !0;\n }\n }\n\n function i(t, e, n) {\n t = t.toLowerCase();\n var i = this.getAttribute(t);\n n.apply(this, arguments);\n var o = this.getAttribute(t);\n this.attributeChangedCallback && o !== i && this.attributeChangedCallback(t, i, o);\n }\n\n function o(t) {\n for (var e = 0; e < C.length; e++) {\n if (t === C[e]) return !0;\n }\n }\n\n function r(t) {\n var e = c(t);\n return e ? r(e.extends).concat([e]) : [];\n }\n\n function s(t) {\n for (var e, n = t.extends, i = 0; e = t.ancestry[i]; i++) {\n n = e.is && e.tag;\n }\n\n t.tag = n || t.__name, n && (t.is = t.__name);\n }\n\n function a(t) {\n if (!Object.__proto__) {\n var e = HTMLElement.prototype;\n\n if (t.is) {\n var n = document.createElement(t.tag);\n e = Object.getPrototypeOf(n);\n }\n\n for (var i, o = t.prototype, r = !1; o;) {\n o == e && (r = !0), i = Object.getPrototypeOf(o), i && (o.__proto__ = i), o = i;\n }\n\n r || console.warn(t.tag + \" prototype not found in prototype chain for \" + t.is), t.native = e;\n }\n }\n\n function u(t) {\n return y(E(t.tag), t);\n }\n\n function c(t) {\n return t ? x[t.toLowerCase()] : void 0;\n }\n\n function l(t, e) {\n x[t] = e;\n }\n\n function h(t) {\n return function () {\n return u(t);\n };\n }\n\n function p(t, e, n) {\n return t === w ? d(e, n) : S(t, e);\n }\n\n function d(t, e) {\n t && (t = t.toLowerCase()), e && (e = e.toLowerCase());\n var n = c(e || t);\n\n if (n) {\n if (t == n.tag && e == n.is) return new n.ctor();\n if (!e && !n.is) return new n.ctor();\n }\n\n var i;\n return e ? (i = d(t), i.setAttribute(\"is\", e), i) : (i = E(t), t.indexOf(\"-\") >= 0 && b(i, HTMLElement), i);\n }\n\n function f(t, e) {\n var n = t[e];\n\n t[e] = function () {\n var t = n.apply(this, arguments);\n return v(t), t;\n };\n }\n\n var g,\n m = (t.isIE, t.upgradeDocumentTree),\n v = t.upgradeAll,\n y = t.upgradeWithDefinition,\n b = t.implementPrototype,\n A = t.useNative,\n C = [\"annotation-xml\", \"color-profile\", \"font-face\", \"font-face-src\", \"font-face-uri\", \"font-face-format\", \"font-face-name\", \"missing-glyph\"],\n x = {},\n w = \"http://www.w3.org/1999/xhtml\",\n E = document.createElement.bind(document),\n S = document.createElementNS.bind(document);\n g = Object.__proto__ || A ? function (t, e) {\n return t instanceof e;\n } : function (t, e) {\n if (t instanceof e) return !0;\n\n for (var n = t; n;) {\n if (n === e.prototype) return !0;\n n = n.__proto__;\n }\n\n return !1;\n }, f(Node.prototype, \"cloneNode\"), f(document, \"importNode\"), document.registerElement = e, document.createElement = d, document.createElementNS = p, t.registry = x, t.instanceof = g, t.reservedTagList = C, t.getRegisteredDefinition = c, document.register = document.registerElement;\n }), function (t) {\n function e() {\n r(window.wrap(document)), window.CustomElements.ready = !0;\n\n var t = window.requestAnimationFrame || function (t) {\n setTimeout(t, 16);\n };\n\n t(function () {\n setTimeout(function () {\n window.CustomElements.readyTime = Date.now(), window.HTMLImports && (window.CustomElements.elapsed = window.CustomElements.readyTime - window.HTMLImports.readyTime), document.dispatchEvent(new CustomEvent(\"WebComponentsReady\", {\n bubbles: !0\n }));\n });\n });\n }\n\n var n = t.useNative,\n i = t.initializeModules;\n\n if (t.isIE, n) {\n var o = function o() {};\n\n t.watchShadow = o, t.upgrade = o, t.upgradeAll = o, t.upgradeDocumentTree = o, t.upgradeSubtree = o, t.takeRecords = o, t.instanceof = function (t, e) {\n return t instanceof e;\n };\n } else i();\n\n var r = t.upgradeDocumentTree,\n s = t.upgradeDocument;\n if (window.wrap || (window.ShadowDOMPolyfill ? (window.wrap = window.ShadowDOMPolyfill.wrapIfNeeded, window.unwrap = window.ShadowDOMPolyfill.unwrapIfNeeded) : window.wrap = window.unwrap = function (t) {\n return t;\n }), window.HTMLImports && (window.HTMLImports.__importsParsingHook = function (t) {\n t.import && s(wrap(t.import));\n }), \"complete\" === document.readyState || t.flags.eager) e();else if (\"interactive\" !== document.readyState || window.attachEvent || window.HTMLImports && !window.HTMLImports.ready) {\n var a = window.HTMLImports && !window.HTMLImports.ready ? \"HTMLImportsLoaded\" : \"DOMContentLoaded\";\n window.addEventListener(a, e);\n } else e();\n }(window.CustomElements));\n}.call(this), function () {}.call(this), function () {\n var t = this;\n (function () {\n (function () {\n this.Trix = {\n VERSION: \"1.2.3\",\n ZERO_WIDTH_SPACE: \"\\uFEFF\",\n NON_BREAKING_SPACE: \"\\xa0\",\n OBJECT_REPLACEMENT_CHARACTER: \"\\uFFFC\",\n browser: {\n composesExistingText: /Android.*Chrome/.test(navigator.userAgent),\n forcesObjectResizing: /Trident.*rv:11/.test(navigator.userAgent),\n supportsInputEvents: function () {\n var t, e, n, i;\n if (\"undefined\" == typeof InputEvent) return !1;\n\n for (i = [\"data\", \"getTargetRanges\", \"inputType\"], t = 0, e = i.length; e > t; t++) {\n if (n = i[t], !(n in InputEvent.prototype)) return !1;\n }\n\n return !0;\n }()\n },\n config: {}\n };\n }).call(this);\n }).call(t);\n var e = t.Trix;\n (function () {\n (function () {\n e.BasicObject = function () {\n function t() {}\n\n var e, n, i;\n return t.proxyMethod = function (t) {\n var i, o, r, s, a;\n return r = n(t), i = r.name, s = r.toMethod, a = r.toProperty, o = r.optional, this.prototype[i] = function () {\n var t, n;\n return t = null != s ? o ? \"function\" == typeof this[s] ? this[s]() : void 0 : this[s]() : null != a ? this[a] : void 0, o ? (n = null != t ? t[i] : void 0, null != n ? e.call(n, t, arguments) : void 0) : (n = t[i], e.call(n, t, arguments));\n };\n }, n = function n(t) {\n var e, n;\n if (!(n = t.match(i))) throw new Error(\"can't parse @proxyMethod expression: \" + t);\n return e = {\n name: n[4]\n }, null != n[2] ? e.toMethod = n[1] : e.toProperty = n[1], null != n[3] && (e.optional = !0), e;\n }, e = Function.prototype.apply, i = /^(.+?)(\\(\\))?(\\?)?\\.(.+?)$/, t;\n }();\n }).call(this), function () {\n var t = function t(_t, e) {\n function i() {\n this.constructor = _t;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t.prototype = new i(), _t.__super__ = e.prototype, _t;\n },\n n = {}.hasOwnProperty;\n\n e.Object = function (n) {\n function i() {\n this.id = ++o;\n }\n\n var o;\n return t(i, n), o = 0, i.fromJSONString = function (t) {\n return this.fromJSON(JSON.parse(t));\n }, i.prototype.hasSameConstructorAs = function (t) {\n return this.constructor === (null != t ? t.constructor : void 0);\n }, i.prototype.isEqualTo = function (t) {\n return this === t;\n }, i.prototype.inspect = function () {\n var t, e, n;\n return t = function () {\n var t, i, o;\n i = null != (t = this.contentsForInspection()) ? t : {}, o = [];\n\n for (e in i) {\n n = i[e], o.push(e + \"=\" + n);\n }\n\n return o;\n }.call(this), \"#<\" + this.constructor.name + \":\" + this.id + (t.length ? \" \" + t.join(\", \") : \"\") + \">\";\n }, i.prototype.contentsForInspection = function () {}, i.prototype.toJSONString = function () {\n return JSON.stringify(this);\n }, i.prototype.toUTF16String = function () {\n return e.UTF16String.box(this);\n }, i.prototype.getCacheKey = function () {\n return this.id.toString();\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n e.extend = function (t) {\n var e, n;\n\n for (e in t) {\n n = t[e], this[e] = n;\n }\n\n return this;\n };\n }.call(this), function () {\n e.extend({\n defer: function defer(t) {\n return setTimeout(t, 1);\n }\n });\n }.call(this), function () {\n var t, n;\n e.extend({\n normalizeSpaces: function normalizeSpaces(t) {\n return t.replace(RegExp(\"\" + e.ZERO_WIDTH_SPACE, \"g\"), \"\").replace(RegExp(\"\" + e.NON_BREAKING_SPACE, \"g\"), \" \");\n },\n normalizeNewlines: function normalizeNewlines(t) {\n return t.replace(/\\r\\n/g, \"\\n\");\n },\n breakableWhitespacePattern: RegExp(\"[^\\\\S\" + e.NON_BREAKING_SPACE + \"]\"),\n squishBreakableWhitespace: function squishBreakableWhitespace(t) {\n return t.replace(RegExp(\"\" + e.breakableWhitespacePattern.source, \"g\"), \" \").replace(/\\ {2,}/g, \" \");\n },\n escapeHTML: function escapeHTML(t) {\n var e;\n return e = document.createElement(\"div\"), e.textContent = t, e.innerHTML;\n },\n summarizeStringChange: function summarizeStringChange(t, i) {\n var o, r, s, a;\n return t = e.UTF16String.box(t), i = e.UTF16String.box(i), i.length < t.length ? (r = n(t, i), a = r[0], o = r[1]) : (s = n(i, t), o = s[0], a = s[1]), {\n added: o,\n removed: a\n };\n }\n }), n = function n(_n, i) {\n var o, r, s, a, u;\n return _n.isEqualTo(i) ? [\"\", \"\"] : (r = t(_n, i), a = r.utf16String.length, s = a ? (u = r.offset, r, o = _n.codepoints.slice(0, u).concat(_n.codepoints.slice(u + a)), t(i, e.UTF16String.fromCodepoints(o))) : t(i, _n), [r.utf16String.toString(), s.utf16String.toString()]);\n }, t = function t(_t2, e) {\n var n, i, o;\n\n for (n = 0, i = _t2.length, o = e.length; i > n && _t2.charAt(n).isEqualTo(e.charAt(n));) {\n n++;\n }\n\n for (; i > n + 1 && _t2.charAt(i - 1).isEqualTo(e.charAt(o - 1));) {\n i--, o--;\n }\n\n return {\n utf16String: _t2.slice(n, i),\n offset: n\n };\n };\n }.call(this), function () {\n e.extend({\n copyObject: function copyObject(t) {\n var e, n, i;\n null == t && (t = {}), n = {};\n\n for (e in t) {\n i = t[e], n[e] = i;\n }\n\n return n;\n },\n objectsAreEqual: function objectsAreEqual(t, e) {\n var n, i;\n if (null == t && (t = {}), null == e && (e = {}), Object.keys(t).length !== Object.keys(e).length) return !1;\n\n for (n in t) {\n if (i = t[n], i !== e[n]) return !1;\n }\n\n return !0;\n }\n });\n }.call(this), function () {\n var t = [].slice;\n e.extend({\n arraysAreEqual: function arraysAreEqual(t, e) {\n var n, i, o, r;\n if (null == t && (t = []), null == e && (e = []), t.length !== e.length) return !1;\n\n for (i = n = 0, o = t.length; o > n; i = ++n) {\n if (r = t[i], r !== e[i]) return !1;\n }\n\n return !0;\n },\n arrayStartsWith: function arrayStartsWith(t, n) {\n return null == t && (t = []), null == n && (n = []), e.arraysAreEqual(t.slice(0, n.length), n);\n },\n spliceArray: function spliceArray() {\n var e, n, i;\n return n = arguments[0], e = 2 <= arguments.length ? t.call(arguments, 1) : [], i = n.slice(0), i.splice.apply(i, e), i;\n },\n summarizeArrayChange: function summarizeArrayChange(t, e) {\n var n, i, o, r, s, a, u, c, l, h, p;\n\n for (null == t && (t = []), null == e && (e = []), n = [], h = [], o = new Set(), r = 0, u = t.length; u > r; r++) {\n p = t[r], o.add(p);\n }\n\n for (i = new Set(), s = 0, c = e.length; c > s; s++) {\n p = e[s], i.add(p), o.has(p) || n.push(p);\n }\n\n for (a = 0, l = t.length; l > a; a++) {\n p = t[a], i.has(p) || h.push(p);\n }\n\n return {\n added: n,\n removed: h\n };\n }\n });\n }.call(this), function () {\n var t, n, i, o;\n t = null, n = null, o = null, i = null, e.extend({\n getAllAttributeNames: function getAllAttributeNames() {\n return null != t ? t : t = e.getTextAttributeNames().concat(e.getBlockAttributeNames());\n },\n getBlockConfig: function getBlockConfig(t) {\n return e.config.blockAttributes[t];\n },\n getBlockAttributeNames: function getBlockAttributeNames() {\n return null != n ? n : n = Object.keys(e.config.blockAttributes);\n },\n getTextConfig: function getTextConfig(t) {\n return e.config.textAttributes[t];\n },\n getTextAttributeNames: function getTextAttributeNames() {\n return null != o ? o : o = Object.keys(e.config.textAttributes);\n },\n getListAttributeNames: function getListAttributeNames() {\n var t, n;\n return null != i ? i : i = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) {\n n = i[t].listAttribute, null != n && o.push(n);\n }\n\n return o;\n }();\n }\n });\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = document.documentElement, n = null != (i = null != (o = null != (r = t.matchesSelector) ? r : t.webkitMatchesSelector) ? o : t.msMatchesSelector) ? i : t.mozMatchesSelector, e.extend({\n handleEvent: function handleEvent(n, i) {\n var o, r, _s, a, u, c, l, h, p, d, f, g;\n\n return h = null != i ? i : {}, c = h.onElement, u = h.matchingSelector, g = h.withCallback, a = h.inPhase, l = h.preventDefault, d = h.times, r = null != c ? c : t, p = u, o = g, f = \"capturing\" === a, _s = function s(t) {\n var n;\n return null != d && 0 === --d && _s.destroy(), n = e.findClosestElementFromNode(t.target, {\n matchingSelector: p\n }), null != n && (null != g && g.call(n, t, n), l) ? t.preventDefault() : void 0;\n }, _s.destroy = function () {\n return r.removeEventListener(n, _s, f);\n }, r.addEventListener(n, _s, f), _s;\n },\n handleEventOnce: function handleEventOnce(t, n) {\n return null == n && (n = {}), n.times = 1, e.handleEvent(t, n);\n },\n triggerEvent: function triggerEvent(n, i) {\n var o, r, s, a, u, c, l;\n return l = null != i ? i : {}, c = l.onElement, r = l.bubbles, s = l.cancelable, o = l.attributes, a = null != c ? c : t, r = r !== !1, s = s !== !1, u = document.createEvent(\"Events\"), u.initEvent(n, r, s), null != o && e.extend.call(u, o), a.dispatchEvent(u);\n },\n elementMatchesSelector: function elementMatchesSelector(t, e) {\n return 1 === (null != t ? t.nodeType : void 0) ? n.call(t, e) : void 0;\n },\n findClosestElementFromNode: function findClosestElementFromNode(t, n) {\n var i, o, r;\n\n for (o = null != n ? n : {}, i = o.matchingSelector, r = o.untilNode; null != t && t.nodeType !== Node.ELEMENT_NODE;) {\n t = t.parentNode;\n }\n\n if (null != t) {\n if (null == i) return t;\n if (t.closest && null == r) return t.closest(i);\n\n for (; t && t !== r;) {\n if (e.elementMatchesSelector(t, i)) return t;\n t = t.parentNode;\n }\n }\n },\n findInnerElement: function findInnerElement(t) {\n for (; null != t ? t.firstElementChild : void 0;) {\n t = t.firstElementChild;\n }\n\n return t;\n },\n innerElementIsActive: function innerElementIsActive(t) {\n return document.activeElement !== t && e.elementContainsNode(t, document.activeElement);\n },\n elementContainsNode: function elementContainsNode(t, e) {\n if (t && e) for (; e;) {\n if (e === t) return !0;\n e = e.parentNode;\n }\n },\n findNodeFromContainerAndOffset: function findNodeFromContainerAndOffset(t, e) {\n var n;\n if (t) return t.nodeType === Node.TEXT_NODE ? t : 0 === e ? null != (n = t.firstChild) ? n : t : t.childNodes.item(e - 1);\n },\n findElementFromContainerAndOffset: function findElementFromContainerAndOffset(t, n) {\n var i;\n return i = e.findNodeFromContainerAndOffset(t, n), e.findClosestElementFromNode(i);\n },\n findChildIndexOfNode: function findChildIndexOfNode(t) {\n var e;\n\n if (null != t ? t.parentNode : void 0) {\n for (e = 0; t = t.previousSibling;) {\n e++;\n }\n\n return e;\n }\n },\n removeNode: function removeNode(t) {\n var e;\n return null != t && null != (e = t.parentNode) ? e.removeChild(t) : void 0;\n },\n walkTree: function walkTree(t, e) {\n var n, i, o, r, s;\n return o = null != e ? e : {}, i = o.onlyNodesOfType, r = o.usingFilter, n = o.expandEntityReferences, s = function () {\n switch (i) {\n case \"element\":\n return NodeFilter.SHOW_ELEMENT;\n\n case \"text\":\n return NodeFilter.SHOW_TEXT;\n\n case \"comment\":\n return NodeFilter.SHOW_COMMENT;\n\n default:\n return NodeFilter.SHOW_ALL;\n }\n }(), document.createTreeWalker(t, s, null != r ? r : null, n === !0);\n },\n tagName: function tagName(t) {\n var e;\n return null != t && null != (e = t.tagName) ? e.toLowerCase() : void 0;\n },\n makeElement: function makeElement(t, e) {\n var n, i, o, r, s, a, u, c, l, h;\n\n if (null == e && (e = {}), \"object\" == _typeof(t) ? (e = t, t = e.tagName) : e = {\n attributes: e\n }, i = document.createElement(t), null != e.editable && (null == e.attributes && (e.attributes = {}), e.attributes.contenteditable = e.editable), e.attributes) {\n a = e.attributes;\n\n for (r in a) {\n h = a[r], i.setAttribute(r, h);\n }\n }\n\n if (e.style) {\n u = e.style;\n\n for (r in u) {\n h = u[r], i.style[r] = h;\n }\n }\n\n if (e.data) {\n c = e.data;\n\n for (r in c) {\n h = c[r], i.dataset[r] = h;\n }\n }\n\n if (e.className) for (l = e.className.split(\" \"), o = 0, s = l.length; s > o; o++) {\n n = l[o], i.classList.add(n);\n }\n return e.textContent && (i.textContent = e.textContent), i;\n },\n getBlockTagNames: function getBlockTagNames() {\n var t, n;\n return null != e.blockTagNames ? e.blockTagNames : e.blockTagNames = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) {\n n = i[t].tagName, n && o.push(n);\n }\n\n return o;\n }();\n },\n nodeIsBlockContainer: function nodeIsBlockContainer(t) {\n return e.nodeIsBlockStartComment(null != t ? t.firstChild : void 0);\n },\n nodeProbablyIsBlockContainer: function nodeProbablyIsBlockContainer(t) {\n var n, i;\n return n = e.tagName(t), s.call(e.getBlockTagNames(), n) >= 0 && (i = e.tagName(t.firstChild), s.call(e.getBlockTagNames(), i) < 0);\n },\n nodeIsBlockStart: function nodeIsBlockStart(t, n) {\n var i;\n return i = (null != n ? n : {\n strict: !0\n }).strict, i ? e.nodeIsBlockStartComment(t) : e.nodeIsBlockStartComment(t) || !e.nodeIsBlockStartComment(t.firstChild) && e.nodeProbablyIsBlockContainer(t);\n },\n nodeIsBlockStartComment: function nodeIsBlockStartComment(t) {\n return e.nodeIsCommentNode(t) && \"block\" === (null != t ? t.data : void 0);\n },\n nodeIsCommentNode: function nodeIsCommentNode(t) {\n return (null != t ? t.nodeType : void 0) === Node.COMMENT_NODE;\n },\n nodeIsCursorTarget: function nodeIsCursorTarget(t, n) {\n var i;\n return i = (null != n ? n : {}).name, t ? e.nodeIsTextNode(t) ? t.data === e.ZERO_WIDTH_SPACE ? i ? t.parentNode.dataset.trixCursorTarget === i : !0 : void 0 : e.nodeIsCursorTarget(t.firstChild) : void 0;\n },\n nodeIsAttachmentElement: function nodeIsAttachmentElement(t) {\n return e.elementMatchesSelector(t, e.AttachmentView.attachmentSelector);\n },\n nodeIsEmptyTextNode: function nodeIsEmptyTextNode(t) {\n return e.nodeIsTextNode(t) && \"\" === (null != t ? t.data : void 0);\n },\n nodeIsTextNode: function nodeIsTextNode(t) {\n return (null != t ? t.nodeType : void 0) === Node.TEXT_NODE;\n }\n });\n }.call(this), function () {\n var t, n, i, o, r;\n t = e.copyObject, o = e.objectsAreEqual, e.extend({\n normalizeRange: i = function i(t) {\n var e;\n if (null != t) return Array.isArray(t) || (t = [t, t]), [n(t[0]), n(null != (e = t[1]) ? e : t[0])];\n },\n rangeIsCollapsed: function rangeIsCollapsed(t) {\n var e, n, o;\n if (null != t) return n = i(t), o = n[0], e = n[1], r(o, e);\n },\n rangesAreEqual: function rangesAreEqual(t, e) {\n var n, o, s, a, u, c;\n if (null != t && null != e) return s = i(t), o = s[0], n = s[1], a = i(e), c = a[0], u = a[1], r(o, c) && r(n, u);\n }\n }), n = function n(e) {\n return \"number\" == typeof e ? e : t(e);\n }, r = function r(t, e) {\n return \"number\" == typeof t ? t === e : o(t, e);\n };\n }.call(this), function () {\n var t, n, i, o, r, s, a;\n e.registerElement = function (t, e) {\n var n, i;\n return null == e && (e = {}), t = t.toLowerCase(), e = a(e), i = s(e), (n = i.defaultCSS) && (delete i.defaultCSS, o(n, t)), r(t, i);\n }, o = function o(t, e) {\n var n;\n return n = i(e), n.textContent = t.replace(/%t/g, e);\n }, i = function i(e) {\n var n, i;\n return n = document.createElement(\"style\"), n.setAttribute(\"type\", \"text/css\"), n.setAttribute(\"data-tag-name\", e.toLowerCase()), (i = t()) && n.setAttribute(\"nonce\", i), document.head.insertBefore(n, document.head.firstChild), n;\n }, t = function t() {\n var t;\n return (t = n(\"trix-csp-nonce\") || n(\"csp-nonce\")) ? t.getAttribute(\"content\") : void 0;\n }, n = function n(t) {\n return document.head.querySelector(\"meta[name=\" + t + \"]\");\n }, s = function s(t) {\n var e, n, i;\n n = {};\n\n for (e in t) {\n i = t[e], n[e] = \"function\" == typeof i ? {\n value: i\n } : i;\n }\n\n return n;\n }, a = function () {\n var t;\n return t = function t(_t3) {\n var e, n, i, o, r;\n\n for (e = {}, r = [\"initialize\", \"connect\", \"disconnect\"], n = 0, o = r.length; o > n; n++) {\n i = r[n], e[i] = _t3[i], delete _t3[i];\n }\n\n return e;\n }, window.customElements ? function (e) {\n var n, i, o, r, s;\n return s = t(e), o = s.initialize, n = s.connect, i = s.disconnect, o && (r = n, n = function n() {\n return this.initialized || (this.initialized = !0, o.call(this)), null != r ? r.call(this) : void 0;\n }), n && (e.connectedCallback = n), i && (e.disconnectedCallback = i), e;\n } : function (e) {\n var n, i, o, r;\n return r = t(e), o = r.initialize, n = r.connect, i = r.disconnect, o && (e.createdCallback = o), n && (e.attachedCallback = n), i && (e.detachedCallback = i), e;\n };\n }(), r = function () {\n return window.customElements ? function (t, e) {\n var _n2;\n\n return _n2 = function n() {\n return \"object\" == (typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) ? Reflect.construct(HTMLElement, [], _n2) : HTMLElement.apply(this);\n }, Object.setPrototypeOf(_n2.prototype, HTMLElement.prototype), Object.setPrototypeOf(_n2, HTMLElement), Object.defineProperties(_n2.prototype, e), window.customElements.define(t, _n2), _n2;\n } : function (t, e) {\n var n, i;\n return i = Object.create(HTMLElement.prototype, e), n = document.registerElement(t, {\n prototype: i\n }), Object.defineProperty(i, \"constructor\", {\n value: n\n }), n;\n };\n }();\n }.call(this), function () {\n var t, n;\n e.extend({\n getDOMSelection: function getDOMSelection() {\n var t;\n return t = window.getSelection(), t.rangeCount > 0 ? t : void 0;\n },\n getDOMRange: function getDOMRange() {\n var n, i;\n return (n = null != (i = e.getDOMSelection()) ? i.getRangeAt(0) : void 0) && !t(n) ? n : void 0;\n },\n setDOMRange: function setDOMRange(t) {\n var n;\n return n = window.getSelection(), n.removeAllRanges(), n.addRange(t), e.selectionChangeObserver.update();\n }\n }), t = function t(_t4) {\n return n(_t4.startContainer) || n(_t4.endContainer);\n }, n = function n(t) {\n return !Object.getPrototypeOf(t);\n };\n }.call(this), function () {\n var t;\n t = {\n \"application/x-trix-feature-detection\": \"test\"\n }, e.extend({\n dataTransferIsPlainText: function dataTransferIsPlainText(t) {\n var e, n, i;\n return i = t.getData(\"text/plain\"), n = t.getData(\"text/html\"), i && n ? (e = new DOMParser().parseFromString(n, \"text/html\").body, e.textContent === i ? !e.querySelector(\"*\") : void 0) : null != i ? i.length : void 0;\n },\n dataTransferIsWritable: function dataTransferIsWritable(e) {\n var n, i;\n\n if (null != (null != e ? e.setData : void 0)) {\n for (n in t) {\n if (i = t[n], !function () {\n try {\n return e.setData(n, i), e.getData(n) === i;\n } catch (t) {}\n }()) return;\n }\n\n return !0;\n }\n },\n keyEventIsKeyboardCommand: function () {\n return /Mac|^iP/.test(navigator.platform) ? function (t) {\n return t.metaKey;\n } : function (t) {\n return t.ctrlKey;\n };\n }()\n });\n }.call(this), function () {}.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.arraysAreEqual, e.Hash = function (i) {\n function o(t) {\n null == t && (t = {}), this.values = s(t), o.__super__.constructor.apply(this, arguments);\n }\n\n var r, s, a, u, c;\n return n(o, i), o.fromCommonAttributesOfObjects = function (t) {\n var e, n, i, o, s, a;\n if (null == t && (t = []), !t.length) return new this();\n\n for (e = r(t[0]), i = e.getKeys(), a = t.slice(1), n = 0, o = a.length; o > n; n++) {\n s = a[n], i = e.getKeysCommonToHash(r(s)), e = e.slice(i);\n }\n\n return e;\n }, o.box = function (t) {\n return r(t);\n }, o.prototype.add = function (t, e) {\n return this.merge(u(t, e));\n }, o.prototype.remove = function (t) {\n return new e.Hash(s(this.values, t));\n }, o.prototype.get = function (t) {\n return this.values[t];\n }, o.prototype.has = function (t) {\n return t in this.values;\n }, o.prototype.merge = function (t) {\n return new e.Hash(a(this.values, c(t)));\n }, o.prototype.slice = function (t) {\n var n, i, o, r;\n\n for (r = {}, n = 0, o = t.length; o > n; n++) {\n i = t[n], this.has(i) && (r[i] = this.values[i]);\n }\n\n return new e.Hash(r);\n }, o.prototype.getKeys = function () {\n return Object.keys(this.values);\n }, o.prototype.getKeysCommonToHash = function (t) {\n var e, n, i, o, s;\n\n for (t = r(t), o = this.getKeys(), s = [], e = 0, i = o.length; i > e; e++) {\n n = o[e], this.values[n] === t.values[n] && s.push(n);\n }\n\n return s;\n }, o.prototype.isEqualTo = function (e) {\n return t(this.toArray(), r(e).toArray());\n }, o.prototype.isEmpty = function () {\n return 0 === this.getKeys().length;\n }, o.prototype.toArray = function () {\n var t, e, n;\n return (null != this.array ? this.array : this.array = function () {\n var i;\n e = [], i = this.values;\n\n for (t in i) {\n n = i[t], e.push(t, n);\n }\n\n return e;\n }.call(this)).slice(0);\n }, o.prototype.toObject = function () {\n return s(this.values);\n }, o.prototype.toJSON = function () {\n return this.toObject();\n }, o.prototype.contentsForInspection = function () {\n return {\n values: JSON.stringify(this.values)\n };\n }, u = function u(t, e) {\n var n;\n return n = {}, n[t] = e, n;\n }, a = function a(t, e) {\n var n, i, o;\n i = s(t);\n\n for (n in e) {\n o = e[n], i[n] = o;\n }\n\n return i;\n }, s = function s(t, e) {\n var n, i, o, r, s;\n\n for (r = {}, s = Object.keys(t).sort(), n = 0, o = s.length; o > n; n++) {\n i = s[n], i !== e && (r[i] = t[i]);\n }\n\n return r;\n }, r = function r(t) {\n return t instanceof e.Hash ? t : new e.Hash(t);\n }, c = function c(t) {\n return t instanceof e.Hash ? t.values : t;\n }, o;\n }(e.Object);\n }.call(this), function () {\n e.ObjectGroup = function () {\n function t(t, e) {\n var n, i;\n this.objects = null != t ? t : [], i = e.depth, n = e.asTree, n && (this.depth = i, this.objects = this.constructor.groupObjects(this.objects, {\n asTree: n,\n depth: this.depth + 1\n }));\n }\n\n return t.groupObjects = function (t, e) {\n var n, i, o, r, s, a, u, c, l;\n\n for (null == t && (t = []), l = null != e ? e : {}, o = l.depth, n = l.asTree, n && null == o && (o = 0), c = [], s = 0, a = t.length; a > s; s++) {\n if (u = t[s], r) {\n if ((\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) && (\"function\" == typeof (i = r[r.length - 1]).canBeGroupedWith ? i.canBeGroupedWith(u, o) : void 0)) {\n r.push(u);\n continue;\n }\n\n c.push(new this(r, {\n depth: o,\n asTree: n\n })), r = null;\n }\n\n (\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) ? r = [u] : c.push(u);\n }\n\n return r && c.push(new this(r, {\n depth: o,\n asTree: n\n })), c;\n }, t.prototype.getObjects = function () {\n return this.objects;\n }, t.prototype.getDepth = function () {\n return this.depth;\n }, t.prototype.getCacheKey = function () {\n var t, e, n, i, o;\n\n for (e = [\"objectGroup\"], o = this.getObjects(), t = 0, n = o.length; n > t; t++) {\n i = o[t], e.push(i.getCacheKey());\n }\n\n return e.join(\"/\");\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t5, e) {\n function i() {\n this.constructor = _t5;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t5[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t5.prototype = new i(), _t5.__super__ = e.prototype, _t5;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectMap = function (e) {\n function n(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = []), this.objects = {}, i = 0, o = t.length; o > i; i++) {\n r = t[i], n = JSON.stringify(r), null == (e = this.objects)[n] && (e[n] = r);\n }\n }\n\n return t(n, e), n.prototype.find = function (t) {\n var e;\n return e = JSON.stringify(t), this.objects[e];\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n e.ElementStore = function () {\n function t(t) {\n this.reset(t);\n }\n\n var e;\n return t.prototype.add = function (t) {\n var n;\n return n = e(t), this.elements[n] = t;\n }, t.prototype.remove = function (t) {\n var n, i;\n return n = e(t), (i = this.elements[n]) ? (delete this.elements[n], i) : void 0;\n }, t.prototype.reset = function (t) {\n var e, n, i;\n\n for (null == t && (t = []), this.elements = {}, n = 0, i = t.length; i > n; n++) {\n e = t[n], this.add(e);\n }\n\n return t;\n }, e = function e(t) {\n return t.dataset.trixStoreKey;\n }, t;\n }();\n }.call(this), function () {}.call(this), function () {\n var t = function t(_t6, e) {\n function i() {\n this.constructor = _t6;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t6[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t6.prototype = new i(), _t6.__super__ = e.prototype, _t6;\n },\n n = {}.hasOwnProperty;\n\n e.Operation = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n.prototype.isPerforming = function () {\n return this.performing === !0;\n }, n.prototype.hasPerformed = function () {\n return this.performed === !0;\n }, n.prototype.hasSucceeded = function () {\n return this.performed && this.succeeded;\n }, n.prototype.hasFailed = function () {\n return this.performed && !this.succeeded;\n }, n.prototype.getPromise = function () {\n return null != this.promise ? this.promise : this.promise = new Promise(function (t) {\n return function (e, n) {\n return t.performing = !0, t.perform(function (i, o) {\n return t.succeeded = i, t.performing = !1, t.performed = !0, t.succeeded ? e(o) : n(o);\n });\n };\n }(this));\n }, n.prototype.perform = function (t) {\n return t(!1);\n }, n.prototype.release = function () {\n var t;\n return null != (t = this.promise) && \"function\" == typeof t.cancel && t.cancel(), this.promise = null, this.performing = null, this.performed = null, this.succeeded = null;\n }, n.proxyMethod(\"getPromise().then\"), n.proxyMethod(\"getPromise().catch\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n a.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty;\n\n e.UTF16String = function (t) {\n function e(t, e) {\n this.ucs2String = t, this.codepoints = e, this.length = this.codepoints.length, this.ucs2Length = this.ucs2String.length;\n }\n\n return s(e, t), e.box = function (t) {\n return null == t && (t = \"\"), t instanceof this ? t : this.fromUCS2String(null != t ? t.toString() : void 0);\n }, e.fromUCS2String = function (t) {\n return new this(t, o(t));\n }, e.fromCodepoints = function (t) {\n return new this(r(t), t);\n }, e.prototype.offsetToUCS2Offset = function (t) {\n return r(this.codepoints.slice(0, Math.max(0, t))).length;\n }, e.prototype.offsetFromUCS2Offset = function (t) {\n return o(this.ucs2String.slice(0, Math.max(0, t))).length;\n }, e.prototype.slice = function () {\n var t;\n return this.constructor.fromCodepoints((t = this.codepoints).slice.apply(t, arguments));\n }, e.prototype.charAt = function (t) {\n return this.slice(t, t + 1);\n }, e.prototype.isEqualTo = function (t) {\n return this.constructor.box(t).ucs2String === this.ucs2String;\n }, e.prototype.toJSON = function () {\n return this.ucs2String;\n }, e.prototype.getCacheKey = function () {\n return this.ucs2String;\n }, e.prototype.toString = function () {\n return this.ucs2String;\n }, e;\n }(e.BasicObject), t = 1 === (\"function\" == typeof Array.from ? Array.from(\"\\uD83D\\uDC7C\").length : void 0), n = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), i = \" \\uD83D\\uDC7C\" === (\"function\" == typeof String.fromCodePoint ? String.fromCodePoint(32, 128124) : void 0), o = t && n ? function (t) {\n return Array.from(t).map(function (t) {\n return t.codePointAt(0);\n });\n } : function (t) {\n var e, n, i, o, r;\n\n for (o = [], e = 0, i = t.length; i > e;) {\n r = t.charCodeAt(e++), r >= 55296 && 56319 >= r && i > e && (n = t.charCodeAt(e++), 56320 === (64512 & n) ? r = ((1023 & r) << 10) + (1023 & n) + 65536 : e--), o.push(r);\n }\n\n return o;\n }, r = i ? function (t) {\n return String.fromCodePoint.apply(String, t);\n } : function (t) {\n var e, n, i;\n return e = function () {\n var e, o, r;\n\n for (r = [], e = 0, o = t.length; o > e; e++) {\n i = t[e], n = \"\", i > 65535 && (i -= 65536, n += String.fromCharCode(i >>> 10 & 1023 | 55296), i = 56320 | 1023 & i), r.push(n + String.fromCharCode(i));\n }\n\n return r;\n }(), e.join(\"\");\n };\n }.call(this), function () {}.call(this), function () {}.call(this), function () {\n e.config.lang = {\n attachFiles: \"Attach Files\",\n bold: \"Bold\",\n bullets: \"Bullets\",\n \"byte\": \"Byte\",\n bytes: \"Bytes\",\n captionPlaceholder: \"Add a caption\\u2026\",\n code: \"Code\",\n heading1: \"Heading\",\n indent: \"Increase Level\",\n italic: \"Italic\",\n link: \"Link\",\n numbers: \"Numbers\",\n outdent: \"Decrease Level\",\n quote: \"Quote\",\n redo: \"Redo\",\n remove: \"Remove\",\n strike: \"Strikethrough\",\n undo: \"Undo\",\n unlink: \"Unlink\",\n url: \"URL\",\n urlPlaceholder: \"Enter a URL\\u2026\",\n GB: \"GB\",\n KB: \"KB\",\n MB: \"MB\",\n PB: \"PB\",\n TB: \"TB\"\n };\n }.call(this), function () {\n e.config.css = {\n attachment: \"attachment\",\n attachmentCaption: \"attachment__caption\",\n attachmentCaptionEditor: \"attachment__caption-editor\",\n attachmentMetadata: \"attachment__metadata\",\n attachmentMetadataContainer: \"attachment__metadata-container\",\n attachmentName: \"attachment__name\",\n attachmentProgress: \"attachment__progress\",\n attachmentSize: \"attachment__size\",\n attachmentToolbar: \"attachment__toolbar\",\n attachmentGallery: \"attachment-gallery\"\n };\n }.call(this), function () {\n var t;\n e.config.blockAttributes = t = {\n \"default\": {\n tagName: \"div\",\n parse: !1\n },\n quote: {\n tagName: \"blockquote\",\n nestable: !0\n },\n heading1: {\n tagName: \"h1\",\n terminal: !0,\n breakOnReturn: !0,\n group: !1\n },\n code: {\n tagName: \"pre\",\n terminal: !0,\n text: {\n plaintext: !0\n }\n },\n bulletList: {\n tagName: \"ul\",\n parse: !1\n },\n bullet: {\n tagName: \"li\",\n listAttribute: \"bulletList\",\n group: !1,\n nestable: !0,\n test: function test(n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n numberList: {\n tagName: \"ol\",\n parse: !1\n },\n number: {\n tagName: \"li\",\n listAttribute: \"numberList\",\n group: !1,\n nestable: !0,\n test: function test(n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n attachmentGallery: {\n tagName: \"div\",\n exclusive: !0,\n terminal: !0,\n parse: !1,\n group: !1\n }\n };\n }.call(this), function () {\n var t, n;\n t = e.config.lang, n = [t.bytes, t.KB, t.MB, t.GB, t.TB, t.PB], e.config.fileSize = {\n prefix: \"IEC\",\n precision: 2,\n formatter: function formatter(e) {\n var i, o, r, s, a;\n\n switch (e) {\n case 0:\n return \"0 \" + t.bytes;\n\n case 1:\n return \"1 \" + t.byte;\n\n default:\n return i = function () {\n switch (this.prefix) {\n case \"SI\":\n return 1e3;\n\n case \"IEC\":\n return 1024;\n }\n }.call(this), o = Math.floor(Math.log(e) / Math.log(i)), r = e / Math.pow(i, o), s = r.toFixed(this.precision), a = s.replace(/0*$/, \"\").replace(/\\.$/, \"\"), a + \" \" + n[o];\n }\n }\n };\n }.call(this), function () {\n e.config.textAttributes = {\n bold: {\n tagName: \"strong\",\n inheritable: !0,\n parser: function parser(t) {\n var e;\n return e = window.getComputedStyle(t), \"bold\" === e.fontWeight || e.fontWeight >= 600;\n }\n },\n italic: {\n tagName: \"em\",\n inheritable: !0,\n parser: function parser(t) {\n var e;\n return e = window.getComputedStyle(t), \"italic\" === e.fontStyle;\n }\n },\n href: {\n groupTagName: \"a\",\n parser: function parser(t) {\n var n, i, o;\n return n = e.AttachmentView.attachmentSelector, o = \"a:not(\" + n + \")\", (i = e.findClosestElementFromNode(t, {\n matchingSelector: o\n })) ? i.getAttribute(\"href\") : void 0;\n }\n },\n strike: {\n tagName: \"del\",\n inheritable: !0\n },\n frozen: {\n style: {\n backgroundColor: \"highlight\"\n }\n }\n };\n }.call(this), function () {\n var t, n, i, o, r;\n r = \"[data-trix-serialize=false]\", o = [\"contenteditable\", \"data-trix-id\", \"data-trix-store-key\", \"data-trix-mutable\", \"data-trix-placeholder\", \"tabindex\"], n = \"data-trix-serialized-attributes\", i = \"[\" + n + \"]\", t = new RegExp(\"\", \"g\"), e.extend({\n serializers: {\n \"application/json\": function applicationJson(t) {\n var n;\n if (t instanceof e.Document) n = t;else {\n if (!(t instanceof HTMLElement)) throw new Error(\"unserializable object\");\n n = e.Document.fromHTML(t.innerHTML);\n }\n return n.toSerializableDocument().toJSONString();\n },\n \"text/html\": function textHtml(s) {\n var a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n if (s instanceof e.Document) l = e.DocumentView.render(s);else {\n if (!(s instanceof HTMLElement)) throw new Error(\"unserializable object\");\n l = s.cloneNode(!0);\n }\n\n for (A = l.querySelectorAll(r), h = 0, g = A.length; g > h; h++) {\n c = A[h], e.removeNode(c);\n }\n\n for (p = 0, m = o.length; m > p; p++) {\n for (a = o[p], C = l.querySelectorAll(\"[\" + a + \"]\"), d = 0, v = C.length; v > d; d++) {\n c = C[d], c.removeAttribute(a);\n }\n }\n\n for (x = l.querySelectorAll(i), f = 0, y = x.length; y > f; f++) {\n c = x[f];\n\n try {\n u = JSON.parse(c.getAttribute(n)), c.removeAttribute(n);\n\n for (b in u) {\n w = u[b], c.setAttribute(b, w);\n }\n } catch (E) {}\n }\n\n return l.innerHTML.replace(t, \"\");\n }\n },\n deserializers: {\n \"application/json\": function applicationJson(t) {\n return e.Document.fromJSONString(t);\n },\n \"text/html\": function textHtml(t) {\n return e.Document.fromHTML(t);\n }\n },\n serializeToContentType: function serializeToContentType(t, n) {\n var i;\n if (i = e.serializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n },\n deserializeFromContentType: function deserializeFromContentType(t, n) {\n var i;\n if (i = e.deserializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n }\n });\n }.call(this), function () {\n var t;\n t = e.config.lang, e.config.toolbar = {\n getDefaultHTML: function getDefaultHTML() {\n return '
\\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
';\n }\n };\n }.call(this), function () {\n e.config.undoInterval = 5e3;\n }.call(this), function () {\n e.config.attachments = {\n preview: {\n presentation: \"gallery\",\n caption: {\n name: !0,\n size: !0\n }\n },\n file: {\n caption: {\n size: !0\n }\n }\n };\n }.call(this), function () {\n e.config.keyNames = {\n 8: \"backspace\",\n 9: \"tab\",\n 13: \"return\",\n 27: \"escape\",\n 37: \"left\",\n 39: \"right\",\n 46: \"delete\",\n 68: \"d\",\n 72: \"h\",\n 79: \"o\"\n };\n }.call(this), function () {\n e.config.input = {\n level2Enabled: !0,\n getLevel: function getLevel() {\n return this.level2Enabled && e.browser.supportsInputEvents ? 2 : 0;\n },\n pickFiles: function pickFiles(t) {\n var n;\n return n = e.makeElement(\"input\", {\n type: \"file\",\n multiple: !0,\n hidden: !0,\n id: this.fileInputId\n }), n.addEventListener(\"change\", function () {\n return t(n.files), e.removeNode(n);\n }), e.removeNode(document.getElementById(this.fileInputId)), document.body.appendChild(n), n.click();\n },\n fileInputId: \"trix-file-input-\" + Date.now().toString(16)\n };\n }.call(this), function () {}.call(this), function () {\n e.registerElement(\"trix-toolbar\", {\n defaultCSS: \"%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}\",\n initialize: function initialize() {\n return \"\" === this.innerHTML ? this.innerHTML = e.config.toolbar.getDefaultHTML() : void 0;\n }\n });\n }.call(this), function () {\n var t = function t(_t7, e) {\n function i() {\n this.constructor = _t7;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t7[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t7.prototype = new i(), _t7.__super__ = e.prototype, _t7;\n },\n n = {}.hasOwnProperty,\n i = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n e.ObjectView = function (n) {\n function o(t, e) {\n this.object = t, this.options = null != e ? e : {}, this.childViews = [], this.rootView = this;\n }\n\n return t(o, n), o.prototype.getNodes = function () {\n var t, e, n, i, o;\n\n for (null == this.nodes && (this.nodes = this.createNodes()), i = this.nodes, o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.cloneNode(!0));\n }\n\n return o;\n }, o.prototype.invalidate = function () {\n var t;\n return this.nodes = null, this.childViews = [], null != (t = this.parentView) ? t.invalidate() : void 0;\n }, o.prototype.invalidateViewForObject = function (t) {\n var e;\n return null != (e = this.findViewForObject(t)) ? e.invalidate() : void 0;\n }, o.prototype.findOrCreateCachedChildView = function (t, e) {\n var n;\n return (n = this.getCachedViewForObject(e)) ? this.recordChildView(n) : (n = this.createChildView.apply(this, arguments), this.cacheViewForObject(n, e)), n;\n }, o.prototype.createChildView = function (t, n, i) {\n var o;\n return null == i && (i = {}), n instanceof e.ObjectGroup && (i.viewClass = t, t = e.ObjectGroupView), o = new t(n, i), this.recordChildView(o);\n }, o.prototype.recordChildView = function (t) {\n return t.parentView = this, t.rootView = this.rootView, this.childViews.push(t), t;\n }, o.prototype.getAllChildViews = function () {\n var t, e, n, i, o;\n\n for (o = [], i = this.childViews, e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t), o = o.concat(t.getAllChildViews());\n }\n\n return o;\n }, o.prototype.findElement = function () {\n return this.findElementForObject(this.object);\n }, o.prototype.findElementForObject = function (t) {\n var e;\n return (e = null != t ? t.id : void 0) ? this.rootView.element.querySelector(\"[data-trix-id='\" + e + \"']\") : void 0;\n }, o.prototype.findViewForObject = function (t) {\n var e, n, i, o;\n\n for (i = this.getAllChildViews(), e = 0, n = i.length; n > e; e++) {\n if (o = i[e], o.object === t) return o;\n }\n }, o.prototype.getViewCache = function () {\n return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? null != this.viewCache ? this.viewCache : this.viewCache = {} : void 0;\n }, o.prototype.isViewCachingEnabled = function () {\n return this.shouldCacheViews !== !1;\n }, o.prototype.enableViewCaching = function () {\n return this.shouldCacheViews = !0;\n }, o.prototype.disableViewCaching = function () {\n return this.shouldCacheViews = !1;\n }, o.prototype.getCachedViewForObject = function (t) {\n var e;\n return null != (e = this.getViewCache()) ? e[t.getCacheKey()] : void 0;\n }, o.prototype.cacheViewForObject = function (t, e) {\n var n;\n return null != (n = this.getViewCache()) ? n[e.getCacheKey()] = t : void 0;\n }, o.prototype.garbageCollectCachedViews = function () {\n var t, e, n, o, r, s;\n\n if (t = this.getViewCache()) {\n s = this.getAllChildViews().concat(this), n = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = s.length; e > t; t++) {\n r = s[t], n.push(r.object.getCacheKey());\n }\n\n return n;\n }(), o = [];\n\n for (e in t) {\n i.call(n, e) < 0 && o.push(delete t[e]);\n }\n\n return o;\n }\n }, o;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t8, e) {\n function i() {\n this.constructor = _t8;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t8[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t8.prototype = new i(), _t8.__super__ = e.prototype, _t8;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectGroupView = function (e) {\n function n() {\n n.__super__.constructor.apply(this, arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass;\n }\n\n return t(n, e), n.prototype.getChildViews = function () {\n var t, e, n, i;\n if (!this.childViews.length) for (i = this.objectGroup.getObjects(), t = 0, e = i.length; e > t; t++) {\n n = i[t], this.findOrCreateCachedChildView(this.viewClass, n, this.options);\n }\n return this.childViews;\n }, n.prototype.createNodes = function () {\n var t, e, n, i, o, r, s, a, u;\n\n for (t = this.createContainerElement(), s = this.getChildViews(), e = 0, i = s.length; i > e; e++) {\n for (u = s[e], a = u.getNodes(), n = 0, o = a.length; o > n; n++) {\n r = a[n], t.appendChild(r);\n }\n }\n\n return [t];\n }, n.prototype.createContainerElement = function (t) {\n return null == t && (t = this.objectGroup.getDepth()), this.getChildViews()[0].createContainerElement(t);\n }, n;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t9, e) {\n function i() {\n this.constructor = _t9;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t9[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t9.prototype = new i(), _t9.__super__ = e.prototype, _t9;\n },\n n = {}.hasOwnProperty;\n\n e.Controller = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a = function a(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n u = function u(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n c.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n c = {}.hasOwnProperty,\n l = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.findClosestElementFromNode, i = e.nodeIsEmptyTextNode, n = e.nodeIsBlockStartComment, o = e.normalizeSpaces, r = e.summarizeStringChange, s = e.tagName, e.MutationObserver = function (e) {\n function c(t) {\n this.element = t, this.didMutate = a(this.didMutate, this), this.observer = new window.MutationObserver(this.didMutate), this.start();\n }\n\n var _h, p, d, f;\n\n return u(c, e), p = \"data-trix-mutable\", d = \"[\" + p + \"]\", f = {\n attributes: !0,\n childList: !0,\n characterData: !0,\n characterDataOldValue: !0,\n subtree: !0\n }, c.prototype.start = function () {\n return this.reset(), this.observer.observe(this.element, f);\n }, c.prototype.stop = function () {\n return this.observer.disconnect();\n }, c.prototype.didMutate = function (t) {\n var e, n;\n return (e = this.mutations).push.apply(e, this.findSignificantMutations(t)), this.mutations.length ? (null != (n = this.delegate) && \"function\" == typeof n.elementDidMutate && n.elementDidMutate(this.getMutationSummary()), this.reset()) : void 0;\n }, c.prototype.reset = function () {\n return this.mutations = [];\n }, c.prototype.findSignificantMutations = function (t) {\n var e, n, i, o;\n\n for (o = [], e = 0, n = t.length; n > e; e++) {\n i = t[e], this.mutationIsSignificant(i) && o.push(i);\n }\n\n return o;\n }, c.prototype.mutationIsSignificant = function (t) {\n var e, n, i, o;\n if (this.nodeIsMutable(t.target)) return !1;\n\n for (o = this.nodesModifiedByMutation(t), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], this.nodeIsSignificant(i)) return !0;\n }\n\n return !1;\n }, c.prototype.nodeIsSignificant = function (t) {\n return t !== this.element && !this.nodeIsMutable(t) && !i(t);\n }, c.prototype.nodeIsMutable = function (e) {\n return t(e, {\n matchingSelector: d\n });\n }, c.prototype.nodesModifiedByMutation = function (t) {\n var e;\n\n switch (e = [], t.type) {\n case \"attributes\":\n t.attributeName !== p && e.push(t.target);\n break;\n\n case \"characterData\":\n e.push(t.target.parentNode), e.push(t.target);\n break;\n\n case \"childList\":\n e.push.apply(e, t.addedNodes), e.push.apply(e, t.removedNodes);\n }\n\n return e;\n }, c.prototype.getMutationSummary = function () {\n return this.getTextMutationSummary();\n }, c.prototype.getTextMutationSummary = function () {\n var t, e, n, i, o, r, s, a, u, c, h;\n\n for (a = this.getTextChangesFromCharacterData(), n = a.additions, o = a.deletions, h = this.getTextChangesFromChildList(), u = h.additions, r = 0, s = u.length; s > r; r++) {\n e = u[r], l.call(n, e) < 0 && n.push(e);\n }\n\n return o.push.apply(o, h.deletions), c = {}, (t = n.join(\"\")) && (c.textAdded = t), (i = o.join(\"\")) && (c.textDeleted = i), c;\n }, c.prototype.getMutationsByType = function (t) {\n var e, n, i, o, r;\n\n for (o = this.mutations, r = [], e = 0, n = o.length; n > e; e++) {\n i = o[e], i.type === t && r.push(i);\n }\n\n return r;\n }, c.prototype.getTextChangesFromChildList = function () {\n var t, e, i, r, s, a, u, c, l, p, d;\n\n for (t = [], u = [], a = this.getMutationsByType(\"childList\"), e = 0, r = a.length; r > e; e++) {\n s = a[e], t.push.apply(t, s.addedNodes), u.push.apply(u, s.removedNodes);\n }\n\n return c = 0 === t.length && 1 === u.length && n(u[0]), c ? (p = [], d = [\"\\n\"]) : (p = _h(t), d = _h(u)), {\n additions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = p.length; e > t; i = ++t) {\n l = p[i], l !== d[i] && n.push(o(l));\n }\n\n return n;\n }(),\n deletions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = d.length; e > t; i = ++t) {\n l = d[i], l !== p[i] && n.push(o(l));\n }\n\n return n;\n }()\n };\n }, c.prototype.getTextChangesFromCharacterData = function () {\n var t, e, n, i, s, a, u, c;\n return e = this.getMutationsByType(\"characterData\"), e.length && (c = e[0], n = e[e.length - 1], s = o(c.oldValue), i = o(n.target.data), a = r(s, i), t = a.added, u = a.removed), {\n additions: t ? [t] : [],\n deletions: u ? [u] : []\n };\n }, _h = function h(t) {\n var e, n, i, o;\n\n for (null == t && (t = []), o = [], e = 0, n = t.length; n > e; e++) {\n switch (i = t[e], i.nodeType) {\n case Node.TEXT_NODE:\n o.push(i.data);\n break;\n\n case Node.ELEMENT_NODE:\n \"br\" === s(i) ? o.push(\"\\n\") : o.push.apply(o, _h(i.childNodes));\n }\n }\n\n return o;\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t10, e) {\n function i() {\n this.constructor = _t10;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t10[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t10.prototype = new i(), _t10.__super__ = e.prototype, _t10;\n },\n n = {}.hasOwnProperty;\n\n e.FileVerificationOperation = function (e) {\n function n(t) {\n this.file = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new FileReader(), e.onerror = function () {\n return t(!1);\n }, e.onload = function (n) {\n return function () {\n e.onerror = null;\n\n try {\n e.abort();\n } catch (i) {}\n\n return t(!0, n.file);\n };\n }(this), e.readAsArrayBuffer(this.file);\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.handleEvent, n = e.innerElementIsActive, e.InputController = function (o) {\n function r(n) {\n var i;\n this.element = n, this.mutationObserver = new e.MutationObserver(this.element), this.mutationObserver.delegate = this;\n\n for (i in this.events) {\n t(i, {\n onElement: this.element,\n withCallback: this.handlerFor(i)\n });\n }\n }\n\n return i(r, o), r.prototype.events = {}, r.prototype.elementDidMutate = function () {}, r.prototype.editorWillSyncDocumentView = function () {\n return this.mutationObserver.stop();\n }, r.prototype.editorDidSyncDocumentView = function () {\n return this.mutationObserver.start();\n }, r.prototype.requestRender = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestRender ? t.inputControllerDidRequestRender() : void 0;\n }, r.prototype.requestReparse = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestReparse && t.inputControllerDidRequestReparse(), this.requestRender();\n }, r.prototype.attachFiles = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(new e.FileVerificationOperation(n));\n }\n\n return r;\n }(), Promise.all(i).then(function (t) {\n return function (e) {\n return t.handleInput(function () {\n var t, n;\n return null != (t = this.delegate) && t.inputControllerWillAttachFiles(), null != (n = this.responder) && n.insertFiles(e), this.requestRender();\n });\n };\n }(this));\n }, r.prototype.handlerFor = function (t) {\n return function (e) {\n return function (i) {\n return i.defaultPrevented ? void 0 : e.handleInput(function () {\n return n(this.element) ? void 0 : (this.eventName = t, this.events[t].call(this, i));\n });\n };\n }(this);\n }, r.prototype.handleInput = function (t) {\n var e, n;\n\n try {\n return null != (e = this.delegate) && e.inputControllerWillHandleInput(), t.call(this);\n } finally {\n null != (n = this.delegate) && n.inputControllerDidHandleInput();\n }\n }, r;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p,\n d,\n f = function f(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n g.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n g = {}.hasOwnProperty,\n m = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n c = e.makeElement, l = e.objectsAreEqual, d = e.tagName, n = e.browser, a = e.keyEventIsKeyboardCommand, o = e.dataTransferIsWritable, i = e.dataTransferIsPlainText, u = e.config.keyNames, e.Level0InputController = function (n) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.resetInputSummary();\n }\n\n var d;\n return f(s, n), d = 0, s.prototype.setInputSummary = function (t) {\n var e, n;\n null == t && (t = {}), this.inputSummary.eventName = this.eventName;\n\n for (e in t) {\n n = t[e], this.inputSummary[e] = n;\n }\n\n return this.inputSummary;\n }, s.prototype.resetInputSummary = function () {\n return this.inputSummary = {};\n }, s.prototype.reset = function () {\n return this.resetInputSummary(), e.selectionChangeObserver.reset();\n }, s.prototype.elementDidMutate = function (t) {\n var e;\n return this.isComposing() ? null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidAllowUnhandledInput ? e.inputControllerDidAllowUnhandledInput() : void 0 : this.handleInput(function () {\n return this.mutationIsSignificant(t) && (this.mutationIsExpected(t) ? this.requestRender() : this.requestReparse()), this.reset();\n });\n }, s.prototype.mutationIsExpected = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return a = t.textAdded, u = t.textDeleted, this.inputSummary.preferDocument ? !0 : (e = null != a ? a === this.inputSummary.textAdded : !this.inputSummary.textAdded, n = null != u ? this.inputSummary.didDelete : !this.inputSummary.didDelete, c = (\"\\n\" === a || \" \\n\" === a) && !e, l = \"\\n\" === u && !n, s = c && !l || l && !c, s && (o = this.getSelectedRange()) && (i = c ? a.replace(/\\n$/, \"\").length || -1 : (null != a ? a.length : void 0) || 1, null != (r = this.responder) ? r.positionIsBlockBreak(o[1] + i) : void 0) ? !0 : e && n);\n }, s.prototype.mutationIsSignificant = function (t) {\n var e, n, i;\n return i = Object.keys(t).length > 0, e = \"\" === (null != (n = this.compositionInput) ? n.getEndData() : void 0), i || !e;\n }, s.prototype.events = {\n keydown: function keydown(t) {\n var n, i, o, r, s, c, l, h, p;\n\n if (this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = !0, r = u[t.keyCode]) {\n for (i = this.keys, h = [\"ctrl\", \"alt\", \"shift\", \"meta\"], o = 0, c = h.length; c > o; o++) {\n l = h[o], t[l + \"Key\"] && (\"ctrl\" === l && (l = \"control\"), i = null != i ? i[l] : void 0);\n }\n\n null != (null != i ? i[r] : void 0) && (this.setInputSummary({\n keyName: r\n }), e.selectionChangeObserver.reset(), i[r].call(this, t));\n }\n\n return a(t) && (n = String.fromCharCode(t.keyCode).toLowerCase()) && (s = function () {\n var e, n, i, o;\n\n for (i = [\"alt\", \"shift\"], o = [], e = 0, n = i.length; n > e; e++) {\n l = i[e], t[l + \"Key\"] && o.push(l);\n }\n\n return o;\n }(), s.push(n), null != (p = this.delegate) ? p.inputControllerDidReceiveKeyboardCommand(s) : void 0) ? t.preventDefault() : void 0;\n },\n keypress: function keypress(t) {\n var e, n, i;\n if (null == this.inputSummary.eventName && !t.metaKey && (!t.ctrlKey || t.altKey)) return (i = p(t)) ? (null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(i), this.setInputSummary({\n textAdded: i,\n didDelete: this.selectionIsExpanded()\n })) : void 0;\n },\n textInput: function textInput(t) {\n var e, n, i, o;\n return e = t.data, o = this.inputSummary.textAdded, o && o !== e && o.toUpperCase() === e ? (n = this.getSelectedRange(), this.setSelectedRange([n[0], n[1] + o.length]), null != (i = this.responder) && i.insertString(e), this.setInputSummary({\n textAdded: e\n }), this.setSelectedRange(n)) : void 0;\n },\n dragenter: function dragenter(t) {\n return t.preventDefault();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return n = t.target, this.serializeSelectionToDataTransfer(t.dataTransfer), this.draggedRange = this.getSelectedRange(), null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidStartDrag ? e.inputControllerDidStartDrag() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n return !this.draggedRange && !this.canAcceptDataTransfer(t.dataTransfer) || (t.preventDefault(), e = {\n x: t.clientX,\n y: t.clientY\n }, l(e, this.draggingPoint)) ? void 0 : (this.draggingPoint = e, null != (n = this.delegate) && \"function\" == typeof n.inputControllerDidReceiveDragOverPoint ? n.inputControllerDidReceiveDragOverPoint(this.draggingPoint) : void 0);\n },\n dragend: function dragend() {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidCancelDrag && t.inputControllerDidCancelDrag(), this.draggedRange = null, this.draggingPoint = null;\n },\n drop: function drop(t) {\n var n, i, o, r, s, a, u, c, l;\n return t.preventDefault(), o = null != (s = t.dataTransfer) ? s.files : void 0, r = {\n x: t.clientX,\n y: t.clientY\n }, null != (a = this.responder) && a.setLocationRangeFromPointRange(r), (null != o ? o.length : void 0) ? this.attachFiles(o) : this.draggedRange ? (null != (u = this.delegate) && u.inputControllerWillMoveText(), null != (c = this.responder) && c.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender()) : (i = t.dataTransfer.getData(\"application/x-trix-document\")) && (n = e.Document.fromJSONString(i), null != (l = this.responder) && l.insertDocument(n), this.requestRender()), this.draggedRange = null, this.draggingPoint = null;\n },\n cut: function cut(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && (this.serializeSelectionToDataTransfer(t.clipboardData) && t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillCutText(), this.deleteInDirection(\"backward\"), t.defaultPrevented) ? this.requestRender() : void 0;\n },\n copy: function copy(t) {\n var e;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && this.serializeSelectionToDataTransfer(t.clipboardData) ? t.preventDefault() : void 0;\n },\n paste: function paste(t) {\n var n, o, s, a, u, c, l, p, f, g, v, y, b, A, C, x, w, E, S, R, k, D;\n return n = null != (p = t.clipboardData) ? p : t.testClipboardData, l = {\n clipboard: n\n }, null == n || h(t) ? void this.getPastedHTMLUsingHiddenElement(function (t) {\n return function (e) {\n var n, i, o;\n return l.type = \"text/html\", l.html = e, null != (n = t.delegate) && n.inputControllerWillPaste(l), null != (i = t.responder) && i.insertHTML(l.html), t.requestRender(), null != (o = t.delegate) ? o.inputControllerDidPaste(l) : void 0;\n };\n }(this)) : ((a = n.getData(\"URL\")) ? (l.type = \"URL\", l.href = a, l.string = (c = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(c).trim() : a, null != (f = this.delegate) && f.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: l.string,\n didDelete: this.selectionIsExpanded()\n }), null != (C = this.responder) && C.insertText(e.Text.textForStringWithAttributes(l.string, {\n href: l.href\n })), this.requestRender(), null != (x = this.delegate) && x.inputControllerDidPaste(l)) : i(n) ? (l.type = \"text/plain\", l.string = n.getData(\"text/plain\"), null != (w = this.delegate) && w.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: l.string,\n didDelete: this.selectionIsExpanded()\n }), null != (E = this.responder) && E.insertString(l.string), this.requestRender(), null != (S = this.delegate) && S.inputControllerDidPaste(l)) : (u = n.getData(\"text/html\")) ? (l.type = \"text/html\", l.html = u, null != (R = this.delegate) && R.inputControllerWillPaste(l), null != (k = this.responder) && k.insertHTML(l.html), this.requestRender(), null != (D = this.delegate) && D.inputControllerDidPaste(l)) : m.call(n.types, \"Files\") >= 0 && (s = null != (g = n.items) && null != (v = g[0]) && \"function\" == typeof v.getAsFile ? v.getAsFile() : void 0) && (!s.name && (o = r(s)) && (s.name = \"pasted-file-\" + ++d + \".\" + o), l.type = \"File\", l.file = s, null != (y = this.delegate) && y.inputControllerWillAttachFiles(), null != (b = this.responder) && b.insertFile(l.file), this.requestRender(), null != (A = this.delegate) && A.inputControllerDidPaste(l)), t.preventDefault());\n },\n compositionstart: function compositionstart(t) {\n return this.getCompositionInput().start(t.data);\n },\n compositionupdate: function compositionupdate(t) {\n return this.getCompositionInput().update(t.data);\n },\n compositionend: function compositionend(t) {\n return this.getCompositionInput().end(t.data);\n },\n beforeinput: function beforeinput() {\n return this.inputSummary.didInput = !0;\n },\n input: function input(t) {\n return this.inputSummary.didInput = !0, t.stopPropagation();\n }\n }, s.prototype.keys = {\n backspace: function backspace(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n \"delete\": function _delete(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n \"return\": function _return() {\n var t, e;\n return this.setInputSummary({\n preferDocument: !0\n }), null != (t = this.delegate) && t.inputControllerWillPerformTyping(), null != (e = this.responder) ? e.insertLineBreak() : void 0;\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canIncreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.increaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n right: function right(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n control: {\n d: function d(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n h: function h(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n o: function o(t) {\n var e, n;\n return t.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\", {\n updatePosition: !1\n }), this.requestRender();\n }\n },\n shift: {\n \"return\": function _return(t) {\n var e, n;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\"), this.requestRender(), t.preventDefault();\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canDecreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.decreaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"backward\")) : void 0;\n },\n right: function right(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"forward\")) : void 0;\n }\n },\n alt: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n },\n meta: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n }\n }, s.prototype.getCompositionInput = function () {\n return this.isComposing() ? this.compositionInput : this.compositionInput = new t(this);\n }, s.prototype.isComposing = function () {\n return null != this.compositionInput && !this.compositionInput.isEnded();\n }, s.prototype.deleteInDirection = function (t, e) {\n var n;\n return (null != (n = this.responder) ? n.deleteInDirection(t) : void 0) !== !1 ? this.setInputSummary({\n didDelete: !0\n }) : e ? (e.preventDefault(), this.requestRender()) : void 0;\n }, s.prototype.serializeSelectionToDataTransfer = function (t) {\n var n, i;\n if (o(t)) return n = null != (i = this.responder) ? i.getSelectedDocument().toSerializableDocument() : void 0, t.setData(\"application/x-trix-document\", JSON.stringify(n)), t.setData(\"text/html\", e.DocumentView.render(n).innerHTML), t.setData(\"text/plain\", n.toString().replace(/\\n$/, \"\")), !0;\n }, s.prototype.canAcceptDataTransfer = function (t) {\n var e, n, i, o, r, s;\n\n for (s = {}, o = null != (i = null != t ? t.types : void 0) ? i : [], e = 0, n = o.length; n > e; e++) {\n r = o[e], s[r] = !0;\n }\n\n return s.Files || s[\"application/x-trix-document\"] || s[\"text/html\"] || s[\"text/plain\"];\n }, s.prototype.getPastedHTMLUsingHiddenElement = function (t) {\n var n, i, o;\n return i = this.getSelectedRange(), o = {\n position: \"absolute\",\n left: window.pageXOffset + \"px\",\n top: window.pageYOffset + \"px\",\n opacity: 0\n }, n = c({\n style: o,\n tagName: \"div\",\n editable: !0\n }), document.body.appendChild(n), n.focus(), requestAnimationFrame(function (o) {\n return function () {\n var r;\n return r = n.innerHTML, e.removeNode(n), o.setSelectedRange(i), t(r);\n };\n }(this));\n }, s.proxyMethod(\"responder?.getSelectedRange\"), s.proxyMethod(\"responder?.setSelectedRange\"), s.proxyMethod(\"responder?.expandSelectionInDirection\"), s.proxyMethod(\"responder?.selectionIsInCursorTarget\"), s.proxyMethod(\"responder?.selectionIsExpanded\"), s;\n }(e.InputController), r = function r(t) {\n var e, n;\n return null != (e = t.type) && null != (n = e.match(/\\/(\\w+)$/)) ? n[1] : void 0;\n }, s = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), p = function p(t) {\n var n;\n return t.key && s && t.key.codePointAt(0) === t.keyCode ? t.key : (null === t.which ? n = t.keyCode : 0 !== t.which && 0 !== t.charCode && (n = t.charCode), null != n && \"escape\" !== u[n] ? e.UTF16String.fromCodepoints([n]).toString() : void 0);\n }, h = function h(t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n if (u = t.clipboardData) {\n if (m.call(u.types, \"text/html\") >= 0) {\n for (c = u.types, i = 0, s = c.length; s > i; i++) {\n if (l = c[i], e = /^CorePasteboardFlavorType/.test(l), n = /^dyn\\./.test(l) && u.getData(l), a = e || n) return !0;\n }\n\n return !1;\n }\n\n return o = m.call(u.types, \"com.apple.webarchive\") >= 0, r = m.call(u.types, \"com.apple.flat-rtfd\") >= 0, o || r;\n }\n }, t = function (t) {\n function e(t) {\n var e;\n this.inputController = t, e = this.inputController, this.responder = e.responder, this.delegate = e.delegate, this.inputSummary = e.inputSummary, this.data = {};\n }\n\n return f(e, t), e.prototype.start = function (t) {\n var e, n;\n return this.data.start = t, this.isSignificant() ? (\"keypress\" === this.inputSummary.eventName && this.inputSummary.textAdded && null != (e = this.responder) && e.deleteInDirection(\"left\"), this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = null != (n = this.responder) ? n.getSelectedRange() : void 0) : void 0;\n }, e.prototype.update = function (t) {\n var e;\n return this.data.update = t, this.isSignificant() && (e = this.selectPlaceholder()) ? (this.forgetPlaceholder(), this.range = e) : void 0;\n }, e.prototype.end = function (t) {\n var e, n, i, o;\n return this.data.end = t, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({\n preferDocument: !0,\n didInput: !1\n }), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.setSelectedRange(this.range), null != (i = this.responder) && i.insertString(this.data.end), null != (o = this.responder) ? o.setSelectedRange(this.range[0] + this.data.end.length) : void 0) : null != this.data.start || null != this.data.update ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset();\n }, e.prototype.getEndData = function () {\n return this.data.end;\n }, e.prototype.isEnded = function () {\n return null != this.getEndData();\n }, e.prototype.isSignificant = function () {\n return n.composesExistingText ? this.inputSummary.didInput : !0;\n }, e.prototype.canApplyToDocument = function () {\n var t, e;\n return 0 === (null != (t = this.data.start) ? t.length : void 0) && (null != (e = this.data.end) ? e.length : void 0) > 0 && null != this.range;\n }, e.proxyMethod(\"inputController.setInputSummary\"), e.proxyMethod(\"inputController.requestRender\"), e.proxyMethod(\"inputController.requestReparse\"), e.proxyMethod(\"responder?.selectionIsExpanded\"), e.proxyMethod(\"responder?.insertPlaceholder\"), e.proxyMethod(\"responder?.selectPlaceholder\"), e.proxyMethod(\"responder?.forgetPlaceholder\"), e;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.dataTransferIsPlainText, n = e.keyEventIsKeyboardCommand, i = e.objectsAreEqual, e.Level2InputController = function (s) {\n function u() {\n return this.render = o(this.render, this), u.__super__.constructor.apply(this, arguments);\n }\n\n var c, l, h, p, d, f;\n return r(u, s), u.prototype.elementDidMutate = function () {\n var t;\n return this.scheduledRender ? this.composing && null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidAllowUnhandledInput ? t.inputControllerDidAllowUnhandledInput() : void 0 : this.reparse();\n }, u.prototype.scheduleRender = function () {\n return null != this.scheduledRender ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render);\n }, u.prototype.render = function () {\n var t;\n return cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing || null != (t = this.delegate) && t.render(), \"function\" == typeof this.afterRender && this.afterRender(), this.afterRender = null;\n }, u.prototype.reparse = function () {\n var t;\n return null != (t = this.delegate) ? t.reparse() : void 0;\n }, u.prototype.events = {\n keydown: function keydown(t) {\n var e, i, o, r;\n\n if (n(t)) {\n if (e = l(t), null != (r = this.delegate) ? r.inputControllerDidReceiveKeyboardCommand(e) : void 0) return t.preventDefault();\n } else if (o = t.key, t.altKey && (o += \"+Alt\"), t.shiftKey && (o += \"+Shift\"), i = this.keys[o]) return this.withEvent(t, i);\n },\n paste: function paste(t) {\n var n, i, o, r, s, a, u, c, l;\n return h(t) ? (t.preventDefault(), this.attachFiles(t.clipboardData.files)) : p(t) ? (t.preventDefault(), i = {\n type: \"text/plain\",\n string: t.clipboardData.getData(\"text/plain\")\n }, null != (o = this.delegate) && o.inputControllerWillPaste(i), null != (r = this.responder) && r.insertString(i.string), this.render(), null != (s = this.delegate) ? s.inputControllerDidPaste(i) : void 0) : (n = null != (a = t.clipboardData) ? a.getData(\"URL\") : void 0) ? (t.preventDefault(), i = {\n type: \"URL\",\n href: n,\n string: n\n }, null != (u = this.delegate) && u.inputControllerWillPaste(i), null != (c = this.responder) && c.insertText(e.Text.textForStringWithAttributes(i.string, {\n href: i.href\n })), this.render(), null != (l = this.delegate) ? l.inputControllerDidPaste(i) : void 0) : void 0;\n },\n beforeinput: function beforeinput(t) {\n var e;\n return (e = this.inputTypes[t.inputType]) ? (this.withEvent(t, e), this.scheduleRender()) : void 0;\n },\n input: function input() {\n return e.selectionChangeObserver.reset();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionContainsAttachments() : void 0) ? (t.dataTransfer.setData(\"application/x-trix-dragging\", !0), this.dragging = {\n range: null != (n = this.responder) ? n.getSelectedRange() : void 0,\n point: d(t)\n }) : void 0;\n },\n dragenter: function dragenter(t) {\n return c(t) ? t.preventDefault() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n return this.dragging && (t.preventDefault(), e = d(t), !i(e, this.dragging.point)) ? (this.dragging.point = e, null != (n = this.responder) ? n.setLocationRangeFromPointRange(e) : void 0) : void 0;\n },\n drop: function drop(t) {\n var e, n, i, o;\n return this.dragging ? (t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillMoveText(), null != (i = this.responder) && i.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender()) : c(t) ? (t.preventDefault(), e = d(t), null != (o = this.responder) && o.setLocationRangeFromPointRange(e), this.attachFiles(t.dataTransfer.files)) : void 0;\n },\n dragend: function dragend() {\n var t;\n return this.dragging ? (null != (t = this.responder) && t.setSelectedRange(this.dragging.range), this.dragging = null) : void 0;\n },\n compositionend: function compositionend() {\n return this.composing ? (this.composing = !1, this.scheduleRender()) : void 0;\n }\n }, u.prototype.keys = {\n ArrowLeft: function ArrowLeft() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n ArrowRight: function ArrowRight() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"forward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n Backspace: function Backspace() {\n var t, e, n;\n return (null != (t = this.responder) ? t.shouldManageDeletingInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.deleteInDirection(\"backward\"), this.render()) : void 0;\n },\n Tab: function Tab() {\n var t, e;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.increaseNestingLevel(), this.render()) : void 0;\n },\n \"Tab+Shift\": function TabShift() {\n var t, e;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.decreaseNestingLevel(), this.render()) : void 0;\n }\n }, u.prototype.inputTypes = {\n deleteByComposition: function deleteByComposition() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteByCut: function deleteByCut() {\n return this.deleteInDirection(\"backward\");\n },\n deleteByDrag: function deleteByDrag() {\n return this.event.preventDefault(), this.withTargetDOMRange(function () {\n var t;\n return this.deleteByDragRange = null != (t = this.responder) ? t.getSelectedRange() : void 0;\n });\n },\n deleteCompositionText: function deleteCompositionText() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteContent: function deleteContent() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentBackward: function deleteContentBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentForward: function deleteContentForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteEntireSoftLine: function deleteEntireSoftLine() {\n return this.deleteInDirection(\"forward\");\n },\n deleteHardLineBackward: function deleteHardLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteHardLineForward: function deleteHardLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteSoftLineBackward: function deleteSoftLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteSoftLineForward: function deleteSoftLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteWordBackward: function deleteWordBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteWordForward: function deleteWordForward() {\n return this.deleteInDirection(\"forward\");\n },\n formatBackColor: function formatBackColor() {\n return this.activateAttributeIfSupported(\"backgroundColor\", this.event.data);\n },\n formatBold: function formatBold() {\n return this.toggleAttributeIfSupported(\"bold\");\n },\n formatFontColor: function formatFontColor() {\n return this.activateAttributeIfSupported(\"color\", this.event.data);\n },\n formatFontName: function formatFontName() {\n return this.activateAttributeIfSupported(\"font\", this.event.data);\n },\n formatIndent: function formatIndent() {\n var t;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.increaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatItalic: function formatItalic() {\n return this.toggleAttributeIfSupported(\"italic\");\n },\n formatJustifyCenter: function formatJustifyCenter() {\n return this.toggleAttributeIfSupported(\"justifyCenter\");\n },\n formatJustifyFull: function formatJustifyFull() {\n return this.toggleAttributeIfSupported(\"justifyFull\");\n },\n formatJustifyLeft: function formatJustifyLeft() {\n return this.toggleAttributeIfSupported(\"justifyLeft\");\n },\n formatJustifyRight: function formatJustifyRight() {\n return this.toggleAttributeIfSupported(\"justifyRight\");\n },\n formatOutdent: function formatOutdent() {\n var t;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.decreaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatRemove: function formatRemove() {\n return this.withTargetDOMRange(function () {\n var t, e, n, i;\n i = [];\n\n for (t in null != (e = this.responder) ? e.getCurrentAttributes() : void 0) {\n i.push(null != (n = this.responder) ? n.removeCurrentAttribute(t) : void 0);\n }\n\n return i;\n });\n },\n formatSetBlockTextDirection: function formatSetBlockTextDirection() {\n return this.activateAttributeIfSupported(\"blockDir\", this.event.data);\n },\n formatSetInlineTextDirection: function formatSetInlineTextDirection() {\n return this.activateAttributeIfSupported(\"textDir\", this.event.data);\n },\n formatStrikeThrough: function formatStrikeThrough() {\n return this.toggleAttributeIfSupported(\"strike\");\n },\n formatSubscript: function formatSubscript() {\n return this.toggleAttributeIfSupported(\"sub\");\n },\n formatSuperscript: function formatSuperscript() {\n return this.toggleAttributeIfSupported(\"sup\");\n },\n formatUnderline: function formatUnderline() {\n return this.toggleAttributeIfSupported(\"underline\");\n },\n historyRedo: function historyRedo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformRedo() : void 0;\n },\n historyUndo: function historyUndo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformUndo() : void 0;\n },\n insertCompositionText: function insertCompositionText() {\n return this.composing = !0, this.insertString(this.event.data);\n },\n insertFromComposition: function insertFromComposition() {\n return this.composing = !1, this.insertString(this.event.data);\n },\n insertFromDrop: function insertFromDrop() {\n var t, e;\n return (t = this.deleteByDragRange) ? (this.deleteByDragRange = null, null != (e = this.delegate) && e.inputControllerWillMoveText(), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.moveTextFromRange(t) : void 0;\n })) : void 0;\n },\n insertFromPaste: function insertFromPaste() {\n var n, i, o, r, s, a, u, c, l, h;\n return n = this.event.dataTransfer, s = {\n dataTransfer: n\n }, (i = n.getData(\"URL\")) ? (s.type = \"URL\", s.href = i, s.string = (r = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(r).trim() : i, null != (a = this.delegate) && a.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertText(e.Text.textForStringWithAttributes(s.string, {\n href: s.href\n })) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : t(n) ? (s.type = \"text/plain\", s.string = n.getData(\"text/plain\"), null != (u = this.delegate) && u.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertString(s.string) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (o = n.getData(\"text/html\")) ? (s.type = \"text/html\", s.html = o, null != (c = this.delegate) && c.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (null != (l = n.files) ? l.length : void 0) ? (s.type = \"File\", s.file = n.files[0], null != (h = this.delegate) && h.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertFile(s.file) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : void 0;\n },\n insertFromYank: function insertFromYank() {\n return this.insertString(this.event.data);\n },\n insertLineBreak: function insertLineBreak() {\n return this.insertString(\"\\n\");\n },\n insertLink: function insertLink() {\n return this.activateAttributeIfSupported(\"href\", this.event.data);\n },\n insertOrderedList: function insertOrderedList() {\n return this.toggleAttributeIfSupported(\"number\");\n },\n insertParagraph: function insertParagraph() {\n var t;\n return null != (t = this.delegate) && t.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertLineBreak() : void 0;\n });\n },\n insertReplacementText: function insertReplacementText() {\n return this.insertString(this.event.dataTransfer.getData(\"text/plain\"), {\n updatePosition: !1\n });\n },\n insertText: function insertText() {\n var t, e;\n return this.insertString(null != (t = this.event.data) ? t : null != (e = this.event.dataTransfer) ? e.getData(\"text/plain\") : void 0);\n },\n insertTranspose: function insertTranspose() {\n return this.insertString(this.event.data);\n },\n insertUnorderedList: function insertUnorderedList() {\n return this.toggleAttributeIfSupported(\"bullet\");\n }\n }, u.prototype.insertString = function (t, e) {\n var n;\n return null == t && (t = \"\"), null != (n = this.delegate) && n.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var n;\n return null != (n = this.responder) ? n.insertString(t, e) : void 0;\n });\n }, u.prototype.toggleAttributeIfSupported = function (t) {\n var n;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (n = this.delegate) && n.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.toggleCurrentAttribute(t) : void 0;\n })) : void 0;\n }, u.prototype.activateAttributeIfSupported = function (t, n) {\n var i;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (i = this.delegate) && i.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.setCurrentAttribute(t, n) : void 0;\n })) : void 0;\n }, u.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r;\n return o = (null != e ? e : {\n recordUndoEntry: !0\n }).recordUndoEntry, o && null != (r = this.delegate) && r.inputControllerWillPerformTyping(), i = function (e) {\n return function () {\n var n;\n return null != (n = e.responder) ? n.deleteInDirection(t) : void 0;\n };\n }(this), (n = this.getTargetDOMRange({\n minLength: 2\n })) ? this.withTargetDOMRange(n, i) : i();\n }, u.prototype.withTargetDOMRange = function (t, n) {\n var i;\n return \"function\" == typeof t && (n = t, t = this.getTargetDOMRange()), t ? null != (i = this.responder) ? i.withTargetDOMRange(t, n.bind(this)) : void 0 : (e.selectionChangeObserver.reset(), n.call(this));\n }, u.prototype.getTargetDOMRange = function (t) {\n var e, n, i, o;\n return i = (null != t ? t : {\n minLength: 0\n }).minLength, (o = \"function\" == typeof (e = this.event).getTargetRanges ? e.getTargetRanges() : void 0) && o.length && (n = f(o[0]), 0 === i || n.toString().length >= i) ? n : void 0;\n }, f = function f(t) {\n var e;\n return e = document.createRange(), e.setStart(t.startContainer, t.startOffset), e.setEnd(t.endContainer, t.endOffset), e;\n }, u.prototype.withEvent = function (t, e) {\n var n;\n this.event = t;\n\n try {\n n = e.call(this);\n } finally {\n this.event = null;\n }\n\n return n;\n }, c = function c(t) {\n var e, n;\n return a.call(null != (e = null != (n = t.dataTransfer) ? n.types : void 0) ? e : [], \"Files\") >= 0;\n }, h = function h(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"Files\") >= 0 && 1 === e.types.length && e.files.length >= 1 : void 0;\n }, p = function p(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"text/plain\") >= 0 && 1 === e.types.length : void 0;\n }, l = function l(t) {\n var e;\n return e = [], t.altKey && e.push(\"alt\"), t.shiftKey && e.push(\"shift\"), e.push(t.key), e;\n }, d = function d(t) {\n return {\n x: t.clientX,\n y: t.clientY\n };\n }, u;\n }(e.InputController);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l = function l(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n h = function h(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n p.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n p = {}.hasOwnProperty;\n\n n = e.defer, i = e.escapeHTML, o = e.handleEvent, a = e.makeElement, c = e.tagName, u = e.config, s = u.lang, t = u.css, r = u.keyNames, e.AttachmentEditorController = function (u) {\n function p(t, e, n, i) {\n this.attachmentPiece = t, this.element = e, this.container = n, this.options = null != i ? i : {}, this.didBlurCaption = l(this.didBlurCaption, this), this.didChangeCaption = l(this.didChangeCaption, this), this.didInputCaption = l(this.didInputCaption, this), this.didKeyDownCaption = l(this.didKeyDownCaption, this), this.didClickActionButton = l(this.didClickActionButton, this), this.didClickToolbar = l(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, \"a\" === c(this.element) && (this.element = this.element.firstChild), this.install();\n }\n\n var d;\n return h(p, u), d = function d(t) {\n return function () {\n var e;\n return e = t.apply(this, arguments), e[\"do\"](), null == this.undos && (this.undos = []), this.undos.push(e.undo);\n };\n }, p.prototype.install = function () {\n return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0;\n }, p.prototype.uninstall = function () {\n var t, e;\n\n for (this.savePendingCaption(); e = this.undos.pop();) {\n e();\n }\n\n return null != (t = this.delegate) ? t.didUninstallAttachmentEditor(this) : void 0;\n }, p.prototype.savePendingCaption = function () {\n var t, e, n;\n return null != this.pendingCaption ? (t = this.pendingCaption, this.pendingCaption = null, t ? null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestUpdatingAttributesForAttachment ? e.attachmentEditorDidRequestUpdatingAttributesForAttachment({\n caption: t\n }, this.attachment) : void 0 : null != (n = this.delegate) && \"function\" == typeof n.attachmentEditorDidRequestRemovingAttributeForAttachment ? n.attachmentEditorDidRequestRemovingAttributeForAttachment(\"caption\", this.attachment) : void 0) : void 0;\n }, p.prototype.makeElementMutable = d(function () {\n return {\n \"do\": function (t) {\n return function () {\n return t.element.dataset.trixMutable = !0;\n };\n }(this),\n undo: function (t) {\n return function () {\n return delete t.element.dataset.trixMutable;\n };\n }(this)\n };\n }), p.prototype.addToolbar = d(function () {\n var n, r, u;\n return n = a({\n tagName: \"div\",\n className: t.attachmentToolbar,\n data: {\n trixMutable: !0\n }\n }), n.innerHTML = '
\\n \\n \\n \\n
\", this.attachment.isPreviewable() && (r = i(this.attachment.getFilename()), u = i(this.attachment.getFormattedFilesize()), n.innerHTML += '
\\n \\n ' + r + '\\n ' + u + \"\\n \\n
\"), o(\"click\", {\n onElement: n,\n withCallback: this.didClickToolbar\n }), o(\"click\", {\n onElement: n,\n matchingSelector: \"[data-trix-action]\",\n withCallback: this.didClickActionButton\n }), {\n \"do\": function (t) {\n return function () {\n return t.element.appendChild(n);\n };\n }(this),\n undo: function () {\n return function () {\n return e.removeNode(n);\n };\n }(this)\n };\n }), p.prototype.installCaptionEditor = d(function () {\n var i, r, u, c, l;\n return c = a({\n tagName: \"textarea\",\n className: t.attachmentCaptionEditor,\n attributes: {\n placeholder: s.captionPlaceholder\n },\n data: {\n trixMutable: !0\n }\n }), c.value = this.attachmentPiece.getCaption(), l = c.cloneNode(), l.classList.add(\"trix-autoresize-clone\"), l.tabIndex = -1, i = function i() {\n return l.value = c.value, c.style.height = l.scrollHeight + \"px\";\n }, o(\"input\", {\n onElement: c,\n withCallback: i\n }), o(\"input\", {\n onElement: c,\n withCallback: this.didInputCaption\n }), o(\"keydown\", {\n onElement: c,\n withCallback: this.didKeyDownCaption\n }), o(\"change\", {\n onElement: c,\n withCallback: this.didChangeCaption\n }), o(\"blur\", {\n onElement: c,\n withCallback: this.didBlurCaption\n }), u = this.element.querySelector(\"figcaption\"), r = u.cloneNode(), {\n \"do\": function (e) {\n return function () {\n return u.style.display = \"none\", r.appendChild(c), r.appendChild(l), r.classList.add(t.attachmentCaption + \"--editing\"), u.parentElement.insertBefore(r, u), i(), e.options.editCaption ? n(function () {\n return c.focus();\n }) : void 0;\n };\n }(this),\n undo: function undo() {\n return e.removeNode(r), u.style.display = null;\n }\n };\n }), p.prototype.didClickToolbar = function (t) {\n return t.preventDefault(), t.stopPropagation();\n }, p.prototype.didClickActionButton = function (t) {\n var e, n;\n\n switch (e = t.target.getAttribute(\"data-trix-action\")) {\n case \"remove\":\n return null != (n = this.delegate) ? n.attachmentEditorDidRequestRemovalOfAttachment(this.attachment) : void 0;\n }\n }, p.prototype.didKeyDownCaption = function (t) {\n var e;\n return \"return\" === r[t.keyCode] ? (t.preventDefault(), this.savePendingCaption(), null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestDeselectingAttachment ? e.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0;\n }, p.prototype.didInputCaption = function (t) {\n return this.pendingCaption = t.target.value.replace(/\\s/g, \" \").trim();\n }, p.prototype.didChangeCaption = function () {\n return this.savePendingCaption();\n }, p.prototype.didBlurCaption = function () {\n return this.savePendingCaption();\n }, p;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.config.css, e.AttachmentView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece;\n }\n\n var a;\n return o(s, r), s.attachmentSelector = \"[data-trix-attachment]\", s.prototype.createContentNodes = function () {\n return [];\n }, s.prototype.createNodes = function () {\n var e, n, o, r, s, u, c;\n if (e = r = i({\n tagName: \"figure\",\n className: this.getClassName(),\n data: this.getData(),\n editable: !1\n }), (n = this.getHref()) && (r = i({\n tagName: \"a\",\n editable: !1,\n attributes: {\n href: n,\n tabindex: -1\n }\n }), e.appendChild(r)), this.attachment.hasContent()) r.innerHTML = this.attachment.getContent();else for (c = this.createContentNodes(), o = 0, s = c.length; s > o; o++) {\n u = c[o], r.appendChild(u);\n }\n return r.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = i({\n tagName: \"progress\",\n attributes: {\n \"class\": t.attachmentProgress,\n value: this.attachment.getUploadProgress(),\n max: 100\n },\n data: {\n trixMutable: !0,\n trixStoreKey: [\"progressElement\", this.attachment.id].join(\"/\")\n }\n }), e.appendChild(this.progressElement)), [a(\"left\"), e, a(\"right\")];\n }, s.prototype.createCaptionElement = function () {\n var e, n, o, r, s, a, u;\n return o = i({\n tagName: \"figcaption\",\n className: t.attachmentCaption\n }), (e = this.attachmentPiece.getCaption()) ? (o.classList.add(t.attachmentCaption + \"--edited\"), o.textContent = e) : (n = this.getCaptionConfig(), n.name && (r = this.attachment.getFilename()), n.size && (a = this.attachment.getFormattedFilesize()), r && (s = i({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: r\n }), o.appendChild(s)), a && (r && o.appendChild(document.createTextNode(\" \")), u = i({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: a\n }), o.appendChild(u))), o;\n }, s.prototype.getClassName = function () {\n var e, n;\n return n = [t.attachment, t.attachment + \"--\" + this.attachment.getType()], (e = this.attachment.getExtension()) && n.push(t.attachment + \"--\" + e), n.join(\" \");\n }, s.prototype.getData = function () {\n var t, e;\n return e = {\n trixAttachment: JSON.stringify(this.attachment),\n trixContentType: this.attachment.getContentType(),\n trixId: this.attachment.id\n }, t = this.attachmentPiece.attributes, t.isEmpty() || (e.trixAttributes = JSON.stringify(t)), this.attachment.isPending() && (e.trixSerialize = !1), e;\n }, s.prototype.getHref = function () {\n return n(this.attachment.getContent(), \"a\") ? void 0 : this.attachment.getHref();\n }, s.prototype.getCaptionConfig = function () {\n var t, n, i;\n return i = this.attachment.getType(), t = e.copyObject(null != (n = e.config.attachments[i]) ? n.caption : void 0), \"file\" === i && (t.name = !0), t;\n }, s.prototype.findProgressElement = function () {\n var t;\n return null != (t = this.findElement()) ? t.querySelector(\"progress\") : void 0;\n }, a = function a(t) {\n return i({\n tagName: \"span\",\n textContent: e.ZERO_WIDTH_SPACE,\n data: {\n trixCursorTarget: t,\n trixSerialize: !1\n }\n });\n }, s.prototype.attachmentDidChangeUploadProgress = function () {\n var t, e;\n return e = this.attachment.getUploadProgress(), null != (t = this.findProgressElement()) ? t.value = e : void 0;\n }, s;\n }(e.ObjectView), n = function n(t, e) {\n var n;\n return n = i(\"div\"), n.innerHTML = null != t ? t : \"\", n.querySelector(e);\n };\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.makeElement, e.PreviewableAttachmentView = function (i) {\n function o() {\n o.__super__.constructor.apply(this, arguments), this.attachment.previewDelegate = this;\n }\n\n return n(o, i), o.prototype.createContentNodes = function () {\n return this.image = t({\n tagName: \"img\",\n attributes: {\n src: \"\"\n },\n data: {\n trixMutable: !0\n }\n }), this.refresh(this.image), [this.image];\n }, o.prototype.createCaptionElement = function () {\n var t;\n return t = o.__super__.createCaptionElement.apply(this, arguments), t.textContent || t.setAttribute(\"data-trix-placeholder\", e.config.lang.captionPlaceholder), t;\n }, o.prototype.refresh = function (t) {\n var e;\n return null == t && (t = null != (e = this.findElement()) ? e.querySelector(\"img\") : void 0), t ? this.updateAttributesForImage(t) : void 0;\n }, o.prototype.updateAttributesForImage = function (t) {\n var e, n, i, o, r, s;\n return r = this.attachment.getURL(), n = this.attachment.getPreviewURL(), t.src = n || r, n === r ? t.removeAttribute(\"data-trix-serialized-attributes\") : (i = JSON.stringify({\n src: r\n }), t.setAttribute(\"data-trix-serialized-attributes\", i)), s = this.attachment.getWidth(), e = this.attachment.getHeight(), null != s && (t.width = s), null != e && (t.height = e), o = [\"imageElement\", this.attachment.id, t.src, t.width, t.height].join(\"/\"), t.dataset.trixStoreKey = o;\n }, o.prototype.attachmentDidChangeAttributes = function () {\n return this.refresh(this.image), this.refresh();\n }, o;\n }(e.AttachmentView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.findInnerElement, n = e.getTextConfig, e.PieceView = function (r) {\n function s() {\n var t;\n s.__super__.constructor.apply(this, arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), t = this.options, this.textConfig = t.textConfig, this.context = t.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString();\n }\n\n var a;\n return o(s, r), s.prototype.createNodes = function () {\n var e, n, i, o, r, s;\n\n if (s = this.attachment ? this.createAttachmentNodes() : this.createStringNodes(), e = this.createElement()) {\n for (i = t(e), n = 0, o = s.length; o > n; n++) {\n r = s[n], i.appendChild(r);\n }\n\n s = [e];\n }\n\n return s;\n }, s.prototype.createAttachmentNodes = function () {\n var t, n;\n return t = this.attachment.isPreviewable() ? e.PreviewableAttachmentView : e.AttachmentView, n = this.createChildView(t, this.piece.attachment, {\n piece: this.piece\n }), n.getNodes();\n }, s.prototype.createStringNodes = function () {\n var t, e, n, o, r, s, a, u, c, l;\n if (null != (u = this.textConfig) ? u.plaintext : void 0) return [document.createTextNode(this.string)];\n\n for (a = [], c = this.string.split(\"\\n\"), n = e = 0, o = c.length; o > e; n = ++e) {\n l = c[n], n > 0 && (t = i(\"br\"), a.push(t)), (r = l.length) && (s = document.createTextNode(this.preserveSpaces(l)), a.push(s));\n }\n\n return a;\n }, s.prototype.createElement = function () {\n var t, e, o, r, s, a, u, c, l;\n c = {}, a = this.attributes;\n\n for (r in a) {\n if (l = a[r], (t = n(r)) && (t.tagName && (s = i(t.tagName), o ? (o.appendChild(s), o = s) : e = o = s), t.styleProperty && (c[t.styleProperty] = l), t.style)) {\n u = t.style;\n\n for (r in u) {\n l = u[r], c[r] = l;\n }\n }\n }\n\n if (Object.keys(c).length) {\n null == e && (e = i(\"span\"));\n\n for (r in c) {\n l = c[r], e.style[r] = l;\n }\n }\n\n return e;\n }, s.prototype.createContainerElement = function () {\n var t, e, o, r, s;\n r = this.attributes;\n\n for (o in r) {\n if (s = r[o], (e = n(o)) && e.groupTagName) return t = {}, t[o] = s, i(e.groupTagName, t);\n }\n }, a = e.NON_BREAKING_SPACE, s.prototype.preserveSpaces = function (t) {\n return this.context.isLast && (t = t.replace(/\\ $/, a)), t = t.replace(/(\\S)\\ {3}(\\S)/g, \"$1 \" + a + \" $2\").replace(/\\ {2}/g, a + \" \").replace(/\\ {2}/g, \" \" + a), (this.context.isFirst || this.context.followsWhitespace) && (t = t.replace(/^\\ /, a)), t;\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t11, e) {\n function i() {\n this.constructor = _t11;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t11[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t11.prototype = new i(), _t11.__super__ = e.prototype, _t11;\n },\n n = {}.hasOwnProperty;\n\n e.TextView = function (n) {\n function i() {\n i.__super__.constructor.apply(this, arguments), this.text = this.object, this.textConfig = this.options.textConfig;\n }\n\n var o;\n return t(i, n), i.prototype.createNodes = function () {\n var t, n, i, r, s, a, u, c, l, h;\n\n for (a = [], c = e.ObjectGroup.groupObjects(this.getPieces()), r = c.length - 1, i = n = 0, s = c.length; s > n; i = ++n) {\n u = c[i], t = {}, 0 === i && (t.isFirst = !0), i === r && (t.isLast = !0), o(l) && (t.followsWhitespace = !0), h = this.findOrCreateCachedChildView(e.PieceView, u, {\n textConfig: this.textConfig,\n context: t\n }), a.push.apply(a, h.getNodes()), l = u;\n }\n\n return a;\n }, i.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.text.getPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], n.hasAttribute(\"blockBreak\") || o.push(n);\n }\n\n return o;\n }, o = function o(t) {\n return /\\s$/.test(null != t ? t.toString() : void 0);\n }, i;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, n = e.getBlockConfig, t = e.config.css, e.BlockView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.block = this.object, this.attributes = this.block.getAttributes();\n }\n\n return o(s, r), s.prototype.createNodes = function () {\n var t, o, r, s, a, u, c, l, h;\n if (t = document.createComment(\"block\"), u = [t], this.block.isEmpty() ? u.push(i(\"br\")) : (l = null != (c = n(this.block.getLastAttribute())) ? c.text : void 0, h = this.findOrCreateCachedChildView(e.TextView, this.block.text, {\n textConfig: l\n }), u.push.apply(u, h.getNodes()), this.shouldAddExtraNewlineElement() && u.push(i(\"br\"))), this.attributes.length) return u;\n\n for (o = i(e.config.blockAttributes[\"default\"].tagName), r = 0, s = u.length; s > r; r++) {\n a = u[r], o.appendChild(a);\n }\n\n return [o];\n }, s.prototype.createContainerElement = function (e) {\n var o, r, s, a;\n return o = this.attributes[e], a = n(o).tagName, r = {\n tagName: a\n }, \"attachmentGallery\" === o && (s = this.block.getBlockBreakPosition(), r.className = t.attachmentGallery + \" \" + t.attachmentGallery + \"--\" + s), i(r);\n }, s.prototype.shouldAddExtraNewlineElement = function () {\n return /\\n\\n$/.test(this.block.toString());\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.defer, n = e.makeElement, e.DocumentView = function (o) {\n function r() {\n r.__super__.constructor.apply(this, arguments), this.element = this.options.element, this.elementStore = new e.ElementStore(), this.setDocument(this.object);\n }\n\n var s, a, u;\n return i(r, o), r.render = function (t) {\n var e, i;\n return e = n(\"div\"), i = new this(t, {\n element: e\n }), i.render(), i.sync(), e;\n }, r.prototype.setDocument = function (t) {\n return t.isEqualTo(this.document) ? void 0 : this.document = this.object = t;\n }, r.prototype.render = function () {\n var t, i, o, r, s, a, u;\n\n if (this.childViews = [], this.shadowElement = n(\"div\"), !this.document.isEmpty()) {\n for (s = e.ObjectGroup.groupObjects(this.document.getBlocks(), {\n asTree: !0\n }), a = [], t = 0, i = s.length; i > t; t++) {\n r = s[t], u = this.findOrCreateCachedChildView(e.BlockView, r), a.push(function () {\n var t, e, n, i;\n\n for (n = u.getNodes(), i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(this.shadowElement.appendChild(o));\n }\n\n return i;\n }.call(this));\n }\n\n return a;\n }\n }, r.prototype.isSynced = function () {\n return s(this.shadowElement, this.element);\n }, r.prototype.sync = function () {\n var t;\n\n for (t = this.createDocumentFragmentForSync(); this.element.lastChild;) {\n this.element.removeChild(this.element.lastChild);\n }\n\n return this.element.appendChild(t), this.didSync();\n }, r.prototype.didSync = function () {\n return this.elementStore.reset(a(this.element)), t(function (t) {\n return function () {\n return t.garbageCollectCachedViews();\n };\n }(this));\n }, r.prototype.createDocumentFragmentForSync = function () {\n var t, e, n, i, o, r, s, u, c, l;\n\n for (e = document.createDocumentFragment(), u = this.shadowElement.childNodes, n = 0, o = u.length; o > n; n++) {\n s = u[n], e.appendChild(s.cloneNode(!0));\n }\n\n for (c = a(e), i = 0, r = c.length; r > i; i++) {\n t = c[i], (l = this.elementStore.remove(t)) && t.parentNode.replaceChild(l, t);\n }\n\n return e;\n }, a = function a(t) {\n return t.querySelectorAll(\"[data-trix-store-key]\");\n }, s = function s(t, e) {\n return u(t.innerHTML) === u(e.innerHTML);\n }, u = function u(t) {\n return t.replace(/ /g, \" \");\n }, r;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n a = function a(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n u.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n u = {}.hasOwnProperty;\n\n i = e.findClosestElementFromNode, o = e.handleEvent, r = e.innerElementIsActive, n = e.defer, t = e.AttachmentView.attachmentSelector, e.CompositionController = function (u) {\n function c(n, i) {\n this.element = n, this.composition = i, this.didClickAttachment = s(this.didClickAttachment, this), this.didBlur = s(this.didBlur, this), this.didFocus = s(this.didFocus, this), this.documentView = new e.DocumentView(this.composition.document, {\n element: this.element\n }), o(\"focus\", {\n onElement: this.element,\n withCallback: this.didFocus\n }), o(\"blur\", {\n onElement: this.element,\n withCallback: this.didBlur\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a[contenteditable=false]\",\n preventDefault: !0\n }), o(\"mousedown\", {\n onElement: this.element,\n matchingSelector: t,\n withCallback: this.didClickAttachment\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a\" + t,\n preventDefault: !0\n });\n }\n\n return a(c, u), c.prototype.didFocus = function () {\n var t, e, n;\n return t = function (t) {\n return function () {\n var e;\n return t.focused ? void 0 : (t.focused = !0, null != (e = t.delegate) && \"function\" == typeof e.compositionControllerDidFocus ? e.compositionControllerDidFocus() : void 0);\n };\n }(this), null != (e = null != (n = this.blurPromise) ? n.then(t) : void 0) ? e : t();\n }, c.prototype.didBlur = function () {\n return this.blurPromise = new Promise(function (t) {\n return function (e) {\n return n(function () {\n var n;\n return r(t.element) || (t.focused = null, null != (n = t.delegate) && \"function\" == typeof n.compositionControllerDidBlur && n.compositionControllerDidBlur()), t.blurPromise = null, e();\n });\n };\n }(this));\n }, c.prototype.didClickAttachment = function (t, e) {\n var n, o, r;\n return n = this.findAttachmentForElement(e), o = null != i(t.target, {\n matchingSelector: \"figcaption\"\n }), null != (r = this.delegate) && \"function\" == typeof r.compositionControllerDidSelectAttachment ? r.compositionControllerDidSelectAttachment(n, {\n editCaption: o\n }) : void 0;\n }, c.prototype.getSerializableElement = function () {\n return this.isEditingAttachment() ? this.documentView.shadowElement : this.element;\n }, c.prototype.render = function () {\n var t, e, n;\n return 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 != (t = this.delegate) && \"function\" == typeof t.compositionControllerWillSyncDocumentView && t.compositionControllerWillSyncDocumentView(), this.documentView.sync(), null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidSyncDocumentView && e.compositionControllerDidSyncDocumentView()), null != (n = this.delegate) && \"function\" == typeof n.compositionControllerDidRender ? n.compositionControllerDidRender() : void 0;\n }, c.prototype.rerenderViewForObject = function (t) {\n return this.invalidateViewForObject(t), this.render();\n }, c.prototype.invalidateViewForObject = function (t) {\n return this.documentView.invalidateViewForObject(t);\n }, c.prototype.isViewCachingEnabled = function () {\n return this.documentView.isViewCachingEnabled();\n }, c.prototype.enableViewCaching = function () {\n return this.documentView.enableViewCaching();\n }, c.prototype.disableViewCaching = function () {\n return this.documentView.disableViewCaching();\n }, c.prototype.refreshViewCache = function () {\n return this.documentView.garbageCollectCachedViews();\n }, c.prototype.isEditingAttachment = function () {\n return null != this.attachmentEditor;\n }, c.prototype.installAttachmentEditorForAttachment = function (t, n) {\n var i, o, r;\n if ((null != (r = this.attachmentEditor) ? r.attachment : void 0) !== t && (o = this.documentView.findElementForObject(t))) return this.uninstallAttachmentEditor(), i = this.composition.document.getAttachmentPieceForAttachment(t), this.attachmentEditor = new e.AttachmentEditorController(i, o, this.element, n), this.attachmentEditor.delegate = this;\n }, c.prototype.uninstallAttachmentEditor = function () {\n var t;\n return null != (t = this.attachmentEditor) ? t.uninstall() : void 0;\n }, c.prototype.didUninstallAttachmentEditor = function () {\n return this.attachmentEditor = null, this.render();\n }, c.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.updateAttributesForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.removeAttributeForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovalOfAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestRemovalOfAttachment ? e.compositionControllerDidRequestRemovalOfAttachment(t) : void 0;\n }, c.prototype.attachmentEditorDidRequestDeselectingAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestDeselectingAttachment ? e.compositionControllerDidRequestDeselectingAttachment(t) : void 0;\n }, c.prototype.canSyncDocumentView = function () {\n return !this.isEditingAttachment();\n }, c.prototype.findAttachmentForElement = function (t) {\n return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId, 10));\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty;\n\n n = e.handleEvent, i = e.triggerEvent, t = e.findClosestElementFromNode, e.ToolbarController = function (e) {\n function s(t) {\n this.element = t, this.didKeyDownDialogInput = o(this.didKeyDownDialogInput, this), this.didClickDialogButton = o(this.didClickDialogButton, this), this.didClickAttributeButton = o(this.didClickAttributeButton, this), this.didClickActionButton = o(this.didClickActionButton, this), this.attributes = {}, this.actions = {}, this.resetDialogInputs(), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: a,\n withCallback: this.didClickActionButton\n }), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: c,\n withCallback: this.didClickAttributeButton\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: v,\n preventDefault: !0\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: l,\n withCallback: this.didClickDialogButton\n }), n(\"keydown\", {\n onElement: this.element,\n matchingSelector: h,\n withCallback: this.didKeyDownDialogInput\n });\n }\n\n var a, u, c, l, h, p, d, f, g, m, v;\n return r(s, e), c = \"[data-trix-attribute]\", a = \"[data-trix-action]\", v = c + \", \" + a, p = \"[data-trix-dialog]\", u = p + \"[data-trix-active]\", l = p + \" [data-trix-method]\", h = p + \" [data-trix-input]\", s.prototype.didClickActionButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = d(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) ? o.toolbarDidInvokeAction(n) : void 0;\n }, s.prototype.didClickAttributeButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = f(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) && o.toolbarDidToggleAttribute(n), this.refreshAttributeButtons();\n }, s.prototype.didClickDialogButton = function (e, n) {\n var i, o;\n return i = t(n, {\n matchingSelector: p\n }), o = n.getAttribute(\"data-trix-method\"), this[o].call(this, i);\n }, s.prototype.didKeyDownDialogInput = function (t, e) {\n var n, i;\n return 13 === t.keyCode && (t.preventDefault(), n = e.getAttribute(\"name\"), i = this.getDialog(n), this.setAttribute(i)), 27 === t.keyCode ? (t.preventDefault(), this.hideDialog()) : void 0;\n }, s.prototype.updateActions = function (t) {\n return this.actions = t, this.refreshActionButtons();\n }, s.prototype.refreshActionButtons = function () {\n return this.eachActionButton(function (t) {\n return function (e, n) {\n return e.disabled = t.actions[n] === !1;\n };\n }(this));\n }, s.prototype.eachActionButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(a), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, d(e)));\n }\n\n return r;\n }, s.prototype.updateAttributes = function (t) {\n return this.attributes = t, this.refreshAttributeButtons();\n }, s.prototype.refreshAttributeButtons = function () {\n return this.eachAttributeButton(function (t) {\n return function (e, n) {\n return e.disabled = t.attributes[n] === !1, t.attributes[n] || t.dialogIsVisible(n) ? (e.setAttribute(\"data-trix-active\", \"\"), e.classList.add(\"trix-active\")) : (e.removeAttribute(\"data-trix-active\"), e.classList.remove(\"trix-active\"));\n };\n }(this));\n }, s.prototype.eachAttributeButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(c), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, f(e)));\n }\n\n return r;\n }, s.prototype.applyKeyboardCommand = function (t) {\n var e, n, o, r, s, a, u;\n\n for (s = JSON.stringify(t.sort()), u = this.element.querySelectorAll(\"[data-trix-key]\"), r = 0, a = u.length; a > r; r++) {\n if (e = u[r], o = e.getAttribute(\"data-trix-key\").split(\"+\"), n = JSON.stringify(o.sort()), n === s) return i(\"mousedown\", {\n onElement: e\n }), !0;\n }\n\n return !1;\n }, s.prototype.dialogIsVisible = function (t) {\n var e;\n return (e = this.getDialog(t)) ? e.hasAttribute(\"data-trix-active\") : void 0;\n }, s.prototype.toggleDialog = function (t) {\n return this.dialogIsVisible(t) ? this.hideDialog() : this.showDialog(t);\n }, s.prototype.showDialog = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n for (this.hideDialog(), null != (a = this.delegate) && a.toolbarWillShowDialog(), i = this.getDialog(t), i.setAttribute(\"data-trix-active\", \"\"), i.classList.add(\"trix-active\"), u = i.querySelectorAll(\"input[disabled]\"), o = 0, s = u.length; s > o; o++) {\n n = u[o], n.removeAttribute(\"disabled\");\n }\n\n return (e = f(i)) && (r = m(i, t)) && (r.value = null != (c = this.attributes[e]) ? c : \"\", r.select()), null != (l = this.delegate) ? l.toolbarDidShowDialog(t) : void 0;\n }, s.prototype.setAttribute = function (t) {\n var e, n, i;\n return e = f(t), n = m(t, e), n.willValidate && !n.checkValidity() ? (n.setAttribute(\"data-trix-validate\", \"\"), n.classList.add(\"trix-validate\"), n.focus()) : (null != (i = this.delegate) && i.toolbarDidUpdateAttribute(e, n.value), this.hideDialog());\n }, s.prototype.removeAttribute = function (t) {\n var e, n;\n return e = f(t), null != (n = this.delegate) && n.toolbarDidRemoveAttribute(e), this.hideDialog();\n }, s.prototype.hideDialog = function () {\n var t, e;\n return (t = this.element.querySelector(u)) ? (t.removeAttribute(\"data-trix-active\"), t.classList.remove(\"trix-active\"), this.resetDialogInputs(), null != (e = this.delegate) ? e.toolbarDidHideDialog(g(t)) : void 0) : void 0;\n }, s.prototype.resetDialogInputs = function () {\n var t, e, n, i, o;\n\n for (i = this.element.querySelectorAll(h), o = [], t = 0, n = i.length; n > t; t++) {\n e = i[t], e.setAttribute(\"disabled\", \"disabled\"), e.removeAttribute(\"data-trix-validate\"), o.push(e.classList.remove(\"trix-validate\"));\n }\n\n return o;\n }, s.prototype.getDialog = function (t) {\n return this.element.querySelector(\"[data-trix-dialog=\" + t + \"]\");\n }, m = function m(t, e) {\n return null == e && (e = f(t)), t.querySelector(\"[data-trix-input][name='\" + e + \"']\");\n }, d = function d(t) {\n return t.getAttribute(\"data-trix-action\");\n }, f = function f(t) {\n var e;\n return null != (e = t.getAttribute(\"data-trix-attribute\")) ? e : t.getAttribute(\"data-trix-dialog-attribute\");\n }, g = function g(t) {\n return t.getAttribute(\"data-trix-dialog\");\n }, s;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t12, e) {\n function i() {\n this.constructor = _t12;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t12[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t12.prototype = new i(), _t12.__super__ = e.prototype, _t12;\n },\n n = {}.hasOwnProperty;\n\n e.ImagePreloadOperation = function (e) {\n function n(t) {\n this.url = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new Image(), e.onload = function (n) {\n return function () {\n return e.width = n.width = e.naturalWidth, e.height = n.height = e.naturalHeight, t(!0, e);\n };\n }(this), e.onerror = function () {\n return t(!1);\n }, e.src = this.url;\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t = function t(_t13, e) {\n return function () {\n return _t13.apply(e, arguments);\n };\n },\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n e.Attachment = function (i) {\n function o(n) {\n null == n && (n = {}), this.releaseFile = t(this.releaseFile, this), o.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n), this.didChangeAttributes();\n }\n\n return n(o, i), o.previewablePattern = /^image(\\/(gif|png|jpe?g)|$)/, o.attachmentForFile = function (t) {\n var e, n;\n return n = this.attributesForFile(t), e = new this(n), e.setFile(t), e;\n }, o.attributesForFile = function (t) {\n return new e.Hash({\n filename: t.name,\n filesize: t.size,\n contentType: t.type\n });\n }, o.fromJSON = function (t) {\n return new this(t);\n }, o.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, o.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, o.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, o.prototype.setAttributes = function (t) {\n var e, n, i;\n return null == t && (t = {}), e = this.attributes.merge(t), this.attributes.isEqualTo(e) ? void 0 : (this.attributes = e, this.didChangeAttributes(), null != (n = this.previewDelegate) && \"function\" == typeof n.attachmentDidChangeAttributes && n.attachmentDidChangeAttributes(this), null != (i = this.delegate) && \"function\" == typeof i.attachmentDidChangeAttributes ? i.attachmentDidChangeAttributes(this) : void 0);\n }, o.prototype.didChangeAttributes = function () {\n return this.isPreviewable() ? this.preloadURL() : void 0;\n }, o.prototype.isPending = function () {\n return null != this.file && !(this.getURL() || this.getHref());\n }, o.prototype.isPreviewable = function () {\n return this.attributes.has(\"previewable\") ? this.attributes.get(\"previewable\") : this.constructor.previewablePattern.test(this.getContentType());\n }, o.prototype.getType = function () {\n return this.hasContent() ? \"content\" : this.isPreviewable() ? \"preview\" : \"file\";\n }, o.prototype.getURL = function () {\n return this.attributes.get(\"url\");\n }, o.prototype.getHref = function () {\n return this.attributes.get(\"href\");\n }, o.prototype.getFilename = function () {\n var t;\n return null != (t = this.attributes.get(\"filename\")) ? t : \"\";\n }, o.prototype.getFilesize = function () {\n return this.attributes.get(\"filesize\");\n }, o.prototype.getFormattedFilesize = function () {\n var t;\n return t = this.attributes.get(\"filesize\"), \"number\" == typeof t ? e.config.fileSize.formatter(t) : \"\";\n }, o.prototype.getExtension = function () {\n var t;\n return null != (t = this.getFilename().match(/\\.(\\w+)$/)) ? t[1].toLowerCase() : void 0;\n }, o.prototype.getContentType = function () {\n return this.attributes.get(\"contentType\");\n }, o.prototype.hasContent = function () {\n return this.attributes.has(\"content\");\n }, o.prototype.getContent = function () {\n return this.attributes.get(\"content\");\n }, o.prototype.getWidth = function () {\n return this.attributes.get(\"width\");\n }, o.prototype.getHeight = function () {\n return this.attributes.get(\"height\");\n }, o.prototype.getFile = function () {\n return this.file;\n }, o.prototype.setFile = function (t) {\n return this.file = t, this.isPreviewable() ? this.preloadFile() : void 0;\n }, o.prototype.releaseFile = function () {\n return this.releasePreloadedFile(), this.file = null;\n }, o.prototype.getUploadProgress = function () {\n var t;\n return null != (t = this.uploadProgress) ? t : 0;\n }, o.prototype.setUploadProgress = function (t) {\n var e;\n return this.uploadProgress !== t ? (this.uploadProgress = t, null != (e = this.uploadProgressDelegate) && \"function\" == typeof e.attachmentDidChangeUploadProgress ? e.attachmentDidChangeUploadProgress(this) : void 0) : void 0;\n }, o.prototype.toJSON = function () {\n return this.getAttributes();\n }, o.prototype.getCacheKey = function () {\n return [o.__super__.getCacheKey.apply(this, arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join(\"/\");\n }, o.prototype.getPreviewURL = function () {\n return this.previewURL || this.preloadingURL;\n }, o.prototype.setPreviewURL = function (t) {\n var e, n;\n return t !== this.getPreviewURL() ? (this.previewURL = t, null != (e = this.previewDelegate) && \"function\" == typeof e.attachmentDidChangeAttributes && e.attachmentDidChangeAttributes(this), null != (n = this.delegate) && \"function\" == typeof n.attachmentDidChangePreviewURL ? n.attachmentDidChangePreviewURL(this) : void 0) : void 0;\n }, o.prototype.preloadURL = function () {\n return this.preload(this.getURL(), this.releaseFile);\n }, o.prototype.preloadFile = function () {\n return this.file ? (this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL)) : void 0;\n }, o.prototype.releasePreloadedFile = function () {\n return this.fileObjectURL ? (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null) : void 0;\n }, o.prototype.preload = function (t, n) {\n var i;\n return t && t !== this.getPreviewURL() ? (this.preloadingURL = t, i = new e.ImagePreloadOperation(t), i.then(function (e) {\n return function (i) {\n var o, r;\n return r = i.width, o = i.height, e.getWidth() && e.getHeight() || e.setAttributes({\n width: r,\n height: o\n }), e.preloadingURL = null, e.setPreviewURL(t), \"function\" == typeof n ? n() : void 0;\n };\n }(this))[\"catch\"](function (t) {\n return function () {\n return t.preloadingURL = null, \"function\" == typeof n ? n() : void 0;\n };\n }(this))) : void 0;\n }, o;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t14, e) {\n function i() {\n this.constructor = _t14;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t14[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t14.prototype = new i(), _t14.__super__ = e.prototype, _t14;\n },\n n = {}.hasOwnProperty;\n\n e.Piece = function (n) {\n function i(t, n) {\n null == n && (n = {}), i.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n);\n }\n\n return t(i, n), i.types = {}, i.registerType = function (t, e) {\n return e.type = t, this.types[t] = e;\n }, i.fromJSON = function (t) {\n var e;\n return (e = this.types[t.type]) ? e.fromJSON(t) : void 0;\n }, i.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.getValue(), t);\n }, i.prototype.copyWithAdditionalAttributes = function (t) {\n return this.copyWithAttributes(this.attributes.merge(t));\n }, i.prototype.copyWithoutAttribute = function (t) {\n return this.copyWithAttributes(this.attributes.remove(t));\n }, i.prototype.copy = function () {\n return this.copyWithAttributes(this.attributes);\n }, i.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, i.prototype.getAttributesHash = function () {\n return this.attributes;\n }, i.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, i.prototype.getCommonAttributes = function () {\n var t, e, n;\n return (n = pieceList.getPieceAtIndex(0)) ? (t = n.attributes, e = t.getKeys(), pieceList.eachPiece(function (n) {\n return e = t.getKeysCommonToHash(n.attributes), t = t.slice(e);\n }), t.toObject()) : {};\n }, i.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, i.prototype.hasSameStringValueAsPiece = function (t) {\n return null != t && this.toString() === t.toString();\n }, i.prototype.hasSameAttributesAsPiece = function (t) {\n return null != t && (this.attributes === t.attributes || this.attributes.isEqualTo(t.attributes));\n }, i.prototype.isBlockBreak = function () {\n return !1;\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || this.hasSameConstructorAs(t) && this.hasSameStringValueAsPiece(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.isEmpty = function () {\n return 0 === this.length;\n }, i.prototype.isSerializable = function () {\n return !0;\n }, i.prototype.toJSON = function () {\n return {\n type: this.constructor.type,\n attributes: this.getAttributes()\n };\n }, i.prototype.contentsForInspection = function () {\n return {\n type: this.constructor.type,\n attributes: this.attributes.inspect()\n };\n }, i.prototype.canBeGrouped = function () {\n return this.hasAttribute(\"href\");\n }, i.prototype.canBeGroupedWith = function (t) {\n return this.getAttribute(\"href\") === t.getAttribute(\"href\");\n }, i.prototype.getLength = function () {\n return this.length;\n }, i.prototype.canBeConsolidatedWith = function () {\n return !1;\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t15, e) {\n function i() {\n this.constructor = _t15;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t15[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t15.prototype = new i(), _t15.__super__ = e.prototype, _t15;\n },\n n = {}.hasOwnProperty;\n\n e.Piece.registerType(\"attachment\", e.AttachmentPiece = function (n) {\n function i(t) {\n this.attachment = t, i.__super__.constructor.apply(this, arguments), this.length = 1, this.ensureAttachmentExclusivelyHasAttribute(\"href\"), this.attachment.hasContent() || this.removeProhibitedAttributes();\n }\n\n return t(i, n), i.fromJSON = function (t) {\n return new this(e.Attachment.fromJSON(t.attachment), t.attributes);\n }, i.permittedAttributes = [\"caption\", \"presentation\"], i.prototype.ensureAttachmentExclusivelyHasAttribute = function (t) {\n return this.hasAttribute(t) ? (this.attachment.hasAttribute(t) || this.attachment.setAttributes(this.attributes.slice(t)), this.attributes = this.attributes.remove(t)) : void 0;\n }, i.prototype.removeProhibitedAttributes = function () {\n var t;\n return t = this.attributes.slice(this.constructor.permittedAttributes), t.isEqualTo(this.attributes) ? void 0 : this.attributes = t;\n }, i.prototype.getValue = function () {\n return this.attachment;\n }, i.prototype.isSerializable = function () {\n return !this.attachment.isPending();\n }, i.prototype.getCaption = function () {\n var t;\n return null != (t = this.attributes.get(\"caption\")) ? t : \"\";\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) && this.attachment.id === (null != t && null != (e = t.attachment) ? e.id : void 0);\n }, i.prototype.toString = function () {\n return e.OBJECT_REPLACEMENT_CHARACTER;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.attachment = this.attachment, t;\n }, i.prototype.getCacheKey = function () {\n return [i.__super__.getCacheKey.apply(this, arguments), this.attachment.getCacheKey()].join(\"/\");\n }, i.prototype.toConsole = function () {\n return JSON.stringify(this.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.normalizeNewlines, e.Piece.registerType(\"string\", e.StringPiece = function (e) {\n function i(e) {\n i.__super__.constructor.apply(this, arguments), this.string = t(e), this.length = this.string.length;\n }\n\n return n(i, e), i.fromJSON = function (t) {\n return new this(t.string, t.attributes);\n }, i.prototype.getValue = function () {\n return this.string;\n }, i.prototype.toString = function () {\n return this.string.toString();\n }, i.prototype.isBlockBreak = function () {\n return \"\\n\" === this.toString() && this.getAttribute(\"blockBreak\") === !0;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.string = this.string, t;\n }, i.prototype.canBeConsolidatedWith = function (t) {\n return null != t && this.hasSameConstructorAs(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.consolidateWith = function (t) {\n return new this.constructor(this.toString() + t.toString(), this.attributes);\n }, i.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.length ? (e = this, n = null) : (e = new this.constructor(this.string.slice(0, t), this.attributes), n = new this.constructor(this.string.slice(t), this.attributes)), [e, n];\n }, i.prototype.toConsole = function () {\n var t;\n return t = this.string, t.length > 15 && (t = t.slice(0, 14) + \"\\u2026\"), JSON.stringify(t.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty,\n o = [].slice;\n\n t = e.spliceArray, e.SplittableList = function (e) {\n function i(t) {\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.objects = t.slice(0), this.length = this.objects.length;\n }\n\n var r, s, a;\n return n(i, e), i.box = function (t) {\n return t instanceof this ? t : new this(t);\n }, i.prototype.indexOf = function (t) {\n return this.objects.indexOf(t);\n }, i.prototype.splice = function () {\n var e;\n return e = 1 <= arguments.length ? o.call(arguments, 0) : [], new this.constructor(t.apply(null, [this.objects].concat(o.call(e))));\n }, i.prototype.eachObject = function (t) {\n var e, n, i, o, r, s;\n\n for (r = this.objects, s = [], n = e = 0, i = r.length; i > e; n = ++e) {\n o = r[n], s.push(t(o, n));\n }\n\n return s;\n }, i.prototype.insertObjectAtIndex = function (t, e) {\n return this.splice(e, 0, t);\n }, i.prototype.insertSplittableListAtIndex = function (t, e) {\n return this.splice.apply(this, [e, 0].concat(o.call(t.objects)));\n }, i.prototype.insertSplittableListAtPosition = function (t, e) {\n var n, i, o;\n return o = this.splitObjectAtPosition(e), i = o[0], n = o[1], new this.constructor(i).insertSplittableListAtIndex(t, n);\n }, i.prototype.editObjectAtIndex = function (t, e) {\n return this.replaceObjectAtIndex(e(this.objects[t]), t);\n }, i.prototype.replaceObjectAtIndex = function (t, e) {\n return this.splice(e, 1, t);\n }, i.prototype.removeObjectAtIndex = function (t) {\n return this.splice(t, 1);\n }, i.prototype.getObjectAtIndex = function (t) {\n return this.objects[t];\n }, i.prototype.getSplittableListInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n.slice(e, o + 1));\n }, i.prototype.selectSplittableList = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r;\n\n for (o = this.objects, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], t(e) && r.push(e);\n }\n\n return r;\n }.call(this), new this.constructor(n);\n }, i.prototype.removeObjectsInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n).splice(e, o - e + 1);\n }, i.prototype.transformObjectsInRange = function (t, e) {\n var n, i, o, r, s, a, u;\n return s = this.splitObjectsAtRange(t), r = s[0], i = s[1], a = s[2], u = function () {\n var t, s, u;\n\n for (u = [], n = t = 0, s = r.length; s > t; n = ++t) {\n o = r[n], u.push(n >= i && a >= n ? e(o) : o);\n }\n\n return u;\n }(), new this.constructor(u);\n }, i.prototype.splitObjectsAtRange = function (t) {\n var e, n, i, o, s, u;\n return o = this.splitObjectAtPosition(a(t)), n = o[0], e = o[1], i = o[2], s = new this.constructor(n).splitObjectAtPosition(r(t) + i), n = s[0], u = s[1], [n, e, u - 1];\n }, i.prototype.getObjectAtPosition = function (t) {\n var e, n, i;\n return i = this.findIndexAndOffsetAtPosition(t), e = i.index, n = i.offset, this.objects[e];\n }, i.prototype.splitObjectAtPosition = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return s = this.findIndexAndOffsetAtPosition(t), e = s.index, r = s.offset, o = this.objects.slice(0), null != e ? 0 === r ? (c = e, l = 0) : (i = this.getObjectAtIndex(e), a = i.splitAtOffset(r), n = a[0], u = a[1], o.splice(e, 1, n, u), c = e + 1, l = n.getLength() - r) : (c = o.length, l = 0), [o, c, l];\n }, i.prototype.consolidate = function () {\n var t, e, n, i, o, r;\n\n for (i = [], o = this.objects[0], r = this.objects.slice(1), t = 0, e = r.length; e > t; t++) {\n n = r[t], (\"function\" == typeof o.canBeConsolidatedWith ? o.canBeConsolidatedWith(n) : void 0) ? o = o.consolidateWith(n) : (i.push(o), o = n);\n }\n\n return null != o && i.push(o), new this.constructor(i);\n }, i.prototype.consolidateFromIndexToIndex = function (t, e) {\n var n, i, r;\n return i = this.objects.slice(0), r = i.slice(t, e + 1), n = new this.constructor(r).consolidate().toArray(), this.splice.apply(this, [t, r.length].concat(o.call(n)));\n }, i.prototype.findIndexAndOffsetAtPosition = function (t) {\n var e, n, i, o, r, s, a;\n\n for (e = 0, a = this.objects, i = n = 0, o = a.length; o > n; i = ++n) {\n if (s = a[i], r = e + s.getLength(), t >= e && r > t) return {\n index: i,\n offset: t - e\n };\n e = r;\n }\n\n return {\n index: null,\n offset: null\n };\n }, i.prototype.findPositionAtIndexAndOffset = function (t, e) {\n var n, i, o, r, s, a;\n\n for (s = 0, a = this.objects, n = i = 0, o = a.length; o > i; n = ++i) {\n if (r = a[n], t > n) s += r.getLength();else if (n === t) {\n s += e;\n break;\n }\n }\n\n return s;\n }, i.prototype.getEndPosition = function () {\n var t, e;\n return null != this.endPosition ? this.endPosition : this.endPosition = function () {\n var n, i, o;\n\n for (e = 0, o = this.objects, n = 0, i = o.length; i > n; n++) {\n t = o[n], e += t.getLength();\n }\n\n return e;\n }.call(this);\n }, i.prototype.toString = function () {\n return this.objects.join(\"\");\n }, i.prototype.toArray = function () {\n return this.objects.slice(0);\n }, i.prototype.toJSON = function () {\n return this.toArray();\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || s(this.objects, null != t ? t.objects : void 0);\n }, s = function s(t, e) {\n var n, i, o, r, s;\n if (null == e && (e = []), t.length !== e.length) return !1;\n\n for (s = !0, i = n = 0, o = t.length; o > n; i = ++n) {\n r = t[i], s && !r.isEqualTo(e[i]) && (s = !1);\n }\n\n return s;\n }, i.prototype.contentsForInspection = function () {\n var t;\n return {\n objects: \"[\" + function () {\n var e, n, i, o;\n\n for (i = this.objects, o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.inspect());\n }\n\n return o;\n }.call(this).join(\", \") + \"]\"\n };\n }, a = function a(t) {\n return t[0];\n }, r = function r(t) {\n return t[1];\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t16, e) {\n function i() {\n this.constructor = _t16;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t16[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t16.prototype = new i(), _t16.__super__ = e.prototype, _t16;\n },\n n = {}.hasOwnProperty;\n\n e.Text = function (n) {\n function i(t) {\n var n;\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.pieceList = new e.SplittableList(function () {\n var e, i, o;\n\n for (o = [], e = 0, i = t.length; i > e; e++) {\n n = t[e], n.isEmpty() || o.push(n);\n }\n\n return o;\n }());\n }\n\n return t(i, n), i.textForAttachmentWithAttributes = function (t, n) {\n var i;\n return i = new e.AttachmentPiece(t, n), new this([i]);\n }, i.textForStringWithAttributes = function (t, n) {\n var i;\n return i = new e.StringPiece(t, n), new this([i]);\n }, i.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Piece.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, i.prototype.copy = function () {\n return this.copyWithPieceList(this.pieceList);\n }, i.prototype.copyWithPieceList = function (t) {\n return new this.constructor(t.consolidate().toArray());\n }, i.prototype.copyUsingObjectMap = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r, s;\n\n for (o = this.getPieces(), s = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], s.push(null != (r = t.find(e)) ? r : e);\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, i.prototype.appendText = function (t) {\n return this.insertTextAtPosition(t, this.getLength());\n }, i.prototype.insertTextAtPosition = function (t, e) {\n return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList, e));\n }, i.prototype.removeTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t));\n }, i.prototype.replaceTextAtRange = function (t, e) {\n return this.removeTextAtRange(e).insertTextAtPosition(t, e[0]);\n }, i.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, i;\n if (!(t[0] <= e && e <= t[1])) return i = this.getTextAtRange(t), n = i.getLength(), t[0] < e && (e -= n), this.removeTextAtRange(t).insertTextAtPosition(i, e);\n }, i.prototype.addAttributeAtRange = function (t, e, n) {\n var i;\n return i = {}, i[t] = e, this.addAttributesAtRange(i, n);\n }, i.prototype.addAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAdditionalAttributes(t);\n }));\n }, i.prototype.removeAttributeAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithoutAttribute(t);\n }));\n }, i.prototype.setAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAttributes(t);\n }));\n }, i.prototype.getAttributesAtPosition = function (t) {\n var e, n;\n return null != (e = null != (n = this.pieceList.getObjectAtPosition(t)) ? n.getAttributes() : void 0) ? e : {};\n }, i.prototype.getCommonAttributes = function () {\n var t, n;\n return t = function () {\n var t, e, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.getAttributes());\n }\n\n return o;\n }.call(this), e.Hash.fromCommonAttributesOfObjects(t).toObject();\n }, i.prototype.getCommonAttributesAtRange = function (t) {\n var e;\n return null != (e = this.getTextAtRange(t).getCommonAttributes()) ? e : {};\n }, i.prototype.getExpandedRangeForAttributeAtOffset = function (t, e) {\n var n, i, o;\n\n for (n = o = e, i = this.getLength(); n > 0 && this.getCommonAttributesAtRange([n - 1, o])[t];) {\n n--;\n }\n\n for (; i > o && this.getCommonAttributesAtRange([e, o + 1])[t];) {\n o++;\n }\n\n return [n, o];\n }, i.prototype.getTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t));\n }, i.prototype.getStringAtRange = function (t) {\n return this.pieceList.getSplittableListInRange(t).toString();\n }, i.prototype.getStringAtPosition = function (t) {\n return this.getStringAtRange([t, t + 1]);\n }, i.prototype.startsWithString = function (t) {\n return this.getStringAtRange([0, t.length]) === t;\n }, i.prototype.endsWithString = function (t) {\n var e;\n return e = this.getLength(), this.getStringAtRange([e - t.length, e]) === t;\n }, i.prototype.getAttachmentPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], null != n.attachment && o.push(n);\n }\n\n return o;\n }, i.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, i.prototype.getAttachmentAndPositionById = function (t) {\n var e, n, i, o, r, s;\n\n for (o = 0, r = this.pieceList.toArray(), e = 0, n = r.length; n > e; e++) {\n if (i = r[e], (null != (s = i.attachment) ? s.id : void 0) === t) return {\n attachment: i.attachment,\n position: o\n };\n o += i.length;\n }\n\n return {\n attachment: null,\n position: null\n };\n }, i.prototype.getAttachmentById = function (t) {\n var e, n, i;\n return i = this.getAttachmentAndPositionById(t), e = i.attachment, n = i.position, e;\n }, i.prototype.getRangeOfAttachment = function (t) {\n var e, n;\n return n = this.getAttachmentAndPositionById(t.id), t = n.attachment, e = n.position, null != t ? [e, e + 1] : void 0;\n }, i.prototype.updateAttributesForAttachment = function (t, e) {\n var n;\n return (n = this.getRangeOfAttachment(e)) ? this.addAttributesAtRange(t, n) : this;\n }, i.prototype.getLength = function () {\n return this.pieceList.getEndPosition();\n }, i.prototype.isEmpty = function () {\n return 0 === this.getLength();\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) || (null != t && null != (e = t.pieceList) ? e.isEqualTo(this.pieceList) : void 0);\n }, i.prototype.isBlockBreak = function () {\n return 1 === this.getLength() && this.pieceList.getObjectAtIndex(0).isBlockBreak();\n }, i.prototype.eachPiece = function (t) {\n return this.pieceList.eachObject(t);\n }, i.prototype.getPieces = function () {\n return this.pieceList.toArray();\n }, i.prototype.getPieceAtPosition = function (t) {\n return this.pieceList.getObjectAtPosition(t);\n }, i.prototype.contentsForInspection = function () {\n return {\n pieceList: this.pieceList.inspect()\n };\n }, i.prototype.toSerializableText = function () {\n var t;\n return t = this.pieceList.selectSplittableList(function (t) {\n return t.isSerializable();\n }), this.copyWithPieceList(t);\n }, i.prototype.toString = function () {\n return this.pieceList.toString();\n }, i.prototype.toJSON = function () {\n return this.pieceList.toJSON();\n }, i.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.toConsole()));\n }\n\n return o;\n }.call(this));\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n a.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n c = [].slice;\n\n t = e.arraysAreEqual, r = e.spliceArray, i = e.getBlockConfig, n = e.getBlockAttributeNames, o = e.getListAttributeNames, e.Block = function (n) {\n function a(t, n) {\n null == t && (t = new e.Text()), null == n && (n = []), a.__super__.constructor.apply(this, arguments), this.text = h(t), this.attributes = n;\n }\n\n var l, h, p, d, f, g, m, v, y;\n return s(a, n), a.fromJSON = function (t) {\n var n;\n return n = e.Text.fromJSON(t.text), new this(n, t.attributes);\n }, a.prototype.isEmpty = function () {\n return this.text.isBlockBreak();\n }, a.prototype.isEqualTo = function (e) {\n return a.__super__.isEqualTo.apply(this, arguments) || this.text.isEqualTo(null != e ? e.text : void 0) && t(this.attributes, null != e ? e.attributes : void 0);\n }, a.prototype.copyWithText = function (t) {\n return new this.constructor(t, this.attributes);\n }, a.prototype.copyWithoutText = function () {\n return this.copyWithText(null);\n }, a.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.text, t);\n }, a.prototype.copyWithoutAttributes = function () {\n return this.copyWithAttributes(null);\n }, a.prototype.copyUsingObjectMap = function (t) {\n var e;\n return this.copyWithText((e = t.find(this.text)) ? e : this.text.copyUsingObjectMap(t));\n }, a.prototype.addAttribute = function (t) {\n var e;\n return e = this.attributes.concat(d(t)), this.copyWithAttributes(e);\n }, a.prototype.removeAttribute = function (t) {\n var e, n;\n return n = i(t).listAttribute, e = g(g(this.attributes, t), n), this.copyWithAttributes(e);\n }, a.prototype.removeLastAttribute = function () {\n return this.removeAttribute(this.getLastAttribute());\n }, a.prototype.getLastAttribute = function () {\n return f(this.attributes);\n }, a.prototype.getAttributes = function () {\n return this.attributes.slice(0);\n }, a.prototype.getAttributeLevel = function () {\n return this.attributes.length;\n }, a.prototype.getAttributeAtLevel = function (t) {\n return this.attributes[t - 1];\n }, a.prototype.hasAttribute = function (t) {\n return u.call(this.attributes, t) >= 0;\n }, a.prototype.hasAttributes = function () {\n return this.getAttributeLevel() > 0;\n }, a.prototype.getLastNestableAttribute = function () {\n return f(this.getNestableAttributes());\n }, a.prototype.getNestableAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).nestable && r.push(t);\n }\n\n return r;\n }, a.prototype.getNestingLevel = function () {\n return this.getNestableAttributes().length;\n }, a.prototype.decreaseNestingLevel = function () {\n var t;\n return (t = this.getLastNestableAttribute()) ? this.removeAttribute(t) : this;\n }, a.prototype.increaseNestingLevel = function () {\n var t, e, n;\n return (t = this.getLastNestableAttribute()) ? (n = this.attributes.lastIndexOf(t), e = r.apply(null, [this.attributes, n + 1, 0].concat(c.call(d(t)))), this.copyWithAttributes(e)) : this;\n }, a.prototype.getListItemAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).listAttribute && r.push(t);\n }\n\n return r;\n }, a.prototype.isListItem = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.listAttribute : void 0;\n }, a.prototype.isTerminalBlock = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.terminal : void 0;\n }, a.prototype.breaksOnReturn = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.breakOnReturn : void 0;\n }, a.prototype.findLineBreakInDirectionFromPosition = function (t, e) {\n var n, i;\n return i = this.toString(), n = function () {\n switch (t) {\n case \"forward\":\n return i.indexOf(\"\\n\", e);\n\n case \"backward\":\n return i.slice(0, e).lastIndexOf(\"\\n\");\n }\n }(), -1 !== n ? n : void 0;\n }, a.prototype.contentsForInspection = function () {\n return {\n text: this.text.inspect(),\n attributes: this.attributes\n };\n }, a.prototype.toString = function () {\n return this.text.toString();\n }, a.prototype.toJSON = function () {\n return {\n text: this.text,\n attributes: this.attributes\n };\n }, a.prototype.getLength = function () {\n return this.text.getLength();\n }, a.prototype.canBeConsolidatedWith = function (t) {\n return !this.hasAttributes() && !t.hasAttributes();\n }, a.prototype.consolidateWith = function (t) {\n var n, i;\n return n = e.Text.textForStringWithAttributes(\"\\n\"), i = this.getTextWithoutBlockBreak().appendText(n), this.copyWithText(i.appendText(t.text));\n }, a.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.getLength() ? (e = this, n = null) : (e = this.copyWithText(this.text.getTextAtRange([0, t])), n = this.copyWithText(this.text.getTextAtRange([t, this.getLength()]))), [e, n];\n }, a.prototype.getBlockBreakPosition = function () {\n return this.text.getLength() - 1;\n }, a.prototype.getTextWithoutBlockBreak = function () {\n return m(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy();\n }, a.prototype.canBeGrouped = function (t) {\n return this.attributes[t];\n }, a.prototype.canBeGroupedWith = function (t, e) {\n var n, r, s, a;\n return s = t.getAttributes(), r = s[e], n = this.attributes[e], n === r && !(i(n).group === !1 && (a = s[e + 1], u.call(o(), a) < 0));\n }, h = function h(t) {\n return t = y(t), t = l(t);\n }, y = function y(t) {\n var n, i, o, r, s, a;\n return r = !1, a = t.getPieces(), i = 2 <= a.length ? c.call(a, 0, n = a.length - 1) : (n = 0, []), o = a[n++], null == o ? t : (i = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = i.length; e > t; t++) {\n s = i[t], s.isBlockBreak() ? (r = !0, n.push(v(s))) : n.push(s);\n }\n\n return n;\n }(), r ? new e.Text(c.call(i).concat([o])) : t);\n }, p = e.Text.textForStringWithAttributes(\"\\n\", {\n blockBreak: !0\n }), l = function l(t) {\n return m(t) ? t : t.appendText(p);\n }, m = function m(t) {\n var e, n;\n return n = t.getLength(), 0 === n ? !1 : (e = t.getTextAtRange([n - 1, n]), e.isBlockBreak());\n }, v = function v(t) {\n return t.copyWithoutAttribute(\"blockBreak\");\n }, d = function d(t) {\n var e;\n return e = i(t).listAttribute, null != e ? [e, t] : [t];\n }, f = function f(t) {\n return t.slice(-1)[0];\n }, g = function g(t, e) {\n var n;\n return n = t.lastIndexOf(e), -1 === n ? t : r(t, n, 1);\n }, a;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n a = [].slice;\n\n n = e.tagName, i = e.walkTree, t = e.nodeIsAttachmentElement, e.HTMLSanitizer = function (r) {\n function u(t, e) {\n var n;\n n = null != e ? e : {}, this.allowedAttributes = n.allowedAttributes, this.forbiddenProtocols = n.forbiddenProtocols, null == this.allowedAttributes && (this.allowedAttributes = c), null == this.forbiddenProtocols && (this.forbiddenProtocols = l), this.body = h(t);\n }\n\n var c, l, h, p;\n return o(u, r), c = \"style href src width height class\".split(\" \"), l = \"javascript:\".split(\" \"), u.sanitize = function (t, e) {\n var n;\n return n = new this(t, e), n.sanitize(), n;\n }, u.prototype.sanitize = function () {\n return this.sanitizeElements(), this.normalizeListElementNesting();\n }, u.prototype.getHTML = function () {\n return this.body.innerHTML;\n }, u.prototype.getBody = function () {\n return this.body;\n }, u.prototype.sanitizeElements = function () {\n var t, n, o, r, s;\n\n for (s = i(this.body), r = []; s.nextNode();) {\n switch (o = s.currentNode, o.nodeType) {\n case Node.ELEMENT_NODE:\n p(o) ? r.push(o) : this.sanitizeElement(o);\n break;\n\n case Node.COMMENT_NODE:\n r.push(o);\n }\n }\n\n for (t = 0, n = r.length; n > t; t++) {\n o = r[t], e.removeNode(o);\n }\n\n return this.body;\n }, u.prototype.sanitizeElement = function (t) {\n var e, n, i, o, r;\n\n for (t.hasAttribute(\"href\") && (o = t.protocol, s.call(this.forbiddenProtocols, o) >= 0 && t.removeAttribute(\"href\")), r = a.call(t.attributes), e = 0, n = r.length; n > e; e++) {\n i = r[e].name, s.call(this.allowedAttributes, i) >= 0 || 0 === i.indexOf(\"data-trix\") || t.removeAttribute(i);\n }\n\n return t;\n }, u.prototype.normalizeListElementNesting = function () {\n var t, e, i, o, r;\n\n for (r = a.call(this.body.querySelectorAll(\"ul,ol\")), t = 0, e = r.length; e > t; t++) {\n i = r[t], (o = i.previousElementSibling) && \"li\" === n(o) && o.appendChild(i);\n }\n\n return this.body;\n }, p = function p(e) {\n return (null != e ? e.nodeType : void 0) !== Node.ELEMENT_NODE || t(e) ? void 0 : \"script\" === n(e) || \"false\" === e.getAttribute(\"data-trix-serialize\");\n }, h = function h(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = \"\"), t = t.replace(/<\\/html[^>]*>[^]*$/i, \"\"), e = document.implementation.createHTMLDocument(\"\"), e.documentElement.innerHTML = t, r = e.head.querySelectorAll(\"style\"), i = 0, o = r.length; o > i; i++) {\n n = r[i], e.body.appendChild(n);\n }\n\n return e.body;\n }, u;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty,\n f = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, s = e.makeElement, l = e.tagName, r = e.getBlockTagNames, h = e.walkTree, o = e.findClosestElementFromNode, i = e.elementContainsNode, a = e.nodeIsAttachmentElement, u = e.normalizeSpaces, n = e.breakableWhitespacePattern, c = e.squishBreakableWhitespace, e.HTMLParser = function (d) {\n function g(t, e) {\n this.html = t, this.referenceElement = (null != e ? e : {}).referenceElement, this.blocks = [], this.blockElements = [], this.processedElements = [];\n }\n\n var m, v, y, b, A, C, x, w, E, S, R, k;\n return p(g, d), g.parse = function (t, e) {\n var n;\n return n = new this(t, e), n.parse(), n;\n }, g.prototype.getDocument = function () {\n return e.Document.fromJSON(this.blocks);\n }, g.prototype.parse = function () {\n var t, n;\n\n try {\n for (this.createHiddenContainer(), t = e.HTMLSanitizer.sanitize(this.html).getHTML(), this.containerElement.innerHTML = t, n = h(this.containerElement, {\n usingFilter: w\n }); n.nextNode();) {\n this.processNode(n.currentNode);\n }\n\n return this.translateBlockElementMarginsToNewlines();\n } finally {\n this.removeHiddenContainer();\n }\n }, g.prototype.createHiddenContainer = function () {\n 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 = s({\n tagName: \"div\",\n style: {\n display: \"none\"\n }\n }), document.body.appendChild(this.containerElement));\n }, g.prototype.removeHiddenContainer = function () {\n return e.removeNode(this.containerElement);\n }, w = function w(t) {\n return \"style\" === l(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, g.prototype.processNode = function (t) {\n switch (t.nodeType) {\n case Node.TEXT_NODE:\n if (!this.isInsignificantTextNode(t)) return this.appendBlockForTextNode(t), this.processTextNode(t);\n break;\n\n case Node.ELEMENT_NODE:\n return this.appendBlockForElement(t), this.processElement(t);\n }\n }, g.prototype.appendBlockForTextNode = function (e) {\n var n, i, o;\n return i = e.parentNode, i === this.currentBlockElement || i !== this.containerElement && !this.isBlockElement(i) ? void 0 : (n = this.getBlockAttributes(i), t(n, null != (o = this.currentBlock) ? o.attributes : void 0) ? void 0 : (this.currentBlock = this.appendBlockForAttributesWithElement(n, i), this.currentBlockElement = i));\n }, g.prototype.appendBlockForElement = function (e) {\n var n, o, r, s;\n\n if (r = this.isBlockElement(e), o = i(this.currentBlockElement, e), r && !this.isBlockElement(e.firstChild)) {\n if (!(this.isInsignificantTextNode(e.firstChild) && this.isBlockElement(e.firstElementChild) || (n = this.getBlockAttributes(e), o && t(n, this.currentBlock.attributes)))) return this.currentBlock = this.appendBlockForAttributesWithElement(n, e), this.currentBlockElement = e;\n } else if (this.currentBlockElement && !o && !r) return (s = this.findParentBlockElement(e)) ? this.appendBlockForElement(s) : (this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null);\n }, g.prototype.findParentBlockElement = function (t) {\n var e;\n\n for (e = t.parentElement; e && e !== this.containerElement;) {\n if (this.isBlockElement(e) && f.call(this.blockElements, e) >= 0) return e;\n e = e.parentElement;\n }\n\n return null;\n }, g.prototype.processTextNode = function (t) {\n var e, n;\n return n = t.data, v(t.parentNode) || (n = c(n), R(null != (e = t.previousSibling) ? e.textContent : void 0) && (n = C(n))), this.appendStringWithAttributes(n, this.getTextAttributes(t.parentNode));\n }, g.prototype.processElement = function (t) {\n var e, n, i, o, r;\n if (a(t)) return e = y(t), Object.keys(e).length && (o = this.getTextAttributes(t), this.appendAttachmentWithAttributes(e, o), t.innerHTML = \"\"), this.processedElements.push(t);\n\n switch (l(t)) {\n case \"br\":\n return this.isExtraBR(t) || this.isBlockElement(t.nextSibling) || this.appendStringWithAttributes(\"\\n\", this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"img\":\n e = {\n url: t.getAttribute(\"src\"),\n contentType: \"image\"\n }, i = A(t);\n\n for (n in i) {\n r = i[n], e[n] = r;\n }\n\n return this.appendAttachmentWithAttributes(e, this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"tr\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\"\\n\");\n break;\n\n case \"td\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\" | \");\n }\n }, g.prototype.appendBlockForAttributesWithElement = function (t, e) {\n var n;\n return this.blockElements.push(e), n = m(t), this.blocks.push(n), n;\n }, g.prototype.appendEmptyBlock = function () {\n return this.appendBlockForAttributesWithElement([], null);\n }, g.prototype.appendStringWithAttributes = function (t, e) {\n return this.appendPiece(S(t, e));\n }, g.prototype.appendAttachmentWithAttributes = function (t, e) {\n return this.appendPiece(E(t, e));\n }, g.prototype.appendPiece = function (t) {\n return 0 === this.blocks.length && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t);\n }, g.prototype.appendStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[i.length - 1], \"string\" === (null != n ? n.type : void 0) ? n.string += t : i.push(S(t));\n }, g.prototype.prependStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[0], \"string\" === (null != n ? n.type : void 0) ? n.string = t + n.string : i.unshift(S(t));\n }, S = function S(t, e) {\n var n;\n return null == e && (e = {}), n = \"string\", t = u(t), {\n string: t,\n attributes: e,\n type: n\n };\n }, E = function E(t, e) {\n var n;\n return null == e && (e = {}), n = \"attachment\", {\n attachment: t,\n attributes: e,\n type: n\n };\n }, m = function m(t) {\n var e;\n return null == t && (t = {}), e = [], {\n text: e,\n attributes: t\n };\n }, g.prototype.getTextAttributes = function (t) {\n var n, i, r, s, u, c, l, h, p, d, f, g, m;\n r = {}, d = e.config.textAttributes;\n\n for (n in d) {\n if (u = d[n], u.tagName && o(t, {\n matchingSelector: u.tagName,\n untilNode: this.containerElement\n })) r[n] = !0;else if (u.parser) {\n if (m = u.parser(t)) {\n for (i = !1, f = this.findBlockElementAncestors(t), c = 0, p = f.length; p > c; c++) {\n if (s = f[c], u.parser(s) === m) {\n i = !0;\n break;\n }\n }\n\n i || (r[n] = m);\n }\n } else u.styleProperty && (m = t.style[u.styleProperty]) && (r[n] = m);\n }\n\n if (a(t) && (l = t.getAttribute(\"data-trix-attributes\"))) {\n g = JSON.parse(l);\n\n for (h in g) {\n m = g[h], r[h] = m;\n }\n }\n\n return r;\n }, g.prototype.getBlockAttributes = function (t) {\n var n, i, o, r;\n\n for (i = []; t && t !== this.containerElement;) {\n r = e.config.blockAttributes;\n\n for (n in r) {\n o = r[n], o.parse !== !1 && l(t) === o.tagName && ((\"function\" == typeof o.test ? o.test(t) : void 0) || !o.test) && (i.push(n), o.listAttribute && i.push(o.listAttribute));\n }\n\n t = t.parentNode;\n }\n\n return i.reverse();\n }, g.prototype.findBlockElementAncestors = function (t) {\n var e, n;\n\n for (e = []; t && t !== this.containerElement;) {\n n = l(t), f.call(r(), n) >= 0 && e.push(t), t = t.parentNode;\n }\n\n return e;\n }, y = function y(t) {\n return JSON.parse(t.getAttribute(\"data-trix-attachment\"));\n }, A = function A(t) {\n var e, n, i;\n return i = t.getAttribute(\"width\"), n = t.getAttribute(\"height\"), e = {}, i && (e.width = parseInt(i, 10)), n && (e.height = parseInt(n, 10)), e;\n }, g.prototype.isBlockElement = function (t) {\n var e;\n if ((null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE && !a(t) && !o(t, {\n matchingSelector: \"td\",\n untilNode: this.containerElement\n })) return e = l(t), f.call(r(), e) >= 0 || \"block\" === window.getComputedStyle(t).display;\n }, g.prototype.isInsignificantTextNode = function (t) {\n var e, n, i;\n if ((null != t ? t.nodeType : void 0) === Node.TEXT_NODE && k(t.data) && (n = t.parentNode, i = t.previousSibling, e = t.nextSibling, (!x(n.previousSibling) || this.isBlockElement(n.previousSibling)) && !v(n))) return !i || this.isBlockElement(i) || !e || this.isBlockElement(e);\n }, g.prototype.isExtraBR = function (t) {\n return \"br\" === l(t) && this.isBlockElement(t.parentNode) && t.parentNode.lastChild === t;\n }, v = function v(t) {\n var e;\n return e = window.getComputedStyle(t).whiteSpace, \"pre\" === e || \"pre-wrap\" === e || \"pre-line\" === e;\n }, x = function x(t) {\n return t && !R(t.textContent);\n }, g.prototype.translateBlockElementMarginsToNewlines = function () {\n var t, e, n, i, o, r, s, a;\n\n for (e = this.getMarginOfDefaultBlockElement(), s = this.blocks, a = [], i = n = 0, o = s.length; o > n; i = ++n) {\n t = s[i], (r = this.getMarginOfBlockElementAtIndex(i)) && (r.top > 2 * e.top && this.prependStringToTextAtIndex(\"\\n\", i), a.push(r.bottom > 2 * e.bottom ? this.appendStringToTextAtIndex(\"\\n\", i) : void 0));\n }\n\n return a;\n }, g.prototype.getMarginOfBlockElementAtIndex = function (t) {\n var e, n;\n return !(e = this.blockElements[t]) || !e.textContent || (n = l(e), f.call(r(), n) >= 0 || f.call(this.processedElements, e) >= 0) ? void 0 : b(e);\n }, g.prototype.getMarginOfDefaultBlockElement = function () {\n var t;\n return t = s(e.config.blockAttributes[\"default\"].tagName), this.containerElement.appendChild(t), b(t);\n }, b = function b(t) {\n var e;\n return e = window.getComputedStyle(t), \"block\" === e.display ? {\n top: parseInt(e.marginTop),\n bottom: parseInt(e.marginBottom)\n } : void 0;\n }, C = function C(t) {\n return t.replace(RegExp(\"^\" + n.source + \"+\"), \"\");\n }, k = function k(t) {\n return RegExp(\"^\" + n.source + \"*$\").test(t);\n }, R = function R(t) {\n return /\\s$/.test(t);\n }, g;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, i = e.normalizeRange, o = e.rangeIsCollapsed, n = e.getBlockConfig, e.Document = function (s) {\n function c(t) {\n null == t && (t = []), c.__super__.constructor.apply(this, arguments), 0 === t.length && (t = [new e.Block()]), this.blockList = e.SplittableList.box(t);\n }\n\n var l;\n return r(c, s), c.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Block.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, c.fromHTML = function (t, n) {\n return e.HTMLParser.parse(t, n).getDocument();\n }, c.fromString = function (t, n) {\n var i;\n return i = e.Text.textForStringWithAttributes(t, n), new this([new e.Block(i)]);\n }, c.prototype.isEmpty = function () {\n var t;\n return 1 === this.blockList.length && (t = this.getBlockAtIndex(0), t.isEmpty() && !t.hasAttributes());\n }, c.prototype.copy = function (t) {\n var e;\n return null == t && (t = {}), e = t.consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray(), new this.constructor(e);\n }, c.prototype.copyUsingObjectsFromDocument = function (t) {\n var n;\n return n = new e.ObjectMap(t.getObjects()), this.copyUsingObjectMap(n);\n }, c.prototype.copyUsingObjectMap = function (t) {\n var e, n, i;\n return n = function () {\n var n, o, r, s;\n\n for (r = this.getBlocks(), s = [], n = 0, o = r.length; o > n; n++) {\n e = r[n], s.push((i = t.find(e)) ? i : e.copyUsingObjectMap(t));\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, c.prototype.copyWithBaseBlockAttributes = function (t) {\n var e, n, i;\n return null == t && (t = []), i = function () {\n var i, o, r, s;\n\n for (r = this.getBlocks(), s = [], i = 0, o = r.length; o > i; i++) {\n n = r[i], e = t.concat(n.getAttributes()), s.push(n.copyWithAttributes(e));\n }\n\n return s;\n }.call(this), new this.constructor(i);\n }, c.prototype.replaceBlock = function (t, e) {\n var n;\n return n = this.blockList.indexOf(t), -1 === n ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e, n));\n }, c.prototype.insertDocumentAtRange = function (t, e) {\n var n, r, s, a, u, c, l;\n return r = t.blockList, u = (e = i(e))[0], c = this.locationFromPosition(u), s = c.index, a = c.offset, l = this, n = this.getBlockAtPosition(u), o(e) && n.isEmpty() && !n.hasAttributes() ? l = new this.constructor(l.blockList.removeObjectAtIndex(s)) : n.getBlockBreakPosition() === a && u++, l = l.removeTextAtRange(e), new this.constructor(l.blockList.insertSplittableListAtPosition(r, u));\n }, c.prototype.mergeDocumentAtRange = function (e, n) {\n var o, r, s, a, u, c, l, h, p, d, f, g;\n return f = (n = i(n))[0], d = this.locationFromPosition(f), r = this.getBlockAtIndex(d.index).getAttributes(), o = e.getBaseBlockAttributes(), g = r.slice(-o.length), t(o, g) ? (l = r.slice(0, -o.length), c = e.copyWithBaseBlockAttributes(l)) : c = e.copy({\n consolidateBlocks: !0\n }).copyWithBaseBlockAttributes(r), s = c.getBlockCount(), a = c.getBlockAtIndex(0), t(r, a.getAttributes()) ? (u = a.getTextWithoutBlockBreak(), p = this.insertTextAtRange(u, n), s > 1 && (c = new this.constructor(c.getBlocks().slice(1)), h = f + u.getLength(), p = p.insertDocumentAtRange(c, h))) : p = this.insertDocumentAtRange(c, n), p;\n }, c.prototype.insertTextAtRange = function (t, e) {\n var n, o, r, s, a;\n return a = (e = i(e))[0], s = this.locationFromPosition(a), o = s.index, r = s.offset, n = this.removeTextAtRange(e), new this.constructor(n.blockList.editObjectAtIndex(o, function (e) {\n return e.copyWithText(e.text.insertTextAtPosition(t, r));\n }));\n }, c.prototype.removeTextAtRange = function (t) {\n var e, n, r, s, a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n return p = t = i(t), l = p[0], A = p[1], o(t) ? this : (d = this.locationRangeFromRange(t), u = d[0], y = d[1], a = u.index, c = u.offset, s = this.getBlockAtIndex(a), v = y.index, b = y.offset, m = this.getBlockAtIndex(v), f = A - l === 1 && s.getBlockBreakPosition() === c && m.getBlockBreakPosition() !== b && \"\\n\" === m.text.getStringAtPosition(b), f ? r = this.blockList.editObjectAtIndex(v, function (t) {\n return t.copyWithText(t.text.removeTextAtRange([b, b + 1]));\n }) : (h = s.text.getTextAtRange([0, c]), C = m.text.getTextAtRange([b, m.getLength()]), x = h.appendText(C), g = a !== v && 0 === c, w = g && s.getAttributeLevel() >= m.getAttributeLevel(), n = w ? m.copyWithText(x) : s.copyWithText(x), e = v + 1 - a, r = this.blockList.splice(a, e, n)), new this.constructor(r));\n }, c.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, o, r, s, u, c, l, h, p, d;\n return c = t = i(t), p = c[0], r = c[1], e >= p && r >= e ? this : (o = this.getDocumentAtRange(t), h = this.removeTextAtRange(t), u = e > p, u && (e -= o.getLength()), l = o.getBlocks(), s = l[0], n = 2 <= l.length ? a.call(l, 1) : [], 0 === n.length ? (d = s.getTextWithoutBlockBreak(), u && (e += 1)) : d = s.text, h = h.insertTextAtRange(d, e), 0 === n.length ? h : (o = new this.constructor(n), e += d.getLength(), h.insertDocumentAtRange(o, e)));\n }, c.prototype.addAttributeAtRange = function (t, e, i) {\n var o;\n return o = this.blockList, this.eachBlockAtRange(i, function (i, r, s) {\n return o = o.editObjectAtIndex(s, function () {\n return n(t) ? i.addAttribute(t, e) : r[0] === r[1] ? i : i.copyWithText(i.text.addAttributeAtRange(t, e, r));\n });\n }), new this.constructor(o);\n }, c.prototype.addAttribute = function (t, e) {\n var n;\n return n = this.blockList, this.eachBlock(function (i, o) {\n return n = n.editObjectAtIndex(o, function () {\n return i.addAttribute(t, e);\n });\n }), new this.constructor(n);\n }, c.prototype.removeAttributeAtRange = function (t, e) {\n var i;\n return i = this.blockList, this.eachBlockAtRange(e, function (e, o, r) {\n return n(t) ? i = i.editObjectAtIndex(r, function () {\n return e.removeAttribute(t);\n }) : o[0] !== o[1] ? i = i.editObjectAtIndex(r, function () {\n return e.copyWithText(e.text.removeAttributeAtRange(t, o));\n }) : void 0;\n }), new this.constructor(i);\n }, c.prototype.updateAttributesForAttachment = function (t, e) {\n var n, i, o, r;\n return o = (i = this.getRangeOfAttachment(e))[0], n = this.locationFromPosition(o).index, r = this.getTextAtIndex(n), new this.constructor(this.blockList.editObjectAtIndex(n, function (n) {\n return n.copyWithText(r.updateAttributesForAttachment(t, e));\n }));\n }, c.prototype.removeAttributeForAttachment = function (t, e) {\n var n;\n return n = this.getRangeOfAttachment(e), this.removeAttributeAtRange(t, n);\n }, c.prototype.insertBlockBreakAtRange = function (t) {\n var n, o, r, s;\n return s = (t = i(t))[0], r = this.locationFromPosition(s).offset, o = this.removeTextAtRange(t), 0 === r && (n = [new e.Block()]), new this.constructor(o.blockList.insertSplittableListAtPosition(new e.SplittableList(n), s));\n }, c.prototype.applyBlockAttributeAtRange = function (t, e, i) {\n var o, r, s, a;\n return s = this.expandRangeToLineBreaksAndSplitBlocks(i), r = s.document, i = s.range, o = n(t), o.listAttribute ? (r = r.removeLastListAttributeAtRange(i, {\n exceptAttributeName: t\n }), a = r.convertLineBreaksToBlockBreaksInRange(i), r = a.document, i = a.range) : r = o.exclusive ? r.removeBlockAttributesAtRange(i) : o.terminal ? r.removeLastTerminalAttributeAtRange(i) : r.consolidateBlocksAtRange(i), r.addAttributeAtRange(t, e, i);\n }, c.prototype.removeLastListAttributeAtRange = function (t, e) {\n var i;\n return null == e && (e = {}), i = this.blockList, this.eachBlockAtRange(t, function (t, o, r) {\n var s;\n if ((s = t.getLastAttribute()) && n(s).listAttribute && s !== e.exceptAttributeName) return i = i.editObjectAtIndex(r, function () {\n return t.removeAttribute(s);\n });\n }), new this.constructor(i);\n }, c.prototype.removeLastTerminalAttributeAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, i, o) {\n var r;\n if ((r = t.getLastAttribute()) && n(r).terminal) return e = e.editObjectAtIndex(o, function () {\n return t.removeAttribute(r);\n });\n }), new this.constructor(e);\n }, c.prototype.removeBlockAttributesAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, n, i) {\n return t.hasAttributes() ? e = e.editObjectAtIndex(i, function () {\n return t.copyWithoutAttributes();\n }) : void 0;\n }), new this.constructor(e);\n }, c.prototype.expandRangeToLineBreaksAndSplitBlocks = function (t) {\n var e, n, o, r, s, a, u, c, l;\n return a = t = i(t), l = a[0], r = a[1], c = this.locationFromPosition(l), o = this.locationFromPosition(r), e = this, u = e.getBlockAtIndex(c.index), null != (c.offset = u.findLineBreakInDirectionFromPosition(\"backward\", c.offset)) && (s = e.positionFromLocation(c), e = e.insertBlockBreakAtRange([s, s + 1]), o.index += 1, o.offset -= e.getBlockAtIndex(c.index).getLength(), c.index += 1), c.offset = 0, 0 === o.offset && o.index > c.index ? (o.index -= 1, o.offset = e.getBlockAtIndex(o.index).getBlockBreakPosition()) : (n = e.getBlockAtIndex(o.index), \"\\n\" === n.text.getStringAtRange([o.offset - 1, o.offset]) ? o.offset -= 1 : o.offset = n.findLineBreakInDirectionFromPosition(\"forward\", o.offset), o.offset !== n.getBlockBreakPosition() && (s = e.positionFromLocation(o), e = e.insertBlockBreakAtRange([s, s + 1]))), l = e.positionFromLocation(c), r = e.positionFromLocation(o), t = i([l, r]), {\n document: e,\n range: t\n };\n }, c.prototype.convertLineBreaksToBlockBreaksInRange = function (t) {\n var e, n, o;\n return n = (t = i(t))[0], o = this.getStringAtRange(t).slice(0, -1), e = this, o.replace(/.*?\\n/g, function (t) {\n return n += t.length, e = e.insertBlockBreakAtRange([n - 1, n]);\n }), {\n document: e,\n range: t\n };\n }, c.prototype.consolidateBlocksAtRange = function (t) {\n var e, n, o, r, s;\n return o = t = i(t), s = o[0], n = o[1], r = this.locationFromPosition(s).index, e = this.locationFromPosition(n).index, new this.constructor(this.blockList.consolidateFromIndexToIndex(r, e));\n }, c.prototype.getDocumentAtRange = function (t) {\n var e;\n return t = i(t), e = this.blockList.getSplittableListInRange(t).toArray(), new this.constructor(e);\n }, c.prototype.getStringAtRange = function (t) {\n var e, n, o;\n return o = t = i(t), n = o[o.length - 1], n !== this.getLength() && (e = -1), this.getDocumentAtRange(t).toString().slice(0, e);\n }, c.prototype.getBlockAtIndex = function (t) {\n return this.blockList.getObjectAtIndex(t);\n }, c.prototype.getBlockAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getBlockAtIndex(e);\n }, c.prototype.getTextAtIndex = function (t) {\n var e;\n return null != (e = this.getBlockAtIndex(t)) ? e.text : void 0;\n }, c.prototype.getTextAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getTextAtIndex(e);\n }, c.prototype.getPieceAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getPieceAtPosition(n);\n }, c.prototype.getCharacterAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getStringAtRange([n, n + 1]);\n }, c.prototype.getLength = function () {\n return this.blockList.getEndPosition();\n }, c.prototype.getBlocks = function () {\n return this.blockList.toArray();\n }, c.prototype.getBlockCount = function () {\n return this.blockList.length;\n }, c.prototype.getEditCount = function () {\n return this.editCount;\n }, c.prototype.eachBlock = function (t) {\n return this.blockList.eachObject(t);\n }, c.prototype.eachBlockAtRange = function (t, e) {\n var n, o, r, s, a, u, c, l, h, p, d, f;\n if (u = t = i(t), d = u[0], r = u[1], p = this.locationFromPosition(d), o = this.locationFromPosition(r), p.index === o.index) return n = this.getBlockAtIndex(p.index), f = [p.offset, o.offset], e(n, f, p.index);\n\n for (h = [], a = s = c = p.index, l = o.index; l >= c ? l >= s : s >= l; a = l >= c ? ++s : --s) {\n (n = this.getBlockAtIndex(a)) ? (f = function () {\n switch (a) {\n case p.index:\n return [p.offset, n.text.getLength()];\n\n case o.index:\n return [0, o.offset];\n\n default:\n return [0, n.text.getLength()];\n }\n }(), h.push(e(n, f, a))) : h.push(void 0);\n }\n\n return h;\n }, c.prototype.getCommonAttributesAtRange = function (t) {\n var n, r, s;\n return r = (t = i(t))[0], o(t) ? this.getCommonAttributesAtPosition(r) : (s = [], n = [], this.eachBlockAtRange(t, function (t, e) {\n return e[0] !== e[1] ? (s.push(t.text.getCommonAttributesAtRange(e)), n.push(l(t))) : void 0;\n }), e.Hash.fromCommonAttributesOfObjects(s).merge(e.Hash.fromCommonAttributesOfObjects(n)).toObject());\n }, c.prototype.getCommonAttributesAtPosition = function (t) {\n var n, i, o, r, s, a, c, h, p, d;\n if (p = this.locationFromPosition(t), s = p.index, h = p.offset, o = this.getBlockAtIndex(s), !o) return {};\n r = l(o), n = o.text.getAttributesAtPosition(h), i = o.text.getAttributesAtPosition(h - 1), a = function () {\n var t, n;\n t = e.config.textAttributes, n = [];\n\n for (c in t) {\n d = t[c], d.inheritable && n.push(c);\n }\n\n return n;\n }();\n\n for (c in i) {\n d = i[c], (d === n[c] || u.call(a, c) >= 0) && (r[c] = d);\n }\n\n return r;\n }, c.prototype.getRangeOfCommonAttributeAtPosition = function (t, e) {\n var n, o, r, s, a, u, c, l, h;\n return a = this.locationFromPosition(e), r = a.index, s = a.offset, h = this.getTextAtIndex(r), u = h.getExpandedRangeForAttributeAtOffset(t, s), l = u[0], o = u[1], c = this.positionFromLocation({\n index: r,\n offset: l\n }), n = this.positionFromLocation({\n index: r,\n offset: o\n }), i([c, n]);\n }, c.prototype.getBaseBlockAttributes = function () {\n var t, e, n, i, o, r, s;\n\n for (t = this.getBlockAtIndex(0).getAttributes(), n = i = 1, s = this.getBlockCount(); s >= 1 ? s > i : i > s; n = s >= 1 ? ++i : --i) {\n e = this.getBlockAtIndex(n).getAttributes(), r = Math.min(t.length, e.length), t = function () {\n var n, i, s;\n\n for (s = [], o = n = 0, i = r; (i >= 0 ? i > n : n > i) && e[o] === t[o]; o = i >= 0 ? ++n : --n) {\n s.push(e[o]);\n }\n\n return s;\n }();\n }\n\n return t;\n }, l = function l(t) {\n var e, n;\n return n = {}, (e = t.getLastAttribute()) && (n[e] = !0), n;\n }, c.prototype.getAttachmentById = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (e = o[n], e.id === t) return e;\n }\n }, c.prototype.getAttachmentPieces = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n var n;\n return n = e.text, t = t.concat(n.getAttachmentPieces());\n }), t;\n }, c.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, c.prototype.getRangeOfAttachment = function (t) {\n var e, n, o, r, s, a, u;\n\n for (r = 0, s = this.blockList.toArray(), n = e = 0, o = s.length; o > e; n = ++e) {\n if (a = s[n].text, u = a.getRangeOfAttachment(t)) return i([r + u[0], r + u[1]]);\n r += a.getLength();\n }\n }, c.prototype.getLocationRangeOfAttachment = function (t) {\n var e;\n return e = this.getRangeOfAttachment(t), this.locationRangeFromRange(e);\n }, c.prototype.getAttachmentPieceForAttachment = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachmentPieces(), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], i.attachment === t) return i;\n }\n }, c.prototype.findRangesForBlockAttribute = function (t) {\n var e, n, i, o, r, s, a;\n\n for (r = 0, s = [], a = this.getBlocks(), n = 0, i = a.length; i > n; n++) {\n e = a[n], o = e.getLength(), e.hasAttribute(t) && s.push([r, r + o]), r += o;\n }\n\n return s;\n }, c.prototype.findRangesForTextAttribute = function (t, e) {\n var n, i, o, r, s, a, u, c, l, h;\n\n for (h = (null != e ? e : {}).withValue, a = 0, u = [], c = [], r = function r(e) {\n return null != h ? e.getAttribute(t) === h : e.hasAttribute(t);\n }, l = this.getPieces(), n = 0, i = l.length; i > n; n++) {\n s = l[n], o = s.getLength(), r(s) && (u[1] === a ? u[1] = a + o : c.push(u = [a, a + o])), a += o;\n }\n\n return c;\n }, c.prototype.locationFromPosition = function (t) {\n var e, n;\n return n = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t)), null != n.index ? n : (e = this.getBlocks(), {\n index: e.length - 1,\n offset: e[e.length - 1].getLength()\n });\n }, c.prototype.positionFromLocation = function (t) {\n return this.blockList.findPositionAtIndexAndOffset(t.index, t.offset);\n }, c.prototype.locationRangeFromPosition = function (t) {\n return i(this.locationFromPosition(t));\n }, c.prototype.locationRangeFromRange = function (t) {\n var e, n, o, r;\n if (t = i(t)) return r = t[0], n = t[1], o = this.locationFromPosition(r), e = this.locationFromPosition(n), i([o, e]);\n }, c.prototype.rangeFromLocationRange = function (t) {\n var e, n;\n return t = i(t), e = this.positionFromLocation(t[0]), o(t) || (n = this.positionFromLocation(t[1])), i([e, n]);\n }, c.prototype.isEqualTo = function (t) {\n return this.blockList.isEqualTo(null != t ? t.blockList : void 0);\n }, c.prototype.getTexts = function () {\n var t, e, n, i, o;\n\n for (i = this.getBlocks(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.text);\n }\n\n return o;\n }, c.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (n = [], i = this.getTexts(), t = 0, e = i.length; e > t; t++) {\n o = i[t], n.push.apply(n, o.getPieces());\n }\n\n return n;\n }, c.prototype.getObjects = function () {\n return this.getBlocks().concat(this.getTexts()).concat(this.getPieces());\n }, c.prototype.toSerializableDocument = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n return t.push(e.copyWithText(e.text.toSerializableText()));\n }), new this.constructor(t);\n }, c.prototype.toString = function () {\n return this.blockList.toString();\n }, c.prototype.toJSON = function () {\n return this.blockList.toJSON();\n }, c.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.blockList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.text.toConsole()));\n }\n\n return o;\n }.call(this));\n }, c;\n }(e.Object);\n }.call(this), function () {\n e.LineBreakInsertion = function () {\n function t(t) {\n var e;\n this.composition = t, this.document = this.composition.document, 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);\n }\n\n return t.prototype.shouldInsertBlockBreak = function () {\n return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? 0 !== this.startLocation.offset : this.breaksOnReturn && \"\\n\" !== this.nextCharacter;\n }, t.prototype.shouldBreakFormattedBlock = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && \"\\n\" === this.nextCharacter || \"\\n\" === this.previousCharacter);\n }, t.prototype.shouldDecreaseListLevel = function () {\n return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty();\n }, t.prototype.shouldPrependListItem = function () {\n return this.block.isListItem() && 0 === this.startLocation.offset && !this.block.isEmpty();\n }, t.prototype.shouldRemoveLastBlockAttribute = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty();\n }, t;\n }();\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n p.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n p = {}.hasOwnProperty;\n\n s = e.normalizeRange, c = e.rangesAreEqual, u = e.rangeIsCollapsed, a = e.objectsAreEqual, t = e.arrayStartsWith, l = e.summarizeArrayChange, i = e.getAllAttributeNames, o = e.getBlockConfig, r = e.getTextConfig, n = e.extend, e.Composition = function (p) {\n function d() {\n this.document = new e.Document(), this.attachments = [], this.currentAttributes = {}, this.revision = 0;\n }\n\n var f;\n return h(d, p), d.prototype.setDocument = function (t) {\n var e;\n return t.isEqualTo(this.document) ? void 0 : (this.document = t, this.refreshAttachments(), this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeDocument ? e.compositionDidChangeDocument(t) : void 0);\n }, d.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.getSelectedRange()\n };\n }, d.prototype.loadSnapshot = function (t) {\n var n, i, o, r;\n return n = t.document, r = t.selectedRange, null != (i = this.delegate) && \"function\" == typeof i.compositionWillLoadSnapshot && i.compositionWillLoadSnapshot(), this.setDocument(null != n ? n : new e.Document()), this.setSelection(null != r ? r : [0, 0]), null != (o = this.delegate) && \"function\" == typeof o.compositionDidLoadSnapshot ? o.compositionDidLoadSnapshot() : void 0;\n }, d.prototype.insertText = function (t, e) {\n var n, i, o, r;\n return r = (null != e ? e : {\n updatePosition: !0\n }).updatePosition, i = this.getSelectedRange(), this.setDocument(this.document.insertTextAtRange(t, i)), o = i[0], n = o + t.getLength(), r && this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertBlock = function (t) {\n var n;\n return null == t && (t = new e.Block()), n = new e.Document([t]), this.insertDocument(n);\n }, d.prototype.insertDocument = function (t) {\n var n, i, o;\n return null == t && (t = new e.Document()), i = this.getSelectedRange(), this.setDocument(this.document.insertDocumentAtRange(t, i)), o = i[0], n = o + t.getLength(), this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertString = function (t, n) {\n var i, o;\n return i = this.getCurrentTextAttributes(), o = e.Text.textForStringWithAttributes(t, i), this.insertText(o, n);\n }, d.prototype.insertBlockBreak = function () {\n var t, e, n;\n return e = this.getSelectedRange(), this.setDocument(this.document.insertBlockBreakAtRange(e)), n = e[0], t = n + 1, this.setSelection(t), this.notifyDelegateOfInsertionAtRange([n, t]);\n }, d.prototype.insertLineBreak = function () {\n var t, n;\n return n = new e.LineBreakInsertion(this), n.shouldDecreaseListLevel() ? (this.decreaseListLevel(), this.setSelection(n.startPosition)) : n.shouldPrependListItem() ? (t = new e.Document([n.block.copyWithoutText()]), this.insertDocument(t)) : n.shouldInsertBlockBreak() ? this.insertBlockBreak() : n.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : n.shouldBreakFormattedBlock() ? this.breakFormattedBlock(n) : this.insertString(\"\\n\");\n }, d.prototype.insertHTML = function (t) {\n var n, i, o, r;\n return n = e.Document.fromHTML(t), o = this.getSelectedRange(), this.setDocument(this.document.mergeDocumentAtRange(n, o)), r = o[0], i = r + n.getLength() - 1, this.setSelection(i), this.notifyDelegateOfInsertionAtRange([r, i]);\n }, d.prototype.replaceHTML = function (t) {\n var n, i, o;\n return n = e.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document), i = this.getLocationRange({\n strict: !1\n }), o = this.document.rangeFromLocationRange(i), this.setDocument(n), this.setSelection(o);\n }, d.prototype.insertFile = function (t) {\n return this.insertFiles([t]);\n }, d.prototype.insertFiles = function (t) {\n var n, i, o, r, s, a;\n\n for (i = [], r = 0, s = t.length; s > r; r++) {\n o = t[r], (null != (a = this.delegate) ? a.compositionShouldAcceptFile(o) : void 0) && (n = e.Attachment.attachmentForFile(o), i.push(n));\n }\n\n return this.insertAttachments(i);\n }, d.prototype.insertAttachment = function (t) {\n return this.insertAttachments([t]);\n }, d.prototype.insertAttachments = function (t) {\n var n, i, o, r, s, a, u, c, l;\n\n for (c = new e.Text(), r = 0, s = t.length; s > r; r++) {\n n = t[r], l = n.getType(), a = null != (u = e.config.attachments[l]) ? u.presentation : void 0, o = this.getCurrentTextAttributes(), a && (o.presentation = a), i = e.Text.textForAttachmentWithAttributes(n, o), c = c.appendText(i);\n }\n\n return this.insertText(c);\n }, d.prototype.shouldManageDeletingInDirection = function (t) {\n var e;\n\n if (e = this.getLocationRange(), u(e)) {\n if (\"backward\" === t && 0 === e[0].offset) return !0;\n if (this.shouldManageMovingCursorInDirection(t)) return !0;\n } else if (e[0].index !== e[1].index) return !0;\n\n return !1;\n }, d.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r, s, a, c, l;\n return r = (null != e ? e : {}).length, s = this.getLocationRange(), a = this.getSelectedRange(), c = u(a), c ? o = \"backward\" === t && 0 === s[0].offset : l = s[0].index !== s[1].index, o && this.canDecreaseBlockAttributeLevel() && (i = this.getBlock(), i.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(a[0]), i.isEmpty()) ? !1 : (c && (a = this.getExpandedRangeInDirection(t, {\n length: r\n }), \"backward\" === t && (n = this.getAttachmentAtRange(a))), n ? (this.editAttachment(n), !1) : (this.setDocument(this.document.removeTextAtRange(a)), this.setSelection(a[0]), o || l ? !1 : void 0));\n }, d.prototype.moveTextFromRange = function (t) {\n var e;\n return e = this.getSelectedRange()[0], this.setDocument(this.document.moveTextFromRangeToPosition(t, e)), this.setSelection(e);\n }, d.prototype.removeAttachment = function (t) {\n var e;\n return (e = this.document.getRangeOfAttachment(t)) ? (this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e)), this.setSelection(e[0])) : void 0;\n }, d.prototype.removeLastBlockAttribute = function () {\n var t, e, n, i;\n return n = this.getSelectedRange(), i = n[0], e = n[1], t = this.document.getBlockAtPosition(e), this.removeCurrentAttribute(t.getLastAttribute()), this.setSelection(i);\n }, f = \" \", d.prototype.insertPlaceholder = function () {\n return this.placeholderPosition = this.getPosition(), this.insertString(f);\n }, d.prototype.selectPlaceholder = function () {\n return null != this.placeholderPosition ? (this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + f.length]), this.getSelectedRange()) : void 0;\n }, d.prototype.forgetPlaceholder = function () {\n return this.placeholderPosition = null;\n }, d.prototype.hasCurrentAttribute = function (t) {\n var e;\n return e = this.currentAttributes[t], null != e && e !== !1;\n }, d.prototype.toggleCurrentAttribute = function (t) {\n var e;\n return (e = !this.currentAttributes[t]) ? this.setCurrentAttribute(t, e) : this.removeCurrentAttribute(t);\n }, d.prototype.canSetCurrentAttribute = function (t) {\n return o(t) ? this.canSetCurrentBlockAttribute(t) : this.canSetCurrentTextAttribute(t);\n }, d.prototype.canSetCurrentTextAttribute = function () {\n var t, e, n, i, o;\n\n if (e = this.getSelectedDocument()) {\n for (o = e.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (t = o[n], !t.hasContent()) return !1;\n }\n\n return !0;\n }\n }, d.prototype.canSetCurrentBlockAttribute = function () {\n var t;\n if (t = this.getBlock()) return !t.isTerminalBlock();\n }, d.prototype.setCurrentAttribute = function (t, e) {\n return o(t) ? this.setBlockAttribute(t, e) : (this.setTextAttribute(t, e), this.currentAttributes[t] = e, this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.setTextAttribute = function (t, n) {\n var i, o, r, s;\n if (o = this.getSelectedRange()) return r = o[0], i = o[1], r !== i ? this.setDocument(this.document.addAttributeAtRange(t, n, o)) : \"href\" === t ? (s = e.Text.textForStringWithAttributes(n, {\n href: n\n }), this.insertText(s)) : void 0;\n }, d.prototype.setBlockAttribute = function (t, e) {\n var n, i;\n if (i = this.getSelectedRange()) return this.canSetCurrentAttribute(t) ? (n = this.getBlock(), this.setDocument(this.document.applyBlockAttributeAtRange(t, e, i)), this.setSelection(i)) : void 0;\n }, d.prototype.removeCurrentAttribute = function (t) {\n return o(t) ? (this.removeBlockAttribute(t), this.updateCurrentAttributes()) : (this.removeTextAttribute(t), delete this.currentAttributes[t], this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.removeTextAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.removeBlockAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.canDecreaseNestingLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getNestingLevel() : void 0) > 0;\n }, d.prototype.canIncreaseNestingLevel = function () {\n var e, n, i;\n if (e = this.getBlock()) return (null != (i = o(e.getLastNestableAttribute())) ? i.listAttribute : 0) ? (n = this.getPreviousBlock()) ? t(n.getListItemAttributes(), e.getListItemAttributes()) : void 0 : e.getNestingLevel() > 0;\n }, d.prototype.decreaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.decreaseNestingLevel()));\n }, d.prototype.increaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.increaseNestingLevel()));\n }, d.prototype.canDecreaseBlockAttributeLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getAttributeLevel() : void 0) > 0;\n }, d.prototype.decreaseBlockAttributeLevel = function () {\n var t, e;\n return (t = null != (e = this.getBlock()) ? e.getLastAttribute() : void 0) ? this.removeCurrentAttribute(t) : void 0;\n }, d.prototype.decreaseListLevel = function () {\n var t, e, n, i, o, r;\n\n for (r = this.getSelectedRange()[0], o = this.document.locationFromPosition(r).index, n = o, t = this.getBlock().getAttributeLevel(); (e = this.document.getBlockAtIndex(n + 1)) && e.isListItem() && e.getAttributeLevel() > t;) {\n n++;\n }\n\n return r = this.document.positionFromLocation({\n index: o,\n offset: 0\n }), i = this.document.positionFromLocation({\n index: n,\n offset: 0\n }), this.setDocument(this.document.removeLastListAttributeAtRange([r, i]));\n }, d.prototype.updateCurrentAttributes = function () {\n var t, e, n, o, r, s;\n\n if (s = this.getSelectedRange({\n ignoreLock: !0\n })) {\n for (e = this.document.getCommonAttributesAtRange(s), r = i(), n = 0, o = r.length; o > n; n++) {\n t = r[n], e[t] || this.canSetCurrentAttribute(t) || (e[t] = !1);\n }\n\n if (!a(e, this.currentAttributes)) return this.currentAttributes = e, this.notifyDelegateOfCurrentAttributesChange();\n }\n }, d.prototype.getCurrentAttributes = function () {\n return n.call({}, this.currentAttributes);\n }, d.prototype.getCurrentTextAttributes = function () {\n var t, e, n, i;\n t = {}, n = this.currentAttributes;\n\n for (e in n) {\n i = n[e], i !== !1 && r(e) && (t[e] = i);\n }\n\n return t;\n }, d.prototype.freezeSelection = function () {\n return this.setCurrentAttribute(\"frozen\", !0);\n }, d.prototype.thawSelection = function () {\n return this.removeCurrentAttribute(\"frozen\");\n }, d.prototype.hasFrozenSelection = function () {\n return this.hasCurrentAttribute(\"frozen\");\n }, d.proxyMethod(\"getSelectionManager().getPointRange\"), d.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"), d.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"), d.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"), d.proxyMethod(\"getSelectionManager().selectionIsExpanded\"), d.proxyMethod(\"delegate?.getSelectionManager\"), d.prototype.setSelection = function (t) {\n var e, n;\n return e = this.document.locationRangeFromRange(t), null != (n = this.delegate) ? n.compositionDidRequestChangingSelectionToLocationRange(e) : void 0;\n }, d.prototype.getSelectedRange = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.rangeFromLocationRange(t) : void 0;\n }, d.prototype.setSelectedRange = function (t) {\n var e;\n return e = this.document.locationRangeFromRange(t), this.getSelectionManager().setLocationRange(e);\n }, d.prototype.getPosition = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.positionFromLocation(t[0]) : void 0;\n }, d.prototype.getLocationRange = function (t) {\n var e, n;\n return null != (e = null != (n = this.targetLocationRange) ? n : this.getSelectionManager().getLocationRange(t)) ? e : s({\n index: 0,\n offset: 0\n });\n }, d.prototype.withTargetLocationRange = function (t, e) {\n var n;\n this.targetLocationRange = t;\n\n try {\n n = e();\n } finally {\n this.targetLocationRange = null;\n }\n\n return n;\n }, d.prototype.withTargetRange = function (t, e) {\n var n;\n return n = this.document.locationRangeFromRange(t), this.withTargetLocationRange(n, e);\n }, d.prototype.withTargetDOMRange = function (t, e) {\n var n;\n return n = this.createLocationRangeFromDOMRange(t, {\n strict: !1\n }), this.withTargetLocationRange(n, e);\n }, d.prototype.getExpandedRangeInDirection = function (t, e) {\n var n, i, o, r;\n return i = (null != e ? e : {}).length, o = this.getSelectedRange(), r = o[0], n = o[1], \"backward\" === t ? i ? r -= i : r = this.translateUTF16PositionFromOffset(r, -1) : i ? n += i : n = this.translateUTF16PositionFromOffset(n, 1), s([r, n]);\n }, d.prototype.shouldManageMovingCursorInDirection = function (t) {\n var e;\n return this.editingAttachment ? !0 : (e = this.getExpandedRangeInDirection(t), null != this.getAttachmentAtRange(e));\n }, d.prototype.moveCursorInDirection = function (t) {\n var e, n, i, o;\n return this.editingAttachment ? i = this.document.getRangeOfAttachment(this.editingAttachment) : (o = this.getSelectedRange(), i = this.getExpandedRangeInDirection(t), n = !c(o, i)), this.setSelectedRange(\"backward\" === t ? i[0] : i[1]), n && (e = this.getAttachmentAtRange(i)) ? this.editAttachment(e) : void 0;\n }, d.prototype.expandSelectionInDirection = function (t, e) {\n var n, i;\n return n = (null != e ? e : {}).length, i = this.getExpandedRangeInDirection(t, {\n length: n\n }), this.setSelectedRange(i);\n }, d.prototype.expandSelectionForEditing = function () {\n return this.hasCurrentAttribute(\"href\") ? this.expandSelectionAroundCommonAttribute(\"href\") : void 0;\n }, d.prototype.expandSelectionAroundCommonAttribute = function (t) {\n var e, n;\n return e = this.getPosition(), n = this.document.getRangeOfCommonAttributeAtPosition(t, e), this.setSelectedRange(n);\n }, d.prototype.selectionContainsAttachments = function () {\n var t;\n return (null != (t = this.getSelectedAttachments()) ? t.length : void 0) > 0;\n }, d.prototype.selectionIsInCursorTarget = function () {\n return this.editingAttachment || this.positionIsCursorTarget(this.getPosition());\n }, d.prototype.positionIsCursorTarget = function (t) {\n var e;\n return (e = this.document.locationFromPosition(t)) ? this.locationIsCursorTarget(e) : void 0;\n }, d.prototype.positionIsBlockBreak = function (t) {\n var e;\n return null != (e = this.document.getPieceAtPosition(t)) ? e.isBlockBreak() : void 0;\n }, d.prototype.getSelectedDocument = function () {\n var t;\n return (t = this.getSelectedRange()) ? this.document.getDocumentAtRange(t) : void 0;\n }, d.prototype.getSelectedAttachments = function () {\n var t;\n return null != (t = this.getSelectedDocument()) ? t.getAttachments() : void 0;\n }, d.prototype.getAttachments = function () {\n return this.attachments.slice(0);\n }, d.prototype.refreshAttachments = function () {\n var t, e, n, i, o, r, s, a, u, c, h, p;\n\n for (n = this.document.getAttachments(), a = l(this.attachments, n), t = a.added, h = a.removed, this.attachments = n, i = 0, r = h.length; r > i; i++) {\n e = h[i], e.delegate = null, null != (u = this.delegate) && \"function\" == typeof u.compositionDidRemoveAttachment && u.compositionDidRemoveAttachment(e);\n }\n\n for (p = [], o = 0, s = t.length; s > o; o++) {\n e = t[o], e.delegate = this, p.push(null != (c = this.delegate) && \"function\" == typeof c.compositionDidAddAttachment ? c.compositionDidAddAttachment(e) : void 0);\n }\n\n return p;\n }, d.prototype.attachmentDidChangeAttributes = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidEditAttachment ? e.compositionDidEditAttachment(t) : void 0;\n }, d.prototype.attachmentDidChangePreviewURL = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeAttachmentPreviewURL ? e.compositionDidChangeAttachmentPreviewURL(t) : void 0;\n }, d.prototype.editAttachment = function (t, e) {\n var n;\n if (t !== this.editingAttachment) return this.stopEditingAttachment(), this.editingAttachment = t, null != (n = this.delegate) && \"function\" == typeof n.compositionDidStartEditingAttachment ? n.compositionDidStartEditingAttachment(this.editingAttachment, e) : void 0;\n }, d.prototype.stopEditingAttachment = function () {\n var t;\n if (this.editingAttachment) return null != (t = this.delegate) && \"function\" == typeof t.compositionDidStopEditingAttachment && t.compositionDidStopEditingAttachment(this.editingAttachment), this.editingAttachment = null;\n }, d.prototype.updateAttributesForAttachment = function (t, e) {\n return this.setDocument(this.document.updateAttributesForAttachment(t, e));\n }, d.prototype.removeAttributeForAttachment = function (t, e) {\n return this.setDocument(this.document.removeAttributeForAttachment(t, e));\n }, d.prototype.breakFormattedBlock = function (t) {\n var n, i, o, r, s;\n return i = t.document, n = t.block, r = t.startPosition, s = [r - 1, r], n.getBlockBreakPosition() === t.startLocation.offset ? (n.breaksOnReturn() && \"\\n\" === t.nextCharacter ? r += 1 : i = i.removeTextAtRange(s), s = [r, r]) : \"\\n\" === t.nextCharacter ? \"\\n\" === t.previousCharacter ? s = [r - 1, r + 1] : (s = [r, r + 1], r += 1) : t.startLocation.offset - 1 !== 0 && (r += 1), o = new e.Document([n.removeLastAttribute().copyWithoutText()]), this.setDocument(i.insertDocumentAtRange(o, s)), this.setSelection(r);\n }, d.prototype.getPreviousBlock = function () {\n var t, e;\n return (e = this.getLocationRange()) && (t = e[0].index, t > 0) ? this.document.getBlockAtIndex(t - 1) : void 0;\n }, d.prototype.getBlock = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.getBlockAtIndex(t[0].index) : void 0;\n }, d.prototype.getAttachmentAtRange = function (t) {\n var n;\n return n = this.document.getDocumentAtRange(t), n.toString() === e.OBJECT_REPLACEMENT_CHARACTER + \"\\n\" ? n.getAttachments()[0] : void 0;\n }, d.prototype.notifyDelegateOfCurrentAttributesChange = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.compositionDidChangeCurrentAttributes ? t.compositionDidChangeCurrentAttributes(this.currentAttributes) : void 0;\n }, d.prototype.notifyDelegateOfInsertionAtRange = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionDidPerformInsertionAtRange ? e.compositionDidPerformInsertionAtRange(t) : void 0;\n }, d.prototype.translateUTF16PositionFromOffset = function (t, e) {\n var n, i;\n return i = this.document.toUTF16String(), n = i.offsetFromUCS2Offset(t), i.offsetToUCS2Offset(n + e);\n }, d;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t17, e) {\n function i() {\n this.constructor = _t17;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t17[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t17.prototype = new i(), _t17.__super__ = e.prototype, _t17;\n },\n n = {}.hasOwnProperty;\n\n e.UndoManager = function (e) {\n function n(t) {\n this.composition = t, this.undoEntries = [], this.redoEntries = [];\n }\n\n var i;\n return t(n, e), n.prototype.recordUndoEntry = function (t, e) {\n var n, o, r, s, a;\n return s = null != e ? e : {}, o = s.context, n = s.consolidatable, r = this.undoEntries.slice(-1)[0], n && i(r, t, o) ? void 0 : (a = this.createEntry({\n description: t,\n context: o\n }), this.undoEntries.push(a), this.redoEntries = []);\n }, n.prototype.undo = function () {\n var t, e;\n return (e = this.undoEntries.pop()) ? (t = this.createEntry(e), this.redoEntries.push(t), this.composition.loadSnapshot(e.snapshot)) : void 0;\n }, n.prototype.redo = function () {\n var t, e;\n return (t = this.redoEntries.pop()) ? (e = this.createEntry(t), this.undoEntries.push(e), this.composition.loadSnapshot(t.snapshot)) : void 0;\n }, n.prototype.canUndo = function () {\n return this.undoEntries.length > 0;\n }, n.prototype.canRedo = function () {\n return this.redoEntries.length > 0;\n }, n.prototype.createEntry = function (t) {\n var e, n, i;\n return i = null != t ? t : {}, n = i.description, e = i.context, {\n description: null != n ? n.toString() : void 0,\n context: JSON.stringify(e),\n snapshot: this.composition.getSnapshot()\n };\n }, i = function i(t, e, n) {\n return (null != t ? t.description : void 0) === (null != e ? e.toString() : void 0) && (null != t ? t.context : void 0) === JSON.stringify(n);\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n var t;\n e.attachmentGalleryFilter = function (e) {\n var n;\n return n = new t(e), n.perform(), n.getSnapshot();\n }, t = function () {\n function t(t) {\n this.document = t.document, this.selectedRange = t.selectedRange;\n }\n\n var e, n, i;\n return e = \"attachmentGallery\", n = \"presentation\", i = \"gallery\", t.prototype.perform = function () {\n return this.removeBlockAttribute(), this.applyBlockAttribute();\n }, t.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.selectedRange\n };\n }, t.prototype.removeBlockAttribute = function () {\n var t, n, i, o, r;\n\n for (o = this.findRangesOfBlocks(), r = [], t = 0, n = o.length; n > t; t++) {\n i = o[t], r.push(this.document = this.document.removeAttributeAtRange(e, i));\n }\n\n return r;\n }, t.prototype.applyBlockAttribute = function () {\n var t, n, i, o, r, s;\n\n for (i = 0, r = this.findRangesOfPieces(), s = [], t = 0, n = r.length; n > t; t++) {\n o = r[t], o[1] - o[0] > 1 && (o[0] += i, o[1] += i, \"\\n\" !== this.document.getCharacterAtPosition(o[1]) && (this.document = this.document.insertBlockBreakAtRange(o[1]), o[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), o[1]++, i++), 0 !== o[0] && \"\\n\" !== this.document.getCharacterAtPosition(o[0] - 1) && (this.document = this.document.insertBlockBreakAtRange(o[0]), o[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), o[0]++, i++), s.push(this.document = this.document.applyBlockAttributeAtRange(e, !0, o)));\n }\n\n return s;\n }, t.prototype.findRangesOfBlocks = function () {\n return this.document.findRangesForBlockAttribute(e);\n }, t.prototype.findRangesOfPieces = function () {\n return this.document.findRangesForTextAttribute(n, {\n withValue: i\n });\n }, t.prototype.moveSelectedRangeForward = function () {\n return this.selectedRange[0] += 1, this.selectedRange[1] += 1;\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t18, e) {\n return function () {\n return _t18.apply(e, arguments);\n };\n };\n\n e.Editor = function () {\n function n(n, o, r) {\n this.composition = n, this.selectionManager = o, this.element = r, this.insertFiles = t(this.insertFiles, this), this.undoManager = new e.UndoManager(this.composition), this.filters = i.slice(0);\n }\n\n var i;\n return i = [e.attachmentGalleryFilter], n.prototype.loadDocument = function (t) {\n return this.loadSnapshot({\n document: t,\n selectedRange: [0, 0]\n });\n }, n.prototype.loadHTML = function (t) {\n return null == t && (t = \"\"), this.loadDocument(e.Document.fromHTML(t, {\n referenceElement: this.element\n }));\n }, n.prototype.loadJSON = function (t) {\n var n, i;\n return n = t.document, i = t.selectedRange, n = e.Document.fromJSON(n), this.loadSnapshot({\n document: n,\n selectedRange: i\n });\n }, n.prototype.loadSnapshot = function (t) {\n return this.undoManager = new e.UndoManager(this.composition), this.composition.loadSnapshot(t);\n }, n.prototype.getDocument = function () {\n return this.composition.document;\n }, n.prototype.getSelectedDocument = function () {\n return this.composition.getSelectedDocument();\n }, n.prototype.getSnapshot = function () {\n return this.composition.getSnapshot();\n }, n.prototype.toJSON = function () {\n return this.getSnapshot();\n }, n.prototype.deleteInDirection = function (t) {\n return this.composition.deleteInDirection(t);\n }, n.prototype.insertAttachment = function (t) {\n return this.composition.insertAttachment(t);\n }, n.prototype.insertAttachments = function (t) {\n return this.composition.insertAttachments(t);\n }, n.prototype.insertDocument = function (t) {\n return this.composition.insertDocument(t);\n }, n.prototype.insertFile = function (t) {\n return this.composition.insertFile(t);\n }, n.prototype.insertFiles = function (t) {\n return this.composition.insertFiles(t);\n }, n.prototype.insertHTML = function (t) {\n return this.composition.insertHTML(t);\n }, n.prototype.insertString = function (t) {\n return this.composition.insertString(t);\n }, n.prototype.insertText = function (t) {\n return this.composition.insertText(t);\n }, n.prototype.insertLineBreak = function () {\n return this.composition.insertLineBreak();\n }, n.prototype.getSelectedRange = function () {\n return this.composition.getSelectedRange();\n }, n.prototype.getPosition = function () {\n return this.composition.getPosition();\n }, n.prototype.getClientRectAtPosition = function (t) {\n var e;\n return e = this.getDocument().locationRangeFromRange([t, t + 1]), this.selectionManager.getClientRectAtLocationRange(e);\n }, n.prototype.expandSelectionInDirection = function (t) {\n return this.composition.expandSelectionInDirection(t);\n }, n.prototype.moveCursorInDirection = function (t) {\n return this.composition.moveCursorInDirection(t);\n }, n.prototype.setSelectedRange = function (t) {\n return this.composition.setSelectedRange(t);\n }, n.prototype.activateAttribute = function (t, e) {\n return null == e && (e = !0), this.composition.setCurrentAttribute(t, e);\n }, n.prototype.attributeIsActive = function (t) {\n return this.composition.hasCurrentAttribute(t);\n }, n.prototype.canActivateAttribute = function (t) {\n return this.composition.canSetCurrentAttribute(t);\n }, n.prototype.deactivateAttribute = function (t) {\n return this.composition.removeCurrentAttribute(t);\n }, n.prototype.canDecreaseNestingLevel = function () {\n return this.composition.canDecreaseNestingLevel();\n }, n.prototype.canIncreaseNestingLevel = function () {\n return this.composition.canIncreaseNestingLevel();\n }, n.prototype.decreaseNestingLevel = function () {\n return this.canDecreaseNestingLevel() ? this.composition.decreaseNestingLevel() : void 0;\n }, n.prototype.increaseNestingLevel = function () {\n return this.canIncreaseNestingLevel() ? this.composition.increaseNestingLevel() : void 0;\n }, n.prototype.canRedo = function () {\n return this.undoManager.canRedo();\n }, n.prototype.canUndo = function () {\n return this.undoManager.canUndo();\n }, n.prototype.recordUndoEntry = function (t, e) {\n var n, i, o;\n return o = null != e ? e : {}, i = o.context, n = o.consolidatable, this.undoManager.recordUndoEntry(t, {\n context: i,\n consolidatable: n\n });\n }, n.prototype.redo = function () {\n return this.canRedo() ? this.undoManager.redo() : void 0;\n }, n.prototype.undo = function () {\n return this.canUndo() ? this.undoManager.undo() : void 0;\n }, n;\n }();\n }.call(this), function () {\n var t = function t(_t19, e) {\n function i() {\n this.constructor = _t19;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t19[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t19.prototype = new i(), _t19.__super__ = e.prototype, _t19;\n },\n n = {}.hasOwnProperty;\n\n e.ManagedAttachment = function (e) {\n function n(t, e) {\n var n;\n this.attachmentManager = t, this.attachment = e, n = this.attachment, this.id = n.id, this.file = n.file;\n }\n\n return t(n, e), n.prototype.remove = function () {\n return this.attachmentManager.requestRemovalOfAttachment(this.attachment);\n }, n.proxyMethod(\"attachment.getAttribute\"), n.proxyMethod(\"attachment.hasAttribute\"), n.proxyMethod(\"attachment.setAttribute\"), n.proxyMethod(\"attachment.getAttributes\"), n.proxyMethod(\"attachment.setAttributes\"), n.proxyMethod(\"attachment.isPending\"), n.proxyMethod(\"attachment.isPreviewable\"), n.proxyMethod(\"attachment.getURL\"), n.proxyMethod(\"attachment.getHref\"), n.proxyMethod(\"attachment.getFilename\"), n.proxyMethod(\"attachment.getFilesize\"), n.proxyMethod(\"attachment.getFormattedFilesize\"), n.proxyMethod(\"attachment.getExtension\"), n.proxyMethod(\"attachment.getContentType\"), n.proxyMethod(\"attachment.getFile\"), n.proxyMethod(\"attachment.setFile\"), n.proxyMethod(\"attachment.releaseFile\"), n.proxyMethod(\"attachment.getUploadProgress\"), n.proxyMethod(\"attachment.setUploadProgress\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t20, e) {\n function i() {\n this.constructor = _t20;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t20[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t20.prototype = new i(), _t20.__super__ = e.prototype, _t20;\n },\n n = {}.hasOwnProperty;\n\n e.AttachmentManager = function (n) {\n function i(t) {\n var e, n, i;\n\n for (null == t && (t = []), this.managedAttachments = {}, n = 0, i = t.length; i > n; n++) {\n e = t[n], this.manageAttachment(e);\n }\n }\n\n return t(i, n), i.prototype.getAttachments = function () {\n var t, e, n, i;\n n = this.managedAttachments, i = [];\n\n for (e in n) {\n t = n[e], i.push(t);\n }\n\n return i;\n }, i.prototype.manageAttachment = function (t) {\n var n, i;\n return null != (n = this.managedAttachments)[i = t.id] ? n[i] : n[i] = new e.ManagedAttachment(this, t);\n }, i.prototype.attachmentIsManaged = function (t) {\n return t.id in this.managedAttachments;\n }, i.prototype.requestRemovalOfAttachment = function (t) {\n var e;\n return this.attachmentIsManaged(t) && null != (e = this.delegate) && \"function\" == typeof e.attachmentManagerDidRequestRemovalOfAttachment ? e.attachmentManagerDidRequestRemovalOfAttachment(t) : void 0;\n }, i.prototype.unmanageAttachment = function (t) {\n var e;\n return e = this.managedAttachments[t.id], delete this.managedAttachments[t.id], e;\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n var t, n, i, o, r, s, a, u, c, l, h;\n t = e.elementContainsNode, n = e.findChildIndexOfNode, r = e.nodeIsBlockStart, s = e.nodeIsBlockStartComment, o = e.nodeIsBlockContainer, a = e.nodeIsCursorTarget, u = e.nodeIsEmptyTextNode, c = e.nodeIsTextNode, i = e.nodeIsAttachmentElement, l = e.tagName, h = e.walkTree, e.LocationMapper = function () {\n function e(t) {\n this.element = t;\n }\n\n var p, d, f, g;\n return e.prototype.findLocationFromContainerAndOffset = function (e, i, o) {\n var s, u, l, p, g, m, v;\n\n for (m = (null != o ? o : {\n strict: !0\n }).strict, u = 0, l = !1, p = {\n index: 0,\n offset: 0\n }, (s = this.findAttachmentElementParentForNode(e)) && (e = s.parentNode, i = n(s)), v = h(this.element, {\n usingFilter: f\n }); v.nextNode();) {\n if (g = v.currentNode, g === e && c(e)) {\n a(g) || (p.offset += i);\n break;\n }\n\n if (g.parentNode === e) {\n if (u++ === i) break;\n } else if (!t(e, g) && u > 0) break;\n\n r(g, {\n strict: m\n }) ? (l && p.index++, p.offset = 0, l = !0) : p.offset += d(g);\n }\n\n return p;\n }, e.prototype.findContainerAndOffsetFromLocation = function (t) {\n var e, i, s, u, l;\n\n if (0 === t.index && 0 === t.offset) {\n for (e = this.element, u = 0; e.firstChild;) {\n if (e = e.firstChild, o(e)) {\n u = 1;\n break;\n }\n }\n\n return [e, u];\n }\n\n if (l = this.findNodeAndOffsetFromLocation(t), i = l[0], s = l[1], i) {\n if (c(i)) 0 === d(i) ? (e = i.parentNode.parentNode, u = n(i.parentNode), a(i, {\n name: \"right\"\n }) && u++) : (e = i, u = t.offset - s);else {\n if (e = i.parentNode, !r(i.previousSibling) && !o(e)) for (; i === e.lastChild && (i = e, e = e.parentNode, !o(e));) {\n ;\n }\n u = n(i), 0 !== t.offset && u++;\n }\n return [e, u];\n }\n }, e.prototype.findNodeAndOffsetFromLocation = function (t) {\n var e, n, i, o, r, s, u, l;\n\n for (u = 0, l = this.getSignificantNodesForIndex(t.index), n = 0, i = l.length; i > n; n++) {\n if (e = l[n], o = d(e), t.offset <= u + o) if (c(e)) {\n if (r = e, s = u, t.offset === s && a(r)) break;\n } else r || (r = e, s = u);\n if (u += o, u > t.offset) break;\n }\n\n return [r, s];\n }, e.prototype.findAttachmentElementParentForNode = function (t) {\n for (; t && t !== this.element;) {\n if (i(t)) return t;\n t = t.parentNode;\n }\n }, e.prototype.getSignificantNodesForIndex = function (t) {\n var e, n, i, o, r;\n\n for (i = [], r = h(this.element, {\n usingFilter: p\n }), o = !1; r.nextNode();) {\n if (n = r.currentNode, s(n)) {\n if (\"undefined\" != typeof e && null !== e ? e++ : e = 0, e === t) o = !0;else if (o) break;\n } else o && i.push(n);\n }\n\n return i;\n }, d = function d(t) {\n var e;\n return t.nodeType === Node.TEXT_NODE ? a(t) ? 0 : (e = t.textContent, e.length) : \"br\" === l(t) || i(t) ? 1 : 0;\n }, p = function p(t) {\n return g(t) === NodeFilter.FILTER_ACCEPT ? f(t) : NodeFilter.FILTER_REJECT;\n }, g = function g(t) {\n return u(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, f = function f(t) {\n return i(t.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, e;\n }();\n }.call(this), function () {\n var t,\n n,\n i = [].slice;\n t = e.getDOMRange, n = e.setDOMRange, e.PointMapper = function () {\n function e() {}\n\n return e.prototype.createDOMRangeFromPoint = function (e) {\n var i, o, r, s, a, u, c, l;\n if (c = e.x, l = e.y, document.caretPositionFromPoint) return a = document.caretPositionFromPoint(c, l), r = a.offsetNode, o = a.offset, i = document.createRange(), i.setStart(r, o), i;\n if (document.caretRangeFromPoint) return document.caretRangeFromPoint(c, l);\n\n if (document.body.createTextRange) {\n s = t();\n\n try {\n u = document.body.createTextRange(), u.moveToPoint(c, l), u.select();\n } catch (h) {}\n\n return i = t(), n(s), i;\n }\n }, e.prototype.getClientRectsForDOMRange = function (t) {\n var e, n, o;\n return n = i.call(t.getClientRects()), o = n[0], e = n[n.length - 1], [o, e];\n }, e;\n }();\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty,\n r = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.getDOMRange, e.SelectionChangeObserver = function (e) {\n function o() {\n this.run = n(this.run, this), this.update = n(this.update, this), this.selectionManagers = [];\n }\n\n var s;\n return i(o, e), o.prototype.start = function () {\n return this.started ? void 0 : (this.started = !0, \"onselectionchange\" in document ? document.addEventListener(\"selectionchange\", this.update, !0) : this.run());\n }, o.prototype.stop = function () {\n return this.started ? (this.started = !1, document.removeEventListener(\"selectionchange\", this.update, !0)) : void 0;\n }, o.prototype.registerSelectionManager = function (t) {\n return r.call(this.selectionManagers, t) < 0 ? (this.selectionManagers.push(t), this.start()) : void 0;\n }, o.prototype.unregisterSelectionManager = function (t) {\n var e;\n return this.selectionManagers = function () {\n var n, i, o, r;\n\n for (o = this.selectionManagers, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], e !== t && r.push(e);\n }\n\n return r;\n }.call(this), 0 === this.selectionManagers.length ? this.stop() : void 0;\n }, o.prototype.notifySelectionManagersOfSelectionChange = function () {\n var t, e, n, i, o;\n\n for (n = this.selectionManagers, i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(o.selectionDidChange());\n }\n\n return i;\n }, o.prototype.update = function () {\n var e;\n return e = t(), s(e, this.domRange) ? void 0 : (this.domRange = e, this.notifySelectionManagersOfSelectionChange());\n }, o.prototype.reset = function () {\n return this.domRange = null, this.update();\n }, o.prototype.run = function () {\n return this.started ? (this.update(), requestAnimationFrame(this.run)) : void 0;\n }, s = function s(t, e) {\n return (null != t ? t.startContainer : void 0) === (null != e ? e.startContainer : void 0) && (null != t ? t.startOffset : void 0) === (null != e ? e.startOffset : void 0) && (null != t ? t.endContainer : void 0) === (null != e ? e.endContainer : void 0) && (null != t ? t.endOffset : void 0) === (null != e ? e.endOffset : void 0);\n }, o;\n }(e.BasicObject), null == e.selectionChangeObserver && (e.selectionChangeObserver = new e.SelectionChangeObserver());\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty;\n\n i = e.getDOMSelection, n = e.getDOMRange, l = e.setDOMRange, t = e.elementContainsNode, s = e.nodeIsCursorTarget, r = e.innerElementIsActive, o = e.handleEvent, a = e.normalizeRange, u = e.rangeIsCollapsed, c = e.rangesAreEqual, e.SelectionManager = function (d) {\n function f(t) {\n this.element = t, this.selectionDidChange = h(this.selectionDidChange, this), this.didMouseDown = h(this.didMouseDown, this), this.locationMapper = new e.LocationMapper(this.element), this.pointMapper = new e.PointMapper(), this.lockCount = 0, o(\"mousedown\", {\n onElement: this.element,\n withCallback: this.didMouseDown\n });\n }\n\n return p(f, d), f.prototype.getLocationRange = function (t) {\n var e, i;\n return null == t && (t = {}), e = t.strict === !1 ? this.createLocationRangeFromDOMRange(n(), {\n strict: !1\n }) : t.ignoreLock ? this.currentLocationRange : null != (i = this.lockedLocationRange) ? i : this.currentLocationRange;\n }, f.prototype.setLocationRange = function (t) {\n var e;\n if (!this.lockedLocationRange) return t = a(t), (e = this.createDOMRangeFromLocationRange(t)) ? (l(e), this.updateCurrentLocationRange(t)) : void 0;\n }, f.prototype.setLocationRangeFromPointRange = function (t) {\n var e, n;\n return t = a(t), n = this.getLocationAtPoint(t[0]), e = this.getLocationAtPoint(t[1]), this.setLocationRange([n, e]);\n }, f.prototype.getClientRectAtLocationRange = function (t) {\n var e;\n return (e = this.createDOMRangeFromLocationRange(t)) ? this.getClientRectsForDOMRange(e)[1] : void 0;\n }, f.prototype.locationIsCursorTarget = function (t) {\n var e, n, i;\n return i = this.findNodeAndOffsetFromLocation(t), e = i[0], n = i[1], s(e);\n }, f.prototype.lock = function () {\n return 0 === this.lockCount++ ? (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange()) : void 0;\n }, f.prototype.unlock = function () {\n var t;\n return 0 === --this.lockCount && (t = this.lockedLocationRange, this.lockedLocationRange = null, null != t) ? this.setLocationRange(t) : void 0;\n }, f.prototype.clearSelection = function () {\n var t;\n return null != (t = i()) ? t.removeAllRanges() : void 0;\n }, f.prototype.selectionIsCollapsed = function () {\n var t;\n return (null != (t = n()) ? t.collapsed : void 0) === !0;\n }, f.prototype.selectionIsExpanded = function () {\n return !this.selectionIsCollapsed();\n }, f.prototype.createLocationRangeFromDOMRange = function (t, e) {\n var n, i;\n if (null != t && this.domRangeWithinElement(t) && (i = this.findLocationFromContainerAndOffset(t.startContainer, t.startOffset, e))) return t.collapsed || (n = this.findLocationFromContainerAndOffset(t.endContainer, t.endOffset, e)), a([i, n]);\n }, f.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"), f.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"), f.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"), f.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"), f.proxyMethod(\"pointMapper.getClientRectsForDOMRange\"), f.prototype.didMouseDown = function () {\n return this.pauseTemporarily();\n }, f.prototype.pauseTemporarily = function () {\n var e, n, i, r;\n return this.paused = !0, n = function (e) {\n return function () {\n var n, o, s;\n\n for (e.paused = !1, clearTimeout(r), o = 0, s = i.length; s > o; o++) {\n n = i[o], n.destroy();\n }\n\n return t(document, e.element) ? e.selectionDidChange() : void 0;\n };\n }(this), r = setTimeout(n, 200), i = function () {\n var t, i, r, s;\n\n for (r = [\"mousemove\", \"keydown\"], s = [], t = 0, i = r.length; i > t; t++) {\n e = r[t], s.push(o(e, {\n onElement: document,\n withCallback: n\n }));\n }\n\n return s;\n }();\n }, f.prototype.selectionDidChange = function () {\n return this.paused || r(this.element) ? void 0 : this.updateCurrentLocationRange();\n }, f.prototype.updateCurrentLocationRange = function (t) {\n var e;\n return (null != t ? t : t = this.createLocationRangeFromDOMRange(n())) && !c(t, this.currentLocationRange) ? (this.currentLocationRange = t, null != (e = this.delegate) && \"function\" == typeof e.locationRangeDidChange ? e.locationRangeDidChange(this.currentLocationRange.slice(0)) : void 0) : void 0;\n }, f.prototype.createDOMRangeFromLocationRange = function (t) {\n var e, n, i, o;\n return i = this.findContainerAndOffsetFromLocation(t[0]), n = u(t) ? i : null != (o = this.findContainerAndOffsetFromLocation(t[1])) ? o : i, null != i && null != n ? (e = document.createRange(), e.setStart.apply(e, i), e.setEnd.apply(e, n), e) : void 0;\n }, f.prototype.getLocationAtPoint = function (t) {\n var e, n;\n return (e = this.createDOMRangeFromPoint(t)) && null != (n = this.createLocationRangeFromDOMRange(e)) ? n[0] : void 0;\n }, f.prototype.domRangeWithinElement = function (e) {\n return e.collapsed ? t(this.element, e.startContainer) : t(this.element, e.startContainer) && t(this.element, e.endContainer);\n }, f;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice;\n\n i = e.rangeIsCollapsed, o = e.rangesAreEqual, n = e.objectsAreEqual, t = e.getBlockConfig, e.EditorController = function (s) {\n function u(t) {\n var n, i;\n this.editorElement = t.editorElement, n = t.document, i = t.html, this.selectionManager = new e.SelectionManager(this.editorElement), this.selectionManager.delegate = this, this.composition = new e.Composition(), this.composition.delegate = this, this.attachmentManager = new e.AttachmentManager(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = new e[\"Level\" + e.config.input.getLevel() + \"InputController\"](this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new e.CompositionController(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new e.ToolbarController(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new e.Editor(this.composition, this.selectionManager, this.editorElement), null != n ? this.editor.loadDocument(n) : this.editor.loadHTML(i);\n }\n\n var c;\n return r(u, s), u.prototype.registerSelectionManager = function () {\n return e.selectionChangeObserver.registerSelectionManager(this.selectionManager);\n }, u.prototype.unregisterSelectionManager = function () {\n return e.selectionChangeObserver.unregisterSelectionManager(this.selectionManager);\n }, u.prototype.render = function () {\n return this.compositionController.render();\n }, u.prototype.reparse = function () {\n return this.composition.replaceHTML(this.editorElement.innerHTML);\n }, u.prototype.compositionDidChangeDocument = function () {\n return this.notifyEditorElement(\"document-change\"), this.handlingInput ? void 0 : this.render();\n }, u.prototype.compositionDidChangeCurrentAttributes = function (t) {\n return this.currentAttributes = t, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement(\"attributes-change\", {\n attributes: this.currentAttributes\n });\n }, u.prototype.compositionDidPerformInsertionAtRange = function (t) {\n return this.pasting ? this.pastedRange = t : void 0;\n }, u.prototype.compositionShouldAcceptFile = function (t) {\n return this.notifyEditorElement(\"file-accept\", {\n file: t\n });\n }, u.prototype.compositionDidAddAttachment = function (t) {\n var e;\n return e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-add\", {\n attachment: e\n });\n }, u.prototype.compositionDidEditAttachment = function (t) {\n var e;\n return this.compositionController.rerenderViewForObject(t), e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-edit\", {\n attachment: e\n }), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidChangeAttachmentPreviewURL = function (t) {\n return this.compositionController.invalidateViewForObject(t), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidRemoveAttachment = function (t) {\n var e;\n return e = this.attachmentManager.unmanageAttachment(t), this.notifyEditorElement(\"attachment-remove\", {\n attachment: e\n });\n }, u.prototype.compositionDidStartEditingAttachment = function (t, e) {\n return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t), this.compositionController.installAttachmentEditorForAttachment(t, e), this.selectionManager.setLocationRange(this.attachmentLocationRange);\n }, u.prototype.compositionDidStopEditingAttachment = function () {\n return this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null;\n }, u.prototype.compositionDidRequestChangingSelectionToLocationRange = function (t) {\n return !this.loadingSnapshot || this.isFocused() ? (this.requestedLocationRange = t, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render()) : void 0;\n }, u.prototype.compositionWillLoadSnapshot = function () {\n return this.loadingSnapshot = !0;\n }, u.prototype.compositionDidLoadSnapshot = function () {\n return this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = !1;\n }, u.prototype.getSelectionManager = function () {\n return this.selectionManager;\n }, u.proxyMethod(\"getSelectionManager().setLocationRange\"), u.proxyMethod(\"getSelectionManager().getLocationRange\"), u.prototype.attachmentManagerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.compositionControllerWillSyncDocumentView = function () {\n return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection();\n }, u.prototype.compositionControllerDidSyncDocumentView = function () {\n return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement(\"sync\");\n }, u.prototype.compositionControllerDidRender = function () {\n return null != 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;\n }, u.prototype.compositionControllerDidFocus = function () {\n return this.toolbarController.hideDialog(), this.notifyEditorElement(\"focus\");\n }, u.prototype.compositionControllerDidBlur = function () {\n return this.notifyEditorElement(\"blur\");\n }, u.prototype.compositionControllerDidSelectAttachment = function (t, e) {\n return this.toolbarController.hideDialog(), this.composition.editAttachment(t, e);\n }, u.prototype.compositionControllerDidRequestDeselectingAttachment = function (t) {\n var e, n;\n return e = null != (n = this.attachmentLocationRange) ? n : this.composition.document.getLocationRangeOfAttachment(t), this.selectionManager.setLocationRange(e[1]);\n }, u.prototype.compositionControllerWillUpdateAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Edit Attachment\", {\n context: t.id,\n consolidatable: !0\n });\n }, u.prototype.compositionControllerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.inputControllerWillHandleInput = function () {\n return this.handlingInput = !0, this.requestedRender = !1;\n }, u.prototype.inputControllerDidRequestRender = function () {\n return this.requestedRender = !0;\n }, u.prototype.inputControllerDidHandleInput = function () {\n return this.handlingInput = !1, this.requestedRender ? (this.requestedRender = !1, this.render()) : void 0;\n }, u.prototype.inputControllerDidAllowUnhandledInput = function () {\n return this.notifyEditorElement(\"change\");\n }, u.prototype.inputControllerDidRequestReparse = function () {\n return this.reparse();\n }, u.prototype.inputControllerWillPerformTyping = function () {\n return this.recordTypingUndoEntry();\n }, u.prototype.inputControllerWillPerformFormatting = function (t) {\n return this.recordFormattingUndoEntry(t);\n }, u.prototype.inputControllerWillCutText = function () {\n return this.editor.recordUndoEntry(\"Cut\");\n }, u.prototype.inputControllerWillPaste = function (t) {\n return this.editor.recordUndoEntry(\"Paste\"), this.pasting = !0, this.notifyEditorElement(\"before-paste\", {\n paste: t\n });\n }, u.prototype.inputControllerDidPaste = function (t) {\n return t.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement(\"paste\", {\n paste: t\n });\n }, u.prototype.inputControllerWillMoveText = function () {\n return this.editor.recordUndoEntry(\"Move\");\n }, u.prototype.inputControllerWillAttachFiles = function () {\n return this.editor.recordUndoEntry(\"Drop Files\");\n }, u.prototype.inputControllerWillPerformUndo = function () {\n return this.editor.undo();\n }, u.prototype.inputControllerWillPerformRedo = function () {\n return this.editor.redo();\n }, u.prototype.inputControllerDidReceiveKeyboardCommand = function (t) {\n return this.toolbarController.applyKeyboardCommand(t);\n }, u.prototype.inputControllerDidStartDrag = function () {\n return this.locationRangeBeforeDrag = this.selectionManager.getLocationRange();\n }, u.prototype.inputControllerDidReceiveDragOverPoint = function (t) {\n return this.selectionManager.setLocationRangeFromPointRange(t);\n }, u.prototype.inputControllerDidCancelDrag = function () {\n return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null;\n }, u.prototype.locationRangeDidChange = function (t) {\n return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !o(this.attachmentLocationRange, t) && this.composition.stopEditingAttachment(), this.notifyEditorElement(\"selection-change\");\n }, u.prototype.toolbarDidClickButton = function () {\n return this.getLocationRange() ? void 0 : this.setLocationRange({\n index: 0,\n offset: 0\n });\n }, u.prototype.toolbarDidInvokeAction = function (t) {\n return this.invokeAction(t);\n }, u.prototype.toolbarDidToggleAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.toggleCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidUpdateAttribute = function (t, e) {\n return this.recordFormattingUndoEntry(t), this.composition.setCurrentAttribute(t, e), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidRemoveAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.removeCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarWillShowDialog = function () {\n return this.composition.expandSelectionForEditing(), this.freezeSelection();\n }, u.prototype.toolbarDidShowDialog = function (t) {\n return this.notifyEditorElement(\"toolbar-dialog-show\", {\n dialogName: t\n });\n }, u.prototype.toolbarDidHideDialog = function (t) {\n return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement(\"toolbar-dialog-hide\", {\n dialogName: t\n });\n }, u.prototype.freezeSelection = function () {\n return this.selectionFrozen ? void 0 : (this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = !0, this.render());\n }, u.prototype.thawSelection = function () {\n return this.selectionFrozen ? (this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = !1, this.render()) : void 0;\n }, u.prototype.actions = {\n undo: {\n test: function test() {\n return this.editor.canUndo();\n },\n perform: function perform() {\n return this.editor.undo();\n }\n },\n redo: {\n test: function test() {\n return this.editor.canRedo();\n },\n perform: function perform() {\n return this.editor.redo();\n }\n },\n link: {\n test: function test() {\n return this.editor.canActivateAttribute(\"href\");\n }\n },\n increaseNestingLevel: {\n test: function test() {\n return this.editor.canIncreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.increaseNestingLevel() && this.render();\n }\n },\n decreaseNestingLevel: {\n test: function test() {\n return this.editor.canDecreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.decreaseNestingLevel() && this.render();\n }\n },\n attachFiles: {\n test: function test() {\n return !0;\n },\n perform: function perform() {\n return e.config.input.pickFiles(this.editor.insertFiles);\n }\n }\n }, u.prototype.canInvokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? !0 : !!(null != (e = this.actions[t]) && null != (n = e.test) ? n.call(this) : void 0);\n }, u.prototype.invokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? this.notifyEditorElement(\"action-invoke\", {\n actionName: t\n }) : null != (e = this.actions[t]) && null != (n = e.perform) ? n.call(this) : void 0;\n }, u.prototype.actionIsExternal = function (t) {\n return /^x-./.test(t);\n }, u.prototype.getCurrentActions = function () {\n var t, e;\n e = {};\n\n for (t in this.actions) {\n e[t] = this.canInvokeAction(t);\n }\n\n return e;\n }, u.prototype.updateCurrentActions = function () {\n var t;\n return t = this.getCurrentActions(), n(t, this.currentActions) ? void 0 : (this.currentActions = t, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement(\"actions-change\", {\n actions: this.currentActions\n }));\n }, u.prototype.runEditorFilters = function () {\n var t, e, n, i, o, r, s, a;\n\n for (a = this.composition.getSnapshot(), o = this.editor.filters, n = 0, i = o.length; i > n; n++) {\n e = o[n], t = a.document, s = a.selectedRange, a = null != (r = e.call(this.editor, a)) ? r : {}, null == a.document && (a.document = t), null == a.selectedRange && (a.selectedRange = s);\n }\n\n return c(a, this.composition.getSnapshot()) ? void 0 : this.composition.loadSnapshot(a);\n }, c = function c(t, e) {\n return o(t.selectedRange, e.selectedRange) && t.document.isEqualTo(e.document);\n }, u.prototype.updateInputElement = function () {\n var t, n;\n return t = this.compositionController.getSerializableElement(), n = e.serializeToContentType(t, \"text/html\"), this.editorElement.setInputElementValue(n);\n }, u.prototype.notifyEditorElement = function (t, e) {\n switch (t) {\n case \"document-change\":\n this.documentChangedSinceLastRender = !0;\n break;\n\n case \"render\":\n this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = !1, this.notifyEditorElement(\"change\"));\n break;\n\n case \"change\":\n case \"attachment-add\":\n case \"attachment-edit\":\n case \"attachment-remove\":\n this.updateInputElement();\n }\n\n return this.editorElement.notify(t, e);\n }, u.prototype.removeAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Delete Attachment\"), this.composition.removeAttachment(t), this.render();\n }, u.prototype.recordFormattingUndoEntry = function (e) {\n var n, o;\n return n = t(e), o = this.selectionManager.getLocationRange(), n || !i(o) ? this.editor.recordUndoEntry(\"Formatting\", {\n context: this.getUndoContext(),\n consolidatable: !0\n }) : void 0;\n }, u.prototype.recordTypingUndoEntry = function () {\n return this.editor.recordUndoEntry(\"Typing\", {\n context: this.getUndoContext(this.currentAttributes),\n consolidatable: !0\n });\n }, u.prototype.getUndoContext = function () {\n var t;\n return t = 1 <= arguments.length ? a.call(arguments, 0) : [], [this.getLocationContext(), this.getTimeContext()].concat(a.call(t));\n }, u.prototype.getLocationContext = function () {\n var t;\n return t = this.selectionManager.getLocationRange(), i(t) ? t[0].index : t;\n }, u.prototype.getTimeContext = function () {\n return e.config.undoInterval > 0 ? Math.floor(new Date().getTime() / e.config.undoInterval) : 0;\n }, u.prototype.isFocused = function () {\n var t;\n return this.editorElement === (null != (t = this.editorElement.ownerDocument) ? t.activeElement : void 0);\n }, u;\n }(e.Controller);\n }.call(this), function () {\n var t, n, i, o, r, s;\n n = e.browser, r = e.makeElement, s = e.triggerEvent, i = e.handleEvent, o = e.handleEventOnce, t = e.AttachmentView.attachmentSelector, e.registerElement(\"trix-editor\", function () {\n var a, u, c, l, h, p, d, f;\n return p = 0, u = function u(t) {\n return !document.querySelector(\":focus\") && t.hasAttribute(\"autofocus\") && document.querySelector(\"[autofocus]\") === t ? t.focus() : void 0;\n }, d = function d(t) {\n return t.hasAttribute(\"contenteditable\") ? void 0 : (t.setAttribute(\"contenteditable\", \"\"), o(\"focus\", {\n onElement: t,\n withCallback: function withCallback() {\n return c(t);\n }\n }));\n }, a = function a(t) {\n return t.hasAttribute(\"role\") ? void 0 : t.setAttribute(\"role\", \"textbox\");\n }, c = function c(t) {\n return h(t), f(t);\n }, h = function h(t) {\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"enableObjectResizing\") : void 0) ? (document.execCommand(\"enableObjectResizing\", !1, !1), i(\"mscontrolselect\", {\n onElement: t,\n preventDefault: !0\n })) : void 0;\n }, f = function f() {\n var t;\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"DefaultParagraphSeparator\") : void 0) && (t = e.config.blockAttributes[\"default\"].tagName, \"div\" === t || \"p\" === t) ? document.execCommand(\"DefaultParagraphSeparator\", !1, t) : void 0;\n }, l = function () {\n return n.forcesObjectResizing ? {\n display: \"inline\",\n width: \"auto\"\n } : {\n display: \"inline-block\",\n width: \"1px\"\n };\n }(), {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t:empty:not(:focus)::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\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 \" + t + \" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \" + t + \" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \" + t + \" 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: \" + l.display + \" !important;\\n width: \" + l.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}\",\n trixId: {\n get: function get() {\n return this.hasAttribute(\"trix-id\") ? this.getAttribute(\"trix-id\") : (this.setAttribute(\"trix-id\", ++p), this.trixId);\n }\n },\n toolbarElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"toolbar\") ? null != (e = this.ownerDocument) ? e.getElementById(this.getAttribute(\"toolbar\")) : void 0 : this.parentNode ? (n = \"trix-toolbar-\" + this.trixId, this.setAttribute(\"toolbar\", n), t = r(\"trix-toolbar\", {\n id: n\n }), this.parentNode.insertBefore(t, this), t) : void 0;\n }\n },\n inputElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"input\") ? null != (n = this.ownerDocument) ? n.getElementById(this.getAttribute(\"input\")) : void 0 : this.parentNode ? (e = \"trix-input-\" + this.trixId, this.setAttribute(\"input\", e), t = r(\"input\", {\n type: \"hidden\",\n id: e\n }), this.parentNode.insertBefore(t, this.nextElementSibling), t) : void 0;\n }\n },\n editor: {\n get: function get() {\n var t;\n return null != (t = this.editorController) ? t.editor : void 0;\n }\n },\n name: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.name : void 0;\n }\n },\n value: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.value : void 0;\n },\n set: function set(t) {\n var e;\n return this.defaultValue = t, null != (e = this.editor) ? e.loadHTML(this.defaultValue) : void 0;\n }\n },\n notify: function notify(t, e) {\n return this.editorController ? s(\"trix-\" + t, {\n onElement: this,\n attributes: e\n }) : void 0;\n },\n setInputElementValue: function setInputElementValue(t) {\n var e;\n return null != (e = this.inputElement) ? e.value = t : void 0;\n },\n initialize: function initialize() {\n return d(this), a(this);\n },\n connect: function connect() {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (this.editorController || (s(\"trix-before-initialize\", {\n onElement: this\n }), this.editorController = new e.EditorController({\n editorElement: this,\n html: this.defaultValue = this.value\n }), requestAnimationFrame(function (t) {\n return function () {\n return s(\"trix-initialize\", {\n onElement: t\n });\n };\n }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), u(this));\n },\n disconnect: function disconnect() {\n var t;\n return null != (t = this.editorController) && t.unregisterSelectionManager(), this.unregisterResetListener();\n },\n registerResetListener: function registerResetListener() {\n return this.resetListener = this.resetBubbled.bind(this), window.addEventListener(\"reset\", this.resetListener, !1);\n },\n unregisterResetListener: function unregisterResetListener() {\n return window.removeEventListener(\"reset\", this.resetListener, !1);\n },\n resetBubbled: function resetBubbled(t) {\n var e;\n return t.target !== (null != (e = this.inputElement) ? e.form : void 0) || t.defaultPrevented ? void 0 : this.reset();\n },\n reset: function reset() {\n return this.value = this.defaultValue;\n }\n };\n }());\n }.call(this), function () {}.call(this);\n }).call(this), \"object\" == (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) && module.exports ? module.exports = e : \"function\" == typeof define && define.amd && define(e);\n}.call(this);","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a