{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/chartkick/dist/chartkick.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/trix/dist/trix.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/chart.js/dist/chunks/helpers.segment.js","webpack:///./node_modules/chart.js/dist/chart.esm.js","webpack:///./node_modules/chart.js/auto/auto.esm.js","webpack:///./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack:///./node_modules/date-fns/esm/toDate/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack:///./node_modules/date-fns/esm/locale/en-US/index.js","webpack:///./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack:///./node_modules/date-fns/esm/addMilliseconds/index.js","webpack:///./node_modules/date-fns/esm/subMilliseconds/index.js","webpack:///./node_modules/date-fns/esm/_lib/assign/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack:///./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack:///./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/setUTCDay/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack:///./node_modules/date-fns/esm/parse/_lib/parsers/index.js","webpack:///./node_modules/date-fns/esm/_lib/setUTCWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","webpack:///./node_modules/date-fns/esm/_lib/setUTCISODay/index.js","webpack:///./node_modules/date-fns/esm/parse/index.js","webpack:///./node_modules/date-fns/esm/constants/index.js","webpack:///./node_modules/date-fns/esm/parseISO/index.js","webpack:///./node_modules/date-fns/esm/isDate/index.js","webpack:///./node_modules/date-fns/esm/isValid/index.js","webpack:///./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack:///./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack:///./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack:///./node_modules/date-fns/esm/format/index.js","webpack:///./node_modules/date-fns/esm/addHours/index.js","webpack:///./node_modules/date-fns/esm/addDays/index.js","webpack:///./node_modules/date-fns/esm/addMonths/index.js","webpack:///./node_modules/date-fns/esm/differenceInMilliseconds/index.js","webpack:///./node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack:///./node_modules/date-fns/esm/startOfDay/index.js","webpack:///./node_modules/date-fns/esm/differenceInCalendarDays/index.js","webpack:///./node_modules/date-fns/esm/differenceInDays/index.js","webpack:///./node_modules/date-fns/esm/differenceInCalendarMonths/index.js","webpack:///./node_modules/date-fns/esm/compareAsc/index.js","webpack:///./node_modules/date-fns/esm/endOfDay/index.js","webpack:///./node_modules/date-fns/esm/endOfMonth/index.js","webpack:///./node_modules/date-fns/esm/isLastDayOfMonth/index.js","webpack:///./node_modules/date-fns/esm/differenceInMonths/index.js","webpack:///./node_modules/date-fns/esm/differenceInCalendarYears/index.js","webpack:///./node_modules/date-fns/esm/startOfWeek/index.js","webpack:///./node_modules/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.esm.js","webpack:///./node_modules/date-fns/esm/addSeconds/index.js","webpack:///./node_modules/date-fns/esm/addMinutes/index.js","webpack:///./node_modules/date-fns/esm/addWeeks/index.js","webpack:///./node_modules/date-fns/esm/addQuarters/index.js","webpack:///./node_modules/date-fns/esm/addYears/index.js","webpack:///./node_modules/date-fns/esm/differenceInSeconds/index.js","webpack:///./node_modules/date-fns/esm/differenceInMinutes/index.js","webpack:///./node_modules/date-fns/esm/differenceInHours/index.js","webpack:///./node_modules/date-fns/esm/differenceInWeeks/index.js","webpack:///./node_modules/date-fns/esm/differenceInQuarters/index.js","webpack:///./node_modules/date-fns/esm/differenceInYears/index.js","webpack:///./node_modules/date-fns/esm/startOfSecond/index.js","webpack:///./node_modules/date-fns/esm/startOfMinute/index.js","webpack:///./node_modules/date-fns/esm/startOfHour/index.js","webpack:///./node_modules/date-fns/esm/startOfMonth/index.js","webpack:///./node_modules/date-fns/esm/startOfQuarter/index.js","webpack:///./node_modules/date-fns/esm/startOfYear/index.js","webpack:///./node_modules/date-fns/esm/endOfSecond/index.js","webpack:///./node_modules/date-fns/esm/endOfMinute/index.js","webpack:///./node_modules/date-fns/esm/endOfHour/index.js","webpack:///./node_modules/date-fns/esm/endOfWeek/index.js","webpack:///./node_modules/date-fns/esm/endOfQuarter/index.js","webpack:///./node_modules/date-fns/esm/endOfYear/index.js","webpack:///./node_modules/chartkick/chart.js/chart.esm.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/index.js","webpack:///./app/javascript/packs/application.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","obj","iterator","constructor","g","this","Function","e","window","factory","isArray","variable","toString","isFunction","isPlainObject","extend","target","source","undefined","merge","obj1","obj2","DATE_PATTERN","toStr","toFloat","parseFloat","toDate","matches","year","month","day","Date","match","parseInt","str","replace","parse","toArr","arr","push","jsOptionsFunc","defaultOptions","hideLegend","setTitle","setMin","setMax","setStacked","setXtitle","setYtitle","chart","opts","chartOptions","series","data","options","singleSeriesFormat","legend","title","min","j","length","negativeValues","max","stacked","colors","xtitle","ytitle","library","sortByTime","a","b","getTime","sortByNumberSeries","sortByNumber","isMinute","getMilliseconds","getSeconds","isHour","getMinutes","isDay","getHours","isWeek","dayOfWeek","getDay","isMonth","getDate","isYear","getMonth","isDate","isNaN","isNumber","byteSuffixes","formatValue","pre","axis","prefix","suffix","precision","round","byteScale","suffixIdx","baseValue","Error","toPrecision","zeros","num","Math","pow","toFixed","thousands","decimal","parts","split","seriesOption","option","baseOptions","maintainAspectRatio","animation","plugins","tooltip","displayColors","callbacks","font","size","color","interaction","defaultOptions$2","scales","y","ticks","maxTicksLimit","grid","x","drawOnChartArea","time","defaultColors","hideLegend$2","display","position","setTitle$2","text","setBarMin$1","setBarMax$1","setStacked$2","setXtitle$2","setYtitle$2","addOpacity","hex","opacity","result","exec","notnull","setFormatOptions$1","chartType","formatOptions","bytes","scale","stepSize","callback","label","context","dataset","formattedValue","dataPoint","raw","v","dataLabel","slice","parsed","valueLabel","jsOptions$2","createDataTable","datasets","labels","week","hour","minute","i$1","s$1","j$1","backgroundColor","rows","rows2","xtype","k","sortedLabels","Array","indexOf","sort","i$2","s$2","d$1","j$2","point","j$3","fill","borderColor","borderWidth","pointChart","pointBackgroundColor","pointHoverBackgroundColor","pointHitRadius","pointHoverBorderWidth","stack","tension","pointRadius","pointHoverRadius","xmin","xmax","minTime","maxTime","value$1","step","timeDiff","unit","displayFormats","width","element","offsetWidth","unitStepSize","ceil","tooltipFormat","defaultExport$2","renderLineChart","allZeros","type","drawChart","renderPieChart","donut","cutout","values","renderColumnChart","barOptions","indexAxis","maxLabelSize","getLabelForValue","substring","setLabelSize","renderAreaChart","renderBarChart","renderScatterChart","showLine","renderBubbleChart","destroy","destroyed","code","console","log","JSON","stringify","innerHTML","ctx","getElementsByTagName","defaultOptions$1","xAxis","style","fontSize","yAxis","credits","enabled","plotOptions","areaspline","area","marker","useUTC","hideLegend$1","verticalAlign","layout","align","setTitle$1","jsOptions$1","stackedValue","stacking","setFormatOptions","formatter","pointFormatter","pointFormat","defaultExport$1","curve","symbol","points","pie","innerSize","categories","d2","newSeries","renderTo","id","Chart","loaded","chartArea","fontName","pointSize","textStyle","alignment","curveType","hAxis","titleTextStyle","gridlines","baselineColor","viewWindow","vAxis","_hideLegend","setBarMin","setBarMax","isStacked","italic","jsOptions","defaultExport","formatSeriesData","keyType","keyFunc","detectXTypeWithFunction","func","processSeries","noDatetime","rawData","copy","copySeries","discrete","dataEmpty","detectXType","processSimple","perfectData","addEvent","elem","event","fn","addEventListener","fn2","attachEvent","removeEvent","removeEventListener","detachEvent","childOf","parentNode","this$1","waitForLoaded","top","height","pieHole","visualization","DataTable","addColumn","addRows","areaOpacity","renderGeoChart","colorAxis","row","renderTimeline","lineHeight","clearChart","toJSON","draw","pack","runCallbacks","loadOptions","packages","config","__config","language","mapsApiKey","charts","load","cb","LineChart","Timeline","GeoChart","splice","columnType","concat","pendingRequests","runningRequests","runNext","request","shift","url","success","error","$","jQuery","Zepto","ajax","dataType","complete","requestComplete","xhr","XMLHttpRequest","open","setRequestHeader","onload","status","responseText","statusText","send","ajaxCall","jqXHR","textStatus","errorThrown","message","adapters","setText","document","body","innerText","textContent","chartError","noPrefix","errorCatcher","__render","err","fetchDataSource","dataSource","showLoading","loading","addAdapter","adapterType","product","getAdapterType","adapter","renderChart","empty","messages","fnName","adapterName","Highcharts","google","__adapterObject","callAdapter","download","__downloadAttached","link","createElement","filename","right","zIndex","image","alt","border","src","appendChild","__enterEvent","related","relatedTarget","href","toImage","__leaveEvent","removeChild","addDownloadButton","elementId","getElementById","Chartkick","refresh","startRefresh","getElement","getDataSource","getData","getOptions","getChartObject","getAdapter","updateData","__updateOptions","setOptions","redraw","refreshData","sep","intervalId","setInterval","stopRefresh","clearInterval","background","canvas","tmpCanvas","tmpCtx","getContext","fillStyle","fillRect","drawImage","toDataURL","toBase64Image","updateRefresh","__processData","__chartName","apply","arguments","__proto__","PieChart","ColumnChart","BarChart","AreaChart","ScatterChart","BubbleChart","configure","setDefaultOptions","eachChart","chartId","destroyAll","use","setTimeout","dispatchEvent","Event","default","sparkMd5","createCommonjsModule","hex_chr","md5cycle","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","state","md51_array","subarray","Uint8Array","rhex","join","toUtf8","test","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","String","fromCharCode","concatenateArrayBuffers","first","second","byteLength","set","buffer","hexToBinaryString","substr","SparkMD5","reset","clamp","val","from","to","targetArray","sourceArray","begin","end","append","appendBinary","contents","_buff","_length","_hash","ret","_finish","getState","hash","setState","hashBinary","content","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","configurable","writable","protoProps","staticProps","fileSlice","File","mozSlice","webkitSlice","FileChecksum","file","chunkSize","chunkCount","chunkIndex","_this","md5Buffer","fileReader","FileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","start","readAsArrayBuffer","findElement","root","selector","querySelector","eventInit","disabled","bubbles","cancelable","detail","createEvent","initEvent","toArray$1","BlobRecord","checksum","attributes","content_type","byte_size","responseType","csrfToken","head","getAttribute","getMetaValue","requestDidLoad","requestDidError","blob","response","direct_upload","directUploadData","_xhr","BlobUpload","_blob$directUploadDat","headers","DirectUpload","delegate","notify","upload","methodName","_len","_key","DirectUploadController","input","directUpload","dispatch","hiddenInput","insertAdjacentElement","dispatchError","signed_id","progress","total","defaultPrevented","alert","_this2","uploadRequestDidProgress","DirectUploadsController","form","inputs","querySelectorAll","filter","files","controllers","createDirectUploadControllers","startNextController","controller","forEach","processingAttribute","submitButtonsByForm","WeakMap","started","didClick","didSubmitForm","didSubmitRemoteElement","tagName","handleFormSubmissionEvent","hasAttribute","preventDefault","setAttribute","disable","removeAttribute","enable","button","focus","click","delete","submitForm","ActiveStorage","Set","clear","has","add","_state","_handled","_value","_deferreds","h","onFulfilled","onRejected","promise","then","u","setImmediate","warn","all","resolve","reject","race","_setImmediateFn","_setUnhandledRejectionFn","Promise","customElements","registerElement","now","random","A","uid_","takeRecords","nodes_","observer","removeTransientObservers","callback_","subtree","enqueue","records_","C","addedNodes","removedNodes","previousSibling","nextSibling","attributeName","attributeNamespace","oldValue","w","f","transientObservedNodes","JsMutationObserver","navigator","userAgent","postMessage","observe","ShadowDOMPolyfill","wrapIfNeeded","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","disconnect","addListeners_","removeListeners_","addTransientObserver","handleEvent","stopImmediatePropagation","attrName","relatedNode","namespaceURI","attrChange","MutationEvent","ADDITION","prevValue","MutationObserver","_isPolyfilled","self","performance","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","CustomEvent","initCustomEvent","Boolean","WebComponents","CustomElements","flags","addModule","initializeModules","hasNative","isIE","useNative","register","HTMLImports","firstElementChild","firstChild","nodeType","Node","ELEMENT_NODE","nextElementSibling","shadowRoot","olderShadowRoot","wrap","import","IMPORT_LINK_TYPE","forDocumentTree","forSubtree","upgrade","__upgraded__","__attached","attachedCallback","detachedCallback","dom","host","URL","_URL","localName","pop","group","DOCUMENT_FRAGMENT_NODE","E","groupEnd","__observer","baseURI","hasPolyfillMutations","hasThrottledAttached","S","Element","createShadowRoot","watchShadow","__watched","upgradeDocumentTree","upgradeDocument","upgradeSubtree","upgradeAll","attached","is","createdCallback","HTMLElement","getOwnPropertyNames","getOwnPropertyDescriptor","getPrototypeOf","native","HTMLTemplateElement","decorate","getRegisteredDefinition","tag","extends","upgradeWithDefinition","implementPrototype","_polyfilled","toLowerCase","attributeChangedCallback","ctor","createElementNS","__name","lifecycle","ancestry","ready","registry","instanceof","reservedTagList","readyTime","elapsed","unwrap","unwrapIfNeeded","__importsParsingHook","readyState","eager","Trix","VERSION","ZERO_WIDTH_SPACE","NON_BREAKING_SPACE","OBJECT_REPLACEMENT_CHARACTER","browser","composesExistingText","forcesObjectResizing","supportsInputEvents","InputEvent","BasicObject","proxyMethod","toMethod","toProperty","optional","_t","__super__","fromJSONString","fromJSON","hasSameConstructorAs","isEqualTo","inspect","contentsForInspection","toJSONString","toUTF16String","UTF16String","box","getCacheKey","defer","normalizeSpaces","RegExp","normalizeNewlines","breakableWhitespacePattern","squishBreakableWhitespace","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","matchesSelector","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","_s","onElement","matchingSelector","withCallback","inPhase","times","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","makeElement","editable","contenteditable","className","classList","getBlockTagNames","blockTagNames","nodeIsBlockContainer","nodeIsBlockStartComment","nodeProbablyIsBlockContainer","nodeIsBlockStart","strict","nodeIsCommentNode","COMMENT_NODE","nodeIsCursorTarget","nodeIsTextNode","trixCursorTarget","nodeIsAttachmentElement","AttachmentView","attachmentSelector","nodeIsEmptyTextNode","normalizeRange","rangeIsCollapsed","rangesAreEqual","defaultCSS","insertBefore","_t3","initialize","connect","initialized","connectedCallback","disconnectedCallback","_n2","Reflect","construct","setPrototypeOf","define","getDOMSelection","getSelection","rangeCount","getDOMRange","getRangeAt","setDOMRange","removeAllRanges","addRange","selectionChangeObserver","update","_t4","startContainer","endContainer","dataTransferIsPlainText","DOMParser","parseFromString","dataTransferIsWritable","setData","keyEventIsKeyboardCommand","platform","metaKey","ctrlKey","RTL_PATTERN","getDirection","dir","dirName","FormData","trim","Hash","fromCommonAttributesOfObjects","getKeys","getKeysCommonToHash","remove","toArray","isEmpty","array","toObject","ObjectGroup","objects","depth","asTree","groupObjects","canBeGrouped","canBeGroupedWith","getObjects","getDepth","_t5","ObjectMap","find","ElementStore","elements","trixStoreKey","_t6","Operation","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","perform","release","cancel","ucs2String","ucs2Length","fromUCS2String","offsetToUCS2Offset","offsetFromUCS2Offset","codePointAt","fromCodePoint","map","lang","attachFiles","bold","bullets","captionPlaceholder","heading1","indent","numbers","outdent","quote","redo","strike","undo","unlink","urlPlaceholder","GB","KB","MB","PB","TB","css","attachment","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","attachmentGallery","nestable","terminal","breakOnReturn","plaintext","bulletList","bullet","numberList","number","exclusive","fileSize","byte","floor","inheritable","parser","getComputedStyle","fontWeight","fontStyle","groupTagName","frozen","serializers","Document","fromHTML","toSerializableDocument","DocumentView","render","cloneNode","deserializers","serializeToContentType","deserializeFromContentType","toolbar","getDefaultHTML","undoInterval","attachments","preview","presentation","caption","keyNames","level2Enabled","getLevel","pickFiles","multiple","hidden","fileInputId","_t7","ObjectView","childViews","rootView","getNodes","nodes","createNodes","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ObjectGroupView","getAllChildViews","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","onerror","abort","InputController","mutationObserver","events","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","handleInput","inputControllerWillAttachFiles","responder","insertFiles","eventName","inputControllerWillHandleInput","inputControllerDidHandleInput","createLinkHTML","outerHTML","Level0InputController","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","getSelectedRange","positionIsBlockBreak","compositionInput","getEndData","keydown","didInput","keyCode","keyName","inputControllerDidReceiveKeyboardCommand","keypress","altKey","inputControllerWillPerformTyping","insertString","selectionIsExpanded","textInput","toUpperCase","setSelectedRange","dragenter","dragstart","serializeSelectionToDataTransfer","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","canAcceptDataTransfer","clientX","clientY","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","setLocationRangeFromPointRange","inputControllerWillMoveText","moveTextFromRange","insertDocument","cut","clipboardData","inputControllerWillCutText","deleteInDirection","paste","R","D","L","testClipboardData","clipboard","getPastedHTMLUsingHiddenElement","html","inputControllerWillPaste","insertHTML","inputControllerDidPaste","string","types","items","getAsFile","insertFile","compositionstart","getCompositionInput","compositionupdate","compositionend","beforeinput","stopPropagation","backspace","insertLineBreak","tab","canIncreaseNestingLevel","increaseNestingLevel","left","selectionIsInCursorTarget","moveCursorInDirection","control","updatePosition","canDecreaseNestingLevel","decreaseNestingLevel","expandSelectionInDirection","meta","isEnded","getSelectedDocument","Files","pageXOffset","pageYOffset","which","charCode","inputController","isSignificant","insertPlaceholder","range","selectPlaceholder","forgetPlaceholder","canApplyToDocument","Level2InputController","scheduledRender","composing","reparse","scheduleRender","afterRender","shiftKey","withEvent","inputTypes","inputType","selectionContainsAttachments","dragging","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","insertText","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","trixAction","getFilename","getFormattedFilesize","placeholder","getCaption","tabIndex","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","updateAttributesForImage","getURL","getPreviewURL","getWidth","getHeight","attachmentDidChangeAttributes","PieceView","getAttributes","textConfig","createAttachmentNodes","createStringNodes","preserveSpaces","styleProperty","isLast","isFirst","followsWhitespace","_t11","TextView","getPieces","BlockView","block","createComment","getLastAttribute","shouldAddExtraNewlineElement","isRTL","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","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","setAttributes","preloadURL","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","setUploadProgress","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","Text","textForAttachmentWithAttributes","textForStringWithAttributes","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","forbiddenElements","sanitize","sanitizeElements","normalizeListElementNesting","getHTML","getBody","nextNode","currentNode","elementIsRemovable","sanitizeElement","protocol","previousElementSibling","elementIsForbidden","elementIsntSerializable","implementation","createHTMLDocument","HTMLParser","referenceElement","blocks","blockElements","processedElements","getDocument","createHiddenContainer","containerElement","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","FILTER_REJECT","FILTER_ACCEPT","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","appendStringWithAttributes","getBlockAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","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","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","run","selectionManagers","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","isFocusedInvisibly","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","getCurrentActions","currentActions","updateInputElement","setInputElementValue","documentChangedSinceLastRender","getUndoContext","getLocationContext","getTimeContext","ownerDocument","queryCommandSupported","execCommand","contains","inputElement","editorController","defaultValue","registerResetListener","registerClickListener","unregisterResetListener","unregisterClickListener","resetListener","resetBubbled","clickListener","clickBubbled","Timeout","clearFn","_id","_clearFn","scope","timeout","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","global","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","process","handle","nextTick","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","onreadystatechange","args","task","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","len","runClearTimeout","Item","noop","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","webpackPolyfill","deprecate","paths","children","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_defineProperty","_classCallCheck","_defineProperties","_createClass","_createForOfIteratorHelper","allowArrayLike","it","F","done","_e","normalCompletion","didErr","next","_e2","return","minLen","arr2","requestAnimFrame","throttled","thisArg","updateFn","updateArgs","ticking","rest","_toLeftRightCenter","_alignStartEnd","uid","isNullOrUndef","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","valueOrDefault","toDimension","dimension","endsWith","each","loopable","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","clone$1","klen","isValidKey","_merger","tval","sval","sources","merger","mergeIf","_mergerIf","indexOfDotOrLength","idx","resolveObjectKey","pos","_capitalize","defined","setsEqual","_step","_iterator","PI","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","roundedRange","almostEquals","niceRange","fraction","epsilon","abs","_setMinAndMaxByKey","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","atEdge","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","B","h1","h2","eq","_hexString","isShort","lim","p2b","n2b","b2n","n2p","RGB_RE","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","rgb2hsl","calln","hsl2rgb","hue","hueParse","p1","p2","hwb2rgb","hsv2rgb","names$1","map$1","Z","Y","X","W","V","U","T","Q","P","O","N","M","K","G","H","I","J","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","ok","nk","unpacked","tkeys","unpack","transparent","modHSL","ratio","clone","proto","assign","fromObject","functionParse","rgbParse","Color","_rgb","_valid","_hslString","weight","me","w2","c1","c2","w1","deg","_rotate","index_esm","isPatternOrGradient","CanvasGradient","CanvasPattern","getHoverColor","saturate","darken","hexString","overrides","getScope$1","node","_set","Defaults","_descriptors","devicePixelRatio","getDevicePixelRatio","family","hover","hoverBackgroundColor","hoverBorderColor","hoverColor","intersect","onHover","onClick","parsing","responsive","drawActiveElementsOnTop","describe","targetScope","targetName","_Object$definePropert","scopeObject","targetScopeObject","privateName","local","defaults","_scriptable","startsWith","_indexable","_fallback","_measureText","gc","longest","textWidth","measureText","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","resetTransform","clearRect","drawPoint","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","rotate","beginPath","arc","closePath","moveTo","lineTo","SQRT1_2","rect","stroke","_isPointInArea","margin","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","line","lines","strokeWidth","strokeColor","setRenderOpts","strokeStyle","lineWidth","strokeText","maxWidth","fillText","decorateText","translation","textAlign","textBaseline","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","_readValueToProps","_step2","objProps","read","prop","_iterator2","toTRBL","toTRBLCorners","toPadding","toFont","fallback","toFontString","info","cacheable","createContext","parentContext","_lookup","table","cmp","mid","_lookupByKey","_rlookupByKey","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","_arrayUnique","_createResolver","scopes","_cache","prefixes","rootScopes","getTarget","_resolve","Proxy","deleteProperty","_keys","_cached","_resolveWithPrefixes","_scopes","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","proxy","subProxy","descriptorDefaults","_cacheable","_proxy","_context","_subProxy","_stack","setContext","override","receiver","descriptors","isScriptable","needsSubResolver","createSubResolver","_resolveScriptable","isIndexable","_step3","_iterator3","resolver","_resolveArray","_resolveWithContext","allKeys","scriptable","indexable","_proxy$_scriptable","_proxy$_indexable","_proxy$_allKeys","_allKeys","readKey","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","_step4","_iterator4","_rootScopes","allScopes","addScopesFromKey","_getTarget","subGetTarget","_step5","_iterator5","_step6","_iterator6","_step7","_iterator7","_step8","_iterator8","resolveKeysFromAllScopes","EPSILON","getPoint","skip","getValueAxis","monotoneAdjust","deltaK","mK","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointsLen","pointAfter","monotoneCompute","delta","pointBefore","valueAxis","iPixel","vPixel","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","firstPoint","middlePoint","afterPoint","current","d01","d12","s01","s12","fa","fb","spanGaps","cubicInterpolationMode","slopeDelta","splineCurveMonotone","prev","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","positions","getPositionedStyle","styles","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","_getCanvasPosition","touches","offsetX","offsetY","useOffsetPos","getBoundingClientRect","getCanvasPosition","round1","bbWidth","bbHeight","aspectRatio","margins","maxHeight","containerSize","containerStyle","containerBorder","containerPadding","clientWidth","clientHeight","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","passive","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","locale","cacheKey","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rtl","rectX","_x","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_x2","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_ref","count","_boundSegment","segment","bounds","startBound","endBound","_propertyFn2","_getSegment","_propertyFn","getSegment","inside","subStart","shouldStart","shouldStop","_boundSegments","segments","sub","splitByStyles","segmentOptions","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","_step9","_iterator9","styleChanged","p0","p0DataIndex","p1DataIndex","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread","getOwnPropertyDescriptors","_get","base","_superPropBase","desc","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","sham","valueOf","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_slicedToArray","_arrayWithHoles","_i","_arr","_d","_iterableToArrayLimit","_nonIterableRest","_e3","Animator","_request","_charts","_running","_lastDate","anims","date","numSteps","duration","initial","currentStep","_update","_refresh","remaining","running","_active","_total","tick","_notify","_getAnims","_this$_getAnims$items","reduce","acc","cur","_duration","animator","interpolators","boolean","factor","c0","valid","mix","Animation","cfg","currentValue","_fn","_easing","easing","_start","delay","_loop","_target","_prop","_from","_to","_promises","remain","promises","res","rej","resolved","method","properties","resize","show","animations","visible","hide","Animations","_properties","animatedProps","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","wait","awaitAll","_animateOptions","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","_applyStack","dsIndex","otherValue","singleMode","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","_cachedMeta","_stacks","iScale","iAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","clearStacks","_parsed","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_parsing","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","$context","_syncList","linkScales","_stacked","addElements","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","xScale","getScaleForId","yScale","rScale","getDatasetMeta","scaleID","adata","convertObjectDataToArray","isExtensible","_len3","_key3","_dataCheck","datasetElementType","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","_sorted","parseArrayData","parseObjectData","parsePrimitiveData","getLabels","singleScale","_parsed$i","_this$_parsing","_this$_parsing$xAxisK","xAxisKey","_this$_parsing$yAxisK","yAxisKey","parsedValue","NaN","canStack","otherScale","_getOtherScale","createStack","NEGATIVE_INFINITY","_getUserBounds","_scale$getUserBounds","getUserBounds","minDefined","maxDefined","otherMin","otherMax","_skip","updateRangeFromParsed","getParsed","_clip","defaultClip","getMaxOverflow","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","elementType","_this3","sharing","datasetElementScopeKeys","names","resolveNamedOptions","freeze","transition","datasetAnimationScopeKeys","sharedOptions","_animationsDisabled","_resolveAnimations","getSharedOptions","_setStyle","_ref2","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","_args2","_dataChanges","_sync","newCount","computeMinSampleSize","curr","$bar","visibleMetas","getAllParsedValues","getAllScaleValues","updateMinAndPrev","getPixelForValue","getPixelForTick","parseValue","entry","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","_borderProps","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","_ref4","inflateAmount","_DatasetController","BarController","_super","_this$_parsing2","_this$_parsing2$xAxis","_this$_parsing2$yAxis","iAxisKey","vAxisKey","bars","getBasePixel","isHorizontal","ruler","_getRuler","firstOpts","includeOptions","updateSharedOptions","vpixels","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","updateElement","last","grouped","_getStacks","pixels","barThickness","_startPixel","_endPixel","stackCount","_getStackCount","categoryPercentage","barPercentage","_this$_cachedMeta","_this$options","minBarLength","actualBase","floating","applyStack","getDataVisibility","barSign","halfGrid","getLineWidthForValue","skipNull","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","_getStackIndex","rects","_index_","_value_","beginAtZero","_DatasetController2","BubbleController","_super2","_this$_cachedMeta2","getPixelForDecimal","_DatasetController3","DoughnutController","_super3","_this4","innerRadius","outerRadius","_this$_parsing$key","circumference","isDatasetVisible","_getRotation","_getCircumference","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","chartWeight","_getRingWeight","_this$_getRotationExt","_getRotationExtents","_getRatioAndOffset","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","_circumference","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","generateLabels","legendItem","toggleDataVisibility","tooltipItem","_DatasetController4","LineController","_super4","_meta$data","_dataset","animationsDisabled","_getStartAndCountOfVi","pointCount","_iScale$getUserBounds","getStartAndCountOfVisiblePoints","_scaleRanges","newRanges","ymin","ymax","changed","scaleRangesChanged","_decimated","animated","_this$_cachedMeta3","_this$options2","maxGapLength","directUpdate","prevParsed","nullData","lastPoint","updateControlPoints","_DatasetController5","PolarAreaController","_super5","_this5","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","_this6","angleLines","circular","pointLabels","PieController","_DoughnutController","_super6","RadarController","_DatasetController6","_super7","_fullLoop","pointPosition","getPointPositionForValue","ScatterController","_LineController","_super8","DateAdapter","timestamp","_format","amount","weekday","members","_date","binarySearch","metaset","lookupMethod","_reversePixels","getRange","optimizedEvaluateItems","handler","getSortedVisibleDatasetMetas","_metasets$i2","_binarySearch","getIntersectItems","useFinalPosition","_minPadding","inRange","getNearestCartesianItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestItems","_element$getProps","getProps","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","_metasets$i","evaluateAllVisibleItems","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","setLayoutDims","layouts","params","stackWeight","placed","buildStacks","vBoxMaxWidth","hBoxMaxHeight","fullSize","availableWidth","availableHeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","getPadding","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refit","refitBoxes","_updateDims","setBoxDims","placeBoxes","userPadding","padding","_height","_width","autoPadding","_layers","z","layoutItem","minPadding","layoutBoxes","_box","_box$options","_box$options$stackWei","wrapBoxes","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","beforeLayout","visibleVerticalBoxCount","updatePos","change","handleMaxPadding","BasePlatform","BasicPlatform","_BasePlatform","_super9","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","nodeListContains","nodeList","createAttachObserver","entries","trigger","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","unlistenDevicePixelRatioChanges","createProxyAndListen","_getRelativePosition$","fromNativeEvent","_BasePlatform2","DomPlatform","_super10","renderHeight","renderWidth","displayWidth","displayHeight","initCanvas","proxies","$proxies","attach","detach","isConnected","_this$getProps","final","_this7","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","autoSkip","tickOpts","ticksLimit","tickLength","_tickSize","maxScale","maxChart","_maxLength","determineMaxTicks","majorIndices","major","getMajorIndices","numMajorIndices","newTicks","skipMajors","evenMajorSpacing","diff","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","majorStart","majorEnd","grace","drawBorder","drawTicks","tickWidth","tickColor","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkipPadding","labelOffset","minor","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","route","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","reverseAlign","_Element","Scale","_super11","_this8","_margins","paddingTop","paddingBottom","paddingLeft","paddingRight","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_longestTextCache","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","suggestedMin","suggestedMax","_this$getUserBounds","metas","getMinMax","xLabels","yLabels","beforeUpdate","_this$options3","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","beforeFit","fit","afterFit","afterUpdate","startPixel","endPixel","reversePixels","_alignToPixels","alignToPixels","notifyPlugins","_callHooks","beforeTickToLabelConversion","afterTickToLabelConversion","maxLabelDiagonal","numTicks","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","_this$options4","titleOpts","gridOpts","titleHeight","_this$_getLabelSizes","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","_this$options5","_this$options5$ticks","isRotated","labelsBelowTicks","offsetLeft","offsetRight","_this$options6","generateTickLabels","_computeLabelSizes","tickFont","fontString","nestedLabel","caches","widths","heights","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","getBaseValue","createTickContext","optionTicks","rot","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","positionAxisID","_positionAxisID2","_value2","limit","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","lineCount","textOffset","tickAndPadding","hTickAndPadding","_getXAxisLabelAlignment","_getYAxisLabelAlignment","_ret","_positionAxisID3","_value3","halfCount","backdrop","labelPadding","_this$options7","_this$options8","_this$options8$ticks","findIndex","_computeGridLineItems","drawLine","setLineDash","lineDashOffset","lastLineWidth","_computeLabelArea","_computeLabelItems","_this$options9","_titleArgs","titleX","titleY","_positionAxisID","titleArgs","drawBackground","drawGrid","drawTitle","drawLabels","_this9","tz","gz","axisID","TypedRegistry","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","routes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","Registry","_typedRegistries","_each","_len2","_key2","_len4","_key4","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len10","_key10","typedRegistry","_this10","arg","reg","_getRegistryForType","isForType","_exec","itemReg","component","camelMethod","PluginService","_init","hook","_createDescriptors","_step10","_iterator10","plugin","_oldCache","_notifyStateChanges","getPlugin","_i2","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","some","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","datasetType","additionalOptionScopes","mainScope","resetCache","keyLists","_cachedScopes","_getResolver","getResolver","subPrefixes","needContext","subResolver","_step11","_iterator11","_getResolver2","resolverCache","_step12","_descriptors2","_iterator12","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","animationOptions","onComplete","onAnimationProgress","onProgress","getCanvas","instances","getChart","moveNumericKeys","_i3","intKey","userConfig","_this11","initialCanvas","existingChart","chartOptionScopes","OffscreenCanvas","_detectPlatform","updateConfig","acquireContext","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","_doResize","resizeDelay","listen","_initialize","_this$options10","bindEvents","_resizeBeforeDraw","_resize","newSize","getMaximumSize","newRatio","onResize","axisOptions","_this12","scaleOpts","updated","isRadial","dposition","dtype","scaleType","getScale","init","hasUpdated","_destroyDatasetMeta","_this13","newControllers","_removeUnreferencedMetasets","order","updateIndex","ControllerClass","getController","_defaults$datasets$ty","_updateMetasets","_this14","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","buildOrUpdateControllers","buildOrUpdateElements","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","_this15","ensureScalesHaveIDs","buildOrUpdateScales","existingEvents","newEvents","unbindEvents","_step13","_iterator13","_getUniformDataChanges","_ref6","datasetCount","makeSet","changeSet","_this16","noArea","_this16$_layers","_idx","_i4","_ilen","_updateDataset","_this$_resizeBeforeDr","layers","_drawDatasets","_drawDataset","useClip","setDatasetVisibility","_updateVisibility","_destroy","_stop","releaseContext","_this$canvas","bindUserEvents","bindResponsiveEvents","_this17","_add","_this18","detached","_remove","isAttached","_this19","activeElements","_this20","lastActive","_ref7","replay","hoverOptions","deactivated","activated","updateHoverStyle","_this21","inChartArea","eventFilter","_handleEvent","_this$_active","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","getElementsAtEventForMode","clipArc","pixelMargin","angleMargin","parseBorderRadius$1","angleDelta","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","outerStart","outerEnd","innerStart","innerEnd","rThetaToXY","theta","pathArc","innerR","spacingOffset","alpha","avNogSpacingRadius","angleOffset","_parseBorderRadius$","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","_pCenter","_pCenter2","p8","_pCenter3","inner","lineJoin","fullCircles","drawFullCircleBorders","unregister","_Element2","ArcElement","_super12","_this22","chartX","chartY","_getAngleFromPoint2","_this$getProps2","rAdjust","betweenAngles","withinRadius","_this$getProps3","_this$options11","halfAngle","halfRadius","radiusOffset","drawArc","setStyle","lineCap","pathVars","_params$start","paramsStart","_params$end","paramsEnd","segmentStart","segmentEnd","outside","_pathVars","lineMethod","stepped","getLineMethod","_ref8","_ref8$move","fastPathSegment","prevX","lastY","_pathVars2","_ref9","_ref9$move","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","path","_path","strokePathWithCache","_step14","segmentMethod","_iterator14","strokePathDirect","_Element3","LineElement","_super13","_this23","_points","_segments","_pointsUpdated","_findStartAndEnd","findStartAndEnd","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","_segments$i","interpolated","_step15","_iterator15","inRange$1","hitRadius","_Element4","PointElement","_super14","_this24","mouseX","mouseY","_this$getProps4","_this$getProps5","hoverRadius","getBarBounds","bar","half","_bar$getProps","skipOrLimit","boundingRects","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","outer","_inRange","skipX","skipY","addNormalRectPath","inflateRect","refRect","_Element5","BarElement","_super15","_this25","_this$options12","_boundingRects","addRectPath","_this$getProps6","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","_getStartAndCountOfVi2","_iScale$getUserBounds2","getStartAndCountOfVisiblePointsSimplified","threshold","decimated","samples","maxAreaPoint","maxArea","nextA","bucketWidth","sampledIndex","endIndex","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","_data$a","pointAx","pointAy","lttbDecimation","minIndex","maxIndex","startIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","minMaxDecimation","decodeFill","fillOption","parseFillOption","simpleArc","computeBoundary","computeCircularBoundary","_source$scale","computeLinearBoundary","findSegmentEnd","addPointsBelow","sourcePoint","linesBelow","postponed","_findPoint","findPoint","interpolate","pointValue","linePoints","firstValue","lastValue","getLineByIndex","sourcePoints","below","getLinesBelow","createBoundaryLine","buildStackLine","boundary","_ref10","_ref10$x","_ref10$y","_ref11","pointsFromSegments","resolveTarget","propagate","visited","clipY","lineLoop","_step16","_iterator16","pathSegment","getBounds","_getEdge","clipBounds","_scale$chart$chartAre","_ref12","interpolatedLineTo","interpolatedPoint","_fill","_step20","_step17","tpoints","_iterator17","_step18","_iterator18","_step19","tgt","subBounds","_iterator19","fillSource","_iterator20","_ref14","_src$style","_src$style$background","notShape","targetLoop","drawfill","lineOpts","_ref15","_ref15$above","above","_ref15$below","doFill","plugin_filler","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","_labelOpts$boxHeight","boxHeight","_labelOpts$boxWidth","boxWidth","usePointStyle","itemHeight","_Element6","Legend","_super16","_this26","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","_this27","labelFont","_computeTitleHeight","_getBoxSize","_fitRows","_fitCols","hitboxes","totalHeight","heightLimit","totalWidth","currentColWidth","currentColHeight","col","_this$options13","rtlHelper","_step21","_iterator21","hitbox","_step22","_iterator22","_hitbox","_draw","cursor","_this28","defaultColor","fontColor","halfFontSize","_getBoxSize2","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","lh","onLeave","isListened","hoveredItem","_getLegendItemAt","sameItem","plugin_legend","_element","adjustHitBoxes","afterEvent","ci","_chart$legend$options","_Element7","Title","_super17","_this29","_padding","textSize","fontOpts","_this$_drawArgs","_drawArgs","plugin_title","titleBlock","createTitle","plugin_subtitle","positioners","average","hasValue","tooltipPosition","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","getTooltipSize","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","before","after","beforeBody","afterBody","titleSpacing","titleMarginBottom","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","_chart$chartArea","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","paddingAndSize","_toTRBLCorners","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","_Element8","Tooltip","_super18","_this30","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","beforeTitle","afterTitle","_this31","bodyItems","scoped","beforeLabel","afterLabel","beforeFooter","afterFooter","_controller$getLabelA","_this32","getLabelAndValue","itemSort","labelColor","labelPointStyle","labelTextColor","_createItems","getTitle","getBeforeBody","getAfterBody","getFooter","positionAndSize","backgroundPoint","external","tooltipPoint","caretPosition","getCaretPosition","x3","y3","_toTRBLCorners2","ptX","ptY","titleColor","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","textColor","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","bodyColor","_drawColorBox","footerAlign","footerColor","tooltipSize","_toTRBLCorners3","drawCaret","quadraticCurveTo","animX","animY","_updateAnimationTarget","hasTooltipContent","globalAlpha","drawBody","drawFooter","_this33","_ref16","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","Decimation","Filler","SubTitle","findOrAddLabel","addedLabels","addIfString","_Scale","CategoryScale","_super19","_this34","_startValue","_valueRange","_addedLabels","_step23","_iterator23","_ref18","_this$getUserBounds2","_this$getMinMax","getDecimalForPixel","generateTicks$1","generationOptions","dataRange","niceMin","niceMax","numSpaces","rounded","maxTicks","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","minSpacing","decimalPlaces","relativeLabelSize","_ref19","_Scale2","LinearScaleBase","_super20","_this35","_endValue","_this$getUserBounds3","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","computeTickLimit","getTickLimit","_maxDigits","_LinearScaleBase","LinearScale","_super21","_this$getMinMax2","handleTickRangeOptions","isMajor","tickVal","_Scale3","LogarithmicScale","_super22","_this36","_zero","_this$getMinMax3","_this$getUserBounds4","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","fitWithPointLabels","limits","valueCount","_pointLabels","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","getPointPosition","drawingArea","plFont","updateLimits","setCenterPoint","_pointLabelItems","extra","outerDistance","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","buildPointLabelItems","hLimits","vLimits","pathRadiusLine","_LinearScaleBase2","RadialLinearScale","_super23","_this37","_this$getMinMax4","_this38","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","_this$_pointLabelItem","_this$options14","_this39","_scale$_pointLabelIte","drawPointLabels","gridLineOpts","drawRadiusLine","_this40","animate","INTERVALS","millisecond","common","steps","quarter","UNITS","sorter","_parse","_adapter","_scale$_parseOpts","_parseOpts","isoWeekday","startOf","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","timestamps","_lookup2","ticksFromTimestamps","majorUnit","setMajorTicks","_Scale4","TimeScale","_super24","_this41","_unit","_majorUnit","_offsets","_normalized","formats","normalized","_this$getUserBounds5","_applyBounds","_getLabelBounds","endOf","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","getDecimalForValue","hasWeekday","getDataTimestamps","datetime","minorFormat","majorFormat","_tickFormatFunction","offsets","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","_getLabelSize","prevSource","nextSource","prevTarget","nextTarget","_lookupByKey2","_table$lo","_table$hi","_lookupByKey3","_table$lo2","_table$hi2","span","TimeSeriesScale","_TimeScale","_super25","_this42","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables","requiredArgs","required","argument","argStr","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","token","tokenValue","addSuffix","comparison","buildFormatLongFn","defaultWidth","full","long","medium","short","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_baseDate","buildLocalizeFn","dirtyIndex","dirtyOptions","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","argumentCallback","ordinalNumber","dirtyNumber","rem100","era","narrow","abbreviated","wide","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchResult","matchedString","parsePatterns","defaultParseWidth","pattern","findKey","valueCallback","predicate","parsePattern","parseResult","any","formatDistance","formatLong","formatRelative","localize","weekStartsOn","firstWeekContainsDate","toInteger","addMilliseconds","dirtyDate","dirtyAmount","subMilliseconds","dirtyObject","dateLongFormatter","timeLongFormatter","longFormatters","dateTimeFormat","datePattern","timePattern","getTimezoneOffsetInMilliseconds","utcDate","UTC","getFullYear","setUTCFullYear","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","RangeError","startOfUTCWeek","localeWeekStartsOn","defaultWeekStartsOn","getUTCDay","setUTCDate","getUTCDate","setUTCHours","getUTCWeekYear","getUTCFullYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","startOfNextYear","firstWeekOfThisYear","startOfThisYear","setUTCDay","dirtyDay","currentDay","remainder","dayIndex","startOfUTCISOWeek","getUTCISOWeekYear","fourthOfJanuaryOfNextYear","fourthOfJanuaryOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","getUTCISOWeek","startOfUTCWeekYear","firstWeek","getUTCWeek","numericPatterns","timezonePatterns","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","enumValue","normalizeTwoDigitYear","twoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","parsers","priority","incompatibleTokens","isTwoDigitYear","validate","normalizedTwoDigitYear","_match","_flags","firstWeekOfYear","setUTCMonth","q","dirtyWeek","setUTCWeek","dirtyISOWeek","isoWeek","setUTCISOWeek","subPriority","isLeapYear","getUTCMonth","wholeWeekDays","setUTCISODay","isPM","getUTCHours","hours","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","timestampIsSet","_token","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","notWhitespaceRegExp","unescapedLatinCharacterRegExp","dateToSystemTimezone","convertedDate","setFullYear","setHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","cleanEscapedString","millisecondsInMinute","millisecondsInHour","patterns","dateTimeDelimiter","timeZoneDelimiter","timezone","dateRegex","timeRegex","timezoneRegex","splitDateString","dateString","timeString","dateStrings","parseYear","additionalDigits","regex","captures","restDateString","century","parseDate","isWeekDate","dayOfYear","parseDateUnit","_year","validateWeekDate","isoWeekYear","fourthOfJanuaryDay","dayOfISOWeekYear","daysInMonths","validateDate","validateDayOfYearDate","parseTime","parseTimeUnit","minutes","seconds","validateTime","parseTimezone","timezoneString","_hours","validateTimezone","isValid","MILLISECONDS_IN_DAY","addLeadingZeros","targetLength","output","signedYear","dayPeriodEnumValue","numberOfDigits","milliseconds","dayPeriodEnum","lightFormatters","signedWeekYear","weekYear","startOfYearTimestamp","difference","getUTCDayOfYear","localDayOfWeek","isoDayOfWeek","_localize","timezoneOffset","_originalDate","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","originalDate","dirtyDelimiter","absOffset","delimiter","addDays","setDate","addMonths","dayOfMonth","endOfDesiredMonth","setMonth","daysInMonth","differenceInMilliseconds","dateLeft","dateRight","roundingMap","trunc","getRoundingMethod","startOfDay","differenceInCalendarDays","dirtyDateLeft","dirtyDateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","compareLocalAsc","differenceInDays","isLastDayNotFull","differenceInCalendarMonths","yearDiff","monthDiff","compareAsc","endOfDay","endOfMonth","isLastDayOfMonth","differenceInMonths","isLastMonthNotFull","differenceInCalendarYears","startOfWeek","FORMATS","fmt","dirtyDateString","dirtyFormatString","dirtyReferenceDate","formatString","subFnOptions","setters","tokens","firstCharacter","longFormatter","usedTokens","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","incompatibleToken","usedToken","fullToken","uniquePrioritySetters","setter","setterArray","parseYearResult","parseISO","dirtyFormatStr","formatStr","formatterOptions","addSeconds","addMinutes","addHours","addWeeks","addQuarters","addYears","roundingMethod","differenceInSeconds","differenceInMinutes","differenceInHours","differenceInWeeks","differenceInQuarters","isLastYearNotFull","differenceInYears","setMilliseconds","startOfSecond","setSeconds","startOfMinute","setMinutes","startOfHour","startOfMonth","currentMonth","startOfQuarter","cleanDate","startOfYear","endOfSecond","endOfMinute","endOfHour","endOfWeek","endOfQuarter","endOfYear","AttachmentUpload","directUploadUrl","directUploadDidComplete","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate"],"mappings":"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","file":"js/application-9e8b85e08c6942067b7b.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 = 10);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/*!\n * Chartkick.js\n * Create beautiful charts with one line of JavaScript\n * https://github.com/ankane/chartkick.js\n * v4.1.1\n * MIT License\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Chartkick = factory());\n})(this, function () {\n 'use strict';\n\n function isArray(variable) {\n return Object.prototype.toString.call(variable) === \"[object Array]\";\n }\n\n function isFunction(variable) {\n return variable instanceof Function;\n }\n\n function isPlainObject(variable) {\n // protect against prototype pollution, defense 2\n return Object.prototype.toString.call(variable) === \"[object Object]\" && !isFunction(variable) && variable instanceof Object;\n } // https://github.com/madrobby/zepto/blob/master/src/zepto.js\n\n\n function extend(target, source) {\n var key;\n\n for (key in source) {\n // protect against prototype pollution, defense 1\n if (key === \"__proto__\") {\n continue;\n }\n\n if (isPlainObject(source[key]) || isArray(source[key])) {\n if (isPlainObject(source[key]) && !isPlainObject(target[key])) {\n target[key] = {};\n }\n\n if (isArray(source[key]) && !isArray(target[key])) {\n target[key] = [];\n }\n\n extend(target[key], source[key]);\n } else if (source[key] !== undefined) {\n target[key] = source[key];\n }\n }\n }\n\n function merge(obj1, obj2) {\n var target = {};\n extend(target, obj1);\n extend(target, obj2);\n return target;\n }\n\n var DATE_PATTERN = /^(\\d\\d\\d\\d)(-)?(\\d\\d)(-)?(\\d\\d)$/i;\n\n function negativeValues(series) {\n var i, j, data;\n\n for (i = 0; i < series.length; i++) {\n data = series[i].data;\n\n for (j = 0; j < data.length; j++) {\n if (data[j][1] < 0) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n function toStr(n) {\n return \"\" + n;\n }\n\n function toFloat(n) {\n return parseFloat(n);\n }\n\n function toDate(n) {\n var matches, year, month, day;\n\n if (_typeof(n) !== \"object\") {\n if (typeof n === \"number\") {\n n = new Date(n * 1000); // ms\n } else {\n n = toStr(n);\n\n if (matches = n.match(DATE_PATTERN)) {\n year = parseInt(matches[1], 10);\n month = parseInt(matches[3], 10) - 1;\n day = parseInt(matches[5], 10);\n return new Date(year, month, day);\n } else {\n // try our best to get the str into iso8601\n // TODO be smarter about this\n var str = n.replace(/ /, \"T\").replace(\" \", \"\").replace(\"UTC\", \"Z\"); // Date.parse returns milliseconds if valid and NaN if invalid\n\n n = new Date(Date.parse(str) || n);\n }\n }\n }\n\n return n;\n }\n\n function toArr(n) {\n if (!isArray(n)) {\n var arr = [],\n i;\n\n for (i in n) {\n if (n.hasOwnProperty(i)) {\n arr.push([i, n[i]]);\n }\n }\n\n n = arr;\n }\n\n return n;\n }\n\n function jsOptionsFunc(defaultOptions, hideLegend, setTitle, setMin, setMax, setStacked, setXtitle, setYtitle) {\n return function (chart, opts, chartOptions) {\n var series = chart.data;\n var options = merge({}, defaultOptions);\n options = merge(options, chartOptions || {});\n\n if (chart.singleSeriesFormat || \"legend\" in opts) {\n hideLegend(options, opts.legend, chart.singleSeriesFormat);\n }\n\n if (opts.title) {\n setTitle(options, opts.title);\n } // min\n\n\n if (\"min\" in opts) {\n setMin(options, opts.min);\n } else if (!negativeValues(series)) {\n setMin(options, 0);\n } // max\n\n\n if (opts.max) {\n setMax(options, opts.max);\n }\n\n if (\"stacked\" in opts) {\n setStacked(options, opts.stacked);\n }\n\n if (opts.colors) {\n options.colors = opts.colors;\n }\n\n if (opts.xtitle) {\n setXtitle(options, opts.xtitle);\n }\n\n if (opts.ytitle) {\n setYtitle(options, opts.ytitle);\n } // merge library last\n\n\n options = merge(options, opts.library || {});\n return options;\n };\n }\n\n function sortByTime(a, b) {\n return a[0].getTime() - b[0].getTime();\n }\n\n function sortByNumberSeries(a, b) {\n return a[0] - b[0];\n }\n\n function sortByNumber(a, b) {\n return a - b;\n }\n\n function isMinute(d) {\n return d.getMilliseconds() === 0 && d.getSeconds() === 0;\n }\n\n function isHour(d) {\n return isMinute(d) && d.getMinutes() === 0;\n }\n\n function isDay(d) {\n return isHour(d) && d.getHours() === 0;\n }\n\n function isWeek(d, dayOfWeek) {\n return isDay(d) && d.getDay() === dayOfWeek;\n }\n\n function isMonth(d) {\n return isDay(d) && d.getDate() === 1;\n }\n\n function isYear(d) {\n return isMonth(d) && d.getMonth() === 0;\n }\n\n function isDate(obj) {\n return !isNaN(toDate(obj)) && toStr(obj).length >= 6;\n }\n\n function isNumber(obj) {\n return typeof obj === \"number\";\n }\n\n var byteSuffixes = [\"bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"];\n\n function formatValue(pre, value, options, axis) {\n pre = pre || \"\";\n\n if (options.prefix) {\n if (value < 0) {\n value = value * -1;\n pre += \"-\";\n }\n\n pre += options.prefix;\n }\n\n var suffix = options.suffix || \"\";\n var precision = options.precision;\n var round = options.round;\n\n if (options.byteScale) {\n var suffixIdx;\n var baseValue = axis ? options.byteScale : value;\n\n if (baseValue >= 1152921504606846976) {\n value /= 1152921504606846976;\n suffixIdx = 6;\n } else if (baseValue >= 1125899906842624) {\n value /= 1125899906842624;\n suffixIdx = 5;\n } else if (baseValue >= 1099511627776) {\n value /= 1099511627776;\n suffixIdx = 4;\n } else if (baseValue >= 1073741824) {\n value /= 1073741824;\n suffixIdx = 3;\n } else if (baseValue >= 1048576) {\n value /= 1048576;\n suffixIdx = 2;\n } else if (baseValue >= 1024) {\n value /= 1024;\n suffixIdx = 1;\n } else {\n suffixIdx = 0;\n } // TODO handle manual precision case\n\n\n if (precision === undefined && round === undefined) {\n if (value >= 1023.5) {\n if (suffixIdx < byteSuffixes.length - 1) {\n value = 1.0;\n suffixIdx += 1;\n }\n }\n\n precision = value >= 1000 ? 4 : 3;\n }\n\n suffix = \" \" + byteSuffixes[suffixIdx];\n }\n\n if (precision !== undefined && round !== undefined) {\n throw Error(\"Use either round or precision, not both\");\n }\n\n if (!axis) {\n if (precision !== undefined) {\n value = value.toPrecision(precision);\n\n if (!options.zeros) {\n value = parseFloat(value);\n }\n }\n\n if (round !== undefined) {\n if (round < 0) {\n var num = Math.pow(10, -1 * round);\n value = parseInt((1.0 * value / num).toFixed(0)) * num;\n } else {\n value = value.toFixed(round);\n\n if (!options.zeros) {\n value = parseFloat(value);\n }\n }\n }\n }\n\n if (options.thousands || options.decimal) {\n value = toStr(value);\n var parts = value.split(\".\");\n value = parts[0];\n\n if (options.thousands) {\n value = value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, options.thousands);\n }\n\n if (parts.length > 1) {\n value += (options.decimal || \".\") + parts[1];\n }\n }\n\n return pre + value + suffix;\n }\n\n function seriesOption(chart, series, option) {\n if (option in series) {\n return series[option];\n } else if (option in chart.options) {\n return chart.options[option];\n }\n\n return null;\n }\n\n function allZeros(data) {\n var i, j, d;\n\n for (i = 0; i < data.length; i++) {\n d = data[i].data;\n\n for (j = 0; j < d.length; j++) {\n if (d[j][1] != 0) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n var baseOptions = {\n maintainAspectRatio: false,\n animation: false,\n plugins: {\n legend: {},\n tooltip: {\n displayColors: false,\n callbacks: {}\n },\n title: {\n font: {\n size: 20\n },\n color: \"#333\"\n }\n },\n interaction: {}\n };\n var defaultOptions$2 = {\n scales: {\n y: {\n ticks: {\n maxTicksLimit: 4\n },\n title: {\n font: {\n size: 16\n },\n color: \"#333\"\n },\n grid: {}\n },\n x: {\n grid: {\n drawOnChartArea: false\n },\n title: {\n font: {\n size: 16\n },\n color: \"#333\"\n },\n time: {},\n ticks: {}\n }\n }\n }; // http://there4.io/2012/05/02/google-chart-color-list/\n\n var defaultColors = [\"#3366CC\", \"#DC3912\", \"#FF9900\", \"#109618\", \"#990099\", \"#3B3EAC\", \"#0099C6\", \"#DD4477\", \"#66AA00\", \"#B82E2E\", \"#316395\", \"#994499\", \"#22AA99\", \"#AAAA11\", \"#6633CC\", \"#E67300\", \"#8B0707\", \"#329262\", \"#5574A6\", \"#651067\"];\n\n var hideLegend$2 = function hideLegend$2(options, legend, hideLegend) {\n if (legend !== undefined) {\n options.plugins.legend.display = !!legend;\n\n if (legend && legend !== true) {\n options.plugins.legend.position = legend;\n }\n } else if (hideLegend) {\n options.plugins.legend.display = false;\n }\n };\n\n var setTitle$2 = function setTitle$2(options, title) {\n options.plugins.title.display = true;\n options.plugins.title.text = title;\n };\n\n var setMin$2 = function setMin$2(options, min) {\n if (min !== null) {\n options.scales.y.min = toFloat(min);\n }\n };\n\n var setMax$2 = function setMax$2(options, max) {\n options.scales.y.max = toFloat(max);\n };\n\n var setBarMin$1 = function setBarMin$1(options, min) {\n if (min !== null) {\n options.scales.x.min = toFloat(min);\n }\n };\n\n var setBarMax$1 = function setBarMax$1(options, max) {\n options.scales.x.max = toFloat(max);\n };\n\n var setStacked$2 = function setStacked$2(options, stacked) {\n options.scales.x.stacked = !!stacked;\n options.scales.y.stacked = !!stacked;\n };\n\n var setXtitle$2 = function setXtitle$2(options, title) {\n options.scales.x.title.display = true;\n options.scales.x.title.text = title;\n };\n\n var setYtitle$2 = function setYtitle$2(options, title) {\n options.scales.y.title.display = true;\n options.scales.y.title.text = title;\n }; // https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb\n\n\n var addOpacity = function addOpacity(hex, opacity) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? \"rgba(\" + parseInt(result[1], 16) + \", \" + parseInt(result[2], 16) + \", \" + parseInt(result[3], 16) + \", \" + opacity + \")\" : hex;\n }; // check if not null or undefined\n // https://stackoverflow.com/a/27757708/1177228\n\n\n var notnull = function notnull(x) {\n return x != null;\n };\n\n var setLabelSize = function setLabelSize(chart, data, options) {\n var maxLabelSize = Math.ceil(chart.element.offsetWidth / 4.0 / data.labels.length);\n\n if (maxLabelSize > 25) {\n maxLabelSize = 25;\n } else if (maxLabelSize < 10) {\n maxLabelSize = 10;\n }\n\n if (!options.scales.x.ticks.callback) {\n options.scales.x.ticks.callback = function (value) {\n value = toStr(this.getLabelForValue(value));\n\n if (value.length > maxLabelSize) {\n return value.substring(0, maxLabelSize - 2) + \"...\";\n } else {\n return value;\n }\n };\n }\n };\n\n var setFormatOptions$1 = function setFormatOptions$1(chart, options, chartType) {\n var formatOptions = {\n prefix: chart.options.prefix,\n suffix: chart.options.suffix,\n thousands: chart.options.thousands,\n decimal: chart.options.decimal,\n precision: chart.options.precision,\n round: chart.options.round,\n zeros: chart.options.zeros\n };\n\n if (chart.options.bytes) {\n var series = chart.data;\n\n if (chartType === \"pie\") {\n series = [{\n data: series\n }];\n } // calculate max\n\n\n var max = 0;\n\n for (var i = 0; i < series.length; i++) {\n var s = series[i];\n\n for (var j = 0; j < s.data.length; j++) {\n if (s.data[j][1] > max) {\n max = s.data[j][1];\n }\n }\n } // calculate scale\n\n\n var scale = 1;\n\n while (max >= 1024) {\n scale *= 1024;\n max /= 1024;\n } // set step size\n\n\n formatOptions.byteScale = scale;\n }\n\n if (chartType !== \"pie\") {\n var axis = options.scales.y;\n\n if (chartType === \"bar\") {\n axis = options.scales.x;\n }\n\n if (formatOptions.byteScale) {\n if (!axis.ticks.stepSize) {\n axis.ticks.stepSize = formatOptions.byteScale / 2;\n }\n\n if (!axis.ticks.maxTicksLimit) {\n axis.ticks.maxTicksLimit = 4;\n }\n }\n\n if (!axis.ticks.callback) {\n axis.ticks.callback = function (value) {\n return formatValue(\"\", value, formatOptions, true);\n };\n }\n }\n\n if (!options.plugins.tooltip.callbacks.label) {\n if (chartType === \"scatter\") {\n options.plugins.tooltip.callbacks.label = function (context) {\n var label = context.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n\n return label + '(' + context.label + ', ' + context.formattedValue + ')';\n };\n } else if (chartType === \"bubble\") {\n options.plugins.tooltip.callbacks.label = function (context) {\n var label = context.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n\n var dataPoint = context.raw;\n return label + '(' + dataPoint.x + ', ' + dataPoint.y + ', ' + dataPoint.v + ')';\n };\n } else if (chartType === \"pie\") {\n // need to use separate label for pie charts\n options.plugins.tooltip.callbacks.label = function (context) {\n var dataLabel = context.label;\n var value = ': ';\n\n if (isArray(dataLabel)) {\n // show value on first line of multiline label\n // need to clone because we are changing the value\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n\n return formatValue(dataLabel, context.parsed, formatOptions);\n };\n } else {\n var valueLabel = chartType === \"bar\" ? \"x\" : \"y\";\n\n options.plugins.tooltip.callbacks.label = function (context) {\n // don't show null values for stacked charts\n if (context.parsed[valueLabel] === null) {\n return;\n }\n\n var label = context.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n\n return formatValue(label, context.parsed[valueLabel], formatOptions);\n };\n }\n }\n };\n\n var jsOptions$2 = jsOptionsFunc(merge(baseOptions, defaultOptions$2), hideLegend$2, setTitle$2, setMin$2, setMax$2, setStacked$2, setXtitle$2, setYtitle$2);\n\n var createDataTable = function createDataTable(chart, options, chartType) {\n var datasets = [];\n var labels = [];\n var colors = chart.options.colors || defaultColors;\n var day = true;\n var week = true;\n var dayOfWeek;\n var month = true;\n var year = true;\n var hour = true;\n var minute = true;\n var series = chart.data;\n var max = 0;\n\n if (chartType === \"bubble\") {\n for (var i$1 = 0; i$1 < series.length; i$1++) {\n var s$1 = series[i$1];\n\n for (var j$1 = 0; j$1 < s$1.data.length; j$1++) {\n if (s$1.data[j$1][2] > max) {\n max = s$1.data[j$1][2];\n }\n }\n }\n }\n\n var i,\n j,\n s,\n d,\n key,\n rows = [],\n rows2 = [];\n\n if (chartType === \"bar\" || chartType === \"column\" || chart.xtype !== \"number\" && chart.xtype !== \"bubble\") {\n var sortedLabels = [];\n\n for (i = 0; i < series.length; i++) {\n s = series[i];\n\n for (j = 0; j < s.data.length; j++) {\n d = s.data[j];\n key = chart.xtype == \"datetime\" ? d[0].getTime() : d[0];\n\n if (!rows[key]) {\n rows[key] = new Array(series.length);\n }\n\n rows[key][i] = toFloat(d[1]);\n\n if (sortedLabels.indexOf(key) === -1) {\n sortedLabels.push(key);\n }\n }\n }\n\n if (chart.xtype === \"datetime\" || chart.xtype === \"number\") {\n sortedLabels.sort(sortByNumber);\n }\n\n for (j = 0; j < series.length; j++) {\n rows2.push([]);\n }\n\n var value;\n var k;\n\n for (k = 0; k < sortedLabels.length; k++) {\n i = sortedLabels[k];\n\n if (chart.xtype === \"datetime\") {\n value = new Date(toFloat(i)); // TODO make this efficient\n\n day = day && isDay(value);\n\n if (!dayOfWeek) {\n dayOfWeek = value.getDay();\n }\n\n week = week && isWeek(value, dayOfWeek);\n month = month && isMonth(value);\n year = year && isYear(value);\n hour = hour && isHour(value);\n minute = minute && isMinute(value);\n } else {\n value = i;\n }\n\n labels.push(value);\n\n for (j = 0; j < series.length; j++) {\n // Chart.js doesn't like undefined\n rows2[j].push(rows[i][j] === undefined ? null : rows[i][j]);\n }\n }\n } else {\n for (var i$2 = 0; i$2 < series.length; i$2++) {\n var s$2 = series[i$2];\n var d$1 = [];\n\n for (var j$2 = 0; j$2 < s$2.data.length; j$2++) {\n var point = {\n x: toFloat(s$2.data[j$2][0]),\n y: toFloat(s$2.data[j$2][1])\n };\n\n if (chartType === \"bubble\") {\n point.r = toFloat(s$2.data[j$2][2]) * 20 / max; // custom attribute, for tooltip\n\n point.v = s$2.data[j$2][2];\n }\n\n d$1.push(point);\n }\n\n rows2.push(d$1);\n }\n }\n\n var color;\n var backgroundColor;\n\n for (i = 0; i < series.length; i++) {\n s = series[i]; // use colors for each bar for single series format\n\n if (chart.options.colors && chart.singleSeriesFormat && (chartType === \"bar\" || chartType === \"column\") && !s.color && isArray(chart.options.colors) && !isArray(chart.options.colors[0])) {\n color = colors;\n backgroundColor = [];\n\n for (var j$3 = 0; j$3 < colors.length; j$3++) {\n backgroundColor[j$3] = addOpacity(color[j$3], 0.5);\n }\n } else {\n color = s.color || colors[i];\n backgroundColor = chartType !== \"line\" ? addOpacity(color, 0.5) : color;\n }\n\n var dataset = {\n label: s.name || \"\",\n data: rows2[i],\n fill: chartType === \"area\",\n borderColor: color,\n backgroundColor: backgroundColor,\n borderWidth: 2\n };\n var pointChart = chartType === \"line\" || chartType === \"area\" || chartType === \"scatter\" || chartType === \"bubble\";\n\n if (pointChart) {\n dataset.pointBackgroundColor = color;\n dataset.pointHoverBackgroundColor = color;\n dataset.pointHitRadius = 50;\n }\n\n if (chartType === \"bubble\") {\n dataset.pointBackgroundColor = backgroundColor;\n dataset.pointHoverBackgroundColor = backgroundColor;\n dataset.pointHoverBorderWidth = 2;\n }\n\n if (s.stack) {\n dataset.stack = s.stack;\n }\n\n var curve = seriesOption(chart, s, \"curve\");\n\n if (curve === false) {\n dataset.tension = 0;\n } else if (pointChart) {\n dataset.tension = 0.4;\n }\n\n var points = seriesOption(chart, s, \"points\");\n\n if (points === false) {\n dataset.pointRadius = 0;\n dataset.pointHoverRadius = 0;\n }\n\n dataset = merge(dataset, chart.options.dataset || {});\n dataset = merge(dataset, s.library || {});\n dataset = merge(dataset, s.dataset || {});\n datasets.push(dataset);\n }\n\n var xmin = chart.options.xmin;\n var xmax = chart.options.xmax;\n\n if (chart.xtype === \"datetime\") {\n if (notnull(xmin)) {\n options.scales.x.min = toDate(xmin).getTime();\n }\n\n if (notnull(xmax)) {\n options.scales.x.max = toDate(xmax).getTime();\n }\n } else if (chart.xtype === \"number\") {\n if (notnull(xmin)) {\n options.scales.x.min = xmin;\n }\n\n if (notnull(xmax)) {\n options.scales.x.max = xmax;\n }\n } // for empty datetime chart\n\n\n if (chart.xtype === \"datetime\" && labels.length === 0) {\n if (notnull(xmin)) {\n labels.push(toDate(xmin));\n }\n\n if (notnull(xmax)) {\n labels.push(toDate(xmax));\n }\n\n day = false;\n week = false;\n month = false;\n year = false;\n hour = false;\n minute = false;\n }\n\n if (chart.xtype === \"datetime\" && labels.length > 0) {\n var minTime = (notnull(xmin) ? toDate(xmin) : labels[0]).getTime();\n var maxTime = (notnull(xmax) ? toDate(xmax) : labels[0]).getTime();\n\n for (i = 1; i < labels.length; i++) {\n var value$1 = labels[i].getTime();\n\n if (value$1 < minTime) {\n minTime = value$1;\n }\n\n if (value$1 > maxTime) {\n maxTime = value$1;\n }\n }\n\n var timeDiff = (maxTime - minTime) / (86400 * 1000.0);\n\n if (!options.scales.x.time.unit) {\n var step;\n\n if (year || timeDiff > 365 * 10) {\n options.scales.x.time.unit = \"year\";\n step = 365;\n } else if (month || timeDiff > 30 * 10) {\n options.scales.x.time.unit = \"month\";\n step = 30;\n } else if (day || timeDiff > 10) {\n options.scales.x.time.unit = \"day\";\n step = 1;\n } else if (hour || timeDiff > 0.5) {\n options.scales.x.time.displayFormats = {\n hour: \"MMM d, h a\"\n };\n options.scales.x.time.unit = \"hour\";\n step = 1 / 24.0;\n } else if (minute) {\n options.scales.x.time.displayFormats = {\n minute: \"h:mm a\"\n };\n options.scales.x.time.unit = \"minute\";\n step = 1 / 24.0 / 60.0;\n }\n\n if (step && timeDiff > 0) {\n // width not available for hidden elements\n var width = chart.element.offsetWidth;\n\n if (width > 0) {\n var unitStepSize = Math.ceil(timeDiff / step / (width / 100.0));\n\n if (week && step === 1) {\n unitStepSize = Math.ceil(unitStepSize / 7.0) * 7;\n }\n\n options.scales.x.time.stepSize = unitStepSize;\n }\n }\n }\n\n if (!options.scales.x.time.tooltipFormat) {\n if (day) {\n options.scales.x.time.tooltipFormat = \"PP\";\n } else if (hour) {\n options.scales.x.time.tooltipFormat = \"MMM d, h a\";\n } else if (minute) {\n options.scales.x.time.tooltipFormat = \"h:mm a\";\n }\n }\n }\n\n var data = {\n labels: labels,\n datasets: datasets\n };\n return data;\n };\n\n var defaultExport$2 = function defaultExport(library) {\n this.name = \"chartjs\";\n this.library = library;\n };\n\n defaultExport$2.prototype.renderLineChart = function renderLineChart(chart, chartType) {\n var chartOptions = {}; // fix for https://github.com/chartjs/Chart.js/issues/2441\n\n if (!chart.options.max && allZeros(chart.data)) {\n chartOptions.max = 1;\n }\n\n var options = jsOptions$2(chart, merge(chartOptions, chart.options));\n setFormatOptions$1(chart, options, chartType);\n var data = createDataTable(chart, options, chartType || \"line\");\n\n if (chart.xtype === \"number\") {\n options.scales.x.type = options.scales.x.type || \"linear\";\n options.scales.x.position = options.scales.x.position || \"bottom\";\n } else {\n options.scales.x.type = chart.xtype === \"string\" ? \"category\" : \"time\";\n }\n\n this.drawChart(chart, \"line\", data, options);\n };\n\n defaultExport$2.prototype.renderPieChart = function renderPieChart(chart) {\n var options = merge({}, baseOptions);\n\n if (chart.options.donut) {\n options.cutout = \"50%\";\n }\n\n if (\"legend\" in chart.options) {\n hideLegend$2(options, chart.options.legend);\n }\n\n if (chart.options.title) {\n setTitle$2(options, chart.options.title);\n }\n\n options = merge(options, chart.options.library || {});\n setFormatOptions$1(chart, options, \"pie\");\n var labels = [];\n var values = [];\n\n for (var i = 0; i < chart.data.length; i++) {\n var point = chart.data[i];\n labels.push(point[0]);\n values.push(point[1]);\n }\n\n var dataset = {\n data: values,\n backgroundColor: chart.options.colors || defaultColors\n };\n dataset = merge(dataset, chart.options.dataset || {});\n var data = {\n labels: labels,\n datasets: [dataset]\n };\n this.drawChart(chart, \"pie\", data, options);\n };\n\n defaultExport$2.prototype.renderColumnChart = function renderColumnChart(chart, chartType) {\n var options;\n\n if (chartType === \"bar\") {\n var barOptions = merge(baseOptions, defaultOptions$2);\n barOptions.indexAxis = \"y\"; // ensure gridlines have proper orientation\n\n barOptions.scales.x.grid.drawOnChartArea = true;\n barOptions.scales.y.grid.drawOnChartArea = false;\n delete barOptions.scales.y.ticks.maxTicksLimit;\n options = jsOptionsFunc(barOptions, hideLegend$2, setTitle$2, setBarMin$1, setBarMax$1, setStacked$2, setXtitle$2, setYtitle$2)(chart, chart.options);\n } else {\n options = jsOptions$2(chart, chart.options);\n }\n\n setFormatOptions$1(chart, options, chartType);\n var data = createDataTable(chart, options, \"column\");\n\n if (chartType !== \"bar\") {\n setLabelSize(chart, data, options);\n }\n\n this.drawChart(chart, \"bar\", data, options);\n };\n\n defaultExport$2.prototype.renderAreaChart = function renderAreaChart(chart) {\n this.renderLineChart(chart, \"area\");\n };\n\n defaultExport$2.prototype.renderBarChart = function renderBarChart(chart) {\n this.renderColumnChart(chart, \"bar\");\n };\n\n defaultExport$2.prototype.renderScatterChart = function renderScatterChart(chart, chartType) {\n chartType = chartType || \"scatter\";\n var options = jsOptions$2(chart, chart.options);\n setFormatOptions$1(chart, options, chartType);\n\n if (!(\"showLine\" in options)) {\n options.showLine = false;\n }\n\n var data = createDataTable(chart, options, chartType);\n options.scales.x.type = options.scales.x.type || \"linear\";\n options.scales.x.position = options.scales.x.position || \"bottom\"; // prevent grouping hover and tooltips\n\n if (!(\"mode\" in options.interaction)) {\n options.interaction.mode = \"nearest\";\n }\n\n this.drawChart(chart, chartType, data, options);\n };\n\n defaultExport$2.prototype.renderBubbleChart = function renderBubbleChart(chart) {\n this.renderScatterChart(chart, \"bubble\");\n };\n\n defaultExport$2.prototype.destroy = function destroy(chart) {\n if (chart.chart) {\n chart.chart.destroy();\n }\n };\n\n defaultExport$2.prototype.drawChart = function drawChart(chart, type, data, options) {\n this.destroy(chart);\n\n if (chart.destroyed) {\n return;\n }\n\n var chartOptions = {\n type: type,\n data: data,\n options: options\n };\n\n if (chart.options.code) {\n window.console.log(\"new Chart(ctx, \" + JSON.stringify(chartOptions) + \");\");\n }\n\n chart.element.innerHTML = \"\";\n var ctx = chart.element.getElementsByTagName(\"CANVAS\")[0];\n chart.chart = new this.library(ctx, chartOptions);\n };\n\n var defaultOptions$1 = {\n chart: {},\n xAxis: {\n title: {\n text: null\n },\n labels: {\n style: {\n fontSize: \"12px\"\n }\n }\n },\n yAxis: {\n title: {\n text: null\n },\n labels: {\n style: {\n fontSize: \"12px\"\n }\n }\n },\n title: {\n text: null\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0\n },\n tooltip: {\n style: {\n fontSize: \"12px\"\n }\n },\n plotOptions: {\n areaspline: {},\n area: {},\n series: {\n marker: {}\n }\n },\n time: {\n useUTC: false\n }\n };\n\n var hideLegend$1 = function hideLegend$1(options, legend, hideLegend) {\n if (legend !== undefined) {\n options.legend.enabled = !!legend;\n\n if (legend && legend !== true) {\n if (legend === \"top\" || legend === \"bottom\") {\n options.legend.verticalAlign = legend;\n } else {\n options.legend.layout = \"vertical\";\n options.legend.verticalAlign = \"middle\";\n options.legend.align = legend;\n }\n }\n } else if (hideLegend) {\n options.legend.enabled = false;\n }\n };\n\n var setTitle$1 = function setTitle$1(options, title) {\n options.title.text = title;\n };\n\n var setMin$1 = function setMin$1(options, min) {\n options.yAxis.min = min;\n };\n\n var setMax$1 = function setMax$1(options, max) {\n options.yAxis.max = max;\n };\n\n var setStacked$1 = function setStacked$1(options, stacked) {\n var stackedValue = stacked ? stacked === true ? \"normal\" : stacked : null;\n options.plotOptions.series.stacking = stackedValue;\n options.plotOptions.area.stacking = stackedValue;\n options.plotOptions.areaspline.stacking = stackedValue;\n };\n\n var setXtitle$1 = function setXtitle$1(options, title) {\n options.xAxis.title.text = title;\n };\n\n var setYtitle$1 = function setYtitle$1(options, title) {\n options.yAxis.title.text = title;\n };\n\n var jsOptions$1 = jsOptionsFunc(defaultOptions$1, hideLegend$1, setTitle$1, setMin$1, setMax$1, setStacked$1, setXtitle$1, setYtitle$1);\n\n var setFormatOptions = function setFormatOptions(chart, options, chartType) {\n var formatOptions = {\n prefix: chart.options.prefix,\n suffix: chart.options.suffix,\n thousands: chart.options.thousands,\n decimal: chart.options.decimal,\n precision: chart.options.precision,\n round: chart.options.round,\n zeros: chart.options.zeros\n };\n\n if (chartType !== \"pie\" && !options.yAxis.labels.formatter) {\n options.yAxis.labels.formatter = function () {\n return formatValue(\"\", this.value, formatOptions);\n };\n }\n\n if (!options.tooltip.pointFormatter && !options.tooltip.pointFormat) {\n options.tooltip.pointFormatter = function () {\n return '\\u25CF \" + formatValue(this.series.name + ': ', this.y, formatOptions) + '
';\n };\n }\n };\n\n var defaultExport$1 = function defaultExport(library) {\n this.name = \"highcharts\";\n this.library = library;\n };\n\n defaultExport$1.prototype.renderLineChart = function renderLineChart(chart, chartType) {\n chartType = chartType || \"spline\";\n var chartOptions = {};\n\n if (chartType === \"areaspline\") {\n chartOptions = {\n plotOptions: {\n areaspline: {\n stacking: \"normal\"\n },\n area: {\n stacking: \"normal\"\n },\n series: {\n marker: {\n enabled: false\n }\n }\n }\n };\n }\n\n if (chart.options.curve === false) {\n if (chartType === \"areaspline\") {\n chartType = \"area\";\n } else if (chartType === \"spline\") {\n chartType = \"line\";\n }\n }\n\n var options = jsOptions$1(chart, chart.options, chartOptions),\n data,\n i,\n j;\n\n if (chart.xtype === \"number\") {\n options.xAxis.type = options.xAxis.type || \"linear\";\n } else {\n options.xAxis.type = chart.xtype === \"string\" ? \"category\" : \"datetime\";\n }\n\n if (!options.chart.type) {\n options.chart.type = chartType;\n }\n\n setFormatOptions(chart, options, chartType);\n var series = chart.data;\n\n for (i = 0; i < series.length; i++) {\n series[i].name = series[i].name || \"Value\";\n data = series[i].data;\n\n if (chart.xtype === \"datetime\") {\n for (j = 0; j < data.length; j++) {\n data[j][0] = data[j][0].getTime();\n }\n }\n\n series[i].marker = {\n symbol: \"circle\"\n };\n\n if (chart.options.points === false) {\n series[i].marker.enabled = false;\n }\n }\n\n this.drawChart(chart, series, options);\n };\n\n defaultExport$1.prototype.renderScatterChart = function renderScatterChart(chart) {\n var options = jsOptions$1(chart, chart.options, {});\n options.chart.type = \"scatter\";\n this.drawChart(chart, chart.data, options);\n };\n\n defaultExport$1.prototype.renderPieChart = function renderPieChart(chart) {\n var chartOptions = merge(defaultOptions$1, {});\n\n if (chart.options.colors) {\n chartOptions.colors = chart.options.colors;\n }\n\n if (chart.options.donut) {\n chartOptions.plotOptions = {\n pie: {\n innerSize: \"50%\"\n }\n };\n }\n\n if (\"legend\" in chart.options) {\n hideLegend$1(chartOptions, chart.options.legend);\n }\n\n if (chart.options.title) {\n setTitle$1(chartOptions, chart.options.title);\n }\n\n var options = merge(chartOptions, chart.options.library || {});\n setFormatOptions(chart, options, \"pie\");\n var series = [{\n type: \"pie\",\n name: chart.options.label || \"Value\",\n data: chart.data\n }];\n this.drawChart(chart, series, options);\n };\n\n defaultExport$1.prototype.renderColumnChart = function renderColumnChart(chart, chartType) {\n chartType = chartType || \"column\";\n var series = chart.data;\n var options = jsOptions$1(chart, chart.options),\n i,\n j,\n s,\n d,\n rows = [],\n categories = [];\n options.chart.type = chartType;\n setFormatOptions(chart, options, chartType);\n\n for (i = 0; i < series.length; i++) {\n s = series[i];\n\n for (j = 0; j < s.data.length; j++) {\n d = s.data[j];\n\n if (!rows[d[0]]) {\n rows[d[0]] = new Array(series.length);\n categories.push(d[0]);\n }\n\n rows[d[0]][i] = d[1];\n }\n }\n\n if (chart.xtype === \"number\") {\n categories.sort(sortByNumber);\n }\n\n options.xAxis.categories = categories;\n var newSeries = [],\n d2;\n\n for (i = 0; i < series.length; i++) {\n d = [];\n\n for (j = 0; j < categories.length; j++) {\n d.push(rows[categories[j]][i] || 0);\n }\n\n d2 = {\n name: series[i].name || \"Value\",\n data: d\n };\n\n if (series[i].stack) {\n d2.stack = series[i].stack;\n }\n\n newSeries.push(d2);\n }\n\n this.drawChart(chart, newSeries, options);\n };\n\n defaultExport$1.prototype.renderBarChart = function renderBarChart(chart) {\n this.renderColumnChart(chart, \"bar\");\n };\n\n defaultExport$1.prototype.renderAreaChart = function renderAreaChart(chart) {\n this.renderLineChart(chart, \"areaspline\");\n };\n\n defaultExport$1.prototype.destroy = function destroy(chart) {\n if (chart.chart) {\n chart.chart.destroy();\n }\n };\n\n defaultExport$1.prototype.drawChart = function drawChart(chart, data, options) {\n this.destroy(chart);\n\n if (chart.destroyed) {\n return;\n }\n\n options.chart.renderTo = chart.element.id;\n options.series = data;\n\n if (chart.options.code) {\n window.console.log(\"new Highcharts.Chart(\" + JSON.stringify(options) + \");\");\n }\n\n chart.chart = new this.library.Chart(options);\n };\n\n var loaded = {};\n var callbacks = []; // Set chart options\n\n var defaultOptions = {\n chartArea: {},\n fontName: \"'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif\",\n pointSize: 6,\n legend: {\n textStyle: {\n fontSize: 12,\n color: \"#444\"\n },\n alignment: \"center\",\n position: \"right\"\n },\n curveType: \"function\",\n hAxis: {\n textStyle: {\n color: \"#666\",\n fontSize: 12\n },\n titleTextStyle: {},\n gridlines: {\n color: \"transparent\"\n },\n baselineColor: \"#ccc\",\n viewWindow: {}\n },\n vAxis: {\n textStyle: {\n color: \"#666\",\n fontSize: 12\n },\n titleTextStyle: {},\n baselineColor: \"#ccc\",\n viewWindow: {}\n },\n tooltip: {\n textStyle: {\n color: \"#666\",\n fontSize: 12\n }\n }\n };\n\n var hideLegend = function hideLegend(options, legend, _hideLegend) {\n if (legend !== undefined) {\n var position;\n\n if (!legend) {\n position = \"none\";\n } else if (legend === true) {\n position = \"right\";\n } else {\n position = legend;\n }\n\n options.legend.position = position;\n } else if (_hideLegend) {\n options.legend.position = \"none\";\n }\n };\n\n var setTitle = function setTitle(options, title) {\n options.title = title;\n options.titleTextStyle = {\n color: \"#333\",\n fontSize: \"20px\"\n };\n };\n\n var setMin = function setMin(options, min) {\n options.vAxis.viewWindow.min = min;\n };\n\n var setMax = function setMax(options, max) {\n options.vAxis.viewWindow.max = max;\n };\n\n var setBarMin = function setBarMin(options, min) {\n options.hAxis.viewWindow.min = min;\n };\n\n var setBarMax = function setBarMax(options, max) {\n options.hAxis.viewWindow.max = max;\n };\n\n var setStacked = function setStacked(options, stacked) {\n options.isStacked = stacked ? stacked : false;\n };\n\n var setXtitle = function setXtitle(options, title) {\n options.hAxis.title = title;\n options.hAxis.titleTextStyle.italic = false;\n };\n\n var setYtitle = function setYtitle(options, title) {\n options.vAxis.title = title;\n options.vAxis.titleTextStyle.italic = false;\n };\n\n var jsOptions = jsOptionsFunc(defaultOptions, hideLegend, setTitle, setMin, setMax, setStacked, setXtitle, setYtitle);\n\n var resize = function resize(callback) {\n if (window.attachEvent) {\n window.attachEvent(\"onresize\", callback);\n } else if (window.addEventListener) {\n window.addEventListener(\"resize\", callback, true);\n }\n\n callback();\n };\n\n var defaultExport = function defaultExport(library) {\n this.name = \"google\";\n this.library = library;\n };\n\n defaultExport.prototype.renderLineChart = function renderLineChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {};\n\n if (chart.options.curve === false) {\n chartOptions.curveType = \"none\";\n }\n\n if (chart.options.points === false) {\n chartOptions.pointSize = 0;\n }\n\n var options = jsOptions(chart, chart.options, chartOptions);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"LineChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderPieChart = function renderPieChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {\n chartArea: {\n top: \"10%\",\n height: \"80%\"\n },\n legend: {}\n };\n\n if (chart.options.colors) {\n chartOptions.colors = chart.options.colors;\n }\n\n if (chart.options.donut) {\n chartOptions.pieHole = 0.5;\n }\n\n if (\"legend\" in chart.options) {\n hideLegend(chartOptions, chart.options.legend);\n }\n\n if (chart.options.title) {\n setTitle(chartOptions, chart.options.title);\n }\n\n var options = merge(merge(defaultOptions, chartOptions), chart.options.library || {});\n var data = new this$1.library.visualization.DataTable();\n data.addColumn(\"string\", \"\");\n data.addColumn(\"number\", \"Value\");\n data.addRows(chart.data);\n this$1.drawChart(chart, \"PieChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderColumnChart = function renderColumnChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var options = jsOptions(chart, chart.options);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"ColumnChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderBarChart = function renderBarChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {\n hAxis: {\n gridlines: {\n color: \"#ccc\"\n }\n }\n };\n var options = jsOptionsFunc(defaultOptions, hideLegend, setTitle, setBarMin, setBarMax, setStacked, setXtitle, setYtitle)(chart, chart.options, chartOptions);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"BarChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderAreaChart = function renderAreaChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {\n isStacked: true,\n pointSize: 0,\n areaOpacity: 0.5\n };\n var options = jsOptions(chart, chart.options, chartOptions);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"AreaChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderGeoChart = function renderGeoChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, \"geochart\", function () {\n var chartOptions = {\n legend: \"none\",\n colorAxis: {\n colors: chart.options.colors || [\"#f6c7b6\", \"#ce502d\"]\n }\n };\n var options = merge(merge(defaultOptions, chartOptions), chart.options.library || {});\n var data = new this$1.library.visualization.DataTable();\n data.addColumn(\"string\", \"\");\n data.addColumn(\"number\", chart.options.label || \"Value\");\n data.addRows(chart.data);\n this$1.drawChart(chart, \"GeoChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderScatterChart = function renderScatterChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {};\n var options = jsOptions(chart, chart.options, chartOptions);\n var series = chart.data,\n rows2 = [],\n i,\n j,\n data,\n d;\n\n for (i = 0; i < series.length; i++) {\n series[i].name = series[i].name || \"Value\";\n d = series[i].data;\n\n for (j = 0; j < d.length; j++) {\n var row = new Array(series.length + 1);\n row[0] = d[j][0];\n row[i + 1] = d[j][1];\n rows2.push(row);\n }\n }\n\n data = new this$1.library.visualization.DataTable();\n data.addColumn(\"number\", \"\");\n\n for (i = 0; i < series.length; i++) {\n data.addColumn(\"number\", series[i].name);\n }\n\n data.addRows(rows2);\n this$1.drawChart(chart, \"ScatterChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderTimeline = function renderTimeline(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, \"timeline\", function () {\n var chartOptions = {\n legend: \"none\"\n };\n\n if (chart.options.colors) {\n chartOptions.colors = chart.options.colors;\n }\n\n var options = merge(merge(defaultOptions, chartOptions), chart.options.library || {});\n var data = new this$1.library.visualization.DataTable();\n data.addColumn({\n type: \"string\",\n id: \"Name\"\n });\n data.addColumn({\n type: \"date\",\n id: \"Start\"\n });\n data.addColumn({\n type: \"date\",\n id: \"End\"\n });\n data.addRows(chart.data);\n chart.element.style.lineHeight = \"normal\";\n this$1.drawChart(chart, \"Timeline\", data, options);\n });\n }; // TODO remove resize events\n\n\n defaultExport.prototype.destroy = function destroy(chart) {\n if (chart.chart) {\n chart.chart.clearChart();\n }\n };\n\n defaultExport.prototype.drawChart = function drawChart(chart, type, data, options) {\n this.destroy(chart);\n\n if (chart.destroyed) {\n return;\n }\n\n if (chart.options.code) {\n window.console.log(\"var data = new google.visualization.DataTable(\" + data.toJSON() + \");\\nvar chart = new google.visualization.\" + type + \"(element);\\nchart.draw(data, \" + JSON.stringify(options) + \");\");\n }\n\n chart.chart = new this.library.visualization[type](chart.element);\n resize(function () {\n chart.chart.draw(data, options);\n });\n };\n\n defaultExport.prototype.waitForLoaded = function waitForLoaded(chart, pack, callback) {\n var this$1 = this;\n\n if (!callback) {\n callback = pack;\n pack = \"corechart\";\n }\n\n callbacks.push({\n pack: pack,\n callback: callback\n });\n\n if (loaded[pack]) {\n this.runCallbacks();\n } else {\n loaded[pack] = true; // https://groups.google.com/forum/#!topic/google-visualization-api/fMKJcyA2yyI\n\n var loadOptions = {\n packages: [pack],\n callback: function callback() {\n this$1.runCallbacks();\n }\n };\n\n var config = chart.__config();\n\n if (config.language) {\n loadOptions.language = config.language;\n }\n\n if (pack === \"geochart\" && config.mapsApiKey) {\n loadOptions.mapsApiKey = config.mapsApiKey;\n }\n\n this.library.charts.load(\"current\", loadOptions);\n }\n };\n\n defaultExport.prototype.runCallbacks = function runCallbacks() {\n var cb, call;\n\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n call = this.library.visualization && (cb.pack === \"corechart\" && this.library.visualization.LineChart || cb.pack === \"timeline\" && this.library.visualization.Timeline || cb.pack === \"geochart\" && this.library.visualization.GeoChart);\n\n if (call) {\n cb.callback();\n callbacks.splice(i, 1);\n i--;\n }\n }\n }; // cant use object as key\n\n\n defaultExport.prototype.createDataTable = function createDataTable(series, columnType) {\n var i,\n j,\n s,\n d,\n key,\n rows = [],\n sortedLabels = [];\n\n for (i = 0; i < series.length; i++) {\n s = series[i];\n series[i].name = series[i].name || \"Value\";\n\n for (j = 0; j < s.data.length; j++) {\n d = s.data[j];\n key = columnType === \"datetime\" ? d[0].getTime() : d[0];\n\n if (!rows[key]) {\n rows[key] = new Array(series.length);\n sortedLabels.push(key);\n }\n\n rows[key][i] = toFloat(d[1]);\n }\n }\n\n var rows2 = [];\n var day = true;\n var value;\n\n for (j = 0; j < sortedLabels.length; j++) {\n i = sortedLabels[j];\n\n if (columnType === \"datetime\") {\n value = new Date(toFloat(i));\n day = day && isDay(value);\n } else if (columnType === \"number\") {\n value = toFloat(i);\n } else {\n value = i;\n }\n\n rows2.push([value].concat(rows[i]));\n }\n\n if (columnType === \"datetime\") {\n rows2.sort(sortByTime);\n } else if (columnType === \"number\") {\n rows2.sort(sortByNumberSeries);\n\n for (i = 0; i < rows2.length; i++) {\n rows2[i][0] = toStr(rows2[i][0]);\n }\n\n columnType = \"string\";\n } // create datatable\n\n\n var data = new this.library.visualization.DataTable();\n columnType = columnType === \"datetime\" && day ? \"date\" : columnType;\n data.addColumn(columnType, \"\");\n\n for (i = 0; i < series.length; i++) {\n data.addColumn(\"number\", series[i].name);\n }\n\n data.addRows(rows2);\n return data;\n };\n\n function formatSeriesData(data, keyType) {\n var r = [],\n j,\n keyFunc;\n\n if (keyType === \"number\") {\n keyFunc = toFloat;\n } else if (keyType === \"datetime\") {\n keyFunc = toDate;\n } else {\n keyFunc = toStr;\n }\n\n if (keyType === \"bubble\") {\n for (j = 0; j < data.length; j++) {\n r.push([toFloat(data[j][0]), toFloat(data[j][1]), toFloat(data[j][2])]);\n }\n } else {\n for (j = 0; j < data.length; j++) {\n r.push([keyFunc(data[j][0]), toFloat(data[j][1])]);\n }\n }\n\n if (keyType === \"datetime\") {\n r.sort(sortByTime);\n } else if (keyType === \"number\") {\n r.sort(sortByNumberSeries);\n }\n\n return r;\n }\n\n function detectXType(series, noDatetime, options) {\n if (dataEmpty(series)) {\n if ((options.xmin || options.xmax) && (!options.xmin || isDate(options.xmin)) && (!options.xmax || isDate(options.xmax))) {\n return \"datetime\";\n } else {\n return \"number\";\n }\n } else if (detectXTypeWithFunction(series, isNumber)) {\n return \"number\";\n } else if (!noDatetime && detectXTypeWithFunction(series, isDate)) {\n return \"datetime\";\n } else {\n return \"string\";\n }\n }\n\n function detectXTypeWithFunction(series, func) {\n var i, j, data;\n\n for (i = 0; i < series.length; i++) {\n data = toArr(series[i].data);\n\n for (j = 0; j < data.length; j++) {\n if (!func(data[j][0])) {\n return false;\n }\n }\n }\n\n return true;\n } // creates a shallow copy of each element of the array\n // elements are expected to be objects\n\n\n function copySeries(series) {\n var newSeries = [],\n i,\n j;\n\n for (i = 0; i < series.length; i++) {\n var copy = {};\n\n for (j in series[i]) {\n if (series[i].hasOwnProperty(j)) {\n copy[j] = series[i][j];\n }\n }\n\n newSeries.push(copy);\n }\n\n return newSeries;\n }\n\n function processSeries(chart, keyType, noDatetime) {\n var i;\n var opts = chart.options;\n var series = chart.rawData; // see if one series or multiple\n\n chart.singleSeriesFormat = !isArray(series) || _typeof(series[0]) !== \"object\" || isArray(series[0]);\n\n if (chart.singleSeriesFormat) {\n series = [{\n name: opts.label,\n data: series\n }];\n } // convert to array\n // must come before dataEmpty check\n\n\n series = copySeries(series);\n\n for (i = 0; i < series.length; i++) {\n series[i].data = toArr(series[i].data);\n }\n\n chart.xtype = keyType ? keyType : opts.discrete ? \"string\" : detectXType(series, noDatetime, opts); // right format\n\n for (i = 0; i < series.length; i++) {\n series[i].data = formatSeriesData(series[i].data, chart.xtype);\n }\n\n return series;\n }\n\n function processSimple(chart) {\n var perfectData = toArr(chart.rawData),\n i;\n\n for (i = 0; i < perfectData.length; i++) {\n perfectData[i] = [toStr(perfectData[i][0]), toFloat(perfectData[i][1])];\n }\n\n return perfectData;\n }\n\n function dataEmpty(data, chartType) {\n if (chartType === \"PieChart\" || chartType === \"GeoChart\" || chartType === \"Timeline\") {\n return data.length === 0;\n } else {\n for (var i = 0; i < data.length; i++) {\n if (data[i].data.length > 0) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n function addDownloadButton(chart) {\n var element = chart.element;\n var link = document.createElement(\"a\");\n var download = chart.options.download;\n\n if (download === true) {\n download = {};\n } else if (typeof download === \"string\") {\n download = {\n filename: download\n };\n }\n\n link.download = download.filename || \"chart.png\"; // https://caniuse.com/download\n\n link.style.position = \"absolute\";\n link.style.top = \"20px\";\n link.style.right = \"20px\";\n link.style.zIndex = 1000;\n link.style.lineHeight = \"20px\";\n link.target = \"_blank\"; // for safari\n\n var image = document.createElement(\"img\");\n image.alt = \"Download\";\n image.style.border = \"none\"; // icon from font-awesome\n // http://fa2png.io/\n\n image.src = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABCFBMVEUAAADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMywEsqxAAAAV3RSTlMAAQIDBggJCgsMDQ4PERQaHB0eISIjJCouLzE0OTo/QUJHSUpLTU5PUllhYmltcHh5foWLjI+SlaCio6atr7S1t7m6vsHHyM7R2tze5Obo7fHz9ff5+/1hlxK2AAAA30lEQVQYGUXBhVYCQQBA0TdYWAt2d3d3YWAHyur7/z9xgD16Lw0DW+XKx+1GgX+FRzM3HWQWrHl5N/oapW5RPe0PkBu+UYeICvozTWZVK23Ao04B79oJrOsJDOoxkZoQPWgX29pHpCZEk7rEvQYiNSFq1UMqvlCjJkRBS1R8hb00Vb/TajtBL7nTHE1X1vyMQF732dQhyF2o6SAwrzP06iUQzvwsArlnzcOdrgBhJyHa1QOgO9U1GsKuvjUTjavliZYQ8nNPapG6sap/3nrIdJ6bOWzmX/fy0XVpfzZP3S8OJT3g9EEiJwAAAABJRU5ErkJggg==\";\n link.appendChild(image);\n element.style.position = \"relative\";\n chart.__downloadAttached = true; // mouseenter\n\n chart.__enterEvent = addEvent(element, \"mouseover\", function (e) {\n var related = e.relatedTarget; // check download option again to ensure it wasn't changed\n\n if ((!related || related !== this && !childOf(this, related)) && chart.options.download) {\n link.href = chart.toImage(download);\n element.appendChild(link);\n }\n }); // mouseleave\n\n chart.__leaveEvent = addEvent(element, \"mouseout\", function (e) {\n var related = e.relatedTarget;\n\n if (!related || related !== this && !childOf(this, related)) {\n if (link.parentNode) {\n link.parentNode.removeChild(link);\n }\n }\n });\n } // https://stackoverflow.com/questions/10149963/adding-event-listener-cross-browser\n\n\n function addEvent(elem, event, fn) {\n if (elem.addEventListener) {\n elem.addEventListener(event, fn, false);\n return fn;\n } else {\n var fn2 = function fn2() {\n // set the this pointer same as addEventListener when fn is called\n return fn.call(elem, window.event);\n };\n\n elem.attachEvent(\"on\" + event, fn2);\n return fn2;\n }\n }\n\n function removeEvent(elem, event, fn) {\n if (elem.removeEventListener) {\n elem.removeEventListener(event, fn, false);\n } else {\n elem.detachEvent(\"on\" + event, fn);\n }\n } // https://gist.github.com/shawnbot/4166283\n\n\n function childOf(p, c) {\n if (p === c) {\n return false;\n }\n\n while (c && c !== p) {\n c = c.parentNode;\n }\n\n return c === p;\n }\n\n var pendingRequests = [],\n runningRequests = 0,\n maxRequests = 4;\n\n function pushRequest(url, success, error) {\n pendingRequests.push([url, success, error]);\n runNext();\n }\n\n function runNext() {\n if (runningRequests < maxRequests) {\n var request = pendingRequests.shift();\n\n if (request) {\n runningRequests++;\n getJSON(request[0], request[1], request[2]);\n runNext();\n }\n }\n }\n\n function requestComplete() {\n runningRequests--;\n runNext();\n }\n\n function getJSON(url, success, error) {\n ajaxCall(url, success, function (jqXHR, textStatus, errorThrown) {\n var message = typeof errorThrown === \"string\" ? errorThrown : errorThrown.message;\n error(message);\n });\n }\n\n function ajaxCall(url, success, error) {\n var $ = window.jQuery || window.Zepto || window.$;\n\n if ($ && $.ajax) {\n $.ajax({\n dataType: \"json\",\n url: url,\n success: success,\n error: error,\n complete: requestComplete\n });\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n\n xhr.onload = function () {\n requestComplete();\n\n if (xhr.status === 200) {\n success(JSON.parse(xhr.responseText), xhr.statusText, xhr);\n } else {\n error(xhr, \"error\", xhr.statusText);\n }\n };\n\n xhr.send();\n }\n }\n\n var config = {};\n var adapters = []; // helpers\n\n function setText(element, text) {\n if (document.body.innerText) {\n element.innerText = text;\n } else {\n element.textContent = text;\n }\n } // TODO remove prefix for all messages\n\n\n function chartError(element, message, noPrefix) {\n if (!noPrefix) {\n message = \"Error Loading Chart: \" + message;\n }\n\n setText(element, message);\n element.style.color = \"#ff0000\";\n }\n\n function errorCatcher(chart) {\n try {\n chart.__render();\n } catch (err) {\n chartError(chart.element, err.message);\n throw err;\n }\n }\n\n function fetchDataSource(chart, dataSource, showLoading) {\n // only show loading message for urls and callbacks\n if (showLoading && chart.options.loading && (typeof dataSource === \"string\" || typeof dataSource === \"function\")) {\n setText(chart.element, chart.options.loading);\n }\n\n if (typeof dataSource === \"string\") {\n pushRequest(dataSource, function (data) {\n chart.rawData = data;\n errorCatcher(chart);\n }, function (message) {\n chartError(chart.element, message);\n });\n } else if (typeof dataSource === \"function\") {\n try {\n dataSource(function (data) {\n chart.rawData = data;\n errorCatcher(chart);\n }, function (message) {\n chartError(chart.element, message, true);\n });\n } catch (err) {\n chartError(chart.element, err, true);\n }\n } else {\n chart.rawData = dataSource;\n errorCatcher(chart);\n }\n }\n\n function getAdapterType(library) {\n if (library) {\n if (library.product === \"Highcharts\") {\n return defaultExport$1;\n } else if (library.charts) {\n return defaultExport;\n } else if (isFunction(library)) {\n return defaultExport$2;\n }\n }\n\n throw new Error(\"Unknown adapter\");\n }\n\n function addAdapter(library) {\n var adapterType = getAdapterType(library);\n var adapter = new adapterType(library);\n\n if (adapters.indexOf(adapter) === -1) {\n adapters.push(adapter);\n }\n }\n\n function loadAdapters() {\n if (\"Chart\" in window) {\n addAdapter(window.Chart);\n }\n\n if (\"Highcharts\" in window) {\n addAdapter(window.Highcharts);\n }\n\n if (window.google && window.google.charts) {\n addAdapter(window.google);\n }\n }\n\n function renderChart(chartType, chart) {\n if (dataEmpty(chart.data, chartType)) {\n var message = chart.options.empty || chart.options.messages && chart.options.messages.empty || \"No data\";\n setText(chart.element, message);\n } else {\n callAdapter(chartType, chart);\n\n if (chart.options.download && !chart.__downloadAttached && chart.adapter === \"chartjs\") {\n addDownloadButton(chart);\n }\n }\n } // TODO remove chartType if cross-browser way\n // to get the name of the chart class\n\n\n function callAdapter(chartType, chart) {\n var i, adapter, fnName, adapterName;\n fnName = \"render\" + chartType;\n adapterName = chart.options.adapter;\n loadAdapters();\n\n for (i = 0; i < adapters.length; i++) {\n adapter = adapters[i];\n\n if ((!adapterName || adapterName === adapter.name) && isFunction(adapter[fnName])) {\n chart.adapter = adapter.name;\n chart.__adapterObject = adapter;\n return adapter[fnName](chart);\n }\n }\n\n if (adapters.length > 0) {\n throw new Error(\"No charting library found for \" + chartType);\n } else {\n throw new Error(\"No charting libraries found - be sure to include one before your charts\");\n }\n } // define classes\n\n\n var Chart = function Chart(element, dataSource, options) {\n var elementId;\n\n if (typeof element === \"string\") {\n elementId = element;\n element = document.getElementById(element);\n\n if (!element) {\n throw new Error(\"No element with id \" + elementId);\n }\n }\n\n this.element = element;\n this.options = merge(Chartkick.options, options || {});\n this.dataSource = dataSource;\n Chartkick.charts[element.id] = this;\n fetchDataSource(this, dataSource, true);\n\n if (this.options.refresh) {\n this.startRefresh();\n }\n };\n\n Chart.prototype.getElement = function getElement() {\n return this.element;\n };\n\n Chart.prototype.getDataSource = function getDataSource() {\n return this.dataSource;\n };\n\n Chart.prototype.getData = function getData() {\n return this.data;\n };\n\n Chart.prototype.getOptions = function getOptions() {\n return this.options;\n };\n\n Chart.prototype.getChartObject = function getChartObject() {\n return this.chart;\n };\n\n Chart.prototype.getAdapter = function getAdapter() {\n return this.adapter;\n };\n\n Chart.prototype.updateData = function updateData(dataSource, options) {\n this.dataSource = dataSource;\n\n if (options) {\n this.__updateOptions(options);\n }\n\n fetchDataSource(this, dataSource, true);\n };\n\n Chart.prototype.setOptions = function setOptions(options) {\n this.__updateOptions(options);\n\n this.redraw();\n };\n\n Chart.prototype.redraw = function redraw() {\n fetchDataSource(this, this.rawData);\n };\n\n Chart.prototype.refreshData = function refreshData() {\n if (typeof this.dataSource === \"string\") {\n // prevent browser from caching\n var sep = this.dataSource.indexOf(\"?\") === -1 ? \"?\" : \"&\";\n var url = this.dataSource + sep + \"_=\" + new Date().getTime();\n fetchDataSource(this, url);\n } else if (typeof this.dataSource === \"function\") {\n fetchDataSource(this, this.dataSource);\n }\n };\n\n Chart.prototype.startRefresh = function startRefresh() {\n var this$1 = this;\n var refresh = this.options.refresh;\n\n if (refresh && typeof this.dataSource !== \"string\" && typeof this.dataSource !== \"function\") {\n throw new Error(\"Data source must be a URL or callback for refresh\");\n }\n\n if (!this.intervalId) {\n if (refresh) {\n this.intervalId = setInterval(function () {\n this$1.refreshData();\n }, refresh * 1000);\n } else {\n throw new Error(\"No refresh interval\");\n }\n }\n };\n\n Chart.prototype.stopRefresh = function stopRefresh() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n this.intervalId = null;\n }\n };\n\n Chart.prototype.toImage = function toImage(download) {\n if (this.adapter === \"chartjs\") {\n if (download && download.background && download.background !== \"transparent\") {\n // https://stackoverflow.com/questions/30464750/chartjs-line-chart-set-background-color\n var canvas = this.chart.canvas;\n var ctx = this.chart.ctx;\n var tmpCanvas = document.createElement(\"canvas\");\n var tmpCtx = tmpCanvas.getContext(\"2d\");\n tmpCanvas.width = ctx.canvas.width;\n tmpCanvas.height = ctx.canvas.height;\n tmpCtx.fillStyle = download.background;\n tmpCtx.fillRect(0, 0, tmpCanvas.width, tmpCanvas.height);\n tmpCtx.drawImage(canvas, 0, 0);\n return tmpCanvas.toDataURL(\"image/png\");\n } else {\n return this.chart.toBase64Image();\n }\n } else {\n throw new Error(\"Feature only available for Chart.js\");\n }\n };\n\n Chart.prototype.destroy = function destroy() {\n this.destroyed = true;\n this.stopRefresh();\n\n if (this.__adapterObject) {\n this.__adapterObject.destroy(this);\n }\n\n if (this.__enterEvent) {\n removeEvent(this.element, \"mouseover\", this.__enterEvent);\n }\n\n if (this.__leaveEvent) {\n removeEvent(this.element, \"mouseout\", this.__leaveEvent);\n }\n };\n\n Chart.prototype.__updateOptions = function __updateOptions(options) {\n var updateRefresh = options.refresh && options.refresh !== this.options.refresh;\n this.options = merge(Chartkick.options, options);\n\n if (updateRefresh) {\n this.stopRefresh();\n this.startRefresh();\n }\n };\n\n Chart.prototype.__render = function __render() {\n this.data = this.__processData();\n renderChart(this.__chartName(), this);\n };\n\n Chart.prototype.__config = function __config() {\n return config;\n };\n\n var LineChart = /*@__PURE__*/function (Chart) {\n function LineChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) LineChart.__proto__ = Chart;\n LineChart.prototype = Object.create(Chart && Chart.prototype);\n LineChart.prototype.constructor = LineChart;\n\n LineChart.prototype.__processData = function __processData() {\n return processSeries(this);\n };\n\n LineChart.prototype.__chartName = function __chartName() {\n return \"LineChart\";\n };\n\n return LineChart;\n }(Chart);\n\n var PieChart = /*@__PURE__*/function (Chart) {\n function PieChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) PieChart.__proto__ = Chart;\n PieChart.prototype = Object.create(Chart && Chart.prototype);\n PieChart.prototype.constructor = PieChart;\n\n PieChart.prototype.__processData = function __processData() {\n return processSimple(this);\n };\n\n PieChart.prototype.__chartName = function __chartName() {\n return \"PieChart\";\n };\n\n return PieChart;\n }(Chart);\n\n var ColumnChart = /*@__PURE__*/function (Chart) {\n function ColumnChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) ColumnChart.__proto__ = Chart;\n ColumnChart.prototype = Object.create(Chart && Chart.prototype);\n ColumnChart.prototype.constructor = ColumnChart;\n\n ColumnChart.prototype.__processData = function __processData() {\n return processSeries(this, null, true);\n };\n\n ColumnChart.prototype.__chartName = function __chartName() {\n return \"ColumnChart\";\n };\n\n return ColumnChart;\n }(Chart);\n\n var BarChart = /*@__PURE__*/function (Chart) {\n function BarChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) BarChart.__proto__ = Chart;\n BarChart.prototype = Object.create(Chart && Chart.prototype);\n BarChart.prototype.constructor = BarChart;\n\n BarChart.prototype.__processData = function __processData() {\n return processSeries(this, null, true);\n };\n\n BarChart.prototype.__chartName = function __chartName() {\n return \"BarChart\";\n };\n\n return BarChart;\n }(Chart);\n\n var AreaChart = /*@__PURE__*/function (Chart) {\n function AreaChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) AreaChart.__proto__ = Chart;\n AreaChart.prototype = Object.create(Chart && Chart.prototype);\n AreaChart.prototype.constructor = AreaChart;\n\n AreaChart.prototype.__processData = function __processData() {\n return processSeries(this);\n };\n\n AreaChart.prototype.__chartName = function __chartName() {\n return \"AreaChart\";\n };\n\n return AreaChart;\n }(Chart);\n\n var GeoChart = /*@__PURE__*/function (Chart) {\n function GeoChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) GeoChart.__proto__ = Chart;\n GeoChart.prototype = Object.create(Chart && Chart.prototype);\n GeoChart.prototype.constructor = GeoChart;\n\n GeoChart.prototype.__processData = function __processData() {\n return processSimple(this);\n };\n\n GeoChart.prototype.__chartName = function __chartName() {\n return \"GeoChart\";\n };\n\n return GeoChart;\n }(Chart);\n\n var ScatterChart = /*@__PURE__*/function (Chart) {\n function ScatterChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) ScatterChart.__proto__ = Chart;\n ScatterChart.prototype = Object.create(Chart && Chart.prototype);\n ScatterChart.prototype.constructor = ScatterChart;\n\n ScatterChart.prototype.__processData = function __processData() {\n return processSeries(this, \"number\");\n };\n\n ScatterChart.prototype.__chartName = function __chartName() {\n return \"ScatterChart\";\n };\n\n return ScatterChart;\n }(Chart);\n\n var BubbleChart = /*@__PURE__*/function (Chart) {\n function BubbleChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) BubbleChart.__proto__ = Chart;\n BubbleChart.prototype = Object.create(Chart && Chart.prototype);\n BubbleChart.prototype.constructor = BubbleChart;\n\n BubbleChart.prototype.__processData = function __processData() {\n return processSeries(this, \"bubble\");\n };\n\n BubbleChart.prototype.__chartName = function __chartName() {\n return \"BubbleChart\";\n };\n\n return BubbleChart;\n }(Chart);\n\n var Timeline = /*@__PURE__*/function (Chart) {\n function Timeline() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) Timeline.__proto__ = Chart;\n Timeline.prototype = Object.create(Chart && Chart.prototype);\n Timeline.prototype.constructor = Timeline;\n\n Timeline.prototype.__processData = function __processData() {\n var i,\n data = this.rawData;\n\n for (i = 0; i < data.length; i++) {\n data[i][1] = toDate(data[i][1]);\n data[i][2] = toDate(data[i][2]);\n }\n\n return data;\n };\n\n Timeline.prototype.__chartName = function __chartName() {\n return \"Timeline\";\n };\n\n return Timeline;\n }(Chart);\n\n var Chartkick = {\n LineChart: LineChart,\n PieChart: PieChart,\n ColumnChart: ColumnChart,\n BarChart: BarChart,\n AreaChart: AreaChart,\n GeoChart: GeoChart,\n ScatterChart: ScatterChart,\n BubbleChart: BubbleChart,\n Timeline: Timeline,\n charts: {},\n configure: function configure(options) {\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n config[key] = options[key];\n }\n }\n },\n setDefaultOptions: function setDefaultOptions(opts) {\n Chartkick.options = opts;\n },\n eachChart: function eachChart(callback) {\n for (var chartId in Chartkick.charts) {\n if (Chartkick.charts.hasOwnProperty(chartId)) {\n callback(Chartkick.charts[chartId]);\n }\n }\n },\n destroyAll: function destroyAll() {\n for (var chartId in Chartkick.charts) {\n if (Chartkick.charts.hasOwnProperty(chartId)) {\n Chartkick.charts[chartId].destroy();\n delete Chartkick.charts[chartId];\n }\n }\n },\n config: config,\n options: {},\n adapters: adapters,\n addAdapter: addAdapter,\n use: function use(adapter) {\n addAdapter(adapter);\n return Chartkick;\n }\n }; // not ideal, but allows for simpler integration\n\n if (typeof window !== \"undefined\" && !window.Chartkick) {\n window.Chartkick = Chartkick; // clean up previous charts before Turbolinks loads new page\n\n document.addEventListener(\"turbolinks:before-render\", function () {\n Chartkick.destroyAll();\n });\n document.addEventListener(\"turbo:before-render\", function () {\n Chartkick.destroyAll();\n }); // use setTimeout so charting library can come later in same JS file\n\n setTimeout(function () {\n window.dispatchEvent(new Event(\"chartkick:load\"));\n }, 0);\n } // backwards compatibility for esm require\n\n\n Chartkick.default = Chartkick;\n return Chartkick;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([\"exports\"], factory) : factory(global.ActiveStorage = {});\n})(this, function (exports) {\n \"use strict\";\n\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n\n var sparkMd5 = createCommonjsModule(function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function rhex(n) {\n var s = \"\",\n j;\n\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n\n return s;\n }\n\n function hex(x) {\n var i;\n\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n\n return x.join(\"\");\n }\n\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n function SparkMD5() {\n this.reset();\n }\n\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(this._hash, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n });\n });\n\n var classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n\n var FileChecksum = function () {\n createClass(FileChecksum, null, [{\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n }]);\n\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n\n createClass(FileChecksum, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function (event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function (event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }]);\n return FileChecksum;\n }();\n\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n return root.querySelector(selector);\n }\n\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n\n return event;\n }\n\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n\n var BlobRecord = function () {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobRecord, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr,\n responseType = _xhr.responseType,\n response = _xhr.response;\n\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n }]);\n return BlobRecord;\n }();\n\n var BlobUpload = function () {\n function BlobUpload(blob) {\n var _this = this;\n\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobUpload, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr,\n status = _xhr.status,\n response = _xhr.response;\n\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n }]);\n return BlobUpload;\n }();\n\n var id = 0;\n\n var DirectUpload = function () {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n\n createClass(DirectUpload, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n FileChecksum.create(this.file, function (error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function (error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function (error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n }]);\n return DirectUpload;\n }();\n\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n\n return object[methodName].apply(object, messages);\n }\n }\n\n var DirectUploadController = function () {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n\n createClass(DirectUploadController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function (error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n\n _this.dispatch(\"end\");\n\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function (event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n }]);\n return DirectUploadController;\n }();\n\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n\n var DirectUploadsController = function () {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function (input) {\n return input.files.length;\n });\n }\n\n createClass(DirectUploadsController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var controllers = this.createDirectUploadControllers();\n\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n\n if (controller) {\n controller.start(function (error) {\n if (error) {\n callback(error);\n\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n\n _this.dispatch(\"end\");\n }\n };\n\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function (input) {\n toArray$1(input.files).forEach(function (file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n }]);\n return DirectUploadsController;\n }();\n\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n\n function didClick(event) {\n var target = event.target;\n\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function (error) {\n form.removeAttribute(processingAttribute);\n\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n\n if (button) {\n var _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n\n submitButtonsByForm.delete(form);\n }\n\n function disable(input) {\n input.disabled = true;\n }\n\n function enable(input) {\n input.disabled = false;\n }\n\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/*\nTrix 1.3.1\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.3.1\",\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 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, p, d, f, g;\n\n if (null == e && (e = {}), \"object\" == _typeof(t) ? (e = t, t = e.tagName) : e = {\n attributes: e\n }, o = document.createElement(t), null != e.editable && (null == e.attributes && (e.attributes = {}), e.attributes.contenteditable = e.editable), e.attributes) {\n l = e.attributes;\n\n for (a in l) {\n g = l[a], o.setAttribute(a, g);\n }\n }\n\n if (e.style) {\n h = e.style;\n\n for (a in h) {\n g = h[a], o.style[a] = g;\n }\n }\n\n if (e.data) {\n p = e.data;\n\n for (a in p) {\n g = p[a], o.dataset[a] = g;\n }\n }\n\n if (e.className) for (d = e.className.split(\" \"), r = 0, u = d.length; u > r; r++) {\n i = d[r], o.classList.add(i);\n }\n if (e.textContent && (o.textContent = e.textContent), e.childNodes) for (f = [].concat(e.childNodes), s = 0, c = f.length; c > s; s++) {\n n = f[s], o.appendChild(n);\n }\n return o;\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 () {\n e.extend({\n RTL_PATTERN: /[\\u05BE\\u05C0\\u05C3\\u05D0-\\u05EA\\u05F0-\\u05F4\\u061B\\u061F\\u0621-\\u063A\\u0640-\\u064A\\u066D\\u0671-\\u06B7\\u06BA-\\u06BE\\u06C0-\\u06CE\\u06D0-\\u06D5\\u06E5\\u06E6\\u200F\\u202B\\u202E\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC]/,\n getDirection: function () {\n var t, n, i, o;\n return n = e.makeElement(\"input\", {\n dir: \"auto\",\n name: \"x\",\n dirName: \"x.dir\"\n }), t = e.makeElement(\"form\"), t.appendChild(n), i = function () {\n try {\n return new FormData(t).has(n.dirName);\n } catch (e) {}\n }(), o = function () {\n try {\n return n.matches(\":dir(ltr),:dir(rtl)\");\n } catch (t) {}\n }(), i ? function (e) {\n return n.value = e, new FormData(t).get(n.dirName);\n } : o ? function (t) {\n return n.value = t, n.matches(\":dir(rtl)\") ? \"rtl\" : \"ltr\";\n } : function (t) {\n var n;\n return n = t.trim().charAt(0), e.RTL_PATTERN.test(n) ? \"rtl\" : \"ltr\";\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.prototype.createLinkHTML = function (t, e) {\n var n;\n return n = document.createElement(\"a\"), n.href = t, n.textContent = null != e ? e : t, n.outerHTML;\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, L;\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 = \"text/html\", L = (c = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(c).trim() : a, l.html = this.createLinkHTML(a, L), null != (f = this.delegate) && f.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: L,\n didDelete: this.selectionIsExpanded()\n }), null != (C = this.responder) && C.insertHTML(l.html), 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 e, n, i, o, r, s, a, u, c;\n return h(t) ? (t.preventDefault(), this.attachFiles(t.clipboardData.files)) : p(t) ? (t.preventDefault(), n = {\n type: \"text/plain\",\n string: t.clipboardData.getData(\"text/plain\")\n }, null != (i = this.delegate) && i.inputControllerWillPaste(n), null != (o = this.responder) && o.insertString(n.string), this.render(), null != (r = this.delegate) ? r.inputControllerDidPaste(n) : void 0) : (e = null != (s = t.clipboardData) ? s.getData(\"URL\") : void 0) ? (t.preventDefault(), n = {\n type: \"text/html\",\n html: this.createLinkHTML(e)\n }, null != (a = this.delegate) && a.inputControllerWillPaste(n), null != (u = this.responder) && u.insertHTML(n.html), this.render(), null != (c = this.delegate) ? c.inputControllerDidPaste(n) : 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\n if (this.dragging) {\n if (t.preventDefault(), e = d(t), !i(e, this.dragging.point)) return this.dragging.point = e, null != (n = this.responder) ? n.setLocationRangeFromPointRange(e) : void 0;\n } else if (c(t)) return t.preventDefault();\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, p;\n return n = this.event.dataTransfer, s = {\n dataTransfer: n\n }, (i = n.getData(\"URL\")) ? (this.event.preventDefault(), s.type = \"text/html\", p = (r = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(r).trim() : i, s.html = this.createLinkHTML(i, p), null != (a = this.delegate) && a.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)) : 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\")) ? (this.event.preventDefault(), 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 = function c(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n l = function l(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n h.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 h = {}.hasOwnProperty;\n\n n = e.defer, i = e.handleEvent, s = e.makeElement, u = e.tagName, a = e.config, r = a.lang, t = a.css, o = a.keyNames, e.AttachmentEditorController = function (a) {\n function h(t, e, n, i) {\n this.attachmentPiece = t, this.element = e, this.container = n, this.options = null != i ? i : {}, this.didBlurCaption = c(this.didBlurCaption, this), this.didChangeCaption = c(this.didChangeCaption, this), this.didInputCaption = c(this.didInputCaption, this), this.didKeyDownCaption = c(this.didKeyDownCaption, this), this.didClickActionButton = c(this.didClickActionButton, this), this.didClickToolbar = c(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, \"a\" === u(this.element) && (this.element = this.element.firstChild), this.install();\n }\n\n var p;\n return l(h, a), p = function p(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 }, h.prototype.install = function () {\n return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0;\n }, h.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 }, h.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 }, h.prototype.makeElementMutable = p(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 }), h.prototype.addToolbar = p(function () {\n var n;\n return n = s({\n tagName: \"div\",\n className: t.attachmentToolbar,\n data: {\n trixMutable: !0\n },\n childNodes: s({\n tagName: \"div\",\n className: \"trix-button-row\",\n childNodes: s({\n tagName: \"span\",\n className: \"trix-button-group trix-button-group--actions\",\n childNodes: s({\n tagName: \"button\",\n className: \"trix-button trix-button--remove\",\n textContent: r.remove,\n attributes: {\n title: r.remove\n },\n data: {\n trixAction: \"remove\"\n }\n })\n })\n })\n }), this.attachment.isPreviewable() && n.appendChild(s({\n tagName: \"div\",\n className: t.attachmentMetadataContainer,\n childNodes: s({\n tagName: \"span\",\n className: t.attachmentMetadata,\n childNodes: [s({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: this.attachment.getFilename(),\n attributes: {\n title: this.attachment.getFilename()\n }\n }), s({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: this.attachment.getFormattedFilesize()\n })]\n })\n })), i(\"click\", {\n onElement: n,\n withCallback: this.didClickToolbar\n }), i(\"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 }), h.prototype.installCaptionEditor = p(function () {\n var o, a, u, c, l;\n return c = s({\n tagName: \"textarea\",\n className: t.attachmentCaptionEditor,\n attributes: {\n placeholder: r.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, o = function o() {\n return l.value = c.value, c.style.height = l.scrollHeight + \"px\";\n }, i(\"input\", {\n onElement: c,\n withCallback: o\n }), i(\"input\", {\n onElement: c,\n withCallback: this.didInputCaption\n }), i(\"keydown\", {\n onElement: c,\n withCallback: this.didKeyDownCaption\n }), i(\"change\", {\n onElement: c,\n withCallback: this.didChangeCaption\n }), i(\"blur\", {\n onElement: c,\n withCallback: this.didBlurCaption\n }), u = this.element.querySelector(\"figcaption\"), a = u.cloneNode(), {\n \"do\": function (e) {\n return function () {\n return u.style.display = \"none\", a.appendChild(c), a.appendChild(l), a.classList.add(t.attachmentCaption + \"--editing\"), u.parentElement.insertBefore(a, u), o(), e.options.editCaption ? n(function () {\n return c.focus();\n }) : void 0;\n };\n }(this),\n undo: function undo() {\n return e.removeNode(a), u.style.display = null;\n }\n };\n }), h.prototype.didClickToolbar = function (t) {\n return t.preventDefault(), t.stopPropagation();\n }, h.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 }, h.prototype.didKeyDownCaption = function (t) {\n var e;\n return \"return\" === o[t.keyCode] ? (t.preventDefault(), this.savePendingCaption(), null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestDeselectingAttachment ? e.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0;\n }, h.prototype.didInputCaption = function (t) {\n return this.pendingCaption = t.target.value.replace(/\\s/g, \" \").trim();\n }, h.prototype.didChangeCaption = function () {\n return this.savePendingCaption();\n }, h.prototype.didBlurCaption = function () {\n return this.savePendingCaption();\n }, h;\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, p, d;\n if (o = document.createComment(\"block\"), c = [o], this.block.isEmpty() ? c.push(i(\"br\")) : (p = null != (l = n(this.block.getLastAttribute())) ? l.text : void 0, d = this.findOrCreateCachedChildView(e.TextView, this.block.text, {\n textConfig: p\n }), c.push.apply(c, d.getNodes()), this.shouldAddExtraNewlineElement() && c.push(i(\"br\"))), this.attributes.length) return c;\n\n for (h = e.config.blockAttributes[\"default\"].tagName, this.block.isRTL() && (t = {\n dir: \"rtl\"\n }), r = i({\n tagName: h,\n attributes: t\n }), s = 0, a = c.length; a > s; s++) {\n u = c[s], r.appendChild(u);\n }\n\n return [r];\n }, s.prototype.createContainerElement = function (e) {\n var o, r, s, a, u;\n return o = this.attributes[e], u = n(o).tagName, 0 === e && this.block.isRTL() && (r = {\n dir: \"rtl\"\n }), \"attachmentGallery\" === o && (a = this.block.getBlockBreakPosition(), s = t.attachmentGallery + \" \" + t.attachmentGallery + \"--\" + a), i({\n tagName: u,\n className: s,\n attributes: r\n });\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.prototype.getDirection = function () {\n return e.getDirection(this.toString());\n }, i.prototype.isRTL = function () {\n return \"rtl\" === this.getDirection();\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.getDirection = function () {\n return this.text.getDirection();\n }, a.prototype.isRTL = function () {\n return this.text.isRTL();\n }, a.prototype.getLength = function () {\n return this.text.getLength();\n }, a.prototype.canBeConsolidatedWith = function (t) {\n return !this.hasAttributes() && !t.hasAttributes() && this.getDirection() === t.getDirection();\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) || this.getDirection() !== t.getDirection() && !t.isEmpty());\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, this.forbiddenElements = n.forbiddenElements, null == this.allowedAttributes && (this.allowedAttributes = c), null == this.forbiddenProtocols && (this.forbiddenProtocols = h), null == this.forbiddenElements && (this.forbiddenElements = l), this.body = p(t);\n }\n\n var c, l, h, p;\n return o(u, r), c = \"style href src width height class\".split(\" \"), h = \"javascript:\".split(\" \"), l = \"script iframe\".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 this.elementIsRemovable(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 }, u.prototype.elementIsRemovable = function (t) {\n return (null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE ? this.elementIsForbidden(t) || this.elementIsntSerializable(t) : void 0;\n }, u.prototype.elementIsForbidden = function (t) {\n var e;\n return e = n(t), s.call(this.forbiddenElements, e) >= 0;\n }, u.prototype.elementIsntSerializable = function (e) {\n return \"false\" === e.getAttribute(\"data-trix-serialize\") && !t(e);\n }, p = function p(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: x\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 }, x = function x(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 && this.isBlockElement(e.previousSibling) ? this.appendStringWithAttributes(\"\\n\") : i !== this.containerElement && !this.isBlockElement(i) || (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), e.firstChild)) return o && t(n, this.currentBlock.attributes) ? this.appendStringWithAttributes(\"\\n\") : (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 = A(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 = w(t, \"attachment\"), 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 = b(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;\n r = {}, p = e.config.textAttributes;\n\n for (n in p) {\n if (u = p[n], u.tagName && o(t, {\n matchingSelector: u.tagName,\n untilNode: this.containerElement\n })) r[n] = !0;else if (u.parser) {\n if (g = u.parser(t)) {\n for (i = !1, d = this.findBlockElementAncestors(t), c = 0, h = d.length; h > c; c++) {\n if (s = d[c], u.parser(s) === g) {\n i = !0;\n break;\n }\n }\n\n i || (r[n] = g);\n }\n } else u.styleProperty && (g = t.style[u.styleProperty]) && (r[n] = g);\n }\n\n if (a(t)) {\n f = w(t, \"attributes\");\n\n for (l in f) {\n g = f[l], r[l] = g;\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 }, w = function w(t, e) {\n try {\n return JSON.parse(t.getAttribute(\"data-trix-\" + e));\n } catch (n) {\n return {};\n }\n }, b = function b(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, (!C(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 }, C = function C(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 : y(e);\n }, g.prototype.getMarginOfDefaultBlockElement = function () {\n var t;\n return t = s(e.config.blockAttributes[\"default\"].tagName), this.containerElement.appendChild(t), y(t);\n }, y = function y(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 }, A = function A(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.isFocusedInvisibly() && this.setLocationRange({\n index: 0,\n offset: 0\n }), 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.prototype.isFocusedInvisibly = function () {\n return this.isFocused() && !this.getLocationRange();\n }, u;\n }(e.Controller);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\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 n = e.browser, s = e.makeElement, a = e.triggerEvent, o = e.handleEvent, r = e.handleEventOnce, i = e.findClosestElementFromNode, t = e.AttachmentView.attachmentSelector, e.registerElement(\"trix-editor\", function () {\n var c, l, h, p, d, f, g, m, v;\n return g = 0, l = function l(t) {\n return !document.querySelector(\":focus\") && t.hasAttribute(\"autofocus\") && document.querySelector(\"[autofocus]\") === t ? t.focus() : void 0;\n }, m = function m(t) {\n return t.hasAttribute(\"contenteditable\") ? void 0 : (t.setAttribute(\"contenteditable\", \"\"), r(\"focus\", {\n onElement: t,\n withCallback: function withCallback() {\n return h(t);\n }\n }));\n }, h = function h(t) {\n return d(t), v(t);\n }, d = function d(t) {\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"enableObjectResizing\") : void 0) ? (document.execCommand(\"enableObjectResizing\", !1, !1), o(\"mscontrolselect\", {\n onElement: t,\n preventDefault: !0\n })) : void 0;\n }, v = function v() {\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 }, c = function c(t) {\n return t.hasAttribute(\"role\") ? void 0 : t.setAttribute(\"role\", \"textbox\");\n }, f = function f(t) {\n var e;\n if (!t.hasAttribute(\"aria-label\") && !t.hasAttribute(\"aria-labelledby\")) return (e = function e() {\n var e, n, i;\n return i = function () {\n var n, i, o, r;\n\n for (o = t.labels, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], e.contains(t) || r.push(e.textContent);\n }\n\n return r;\n }(), (n = i.join(\" \")) ? t.setAttribute(\"aria-label\", n) : t.removeAttribute(\"aria-label\");\n })(), o(\"focus\", {\n onElement: t,\n withCallback: e\n });\n }, p = 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 pointer-events: none;\\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: \" + p.display + \" !important;\\n width: \" + p.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\", ++g), this.trixId);\n }\n },\n labels: {\n get: function get() {\n var t, e, n;\n return e = [], this.id && this.ownerDocument && e.push.apply(e, this.ownerDocument.querySelectorAll(\"label[for='\" + this.id + \"']\")), (t = i(this, {\n matchingSelector: \"label\"\n })) && ((n = t.control) === this || null === n) && e.push(t), e;\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 = s(\"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 = s(\"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 ? a(\"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 this.hasAttribute(\"data-trix-internal\") ? void 0 : (m(this), c(this), f(this));\n },\n connect: function connect() {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (this.editorController || (a(\"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 a(\"trix-initialize\", {\n onElement: t\n });\n };\n }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), this.registerClickListener(), l(this));\n },\n disconnect: function disconnect() {\n var t;\n return null != (t = this.editorController) && t.unregisterSelectionManager(), this.unregisterResetListener(), this.unregisterClickListener();\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 registerClickListener: function registerClickListener() {\n return this.clickListener = this.clickBubbled.bind(this), window.addEventListener(\"click\", this.clickListener, !1);\n },\n unregisterClickListener: function unregisterClickListener() {\n return window.removeEventListener(\"click\", this.clickListener, !1);\n },\n resetBubbled: function resetBubbled(t) {\n var e;\n if (!t.defaultPrevented && t.target === (null != (e = this.inputElement) ? e.form : void 0)) return this.reset();\n },\n clickBubbled: function clickBubbled(t) {\n var e;\n if (!(t.defaultPrevented || this.contains(t.target) || !(e = i(t.target, {\n matchingSelector: \"label\"\n })) || u.call(this.labels, e) < 0)) return this.focus();\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