{"version":3,"sources":["webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/regexp-flags-detection.js","webpack:///./src/components/Slide.vue?6a41","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/core-js/modules/web.url-search-params.has.js","webpack:///./src/components/DetailImportDiagnosticData.vue?f9b9","webpack:///./src/components/Slide.vue","webpack:///src/components/Slide.vue","webpack:///./src/components/Slide.vue?b115","webpack:///./src/components/Slide.vue?4e39","webpack:///./src/services/api/MedicalDesignatedSubjects.js","webpack:///./src/components/DetailImportDiagnosticData.vue?2597","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/modules/web.url-search-params.size.js","webpack:///./src/components/common/Sheet.vue","webpack:///src/components/common/Sheet.vue","webpack:///./src/components/common/Sheet.vue?d835","webpack:///./src/components/common/Sheet.vue?0429","webpack:///./node_modules/vue2-editor/dist/vue2-editor.esm.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./src/components/DetailImportDiagnosticData.vue","webpack:///src/components/DetailImportDiagnosticData.vue","webpack:///./src/components/DetailImportDiagnosticData.vue?0b70","webpack:///./src/components/DetailImportDiagnosticData.vue?22f2","webpack:///./node_modules/core-js/modules/web.url-search-params.delete.js","webpack:///./node_modules/core-js/internals/regexp-get-flags.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/quill/dist/quill.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/core-js/internals/validate-arguments-length.js","webpack:///./src/services/api/DashboardRepository.js","webpack:///./node_modules/isarray/index.js"],"names":["uncurryThis","toObject","floor","Math","charAt","replace","stringSlice","slice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","module","exports","matched","str","position","captures","namedCaptures","replacement","tailPos","length","m","symbols","undefined","match","ch","capture","n","f","globalThis","fails","RegExp","FLAGS_GETTER_IS_CORRECT","INDICES_SUPPORT","error","O","calls","expected","addGetter","key","chr","Object","defineProperty","get","pairs","dotAll","global","ignoreCase","multiline","sticky","hasIndices","result","getOwnPropertyDescriptor","prototype","call","correct","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","defineBuiltIn","toString","validateArgumentsLength","$URLSearchParams","URLSearchParams","URLSearchParamsPrototype","getAll","$has","has","params","name","arguments","$value","this","values","value","index","enumerable","unsafe","render","_vm","_c","_self","staticClass","class","slideDisplay","_t","staticRenderFns","computed","$store","state","component","data","page","limit","Repository","post","ADMIN_REPOSITORY","catch","e","setErrors","id","put","CODE","CODE_RECEPTION","CONTACT_FORM","RESULT","REASON","CODE_GENDER","param","CODE_HEALTH_GUIDANCE_CONTRACT_DIV","CODE_FAMILY","support_form_div","CODE_FRACTION","receptions_id","arr_patient_id","patient_id","CODE_SUPPORT_FLOW_STATUS","CODE_SUPPORT_EXEC_DIV","CODE_SUPPORT_PROGRESS_STATUS","insurer_id","errorCode","response","status","catchError","isObject","classof","wellKnownSymbol","MATCH","it","isRegExp","DESCRIPTORS","defineBuiltInAccessor","forEach","count","configurable","attrs","color","elevation","width","height","outlined","rounded","shaped","props","type","String","Number","default","Boolean","defaultToolbar","header","align","list","indent","background","oldApi","customModules","methods","registerCustomModules","Quill","customModule","register","alias","_typeof","obj","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","descriptor","writable","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","_setPrototypeOf","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","p","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","isArray","_arr","_n","_d","_e","_s","_i","next","done","err","mergeDeep","source","keys","targetValue","sourceValue","concat","assign","BlockEmbed","import","HorizontalRule","_BlockEmbed","apply","blotName","tagName","MarkdownShortcuts","quill","options","_this","ignoreTags","matches","pattern","action","text","selection","exec","size","setTimeout","formatLine","deleteText","_text","_selection","lineStart","annotatedText","matchedText","startIndex","insertText","bold","italic","format","strike","getSelection","insertEmbed","sources","USER","SILENT","setSelection","_pattern","search","hrefLink","hrefText","on","delta","_oldContents","_source","ops","hasOwnProperty","insert","onSpace","onEnter","_this$quill$getLine","getLine","_this$quill$getLine2","line","offset","domNode","textContent","isValid","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","console","log","return","_this$quill$getLine3","_this$quill$getLine4","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","script","mixins","placeholder","disabled","editorToolbar","editorOptions","required","useCustomImageHandler","useMarkdownShortcuts","watch","val","root","innerHTML","hasFocus","enable","mounted","registerPrototypes","initializeEditor","beforeDestroy","setupQuillEditor","checkForCustomImageHandler","handleInitialContent","registerEditorEventListeners","$emit","editorConfig","debug","modules","setModules","theme","readOnly","prepareEditorConfig","$refs","quillContainer","toolbar","getHTML","container","querySelector","getWordCount","innerText","handleTextChange","handleSelectionChange","listenForEditorEvent","_len","args","_key","range","oldRange","oldContents","editorContent","handleImageRemoved","_this2","currrentContents","getContents","deletedContents","diff","operations","map","operation","image","setupCustomImageHandler","getModule","addHandler","customImageHandler","fileInput","click","emitImageInfo","$event","resetUploader","uploader","document","getElementById","file","files","Editor","cursorLocation","normalizeComponent","template","style","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","HEAD","normalizeComponent_1","isOldIE","navigator","test","userAgent","toLowerCase","addStyle","styles","css","group","media","ids","Set","btoa","unescape","encodeURIComponent","JSON","stringify","element","createElement","setAttribute","head","getElementsByTagName","appendChild","styleSheet","cssText","filter","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","browser","__vue_script__","__vue_render__","_h","$createElement","_v","ref","staticStyle","__vue_staticRenderFns__","__vue_inject_styles__","inject","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","VueEditor","version","install","Vue","installed","VPlugin","GlobalVue","window","use","$","requireObjectCoercible","isCallable","getMethod","getRegExpFlags","getSubstitution","IS_PURE","REPLACE","$TypeError","max","proto","replaceAll","searchValue","replaceValue","IS_REG_EXP","flags","replacer","string","searchString","functionalReplace","searchLength","advanceBy","endOfLastMatch","_vm$dataTabA$health_g","_vm$dataTabA$health_g2","showAnimation","hiddenAnimation","navigation","exportPdf","dataTabA","padStart","health_guidance_div","health_guidance_no_target","health_guidance_receptions","dataTabAStatus","codeSupportStatus","codeSupportExecStatus","codeSupportProgressStatus","directives","rawName","dataEdit","expression","checkViewOrEdit","isEditable","domProps","$$a","$$el","$$c","checked","$$v","$$i","$set","formatDate","created_at","created_by","user_name","updated_at","updated_by","use_ticket_ref_number","validate","composing","errors","model","use_ticket_effective_date","callback","patient_name_kana","patient_name","patient_birthday","patient_gender","$$selectedVal","selected","_value","multiple","_l","code_gender","gender","insurerArr","insurer","client_organ_code","client_organ_name","health_guidance_contract_div","listContractCode","contractCode","person_familiy_div","listFamilyCode","familyCode","insured_card_number","insured_card_symbol","insured_card_branch_code","patient_postal_code","patient_addr_01","patient_tel_01","patient_tel_02","patient_tel_03","patient_tel_04","patient_mail_01","lineUserName","isDialogLine","vue2EditorCustomize","memo_rich","memo","option_scheduled_first_support_datetime","scheduled_first_support_datetime","healthexam_patient_id","healthexam_ticket_ref_number","healthexam_memo_1","healthexam_memo_2","healthexam_date","healthexam_result_import_key","add_health_guidance_recommends","health_guidance_recommends","item","remove_health_guidance_recommends","validate_health_guidance_recommends","recommend_datetime","messErrorRecommendDatetime","recommend_tel_type","checkRecommendTelType","contact_form","contact","messErrorRecommendTelType","recommend_tel","messErrRecommendTel","recommend_result","messErrRecommendResult","recommend_result_reason","reason","recommend_memo","messErrRecommendMemo","dataTabB","data_diagnostic_basic","healthexam_item_name_disp","healthexam_item_disp","data_diagnostic_list","_item$healthexam_item","color_level_10","judge_level","color_level_20","color_level_30","data_diagnostic_search","healthexam_item_id","get_healthexam_item_judgements","hide","isShowDialog","save","itemsLineUser","searchPatientLine","isLoading","lineUserAsync","syncLineUser","listContactLineOld","label","deleteContactLine","components","Sheet","Dialog","dataDetailId","isShowNavigation","checkUpdateData","lineUserIdChoose","lineUserId","currentDataDetailId","listContactLine","data_master_code","date","patient_tel_type_01","patient_tel_type_02","patient_tel_type_03","patient_tel_type_04","codeGuidanceDiv","borderSize","useCurrent","showClear","showClose","icons","time","up","down","previous","today","clear","close","locale","moment","cssWidth","getDetail","getListContactLineOld","alert","jQuery","one","trim","find","el","DashboardService","getContactLine","then","contactIt","line_user_id","line_user_name","messages","notifyError","created","MedicalDesignatedSubjects","getGender","res","INTERNAL_SERVER_ERROR","entries","$toast","messageID","message","TOAST_TIME_OUT","getCodeMedicalIndication","getContactForm","_","sortBy","getResult","getReason","getMedicalIndication","getCodeFamily","getInsurer","isSystemAdminOrBackOffice","_this$listContactLine","x","setBorderWidth","setEvents","mapMutations","setIsLoading","getContactLineOld","hideLoading","choosePatientLine","idInput","syncLineUserData","syncLineContact","isUserSyncLine","notifySuccess","get_name_with_code_disp","name_with_code_disp","check_healthexam_item_judge_method","$judge_level","healthexam_item_judgement","healthexam_item_judge_method","healthexam_item_data_type","judge_code_min","data_master_code_code","judge_code_max","judge_val_min","judge_val_max","req","XMLHttpRequest","open","ENVS","API_URL_BASE","responseType","onprogress","total","onload","blob","fileName","getResponseHeader","link","href","URL","createObjectURL","download","decodeURI","send","field","_data$recommend_tel","_data$recommend_memo","formEditMedicalDesignatedSubjects","validateAt","_this$contact_form$","orderBy","reverse","splice","detailId","getDetailTabA","_data$data$health_gui","_data$data$health_gui2","_data$data$health_gui3","SUCCESS","getHealthGuidanceDiv","health_support_flow_segments","health_support_flows","get_health_support_flow_segments","getCodeSupportStatus","support_flow_status","dataHealthFlowSegment","itemHealthFlowSegment","support_exec_div","support_progress_status","getCodeSupportExecStatus","checkCount","getCodeSupportProgressStatus","getDetailTabB","res2","diagnostic_basic","diagnostic_search","master_code","master_code_code","filterHasValueHealthexamResults","diagnostic_list","healthexam_item_code","healthexam_item_val_str","array","hasHealthexamResultValue","v","trimedVal","startsWith","getHealthGuidanceContract","getFamilyCode","genderCode","healthexam_insurer_number","commit","abortEarly","checkValidate","update","inner","path","drawer","$el","cursor","minSize","drawerBorder","direction","classList","contains","resize","body","scrollWidth","clientX","addEventListener","offsetX","transition","removeEventListener","append","$delete","k","entry","dindex","found","entriesLength","hasOwn","isPrototypeOf","regExpFlagsDetection","regExpFlagsGetterImplementation","RegExpPrototype","read","buffer","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","Infinity","pow","write","c","rt","abs","isNaN","LN2","factory","installedModules","__webpack_require__","moduleId","l","getter","__esModule","object","property","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","Scope","query","Container","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","__extends","extendStatics","b","__","ParchmentError","_super","attributes","classes","tags","types","input","BlotClass","node","Node","TEXT_NODE","bubble","DATA_KEY","blot","parentNode","scope","ANY","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","split","TYPE","Definitions","Definition","attrName","keyName","className","toUpperCase","tagNames","tag","equal","extend","op","NULL_CHARACTER","fromCharCode","Delta","newOp","retain","lastOp","unshift","chop","pop","predicate","partition","passed","failed","reduce","initial","changeLength","elem","delete","iter","hasNext","nextOp","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","min","thisOp","otherOp","rest","strings","prep","diffResult","opLength","INSERT","DELETE","EQUAL","eachLine","newline","transform","priority","transformPosition","nextType","toStr","gOPD","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","src","copy","copyIsArray","clone","deep","bubbleFormats","defineProperties","_get","receiver","Function","desc","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text2","NEWLINE_LENGTH","_Parchment$Embed","formats","attribute","BLOCK_ATTRIBUTE","def","endsWith","block","insertAt","BLOCK_BLOT","_Parchment$Block","cache","descendants","leaf","lines","shift","children","tail","remove","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","sliceIterator","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection2","_logger","_logger2","_theme","_theme2","_defineProperty","html","__quill","addContainer","scrollingContainer","emitter","scroll","whitelist","editor","keyboard","addModule","clipboard","history","init","events","EDITOR_CHANGE","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","mutations","lastRange","modify","contents","convert","setContents","disable","level","imports","overwrite","warn","refNode","setRange","_this3","_overload","_overload2","enabled","scrollTop","focus","scrollIntoView","_this4","API","change","formatText","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","getBounds","containerBounds","getBoundingClientRect","bottom","top","left","right","getLength","_overload7","_overload8","getFormat","MAX_VALUE","getRange","_overload9","_overload10","getText","embed","_this7","_this8","_overload11","_overload12","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","ret","_overload15","_overload16","Range","_this11","userConfig","DEFAULTS","themeConfig","config","moduleNames","moduleConfig","moduleClass","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","emit","_map","pos","_map2","_map3","_map4","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","event","_len2","_key2","_ref","handler","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","levels","method","_console","namespace","ns","logger","bind","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","opts","Date","getTime","objEquiv","isUndefinedOrNull","isBuffer","a","ka","kb","sort","attributeBit","ATTRIBUTE","canAdd","removeAttribute","Code","_block","_block2","_Inline","CodeBlock","_Block","frag","_descendant","descendant","_descendant2","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","lastIndexOf","prev","optimize","unwrap","TAB","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","getDelta","consumeNextNewline","scrollLength","batchStart","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","textBlot","oldValue","CONTENTS","oldText","newText","diffDelta","combined","merged","bullet","_toConsumableArray","arr2","from","Selection","mouseDown","savedRange","handleComposition","handleDragging","listenDOM","native","getNativeRange","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","restore","_format","nativeRange","collapsed","after","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rect","rangeCount","getRangeAt","normalizeNative","info","normalized","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","last","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","makeBlot","forEachAt","criteria","_a","lengthLeft","detach","childBlot","refBlot","some","insertInto","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","replaceWith","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","substr","_instanceof","nativeMap","nativeSet","nativePromise","Map","Promise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","resolve","reject","__isArray","__isRegExp","__getRegExpFlags","lastIndex","__isDate","allocUnsafe","keyChild","valueChild","set","entryChild","getOwnPropertySymbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","clonePrototype","_container","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_line4","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill","_quill2","platform","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","listen","evt","binding","normalize","which","keyCode","defaultPrevented","_quill$getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","prevented","every","preventDefault","makeEmbedArrowHandler","_ref3","where","LEFT","RIGHT","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","parseInt","sanitize","Link","url","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","select","buildPicker","display","togglePicker","escape","option","tabIndex","hasAttribute","selectItem","buildItem","buildLabel","buildOptions","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","attr","ClassAttributor","camelize","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","stack","changeDelta","undoDelta","timestamp","now","delay","maxStack","endsWithNewlineChange","deleteLength","changeIndex","BaseTooltip","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","tooltip","textbox","pickers","picker","extendToolbar","buttons","button","selects","fillSelect","handlers","formula","edit","reader","FileReader","readAsDataURL","video","_Tooltip","boundsContainer","cancel","mode","preview","linkRange","restoreFocus","extractVideoUrl","defaultValue","LinkedList","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","isEqual","obj1","obj2","prop","InlineBlot","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","token","subjectString","isFinite","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","substring","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","ceil","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","k2_offset","x2","diff_bisectSplit_","k2","y2","y","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","j","best_common","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","Events","EE","fn","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","removeListener","removeAllListeners","addListener","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchBreak","ELEMENT_NODE","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","selector","matcher","matchVisual","addMatcher","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","nodeType","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","parseFloat","marginTop","marginBottom","offsetTop","fontStyle","fontWeight","textIndent","whiteSpace","collapse","Bold","addControls","Toolbar","_ret","controls","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","prompt","addButton","groups","control","addSelect","clean","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","FormulaBlot","_Embed","katex","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","timer","clearTimeout","interval","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","anObject","that","unicode","unicodeSets","base64","ieee754","typedArraySupport","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","arg","encodingOrOffset","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","alloc","encoding","isEncoding","fromArrayLike","byteOffset","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","toJSON","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","getListSupportPlace","insurer_code","SUPPORT_FLOW","getListRequester","getListSupportPerson","createSupportPlace","bodyRequest","GENERAL_NAME","updateSupportPlace","deleteSupportPlace","reception_id","segment_id","support_flow_id","flow_id","preview_segment_id","LINE_REPOSITORY","patient_line","patientId","segmentId","dataSegment"],"mappings":"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","file":"assets/2025-11-11T08:54:30.016Z/js/chunk-bbd1844a.7dd60bea652e5f223059.js?time=2025-11-11T08:56:14.240Z","sourcesContent":["'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n  var tailPos = position + matched.length;\n  var m = captures.length;\n  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n  if (namedCaptures !== undefined) {\n    namedCaptures = toObject(namedCaptures);\n    symbols = SUBSTITUTION_SYMBOLS;\n  }\n  return replace(replacement, symbols, function (match, ch) {\n    var capture;\n    switch (charAt(ch, 0)) {\n      case '$': return '$';\n      case '&': return matched;\n      case '`': return stringSlice(str, 0, position);\n      case \"'\": return stringSlice(str, tailPos);\n      case '<':\n        capture = namedCaptures[stringSlice(ch, 1, -1)];\n        break;\n      default: // \\d\\d?\n        var n = +ch;\n        if (n === 0) return match;\n        if (n > m) {\n          var f = floor(n / 10);\n          if (f === 0) return match;\n          if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n          return match;\n        }\n        capture = captures[n - 1];\n    }\n    return capture === undefined ? '' : capture;\n  });\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = globalThis.RegExp;\n\nvar FLAGS_GETTER_IS_CORRECT = !fails(function () {\n  var INDICES_SUPPORT = true;\n  try {\n    RegExp('.', 'd');\n  } catch (error) {\n    INDICES_SUPPORT = false;\n  }\n\n  var O = {};\n  // modern V8 bug\n  var calls = '';\n  var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n  var addGetter = function (key, chr) {\n    // eslint-disable-next-line es/no-object-defineproperty -- safe\n    Object.defineProperty(O, key, { get: function () {\n      calls += chr;\n      return true;\n    } });\n  };\n\n  var pairs = {\n    dotAll: 's',\n    global: 'g',\n    ignoreCase: 'i',\n    multiline: 'm',\n    sticky: 'y'\n  };\n\n  if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n  for (var key in pairs) addGetter(key, pairs[key]);\n\n  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n  var result = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get.call(O);\n\n  return result !== expected || calls !== expected;\n});\n\nmodule.exports = { correct: FLAGS_GETTER_IS_CORRECT };\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=style&index=0&id=13c8bc18&prod&scoped=true&lang=scss\"","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n  defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n    var length = arguments.length;\n    var $value = length < 2 ? undefined : arguments[1];\n    if (length && $value === undefined) return $has(this, name);\n    var values = getAll(this, name); // also validates `this`\n    validateArgumentsLength(length, 1);\n    var value = toString($value);\n    var index = 0;\n    while (index < values.length) {\n      if (values[index++] === value) return true;\n    } return false;\n  }, { enumerable: true, unsafe: true });\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailImportDiagnosticData.vue?vue&type=style&index=0&id=2f126a24&prod&lang=sass&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"slide\",class:[_vm.slideDisplay]},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n    <div class=\"slide\" :class=\"[slideDisplay]\">\n        <slot/>\n    </div>\n</template>\n\n<script>\nexport default {\n    name: \"Slide\",\n    computed: {\n        slideDisplay() {\n            return this.$store.state.slideDisplay\n        }\n    }\n};\n</script>\n<style scoped lang=\"scss\">\n    .slide {\n        z-index: 10;\n        background: #fff;\n        transition: right 0.5s;\n        position: absolute;\n        top: 0;\n        right: 0;\n        height: 100%;\n        box-shadow: 0 0 2rem 0 rgb(0 0 0 / 5%);\n        width: 80%;\n        overflow-y: scroll;\n        &.hide {\n            right: -80%;\n        }\n    }\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slide.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Slide.vue?vue&type=template&id=13c8bc18&scoped=true\"\nimport script from \"./Slide.vue?vue&type=script&lang=js\"\nexport * from \"./Slide.vue?vue&type=script&lang=js\"\nimport style0 from \"./Slide.vue?vue&type=style&index=0&id=13c8bc18&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"13c8bc18\",\n  null\n  \n)\n\nexport default component.exports","import Repository from \"./Repository\";\nimport { ADMIN_REPOSITORY } from \"../../constants\";\nimport { CODE_GENDER, CODE_SUPPORT_PROGRESS_STATUS, CODE_SUPPORT_EXEC_DIV, CODE_SUPPORT_FLOW_STATUS, CODE, CODE_RECEPTION, CONTACT_FORM, RESULT, REASON, CODE_HEALTH_GUIDANCE_CONTRACT_DIV, CODE_FAMILY, CODE_FRACTION } from \"@/common/constants\";\n\nexport default {\n    async getList(data, page = 1, limit = 10) {\n        return await Repository.post(`${ADMIN_REPOSITORY}/medical-indication`, {data, page, limit})\n            .catch((e) => {\n                return this.setErrors(e);\n            });\n    },\n    async update(id, data) {\n        return await Repository.put(`${ADMIN_REPOSITORY}/edit-medical-indication/${id}`, data)\n            .catch((e) => {\n                return this.setErrors(e);\n            });\n    },\n    async getMedicalIndication() {\n        try {\n            return await Repository.get(`code_define?group=${CODE}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getInsurer() {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/insurer`,);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getCodeReception() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_RECEPTION}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getDetailTabA(id) {\n        try {\n            return await Repository.get(`/detail-patients/${id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getDetailTabB(id) {\n        try {\n            return await Repository.get(`/diagnostic-result/${id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getContactForm() {\n        try {\n            return await Repository.get(`code_define?group=${CONTACT_FORM}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getResult() {\n        try {\n            return await Repository.get(`code_define?group=${RESULT}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getReason() {\n        try {\n            return await Repository.get(`code_define?group=${REASON}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getGender() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_GENDER}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getContractClient(id, param) {\n        try {\n            return await Repository.get(`contract-client/${id}`, param);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getCodeMedicalIndication() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_HEALTH_GUIDANCE_CONTRACT_DIV}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getCodeFamily() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_FAMILY}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getHealthSupportPattern() {\n        try {\n            return await Repository.get(\"health-support-pattern/list\");\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getHealthSupportForm() {\n        try {\n            return await Repository.get(\"health-support-form/list-form-support\",{support_form_div: \"FIRST_SUPPORT\"})\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getMedicalGuidanceOrganization() {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/health-guidance-organization/list`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getPaymentRepresentativeOrganization() {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/payment-agencie/list`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getClientOrganizationListContract() {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/client-organization/listContract`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getClientOrganizationListContact() {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/client-organization/listContact`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getCodeFraction() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_FRACTION}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getReceiptMedical(receptions_id) {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/health-guidance-reception/detail/${receptions_id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async checkReceiptMedical(arr_patient_id) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/health-guidance-reception/detail-by-patient_id`,arr_patient_id)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getPatient(patient_id) {\n        try {\n            return await Repository.get(`/detail-health-guidance-reception/${patient_id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getContract(id) {\n        try {\n            return await Repository.get(`/client-organization-contract/${id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async save(data) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/health-guidance-reception/create`,data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getCodeSupportStatus() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_SUPPORT_FLOW_STATUS}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getCodeSupportExecStatus() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_SUPPORT_EXEC_DIV}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getCodeSupportProgressStatus() {\n        try {\n            return await Repository.get(`code_define?group=${CODE_SUPPORT_PROGRESS_STATUS}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async delete(id) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/health-guidance-reception/delete/${id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n\n    async getClientOrganizationFormLayoutControl(insurer_id) {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/client_organization_form_layout_control/${insurer_id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n\n    setErrors(e) {\n        const errorCode = e.response ? e.response.status : 500;\n        return {\n            status: false,\n            errorCode: errorCode,\n            data: e.response ? e.response.data : \"error\",\n            error: e,\n        };\n    },\n    catchError(e) {\n        return e.response ? e.response.data : \"error\";\n    },\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailImportDiagnosticData.vue?vue&type=style&index=1&id=2f126a24&prod&lang=sass\"","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n  defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n    get: function size() {\n      var count = 0;\n      forEach(this, function () { count++; });\n      return count;\n    },\n    configurable: true,\n    enumerable: true\n  });\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',{attrs:{\"color\":_vm.color,\"elevation\":_vm.elevation,\"width\":_vm.width,\"height\":_vm.height,\"outlined\":_vm.outlined,\"rounded\":_vm.rounded,\"shaped\":_vm.shaped}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-sheet\n    :color=\"color\"\n    :elevation=\"elevation\"\n    :width=\"width\"\n    :height=\"height\"\n    :outlined=\"outlined\"\n    :rounded=\"rounded\"\n    :shaped=\"shaped\"\n  >\n    <slot />\n  </v-sheet>\n</template>\n\n<script>\nexport default {\n    name: \"Sheet\",\n    props: {\n        width: {\n            type: [String, Number],\n            default: undefined\n        },\n        height: {\n            type: [String, Number],\n            default: undefined\n        },\n        outlined: {\n            type: Boolean,\n            default: false\n        },\n        rounded: {\n            type: Boolean,\n            default: false\n        },\n        shaped: {\n            type: Boolean,\n            default: false\n        },\n        color: {\n            type: String,\n            default: undefined\n        },\n        elevation: {\n            type: [String, Number],\n            default: 1\n        }\n    }\n\n};\n</script>\n\n<style scoped>\n\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sheet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sheet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Sheet.vue?vue&type=template&id=2f6e2bfc&scoped=true\"\nimport script from \"./Sheet.vue?vue&type=script&lang=js\"\nexport * from \"./Sheet.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f6e2bfc\",\n  null\n  \n)\n\nexport default component.exports","/*!\n * vue2-editor v2.10.3 \n * (c) 2021 David Royer\n * Released under the MIT License.\n */\nimport Quill from 'quill';\nexport { default as Quill } from 'quill';\n\nvar defaultToolbar = [[{\n  header: [false, 1, 2, 3, 4, 5, 6]\n}], [\"bold\", \"italic\", \"underline\", \"strike\"], // toggled buttons\n[{\n  align: \"\"\n}, {\n  align: \"center\"\n}, {\n  align: \"right\"\n}, {\n  align: \"justify\"\n}], [\"blockquote\", \"code-block\"], [{\n  list: \"ordered\"\n}, {\n  list: \"bullet\"\n}, {\n  list: \"check\"\n}], [{\n  indent: \"-1\"\n}, {\n  indent: \"+1\"\n}], // outdent/indent\n[{\n  color: []\n}, {\n  background: []\n}], // dropdown with defaults from theme\n[\"link\", \"image\", \"video\"], [\"clean\"] // remove formatting button\n];\n\nvar oldApi = {\n  props: {\n    customModules: Array\n  },\n  methods: {\n    registerCustomModules: function registerCustomModules(Quill) {\n      if (this.customModules !== undefined) {\n        this.customModules.forEach(function (customModule) {\n          Quill.register(\"modules/\" + customModule.alias, customModule.module);\n        });\n      }\n    }\n  }\n};\n\nfunction _typeof(obj) {\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n  var _e = undefined;\n\n  try {\n    for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n/**\n * Performs a deep merge of `source` into `target`.\n * Mutates `target` only but not its objects and arrays.\n *\n */\nfunction mergeDeep(target, source) {\n  var isObject = function isObject(obj) {\n    return obj && _typeof(obj) === \"object\";\n  };\n\n  if (!isObject(target) || !isObject(source)) {\n    return source;\n  }\n\n  Object.keys(source).forEach(function (key) {\n    var targetValue = target[key];\n    var sourceValue = source[key];\n\n    if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {\n      target[key] = targetValue.concat(sourceValue);\n    } else if (isObject(targetValue) && isObject(sourceValue)) {\n      target[key] = mergeDeep(Object.assign({}, targetValue), sourceValue);\n    } else {\n      target[key] = sourceValue;\n    }\n  });\n  return target;\n}\n\nvar BlockEmbed = Quill.import(\"blots/block/embed\");\n\nvar HorizontalRule =\n/*#__PURE__*/\nfunction (_BlockEmbed) {\n  _inherits(HorizontalRule, _BlockEmbed);\n\n  function HorizontalRule() {\n    _classCallCheck(this, HorizontalRule);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(HorizontalRule).apply(this, arguments));\n  }\n\n  return HorizontalRule;\n}(BlockEmbed);\n\nHorizontalRule.blotName = \"hr\";\nHorizontalRule.tagName = \"hr\";\nQuill.register(\"formats/horizontal\", HorizontalRule);\n\nvar MarkdownShortcuts =\n/*#__PURE__*/\nfunction () {\n  function MarkdownShortcuts(quill, options) {\n    var _this = this;\n\n    _classCallCheck(this, MarkdownShortcuts);\n\n    this.quill = quill;\n    this.options = options;\n    this.ignoreTags = [\"PRE\"];\n    this.matches = [{\n      name: \"header\",\n      pattern: /^(#){1,6}\\s/g,\n      action: function action(text, selection, pattern) {\n        var match = pattern.exec(text);\n        if (!match) return;\n        var size = match[0].length; // Need to defer this action https://github.com/quilljs/quill/issues/1134\n\n        setTimeout(function () {\n          _this.quill.formatLine(selection.index, 0, \"header\", size - 1);\n\n          _this.quill.deleteText(selection.index - size, size);\n        }, 0);\n      }\n    }, {\n      name: \"blockquote\",\n      pattern: /^(>)\\s/g,\n      action: function action(_text, selection) {\n        // Need to defer this action https://github.com/quilljs/quill/issues/1134\n        setTimeout(function () {\n          _this.quill.formatLine(selection.index, 1, \"blockquote\", true);\n\n          _this.quill.deleteText(selection.index - 2, 2);\n        }, 0);\n      }\n    }, {\n      name: \"code-block\",\n      pattern: /^`{3}(?:\\s|\\n)/g,\n      action: function action(_text, selection) {\n        // Need to defer this action https://github.com/quilljs/quill/issues/1134\n        setTimeout(function () {\n          _this.quill.formatLine(selection.index, 1, \"code-block\", true);\n\n          _this.quill.deleteText(selection.index - 4, 4);\n        }, 0);\n      }\n    }, {\n      name: \"bolditalic\",\n      pattern: /(?:\\*|_){3}(.+?)(?:\\*|_){3}/g,\n      action: function action(text, _selection, pattern, lineStart) {\n        var match = pattern.exec(text);\n        var annotatedText = match[0];\n        var matchedText = match[1];\n        var startIndex = lineStart + match.index;\n        if (text.match(/^([*_ \\n]+)$/g)) return;\n        setTimeout(function () {\n          _this.quill.deleteText(startIndex, annotatedText.length);\n\n          _this.quill.insertText(startIndex, matchedText, {\n            bold: true,\n            italic: true\n          });\n\n          _this.quill.format(\"bold\", false);\n        }, 0);\n      }\n    }, {\n      name: \"bold\",\n      pattern: /(?:\\*|_){2}(.+?)(?:\\*|_){2}/g,\n      action: function action(text, _selection, pattern, lineStart) {\n        var match = pattern.exec(text);\n        var annotatedText = match[0];\n        var matchedText = match[1];\n        var startIndex = lineStart + match.index;\n        if (text.match(/^([*_ \\n]+)$/g)) return;\n        setTimeout(function () {\n          _this.quill.deleteText(startIndex, annotatedText.length);\n\n          _this.quill.insertText(startIndex, matchedText, {\n            bold: true\n          });\n\n          _this.quill.format(\"bold\", false);\n        }, 0);\n      }\n    }, {\n      name: \"italic\",\n      pattern: /(?:\\*|_){1}(.+?)(?:\\*|_){1}/g,\n      action: function action(text, _selection, pattern, lineStart) {\n        var match = pattern.exec(text);\n        var annotatedText = match[0];\n        var matchedText = match[1];\n        var startIndex = lineStart + match.index;\n        if (text.match(/^([*_ \\n]+)$/g)) return;\n        setTimeout(function () {\n          _this.quill.deleteText(startIndex, annotatedText.length);\n\n          _this.quill.insertText(startIndex, matchedText, {\n            italic: true\n          });\n\n          _this.quill.format(\"italic\", false);\n        }, 0);\n      }\n    }, {\n      name: \"strikethrough\",\n      pattern: /(?:~~)(.+?)(?:~~)/g,\n      action: function action(text, _selection, pattern, lineStart) {\n        var match = pattern.exec(text);\n        var annotatedText = match[0];\n        var matchedText = match[1];\n        var startIndex = lineStart + match.index;\n        if (text.match(/^([*_ \\n]+)$/g)) return;\n        setTimeout(function () {\n          _this.quill.deleteText(startIndex, annotatedText.length);\n\n          _this.quill.insertText(startIndex, matchedText, {\n            strike: true\n          });\n\n          _this.quill.format(\"strike\", false);\n        }, 0);\n      }\n    }, {\n      name: \"code\",\n      pattern: /(?:`)(.+?)(?:`)/g,\n      action: function action(text, _selection, pattern, lineStart) {\n        var match = pattern.exec(text);\n        var annotatedText = match[0];\n        var matchedText = match[1];\n        var startIndex = lineStart + match.index;\n        if (text.match(/^([*_ \\n]+)$/g)) return;\n        setTimeout(function () {\n          _this.quill.deleteText(startIndex, annotatedText.length);\n\n          _this.quill.insertText(startIndex, matchedText, {\n            code: true\n          });\n\n          _this.quill.format(\"code\", false);\n\n          _this.quill.insertText(_this.quill.getSelection(), \" \");\n        }, 0);\n      }\n    }, {\n      name: \"hr\",\n      pattern: /^([-*]\\s?){3}/g,\n      action: function action(text, selection) {\n        var startIndex = selection.index - text.length;\n        setTimeout(function () {\n          _this.quill.deleteText(startIndex, text.length);\n\n          _this.quill.insertEmbed(startIndex + 1, \"hr\", true, Quill.sources.USER);\n\n          _this.quill.insertText(startIndex + 2, \"\\n\", Quill.sources.SILENT);\n\n          _this.quill.setSelection(startIndex + 2, Quill.sources.SILENT);\n        }, 0);\n      }\n    }, {\n      name: \"asterisk-ul\",\n      pattern: /^(\\*|\\+)\\s$/g,\n      // eslint-disable-next-line no-unused-vars\n      action: function action(_text, selection, _pattern) {\n        setTimeout(function () {\n          _this.quill.formatLine(selection.index, 1, \"list\", \"unordered\");\n\n          _this.quill.deleteText(selection.index - 2, 2);\n        }, 0);\n      }\n    }, {\n      name: \"image\",\n      pattern: /(?:!\\[(.+?)\\])(?:\\((.+?)\\))/g,\n      action: function action(text, selection, pattern) {\n        var startIndex = text.search(pattern);\n        var matchedText = text.match(pattern)[0]; // const hrefText = text.match(/(?:!\\[(.*?)\\])/g)[0]\n\n        var hrefLink = text.match(/(?:\\((.*?)\\))/g)[0];\n        var start = selection.index - matchedText.length - 1;\n\n        if (startIndex !== -1) {\n          setTimeout(function () {\n            _this.quill.deleteText(start, matchedText.length);\n\n            _this.quill.insertEmbed(start, \"image\", hrefLink.slice(1, hrefLink.length - 1));\n          }, 0);\n        }\n      }\n    }, {\n      name: \"link\",\n      pattern: /(?:\\[(.+?)\\])(?:\\((.+?)\\))/g,\n      action: function action(text, selection, pattern) {\n        var startIndex = text.search(pattern);\n        var matchedText = text.match(pattern)[0];\n        var hrefText = text.match(/(?:\\[(.*?)\\])/g)[0];\n        var hrefLink = text.match(/(?:\\((.*?)\\))/g)[0];\n        var start = selection.index - matchedText.length - 1;\n\n        if (startIndex !== -1) {\n          setTimeout(function () {\n            _this.quill.deleteText(start, matchedText.length);\n\n            _this.quill.insertText(start, hrefText.slice(1, hrefText.length - 1), \"link\", hrefLink.slice(1, hrefLink.length - 1));\n          }, 0);\n        }\n      }\n    }]; // Handler that looks for insert deltas that match specific characters\n    // eslint-disable-next-line no-unused-vars\n\n    this.quill.on(\"text-change\", function (delta, _oldContents, _source) {\n      for (var i = 0; i < delta.ops.length; i++) {\n        if (delta.ops[i].hasOwnProperty(\"insert\")) {\n          if (delta.ops[i].insert === \" \") {\n            _this.onSpace();\n          } else if (delta.ops[i].insert === \"\\n\") {\n            _this.onEnter();\n          }\n        }\n      }\n    });\n  }\n\n  _createClass(MarkdownShortcuts, [{\n    key: \"isValid\",\n    value: function isValid(text, tagName) {\n      return typeof text !== \"undefined\" && text && this.ignoreTags.indexOf(tagName) === -1;\n    }\n  }, {\n    key: \"onSpace\",\n    value: function onSpace() {\n      var selection = this.quill.getSelection();\n      if (!selection) return;\n\n      var _this$quill$getLine = this.quill.getLine(selection.index),\n          _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 2),\n          line = _this$quill$getLine2[0],\n          offset = _this$quill$getLine2[1];\n\n      var text = line.domNode.textContent;\n      var lineStart = selection.index - offset;\n\n      if (this.isValid(text, line.domNode.tagName)) {\n        var _iteratorNormalCompletion = true;\n        var _didIteratorError = false;\n        var _iteratorError = undefined;\n\n        try {\n          for (var _iterator = this.matches[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n            var match = _step.value;\n            var matchedText = text.match(match.pattern);\n\n            if (matchedText) {\n              // We need to replace only matched text not the whole line\n              console.log(\"matched:\", match.name, text);\n              match.action(text, selection, match.pattern, lineStart);\n              return;\n            }\n          }\n        } catch (err) {\n          _didIteratorError = true;\n          _iteratorError = err;\n        } finally {\n          try {\n            if (!_iteratorNormalCompletion && _iterator.return != null) {\n              _iterator.return();\n            }\n          } finally {\n            if (_didIteratorError) {\n              throw _iteratorError;\n            }\n          }\n        }\n      }\n    }\n  }, {\n    key: \"onEnter\",\n    value: function onEnter() {\n      var selection = this.quill.getSelection();\n      if (!selection) return;\n\n      var _this$quill$getLine3 = this.quill.getLine(selection.index),\n          _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 2),\n          line = _this$quill$getLine4[0],\n          offset = _this$quill$getLine4[1];\n\n      var text = line.domNode.textContent + \" \";\n      var lineStart = selection.index - offset;\n      selection.length = selection.index++;\n\n      if (this.isValid(text, line.domNode.tagName)) {\n        var _iteratorNormalCompletion2 = true;\n        var _didIteratorError2 = false;\n        var _iteratorError2 = undefined;\n\n        try {\n          for (var _iterator2 = this.matches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n            var match = _step2.value;\n            var matchedText = text.match(match.pattern);\n\n            if (matchedText) {\n              console.log(\"matched\", match.name, text);\n              match.action(text, selection, match.pattern, lineStart);\n              return;\n            }\n          }\n        } catch (err) {\n          _didIteratorError2 = true;\n          _iteratorError2 = err;\n        } finally {\n          try {\n            if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n              _iterator2.return();\n            }\n          } finally {\n            if (_didIteratorError2) {\n              throw _iteratorError2;\n            }\n          }\n        }\n      }\n    }\n  }]);\n\n  return MarkdownShortcuts;\n}(); // module.exports = MarkdownShortcuts;\n\n//\nvar script = {\n  name: \"VueEditor\",\n  mixins: [oldApi],\n  props: {\n    id: {\n      type: String,\n      default: \"quill-container\"\n    },\n    placeholder: {\n      type: String,\n      default: \"\"\n    },\n    value: {\n      type: String,\n      default: \"\"\n    },\n    disabled: {\n      type: Boolean\n    },\n    editorToolbar: {\n      type: Array,\n      default: function _default() {\n        return [];\n      }\n    },\n    editorOptions: {\n      type: Object,\n      required: false,\n      default: function _default() {\n        return {};\n      }\n    },\n    useCustomImageHandler: {\n      type: Boolean,\n      default: false\n    },\n    useMarkdownShortcuts: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data: function data() {\n    return {\n      quill: null\n    };\n  },\n  watch: {\n    value: function value(val) {\n      if (val != this.quill.root.innerHTML && !this.quill.hasFocus()) {\n        this.quill.root.innerHTML = val;\n      }\n    },\n    disabled: function disabled(status) {\n      this.quill.enable(!status);\n    }\n  },\n  mounted: function mounted() {\n    this.registerCustomModules(Quill);\n    this.registerPrototypes();\n    this.initializeEditor();\n  },\n  beforeDestroy: function beforeDestroy() {\n    this.quill = null;\n    delete this.quill;\n  },\n  methods: {\n    initializeEditor: function initializeEditor() {\n      this.setupQuillEditor();\n      this.checkForCustomImageHandler();\n      this.handleInitialContent();\n      this.registerEditorEventListeners();\n      this.$emit(\"ready\", this.quill);\n    },\n    setupQuillEditor: function setupQuillEditor() {\n      var editorConfig = {\n        debug: false,\n        modules: this.setModules(),\n        theme: \"snow\",\n        placeholder: this.placeholder ? this.placeholder : \"\",\n        readOnly: this.disabled ? this.disabled : false\n      };\n      this.prepareEditorConfig(editorConfig);\n      this.quill = new Quill(this.$refs.quillContainer, editorConfig);\n    },\n    setModules: function setModules() {\n      var modules = {\n        toolbar: this.editorToolbar.length ? this.editorToolbar : defaultToolbar\n      };\n\n      if (this.useMarkdownShortcuts) {\n        Quill.register(\"modules/markdownShortcuts\", MarkdownShortcuts, true);\n        modules[\"markdownShortcuts\"] = {};\n      }\n\n      return modules;\n    },\n    prepareEditorConfig: function prepareEditorConfig(editorConfig) {\n      if (Object.keys(this.editorOptions).length > 0 && this.editorOptions.constructor === Object) {\n        if (this.editorOptions.modules && typeof this.editorOptions.modules.toolbar !== \"undefined\") {\n          // We don't want to merge default toolbar with provided toolbar.\n          delete editorConfig.modules.toolbar;\n        }\n\n        mergeDeep(editorConfig, this.editorOptions);\n      }\n    },\n    registerPrototypes: function registerPrototypes() {\n      Quill.prototype.getHTML = function () {\n        return this.container.querySelector(\".ql-editor\").innerHTML;\n      };\n\n      Quill.prototype.getWordCount = function () {\n        return this.container.querySelector(\".ql-editor\").innerText.length;\n      };\n    },\n    registerEditorEventListeners: function registerEditorEventListeners() {\n      this.quill.on(\"text-change\", this.handleTextChange);\n      this.quill.on(\"selection-change\", this.handleSelectionChange);\n      this.listenForEditorEvent(\"text-change\");\n      this.listenForEditorEvent(\"selection-change\");\n      this.listenForEditorEvent(\"editor-change\");\n    },\n    listenForEditorEvent: function listenForEditorEvent(type) {\n      var _this = this;\n\n      this.quill.on(type, function () {\n        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n          args[_key] = arguments[_key];\n        }\n\n        _this.$emit.apply(_this, [type].concat(args));\n      });\n    },\n    handleInitialContent: function handleInitialContent() {\n      if (this.value) this.quill.root.innerHTML = this.value; // Set initial editor content\n    },\n    handleSelectionChange: function handleSelectionChange(range, oldRange) {\n      if (!range && oldRange) this.$emit(\"blur\", this.quill);else if (range && !oldRange) this.$emit(\"focus\", this.quill);\n    },\n    handleTextChange: function handleTextChange(delta, oldContents) {\n      var editorContent = this.quill.getHTML() === \"<p><br></p>\" ? \"\" : this.quill.getHTML();\n      this.$emit(\"input\", editorContent);\n      if (this.useCustomImageHandler) this.handleImageRemoved(delta, oldContents);\n    },\n    handleImageRemoved: function handleImageRemoved(delta, oldContents) {\n      var _this2 = this;\n\n      var currrentContents = this.quill.getContents();\n      var deletedContents = currrentContents.diff(oldContents);\n      var operations = deletedContents.ops;\n      operations.map(function (operation) {\n        if (operation.insert && operation.insert.hasOwnProperty(\"image\")) {\n          var image = operation.insert.image;\n\n          _this2.$emit(\"image-removed\", image);\n        }\n      });\n    },\n    checkForCustomImageHandler: function checkForCustomImageHandler() {\n      this.useCustomImageHandler === true ? this.setupCustomImageHandler() : \"\";\n    },\n    setupCustomImageHandler: function setupCustomImageHandler() {\n      var toolbar = this.quill.getModule(\"toolbar\");\n      toolbar.addHandler(\"image\", this.customImageHandler);\n    },\n    customImageHandler: function customImageHandler() {\n      this.$refs.fileInput.click();\n    },\n    emitImageInfo: function emitImageInfo($event) {\n      var resetUploader = function resetUploader() {\n        var uploader = document.getElementById(\"file-upload\");\n        uploader.value = \"\";\n      };\n\n      var file = $event.target.files[0];\n      var Editor = this.quill;\n      var range = Editor.getSelection();\n      var cursorLocation = range.index;\n      this.$emit(\"image-added\", file, Editor, cursorLocation, resetUploader);\n    }\n  }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n  if (typeof shadowMode !== 'boolean') {\n    createInjectorSSR = createInjector;\n    createInjector = shadowMode;\n    shadowMode = false;\n  } // Vue.extend constructor export interop.\n\n\n  var options = typeof script === 'function' ? script.options : script; // render functions\n\n  if (template && template.render) {\n    options.render = template.render;\n    options.staticRenderFns = template.staticRenderFns;\n    options._compiled = true; // functional template\n\n    if (isFunctionalTemplate) {\n      options.functional = true;\n    }\n  } // scopedId\n\n\n  if (scopeId) {\n    options._scopeId = scopeId;\n  }\n\n  var hook;\n\n  if (moduleIdentifier) {\n    // server build\n    hook = function hook(context) {\n      // 2.3 injection\n      context = context || // cached call\n      this.$vnode && this.$vnode.ssrContext || // stateful\n      this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n      // 2.2 with runInNewContext: true\n\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__;\n      } // inject component styles\n\n\n      if (style) {\n        style.call(this, createInjectorSSR(context));\n      } // register component module identifier for async chunk inference\n\n\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier);\n      }\n    }; // used by ssr in case component is cached and beforeCreate\n    // never gets called\n\n\n    options._ssrRegister = hook;\n  } else if (style) {\n    hook = shadowMode ? function () {\n      style.call(this, createInjectorShadow(this.$root.$options.shadowRoot));\n    } : function (context) {\n      style.call(this, createInjector(context));\n    };\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // register for functional component in vue file\n      var originalRender = options.render;\n\n      options.render = function renderWithStyleInjection(h, context) {\n        hook.call(context);\n        return originalRender(h, context);\n      };\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate;\n      options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n    }\n  }\n\n  return script;\n}\n\nvar normalizeComponent_1 = normalizeComponent;\n\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\nfunction createInjector(context) {\n  return function (id, style) {\n    return addStyle(id, style);\n  };\n}\n\nvar HEAD;\nvar styles = {};\n\nfunction addStyle(id, css) {\n  var group = isOldIE ? css.media || 'default' : id;\n  var style = styles[group] || (styles[group] = {\n    ids: new Set(),\n    styles: []\n  });\n\n  if (!style.ids.has(id)) {\n    style.ids.add(id);\n    var code = css.source;\n\n    if (css.map) {\n      // https://developer.chrome.com/devtools/docs/javascript-debugging\n      // this makes source maps inside style tags work properly in Chrome\n      code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875\n\n      code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n    }\n\n    if (!style.element) {\n      style.element = document.createElement('style');\n      style.element.type = 'text/css';\n      if (css.media) style.element.setAttribute('media', css.media);\n\n      if (HEAD === undefined) {\n        HEAD = document.head || document.getElementsByTagName('head')[0];\n      }\n\n      HEAD.appendChild(style.element);\n    }\n\n    if ('styleSheet' in style.element) {\n      style.styles.push(code);\n      style.element.styleSheet.cssText = style.styles.filter(Boolean).join('\\n');\n    } else {\n      var index = style.ids.size - 1;\n      var textNode = document.createTextNode(code);\n      var nodes = style.element.childNodes;\n      if (nodes[index]) style.element.removeChild(nodes[index]);\n      if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n    }\n  }\n}\n\nvar browser = createInjector;\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"quillWrapper\"},[_vm._t(\"toolbar\"),_vm._v(\" \"),_c('div',{ref:\"quillContainer\",attrs:{\"id\":_vm.id}}),_vm._v(\" \"),(_vm.useCustomImageHandler)?_c('input',{ref:\"fileInput\",staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"file-upload\",\"type\":\"file\",\"accept\":\"image/*\"},on:{\"change\":function($event){return _vm.emitImageInfo($event)}}}):_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = function (inject) {\n    if (!inject) return\n    inject(\"data-v-776e788e_0\", { source: \"/*!\\n * Quill Editor v1.3.6\\n * https://quilljs.com/\\n * Copyright (c) 2014, Jason Chen\\n * Copyright (c) 2013, salesforce.com\\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li::before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li::before{content:'\\\\2022'}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li::before,.ql-editor ul[data-checked=true]>li::before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li::before{content:'\\\\2611'}.ql-editor ul[data-checked=false]>li::before{content:'\\\\2610'}.ql-editor li::before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl)::before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl::before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) '. '}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) '. '}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) '. '}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) '. '}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) '. '}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) '. '}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) '. '}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) '. '}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) '. '}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:'';display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:0 0;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:0}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item::before,.ql-snow .ql-picker.ql-header .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"1\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"1\\\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"2\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"2\\\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"3\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"3\\\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"4\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"4\\\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"5\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"5\\\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"6\\\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\\\"6\\\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"1\\\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"2\\\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"3\\\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"4\\\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"5\\\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\\\"6\\\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item::before,.ql-snow .ql-picker.ql-font .ql-picker-label::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item::before,.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\\\"Visit URL:\\\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\\\"Enter link:\\\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\\\"Enter formula:\\\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\\\"Enter video:\\\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}\", map: undefined, media: undefined })\n,inject(\"data-v-776e788e_1\", { source: \".ql-editor{min-height:200px;font-size:16px}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1px!important}.quillWrapper .ql-snow.ql-toolbar{padding-top:8px;padding-bottom:4px}.quillWrapper .ql-snow.ql-toolbar .ql-formats{margin-bottom:10px}.ql-snow .ql-toolbar button svg,.quillWrapper .ql-snow.ql-toolbar button svg{width:22px;height:22px}.quillWrapper .ql-editor ul[data-checked=false]>li::before,.quillWrapper .ql-editor ul[data-checked=true]>li::before{font-size:1.35em;vertical-align:baseline;bottom:-.065em;font-weight:900;color:#222}.quillWrapper .ql-snow .ql-stroke{stroke:rgba(63,63,63,.95);stroke-linecap:square;stroke-linejoin:initial;stroke-width:1.7px}.quillWrapper .ql-picker-label{font-size:15px}.quillWrapper .ql-snow .ql-active .ql-stroke{stroke-width:2.25px}.quillWrapper .ql-toolbar.ql-snow .ql-formats{vertical-align:top}.ql-picker:not(.ql-background){position:relative;top:2px}.ql-picker.ql-color-picker svg{width:22px!important;height:22px!important}.quillWrapper .imageResizeActive img{display:block;cursor:pointer}.quillWrapper .imageResizeActive~div svg{cursor:pointer}\", map: undefined, media: undefined });\n\n  };\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject SSR */\n  \n\n  \n  var VueEditor = normalizeComponent_1(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    browser,\n    undefined\n  );\n\nvar version = \"2.10.3\"; // Declare install function executed by Vue.use()\n\nfunction install(Vue) {\n  if (install.installed) return;\n  install.installed = true;\n  Vue.component(\"VueEditor\", VueEditor);\n}\nvar VPlugin = {\n  install: install,\n  version: version,\n  Quill: Quill,\n  VueEditor: VueEditor\n}; // Auto-install when vue is found (eg. in browser via <script> tag)\n\nvar GlobalVue = null;\n\nif (typeof window !== \"undefined\") {\n  GlobalVue = window.Vue;\n} else if (typeof global !== \"undefined\") {\n  GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n  GlobalVue.use(VPlugin);\n}\n/*************************************************/\n\nexport default VPlugin;\nexport { VueEditor, install };\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n  replaceAll: function replaceAll(searchValue, replaceValue) {\n    var O = requireObjectCoercible(this);\n    var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement;\n    var endOfLastMatch = 0;\n    var result = '';\n    if (isObject(searchValue)) {\n      IS_REG_EXP = isRegExp(searchValue);\n      if (IS_REG_EXP) {\n        flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n        if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');\n      }\n      replacer = getMethod(searchValue, REPLACE);\n      if (replacer) return call(replacer, searchValue, O, replaceValue);\n      if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue);\n    }\n    string = toString(O);\n    searchString = toString(searchValue);\n    functionalReplace = isCallable(replaceValue);\n    if (!functionalReplace) replaceValue = toString(replaceValue);\n    searchLength = searchString.length;\n    advanceBy = max(1, searchLength);\n    position = indexOf(string, searchString);\n    while (position !== -1) {\n      replacement = functionalReplace\n        ? toString(replaceValue(searchString, position, string))\n        : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n      result += stringSlice(string, endOfLastMatch, position) + replacement;\n      endOfLastMatch = position + searchLength;\n      position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy);\n    }\n    if (endOfLastMatch < string.length) {\n      result += stringSlice(string, endOfLastMatch);\n    }\n    return result;\n  }\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-navigation-drawer',{ref:\"drawer\",staticClass:\"navigation\",class:{ 'sidebar-show' : _vm.showAnimation, 'sidebar-hidden' : _vm.hiddenAnimation },attrs:{\"app\":\"\",\"right\":\"\",\"hide-overlay\":\"\",\"width\":_vm.navigation.width}},[_c('div',{staticClass:\"add-user\"},[_c('div',{staticClass:\"container-fluid\"},[_c('button',{staticClass:\"col-2 p-1 btn btn-primary\",staticStyle:{\"width\":\"13%\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.exportPdf}},[_c('i',{staticClass:\"fa fa-download\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" 健診結果票 \"),_c('i',{staticClass:\"fas icon-loading rotate-loading\",staticStyle:{\"font-size\":\"16px\"}},[_vm._v(\"\")])]),_c('div',{staticClass:\"tab\",attrs:{\"id\":\"detail-import-diagnostic-data\"}},[_c('ul',{staticClass:\"nav nav-pills mb-5 pl-0 mt-5\",attrs:{\"id\":\"pills-tab\",\"role\":\"tablist\"}},[_c('li',{staticClass:\"nav-item border\",attrs:{\"role\":\"presentation\"}},[_c('button',{staticClass:\"nav-link active rounded-0\",attrs:{\"id\":\"eligible-person-information-tab\",\"data-bs-toggle\":\"pill\",\"data-bs-target\":\"#eligible-person-information\",\"type\":\"button\",\"role\":\"tab\",\"aria-controls\":\"eligible-person-information\",\"aria-selected\":\"true\"}},[_vm._v(\" 対象者情報 \")])]),_c('li',{staticClass:\"nav-item border\",attrs:{\"role\":\"presentation\"}},[_c('button',{staticClass:\"nav-link rounded-0\",attrs:{\"id\":\"health-check-result-tab\",\"data-bs-toggle\":\"pill\",\"data-bs-target\":\"#health-check-result\",\"type\":\"button\",\"role\":\"tab\",\"aria-controls\":\"health-check-result\",\"aria-selected\":\"false\"}},[_vm._v(\" 健診結果 \")])])]),_c('div',{staticClass:\"tab-content\",attrs:{\"id\":\"pills-tabContent\"}},[_c('div',{staticClass:\"tab-pane fade show active\",attrs:{\"id\":\"eligible-person-information\",\"role\":\"tabpanel\",\"aria-labelledby\":\"eligible-person-information-tab\"}},[(_vm.dataTabA)?_c('div',{staticClass:\"col-12 border tab-eligible-person-information\"},[_c('table',{staticClass:\"table table-bordered\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"bg-gray width-180px\"},[_vm._v(\"対象者ID\")]),_c('td',{staticClass:\"width-250px\"},[(_vm.dataTabA.id)?_c('span',[_vm._v(_vm._s(String(_vm.dataTabA.id).padStart(10, \"0\")))]):_vm._e()]),_c('td',{staticClass:\"bg-gray width-180px\"},[_vm._v(\"保健指導区分\")]),_c('td',{staticClass:\"width-250px\"},[_vm._v(_vm._s(_vm.dataTabA.health_guidance_div))])]),_c('tr',[_c('td',{staticClass:\"pt-5\",attrs:{\"colspan\":\"6\"}})]),_c('tr',[_c('td',{staticClass:\"bg-gray width-180px\"},[_vm._v(\"受付状況\")]),_c('td',{staticClass:\"width-250px\"},[(_vm.dataTabA.health_guidance_no_target == 1)?_c('span',[_vm._v(\"保健指導対象外\")]):_vm._e(),(\n                      _vm.dataTabA.health_guidance_receptions?.length < 1 &&\n                      _vm.dataTabA.health_guidance_no_target == 0\n                    )?_c('span',[_vm._v(\"未受付\")]):_vm._e(),(\n                      _vm.dataTabA.health_guidance_receptions?.length > 0 &&\n                      _vm.dataTabA.health_guidance_no_target == 0\n                    )?_c('span',[_vm._v(\"受付済\")]):_vm._e()]),_c('td',{staticClass:\"bg-gray width-180px\"},[_vm._v(\"支援状況\")]),_c('td',{staticClass:\"width-250px\"},[(_vm.dataTabA.health_guidance_no_target == 1)?_c('span',[_vm._v(\"ー\")]):_c('span',[_vm._v(_vm._s(_vm.dataTabAStatus.codeSupportStatus))])]),_c('td',{staticClass:\"bg-gray width-180px\"},[_vm._v(\"支援状況詳細\")]),_c('td',{staticClass:\"width-250px\"},[(_vm.dataTabA.health_guidance_no_target == 1)?_c('span',[_vm._v(\"ー\")]):_c('span',[_vm._v(_vm._s(_vm.dataTabAStatus.codeSupportExecStatus)+\" \"+_vm._s(_vm.dataTabAStatus.codeSupportProgressStatus))])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 pt-0 pb-0\"},[_c('div',{staticClass:\"mb-3 pl-0 col-8 form-check\"},[_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"exampleCheck1\"}},[_vm._v(\"保健指導対象外\")]),(_vm.dataTabA.health_guidance_no_target == 1)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.health_guidance_no_target),expression:\"dataEdit.health_guidance_no_target\"}],staticClass:\"form-check-input float-right\",attrs:{\"type\":\"checkbox\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable) || _vm.dataTabA.health_guidance_receptions.length > 0,\"checked\":\"\",\"value\":\"1\",\"id\":\"exampleCheck1\"},domProps:{\"checked\":Array.isArray(_vm.dataEdit.health_guidance_no_target)?_vm._i(_vm.dataEdit.health_guidance_no_target,\"1\")>-1:(_vm.dataEdit.health_guidance_no_target)},on:{\"change\":function($event){var $$a=_vm.dataEdit.health_guidance_no_target,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"1\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.dataEdit, \"health_guidance_no_target\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.dataEdit, \"health_guidance_no_target\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.dataEdit, \"health_guidance_no_target\", $$c)}}}}):_vm._e(),(_vm.dataTabA.health_guidance_no_target == 0)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.health_guidance_no_target),expression:\"dataEdit.health_guidance_no_target\"}],staticClass:\"form-check-input float-right\",attrs:{\"type\":\"checkbox\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable) || _vm.dataTabA.health_guidance_receptions.length > 0,\"value\":\"0\",\"id\":\"exampleCheck1\"},domProps:{\"checked\":Array.isArray(_vm.dataEdit.health_guidance_no_target)?_vm._i(_vm.dataEdit.health_guidance_no_target,\"0\")>-1:(_vm.dataEdit.health_guidance_no_target)},on:{\"change\":function($event){var $$a=_vm.dataEdit.health_guidance_no_target,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"0\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.dataEdit, \"health_guidance_no_target\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.dataEdit, \"health_guidance_no_target\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.dataEdit, \"health_guidance_no_target\", $$c)}}}}):_vm._e()])]),_c('div',{staticClass:\"col-10\"},[_c('div',[_c('div',{staticClass:\"float-right\"},[_c('div',{staticClass:\"d-flex\"},[_c('div',{staticStyle:{\"width\":\"300px\"}},[_vm._v(\"登録情報\")]),_c('div',{staticStyle:{\"width\":\"300px\"}},[_vm._v(\"更新情報\")])]),_c('div',{staticClass:\"d-flex\"},[_c('Sheet',{staticClass:\"p-2\",attrs:{\"width\":\"300\",\"height\":\"40\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.dataTabA.created_at))+\" by \"+_vm._s(_vm.dataTabA.created_by ? _vm.dataTabA.created_by.user_name : null)+\" \")]),_c('Sheet',{staticClass:\"p-2\",attrs:{\"width\":\"300\",\"height\":\"40\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.dataTabA.updated_at))+\" by \"+_vm._s(_vm.dataTabA.updated_by ? _vm.dataTabA.updated_by.user_name : null)+\" \")])],1)])])])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 利用券整理番号\"),_c('span',{staticClass:\"required\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.use_ticket_ref_number),expression:\"dataEdit.use_ticket_ref_number\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.use_ticket_ref_number)},on:{\"blur\":function($event){return _vm.validate('use_ticket_ref_number')},\"keyup\":function($event){return _vm.validate('use_ticket_ref_number')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"use_ticket_ref_number\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.use_ticket_ref_number))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 利用券有効期限\"),_c('span',{staticClass:\"required\"}),_c('date-picker',{attrs:{\"autocomplete\":\"off\",\"disabled\":!_vm.isEditable,\"config\":_vm.options},on:{\"input\":function($event){return _vm.validate('use_ticket_effective_date')}},model:{value:(_vm.dataEdit.use_ticket_effective_date),callback:function ($$v) {_vm.$set(_vm.dataEdit, \"use_ticket_effective_date\", $$v)},expression:\"dataEdit.use_ticket_effective_date\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.use_ticket_effective_date))])],1)])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 氏名カナ\"),_c('span',{staticClass:\"required\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_name_kana),expression:\"dataEdit.patient_name_kana\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.patient_name_kana)},on:{\"blur\":function($event){return _vm.validate('patient_name_kana')},\"keyup\":function($event){return _vm.validate('patient_name_kana')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_name_kana\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_name_kana))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 氏名 \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_name),expression:\"dataEdit.patient_name\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.patient_name)},on:{\"blur\":function($event){return _vm.validate('patient_name')},\"keyup\":function($event){return _vm.validate('patient_name')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_name\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_name))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 生年月日\"),_c('span',{staticClass:\"required\"}),_c('date-picker',{attrs:{\"autocomplete\":\"off\",\"disabled\":!_vm.isEditable,\"config\":_vm.options},on:{\"input\":function($event){return _vm.validate('patient_birthday')}},model:{value:(_vm.dataEdit.patient_birthday),callback:function ($$v) {_vm.$set(_vm.dataEdit, \"patient_birthday\", $$v)},expression:\"dataEdit.patient_birthday\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_birthday))])],1),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 性別\"),_c('span',{staticClass:\"required\"}),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_gender),expression:\"dataEdit.patient_gender\"}],staticClass:\"form-select\",attrs:{\"disabled\":!_vm.isEditable},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.dataEdit, \"patient_gender\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.code_gender),function(gender){return _c('option',{key:gender.value + 'gender',domProps:{\"value\":gender.value}},[_vm._v(\" \"+_vm._s(gender.text)+\" \")])}),0),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_gender))])])])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 保険者\"),_c('span',{staticClass:\"required\"}),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.insurer_id),expression:\"dataEdit.insurer_id\"}],staticClass:\"form-select\",attrs:{\"disabled\":!_vm.isEditable},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.dataEdit, \"insurer_id\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.insurerArr),function(insurer){return _c('option',{key:insurer.id + 'insurer',domProps:{\"value\":insurer.id}},[_vm._v(\" [\"+_vm._s(insurer.client_organ_code)+\"] \"+_vm._s(insurer.client_organ_name)+\" \")])}),0),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.insurer_id))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 契約区分\"),_c('span',{staticClass:\"required\"}),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.health_guidance_contract_div),expression:\"dataEdit.health_guidance_contract_div\"}],staticClass:\"form-select\",attrs:{\"disabled\":!_vm.isEditable},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.dataEdit, \"health_guidance_contract_div\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.listContractCode),function(contractCode){return _c('option',{key:contractCode.value + 'contract',domProps:{\"value\":contractCode.value}},[_vm._v(\" \"+_vm._s(contractCode.text)+\" \")])}),0),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.health_guidance_contract_div))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 本人家族区分\"),_c('span',{staticClass:\"required\"}),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.person_familiy_div),expression:\"dataEdit.person_familiy_div\"}],staticClass:\"form-select\",attrs:{\"disabled\":!_vm.isEditable},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.dataEdit, \"person_familiy_div\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.listFamilyCode),function(familyCode){return _c('option',{key:familyCode.value + 'family',domProps:{\"value\":familyCode.value}},[_vm._v(\" \"+_vm._s(familyCode.text)+\" \")])}),0),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.person_familiy_div))])])])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 被保険者証等番号\"),_c('span',{staticClass:\"required\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.insured_card_number),expression:\"dataEdit.insured_card_number\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.insured_card_number)},on:{\"blur\":function($event){return _vm.validate('insured_card_number')},\"keyup\":function($event){return _vm.validate('insured_card_number')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"insured_card_number\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.insured_card_number))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 被保険者証等記号 \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.insured_card_symbol),expression:\"dataEdit.insured_card_symbol\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.insured_card_symbol)},on:{\"blur\":function($event){return _vm.validate('insured_card_symbol')},\"keyup\":function($event){return _vm.validate('insured_card_symbol')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"insured_card_symbol\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.insured_card_symbol))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 被保険者証等枝番 \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.insured_card_branch_code),expression:\"dataEdit.insured_card_branch_code\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.insured_card_branch_code)},on:{\"blur\":function($event){return _vm.validate('insured_card_branch_code')},\"keyup\":function($event){return _vm.validate('insured_card_branch_code')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"insured_card_branch_code\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.insured_card_branch_code))])])])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 郵便番号\"),_c('span',{staticClass:\"required\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_postal_code),expression:\"dataEdit.patient_postal_code\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.patient_postal_code)},on:{\"blur\":function($event){return _vm.validate('patient_postal_code')},\"keyup\":function($event){return _vm.validate('patient_postal_code')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_postal_code\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_postal_code))])]),_c('div',{staticClass:\"col-6\"},[_vm._v(\" 住所\"),_c('span',{staticClass:\"required\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_addr_01),expression:\"dataEdit.patient_addr_01\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.patient_addr_01)},on:{\"blur\":function($event){return _vm.validate('patient_addr_01')},\"keyup\":function($event){return _vm.validate('patient_addr_01')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_addr_01\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_addr_01))])])])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 電話連絡先(携帯) \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_tel_01),expression:\"dataEdit.patient_tel_01\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},domProps:{\"value\":(_vm.dataEdit.patient_tel_01)},on:{\"blur\":function($event){return _vm.validate('patient_tel_01')},\"keyup\":function($event){return _vm.validate('patient_tel_01')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_tel_01\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_tel_01))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 電話連絡先(自宅) \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_tel_02),expression:\"dataEdit.patient_tel_02\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},domProps:{\"value\":(_vm.dataEdit.patient_tel_02)},on:{\"blur\":function($event){return _vm.validate('patient_tel_02')},\"keyup\":function($event){return _vm.validate('patient_tel_02')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_tel_02\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_tel_02))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 電話連絡先(職場) \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_tel_03),expression:\"dataEdit.patient_tel_03\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},domProps:{\"value\":(_vm.dataEdit.patient_tel_03)},on:{\"blur\":function($event){return _vm.validate('patient_tel_03')},\"keyup\":function($event){return _vm.validate('patient_tel_03')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_tel_03\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_tel_03))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 電話連絡先(その他) \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_tel_04),expression:\"dataEdit.patient_tel_04\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},domProps:{\"value\":(_vm.dataEdit.patient_tel_04)},on:{\"blur\":function($event){return _vm.validate('patient_tel_04')},\"keyup\":function($event){return _vm.validate('patient_tel_04')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_tel_04\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_tel_04))])])])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6\"},[_vm._v(\" メールアドレス \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.patient_mail_01),expression:\"dataEdit.patient_mail_01\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},domProps:{\"value\":(_vm.dataEdit.patient_mail_01)},on:{\"blur\":function($event){return _vm.validate('patient_mail_01')},\"keyup\":function($event){return _vm.validate('patient_mail_01')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"patient_mail_01\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.patient_mail_01))])]),_c('div',{staticClass:\"col-6\"},[_vm._v(\" LINE ID \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.lineUserName),expression:\"lineUserName\"}],staticClass:\"form-control dots-the-end\",attrs:{\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable),\"type\":\"text\",\"id\":\"lineUserName\",\"readonly\":\"\"},domProps:{\"value\":(_vm.lineUserName)},on:{\"click\":function($event){_vm.isDialogLine=true},\"input\":function($event){if($event.target.composing)return;_vm.lineUserName=$event.target.value}}})])])]),_c('div',{staticClass:\"col-8 pl-0\"},[_vm._v(\" メモ \"),_c('VueEditor',{attrs:{\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable),\"editorToolbar\":_vm.vue2EditorCustomize},on:{\"blur\":function($event){return _vm.validate('memo')},\"keyup\":function($event){return _vm.validate('memo')}},model:{value:(_vm.dataEdit.memo_rich),callback:function ($$v) {_vm.$set(_vm.dataEdit, \"memo_rich\", $$v)},expression:\"dataEdit.memo_rich\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.memo))])],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 position-relative\"},[_vm._v(\" 初回面談予定日時 \"),_c('date-picker',{attrs:{\"autocomplete\":\"off\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable),\"config\":_vm.option_scheduled_first_support_datetime},model:{value:(_vm.dataEdit.scheduled_first_support_datetime),callback:function ($$v) {_vm.$set(_vm.dataEdit, \"scheduled_first_support_datetime\", $$v)},expression:\"dataEdit.scheduled_first_support_datetime\"}})],1)]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 受診者ID \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.healthexam_patient_id),expression:\"dataEdit.healthexam_patient_id\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.healthexam_patient_id)},on:{\"blur\":function($event){return _vm.validate('healthexam_patient_id')},\"keyup\":function($event){return _vm.validate('healthexam_patient_id')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"healthexam_patient_id\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.healthexam_patient_id))])]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 受診券整理番号 \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.healthexam_ticket_ref_number),expression:\"dataEdit.healthexam_ticket_ref_number\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.healthexam_ticket_ref_number)},on:{\"blur\":function($event){return _vm.validate('healthexam_ticket_ref_number')},\"keyup\":function($event){return _vm.validate('healthexam_ticket_ref_number')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"healthexam_ticket_ref_number\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.healthexam_ticket_ref_number))])])])]),_c('div',{staticClass:\"col-8 pl-0\"},[_vm._v(\" 健診基本情報メモ1 \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.healthexam_memo_1),expression:\"dataEdit.healthexam_memo_1\"}],staticClass:\"form-control\",attrs:{\"disabled\":!_vm.isEditable,\"cols\":\"30\",\"rows\":\"10\",\"maxlength\":255},domProps:{\"value\":(_vm.dataEdit.healthexam_memo_1)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"healthexam_memo_1\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.healthexam_memo_1))])]),_c('div',{staticClass:\"col-8 pl-0\"},[_vm._v(\" 健診基本情報メモ2 \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.healthexam_memo_2),expression:\"dataEdit.healthexam_memo_2\"}],staticClass:\"form-control\",attrs:{\"disabled\":!_vm.isEditable,\"cols\":\"30\",\"rows\":\"10\",\"maxlength\":255},domProps:{\"value\":(_vm.dataEdit.healthexam_memo_2)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"healthexam_memo_2\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.healthexam_memo_2))])]),_c('div',{staticClass:\"col-12 pl-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(\" 健診実施年月日 \"),_c('date-picker',{attrs:{\"autocomplete\":\"off\",\"disabled\":!_vm.isEditable,\"config\":_vm.options},on:{\"input\":function($event){return _vm.validate('healthexam_date')}},model:{value:(_vm.dataEdit.healthexam_date),callback:function ($$v) {_vm.$set(_vm.dataEdit, \"healthexam_date\", $$v)},expression:\"dataEdit.healthexam_date\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.healthexam_date))])],1),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 識別キー\"),_c('span',{staticClass:\"required\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataEdit.healthexam_result_import_key),expression:\"dataEdit.healthexam_result_import_key\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isEditable},domProps:{\"value\":(_vm.dataEdit.healthexam_result_import_key)},on:{\"blur\":function($event){return _vm.validate('healthexam_result_import_key')},\"keyup\":function($event){return _vm.validate('healthexam_result_import_key')},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.dataEdit, \"healthexam_result_import_key\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.healthexam_result_import_key))])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2\"},[_vm._v(\" 利用勧奨電話記録 \"),(_vm.checkViewOrEdit && _vm.isEditable)?_c('button',{staticClass:\"btn btn-success pt-0 pb-0\",on:{\"click\":_vm.add_health_guidance_recommends}},[_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" 追加 \")]):_vm._e()])]),_vm._l((_vm.health_guidance_recommends),function(item,i){return _c('div',{key:item.id + 'a',staticClass:\"row\"},[_c('div',{staticClass:\"col-2\"},[_c('span',{staticClass:\"pl-20\"},[_vm._v(\"架電日\")]),_c('div',{staticClass:\"col-12 pt-0\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-4 pt-2 pr-0\"},[(_vm.checkViewOrEdit && _vm.isEditable)?_c('i',{staticClass:\"btn-trash fa fa-trash mb-3\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.remove_health_guidance_recommends(i)}}},[_c('span',{staticClass:\"font-weight-normal pl-5\"},[_vm._v(_vm._s(i + 1))])]):_vm._e()]),_c('div',{staticClass:\"col-8 pt-0 pr-0 position-relative\"},[_c('date-picker',{attrs:{\"autocomplete\":\"off\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable),\"id\":\"datetime\",\"name\":\"date\",\"config\":_vm.options},on:{\"input\":function($event){return _vm.validate_health_guidance_recommends('recommend_datetime',item)}},model:{value:(item.recommend_datetime),callback:function ($$v) {_vm.$set(item, \"recommend_datetime\", $$v)},expression:\"item.recommend_datetime\"}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(item.messErrorRecommendDatetime))])],1)])])]),_c('div',{staticClass:\"col-2-n1\"},[_vm._v(\" 連絡先 \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.recommend_tel_type),expression:\"item.recommend_tel_type\"}],staticClass:\"form-select\",attrs:{\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(item, \"recommend_tel_type\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){_vm.validate_health_guidance_recommends(\n                        'recommend_tel_type',\n                        item\n                      ), _vm.checkRecommendTelType(item)}]}},_vm._l((_vm.contact_form),function(contact){return _c('option',{key:contact.value + 'contact',domProps:{\"value\":contact.value}},[_vm._v(\" \"+_vm._s(contact.text)+\" \")])}),0),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(item.messErrorRecommendTelType))])]),_c('div',{staticClass:\"col-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.recommend_tel),expression:\"item.recommend_tel\"}],staticClass:\"form-control mt-5\",attrs:{\"type\":\"text\",\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable) || item.recommend_tel_type != '01'},domProps:{\"value\":(item.recommend_tel)},on:{\"keyup\":function($event){return _vm.validate_health_guidance_recommends('recommend_tel', item)},\"input\":function($event){if($event.target.composing)return;_vm.$set(item, \"recommend_tel\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(item.messErrRecommendTel))])]),_c('div',{staticClass:\"col-2-n1\"},[_vm._v(\" 結果 \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.recommend_result),expression:\"item.recommend_result\"}],staticClass:\"form-select\",attrs:{\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(item, \"recommend_result\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.validate_health_guidance_recommends(\n                        'recommend_result',\n                        item\n                      )}]}},[_c('option',{domProps:{\"value\":null}}),_vm._l((_vm.result),function(result){return _c('option',{key:result.text + 'result',domProps:{\"value\":result.value}},[_vm._v(\" \"+_vm._s(result.text)+\" \")])})],2),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(item.messErrRecommendResult))])]),_c('div',{staticClass:\"col-2\"},[_vm._v(\" 理由 \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.recommend_result_reason),expression:\"item.recommend_result_reason\"}],staticClass:\"form-select\",attrs:{\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable)},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(item, \"recommend_result_reason\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.validate_health_guidance_recommends(\n                        'recommend_result_reason',\n                        item\n                      )}]}},[_c('option',{domProps:{\"value\":null}}),_vm._l((_vm.reason),function(reason){return _c('option',{key:reason.text + 'reason',domProps:{\"value\":reason.value}},[_vm._v(\" \"+_vm._s(reason.text)+\" \")])})],2)]),_c('div',{staticClass:\"col-3\"},[_vm._v(\" 聞き取り内容 \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(item.recommend_memo),expression:\"item.recommend_memo\"}],staticClass:\"form-control\",attrs:{\"disabled\":!(_vm.checkViewOrEdit && _vm.isEditable),\"name\":\"\",\"rows\":\"4\"},domProps:{\"value\":(item.recommend_memo)},on:{\"keyup\":function($event){return _vm.validate_health_guidance_recommends(\n                        'recommend_memo',\n                        item\n                      )},\"input\":function($event){if($event.target.composing)return;_vm.$set(item, \"recommend_memo\", $event.target.value)}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(item.messErrRecommendMemo))])])])})],2):_vm._e()]),_c('div',{staticClass:\"tab-pane fade border\",attrs:{\"id\":\"health-check-result\",\"role\":\"tabpanel\",\"aria-labelledby\":\"health-check-result-tab\"}},[_c('ul',{staticClass:\"nav nav-pills pl-3 mt-5\",attrs:{\"id\":\"pills-tab\",\"role\":\"tablist\"}},[_c('li',{staticClass:\"nav-item border\",attrs:{\"role\":\"presentation\"}},[_c('button',{staticClass:\"nav-link active rounded-0\",attrs:{\"id\":\"health-check-result-one-tab\",\"data-bs-toggle\":\"pill\",\"data-bs-target\":\"#health-check-result-one\",\"type\":\"button\",\"role\":\"tab\",\"aria-controls\":\"health-check-result-one\",\"aria-selected\":\"true\"}},[_vm._v(\" 健診基本情報 \")])]),_c('li',{staticClass:\"nav-item\",attrs:{\"role\":\"presentation\"}},[_c('button',{staticClass:\"nav-link border rounded-0\",attrs:{\"id\":\"health-check-result-two-tab\",\"data-bs-toggle\":\"pill\",\"data-bs-target\":\"#health-check-result-two\",\"type\":\"button\",\"role\":\"tab\",\"aria-controls\":\"health-check-result-two\",\"aria-selected\":\"false\"}},[_vm._v(\" 検査項目 \")])])]),_c('div',{staticClass:\"tab-content\",attrs:{\"id\":\"pills-tabContent\"}},[_c('div',{staticClass:\"tab-pane fade show active\",attrs:{\"id\":\"health-check-result-one\",\"role\":\"tabpanel\",\"aria-labelledby\":\"health-check-result-one-tab\"}},[_c('div',{staticClass:\"col-7 p-0 ml-3 mt-3 mb-5 border tab-health-check-result-one\"},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('th',{staticClass:\"p-0 border-bottom\"},[_vm._v(\"項目\")]),_c('th',{staticClass:\"p-0 border-bottom\"},[_vm._v(\"値\")])]),_c('tbody',_vm._l((_vm.dataTabB.data_diagnostic_basic),function(item,index){return _c('tr',{key:index + 'abc',staticClass:\"horizontal-border-line\"},[_c('td',{staticClass:\"font-size-lg\"},[_vm._v(_vm._s(item.healthexam_item_name_disp))]),_c('td',{staticClass:\"font-size-lg\"},[_vm._v(_vm._s((item.healthexam_item_disp == \"\" || item.healthexam_item_disp == null) ? \"ー\" : item.healthexam_item_disp))])])}),0)])])]),_c('div',{staticClass:\"tab-pane fade col-7 p-0 ml-3 mt-3 mb-5 border\",attrs:{\"id\":\"health-check-result-two\",\"role\":\"tabpanel\",\"aria-labelledby\":\"health-check-result-two-tab\"}},[_c('table',{staticClass:\"table\"},[_c('thead',[_c('th',{staticClass:\"text-nowrap p-0 border-bottom width-280px\"},[_vm._v(\"項目\")]),_c('th',{staticClass:\"text-nowrap p-0 border-bottom\"},[_vm._v(\"値\")]),_c('th',{staticClass:\"text-nowrap p-0 pr-2 border-bottom width-90px\"},[_vm._v(\"保健指導\")]),_c('th',{staticClass:\"text-nowrap p-0 pr-2 border-bottom width-90px\"},[_vm._v(\"受診勧奨\")]),_c('th',{staticClass:\"text-nowrap p-0 pr-2 border-bottom width-90px\"},[_vm._v(\"急ぎ治療\")])]),_c('tbody',_vm._l((_vm.dataTabB.data_diagnostic_list),function(item,index){return _c('tr',{key:index + 'search',staticClass:\"horizontal-border-line\",class:{\n                          color_level_10: item.judge_level == 10,\n                          color_level_20: item.judge_level == 20,\n                          color_level_30: item.judge_level == 30,\n                        }},[_c('td',{staticClass:\"font-size-lg\"},[_vm._v(_vm._s(item.healthexam_item_name_disp))]),_c('td',{staticClass:\"font-size-lg\"},[(item.healthexam_item_disp?.length > 0)?_c('span',[_vm._v(_vm._s(item.healthexam_item_disp))]):_c('span',[_vm._v(\"ー\")])]),_c('td',[(_vm.dataTabB.data_diagnostic_search[item.healthexam_item_id] != undefined && _vm.dataTabB.data_diagnostic_search[item.healthexam_item_id][10] != undefined)?_c('span',[_vm._v(\" \"+_vm._s(_vm.get_healthexam_item_judgements(item.healthexam_item_id, 10))+\" \")]):_vm._e()]),_c('td',[(_vm.dataTabB.data_diagnostic_search[item.healthexam_item_id] != undefined && _vm.dataTabB.data_diagnostic_search[item.healthexam_item_id][10] != undefined)?_c('span',[_vm._v(\" \"+_vm._s(_vm.get_healthexam_item_judgements(item.healthexam_item_id, 20))+\" \")]):_vm._e()]),_c('td',[(_vm.dataTabB.data_diagnostic_search[item.healthexam_item_id] != undefined && _vm.dataTabB.data_diagnostic_search[item.healthexam_item_id][10] != undefined)?_c('span',[_vm._v(\" \"+_vm._s(_vm.get_healthexam_item_judgements(item.healthexam_item_id, 30))+\" \")]):_vm._e()])])}),0)])])])])])]),_c('footer',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12 d-inline-flex justify-content-between\"},[_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.hide}},[_c('i',{staticClass:\"fa fa-arrow-left\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" キャンセル \")]),(_vm.isEditable)?_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.isShowDialog = true}}},[_c('i',{staticClass:\"fa fa-database\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" 保存 \")]):_vm._e()])])])]),_c('Dialog',{attrs:{\"maxWidth\":600,\"isShow\":_vm.isShowDialog}},[_c('v-card',[_c('v-container',[_c('v-card-title',[_vm._v(\" 保存 \")]),_c('div',{staticClass:\"m-3\"},[_vm._v(\" 保存処理を実行します。よろしいですか？ \")]),_c('v-card-actions',{staticClass:\"d-flex align-content-center justify-content-between mr-2 ml-2\"},[_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.isShowDialog = false}}},[_vm._v(\" キャンセル \")]),_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\" OK \")])])],1)],1)],1),_c('Dialog',{attrs:{\"isShow\":_vm.isDialogLine,\"persistent\":\"\",\"maxWidth\":600}},[_c('v-card',[_c('v-container',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 d-flex\"},[_vm._v(\" LINE ID \"),_c('v-autocomplete',{staticClass:\"ml-3 col-7 container-autocomplete\",attrs:{\"outlined\":\"\",\"disabled\":!_vm.checkViewOrEdit,\"items\":_vm.itemsLineUser,\"search-input\":_vm.searchPatientLine,\"hide-no-data\":\"\",\"hide-details\":\"\",\"no-filter\":\"\",\"loading\":_vm.isLoading,\"placeholder\":\"ここに入力して検索\"},on:{\"update:searchInput\":function($event){_vm.searchPatientLine=$event},\"update:search-input\":function($event){_vm.searchPatientLine=$event}},model:{value:(_vm.lineUserAsync),callback:function ($$v) {_vm.lineUserAsync=$$v},expression:\"lineUserAsync\"}}),(_vm.checkViewOrEdit)?_c('button',{staticClass:\"ml-3 btn btn-info\",staticStyle:{\"height\":\"38px\",\"margin-top\":\"-5px\"},on:{\"click\":_vm.syncLineUser}},[_vm._v(\" 紐付け \")]):_vm._e()],1)]),_c('div',{staticClass:\"col-12\"},_vm._l((_vm.listContactLineOld),function(item,index){return _c('div',{key:item.value + index + 'patient_line',staticClass:\"mt-2\"},[_c('label',{staticClass:\"mr-8 ml-3 form-check-label\",attrs:{\"for\":item.value}},[_vm._v(\" \"+_vm._s(item.label)+\" \")]),_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.deleteContactLine(item.value)}}},[_vm._v(\"紐付け解除\")])])}),0),_c('v-card-actions',{staticClass:\"d-flex align-content-center justify-content-between mr-2 ml-2\"},[_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.isDialogLine = false}}},[_vm._v(\" キャンセル \")])])],1)],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-navigation-drawer class=\"navigation\" ref=\"drawer\" app right hide-overlay :width=\"navigation.width\" :class=\"{ 'sidebar-show' : showAnimation, 'sidebar-hidden' : hiddenAnimation }\">\n    <div class=\"add-user\">\n      <div class=\"container-fluid\">\n        <button @click=\"exportPdf\" type=\"button\" style=\"width: 13%;\" class=\"col-2 p-1 btn btn-primary\">\n          <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\n          健診結果票\n          <i style=\"font-size:16px\" class=\"fas icon-loading rotate-loading\">&#xf2f1;</i>\n        </button>\n        <div class=\"tab\" id=\"detail-import-diagnostic-data\">\n          <ul class=\"nav nav-pills mb-5 pl-0 mt-5\" id=\"pills-tab\" role=\"tablist\">\n            <li class=\"nav-item border\" role=\"presentation\">\n              <button class=\"nav-link active rounded-0\" id=\"eligible-person-information-tab\" data-bs-toggle=\"pill\"\n                      data-bs-target=\"#eligible-person-information\" type=\"button\" role=\"tab\"\n                      aria-controls=\"eligible-person-information\" aria-selected=\"true\">\n                対象者情報\n              </button>\n            </li>\n            <li class=\"nav-item border\" role=\"presentation\">\n              <button class=\"nav-link rounded-0\" id=\"health-check-result-tab\" data-bs-toggle=\"pill\"\n                      data-bs-target=\"#health-check-result\" type=\"button\" role=\"tab\" aria-controls=\"health-check-result\"\n                      aria-selected=\"false\">\n                健診結果\n              </button>\n            </li>\n          </ul>\n          <div class=\"tab-content\" id=\"pills-tabContent\">\n            <div class=\"tab-pane fade show active\" id=\"eligible-person-information\" role=\"tabpanel\"\n                 aria-labelledby=\"eligible-person-information-tab\">\n              <div class=\"col-12 border tab-eligible-person-information\" v-if=\"dataTabA\">\n                <table class=\"table table-bordered\">\n                  <tbody>\n                  <tr>\n                    <td class=\"bg-gray width-180px\">対象者ID</td>\n                    <td class=\"width-250px\"> <span v-if=\"dataTabA.id\">{{ String(dataTabA.id).padStart(10, \"0\") }}</span>\n                    </td>\n                    <td class=\"bg-gray width-180px\">保健指導区分</td>\n                    <td class=\"width-250px\">{{ dataTabA.health_guidance_div }}</td>\n                  </tr>\n                  <tr>\n                    <td colspan=\"6\" class=\"pt-5\"></td>\n                  </tr>\n                  <tr>\n                    <td class=\"bg-gray width-180px\">受付状況</td>\n                    <td class=\"width-250px\">\n                      <span v-if=\"dataTabA.health_guidance_no_target == 1\">保健指導対象外</span>\n                      <span v-if=\"\n                      dataTabA.health_guidance_receptions?.length < 1 &&\n                      dataTabA.health_guidance_no_target == 0\n                    \">未受付</span>\n                      <span v-if=\"\n                      dataTabA.health_guidance_receptions?.length > 0 &&\n                      dataTabA.health_guidance_no_target == 0\n                    \">受付済</span>\n                    </td>\n                    <td class=\"bg-gray width-180px\">支援状況</td>\n                    <td class=\"width-250px\">\n                      <span v-if=\"dataTabA.health_guidance_no_target == 1\">ー</span>\n                      <span v-else>{{ dataTabAStatus.codeSupportStatus }}</span>\n                    </td>\n                    <td class=\"bg-gray width-180px\">支援状況詳細</td>\n                    <td class=\"width-250px\">\n                      <span v-if=\"dataTabA.health_guidance_no_target == 1\">ー</span>\n                      <span v-else>{{ dataTabAStatus.codeSupportExecStatus }}\n                      {{ dataTabAStatus.codeSupportProgressStatus }}</span>\n                    </td>\n                  </tr>\n                </tbody>\n              </table>\n              <div class=\"row\">\n                <div class=\"col-2 pt-0 pb-0\">\n                  <div class=\"mb-3 pl-0 col-8 form-check\">\n                    <label class=\"form-check-label\" for=\"exampleCheck1\">保健指導対象外</label>\n                    <input type=\"checkbox\"\n                      :disabled=\"!(checkViewOrEdit && isEditable) || dataTabA.health_guidance_receptions.length > 0\"\n                      v-if=\"dataTabA.health_guidance_no_target == 1\" checked value=\"1\"\n                      v-model=\"dataEdit.health_guidance_no_target\" class=\"form-check-input float-right\"\n                      id=\"exampleCheck1\" />\n\n                    <input type=\"checkbox\"\n                      :disabled=\"!(checkViewOrEdit && isEditable) || dataTabA.health_guidance_receptions.length > 0\"\n                      v-if=\"dataTabA.health_guidance_no_target == 0\" value=\"0\"\n                      v-model=\"dataEdit.health_guidance_no_target\" class=\"form-check-input float-right\"\n                      id=\"exampleCheck1\" />\n                  </div>\n                </div>\n                <div class=\"col-10\">\n                  <div>\n                    <div class=\"float-right\">\n                      <div class=\"d-flex\">\n                        <div style=\"width:300px\">登録情報</div>\n                        <div style=\"width:300px\">更新情報</div>\n                      </div>\n                      <div class=\"d-flex\">\n                        <Sheet width=\"300\" height=\"40\" class=\"p-2\">\n                          {{ formatDate(dataTabA.created_at) }} by\n                          {{ dataTabA.created_by ? dataTabA.created_by.user_name : null }}\n                        </Sheet>\n                        <Sheet width=\"300\" height=\"40\" class=\"p-2\">\n                          {{ formatDate(dataTabA.updated_at) }} by\n                          {{ dataTabA.updated_by ? dataTabA.updated_by.user_name : null }}\n                        </Sheet>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    利用券整理番号<span class=\"required\"></span>\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.use_ticket_ref_number\"\n                    @blur=\"validate('use_ticket_ref_number')\" @keyup=\"validate('use_ticket_ref_number')\"\n                    class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.use_ticket_ref_number }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    利用券有効期限<span class=\"required\"></span>\n                    <date-picker autocomplete=\"off\" :disabled=\"!isEditable\" v-model=\"dataEdit.use_ticket_effective_date\"\n                      :config=\"options\" @input=\"validate('use_ticket_effective_date')\"></date-picker>\n                    <span class=\"text-danger\">{{ errors.use_ticket_effective_date }}</span>\n                  </div>\n                </div>\n              </div>\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    氏名カナ<span class=\"required\"></span>\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.patient_name_kana\"\n                      @blur=\"validate('patient_name_kana')\" @keyup=\"validate('patient_name_kana')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_name_kana }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    氏名\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.patient_name\"\n                      @blur=\"validate('patient_name')\" @keyup=\"validate('patient_name')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_name }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    生年月日<span class=\"required\"></span>\n                    <date-picker autocomplete=\"off\" :disabled=\"!isEditable\" v-model=\"dataEdit.patient_birthday\"\n                      :config=\"options\" @input=\"validate('patient_birthday')\"></date-picker>\n                    <span class=\"text-danger\">{{ errors.patient_birthday }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    性別<span class=\"required\"></span>\n                    <select v-model=\"dataEdit.patient_gender\" :disabled=\"!isEditable\" class=\"form-select\">\n                      <option\n                        v-for=\"gender in code_gender\"\n                        :key=\"gender.value + 'gender'\"\n                        :value=\"gender.value\"\n                      >\n                        {{ gender.text }}\n                      </option>\n                    </select>\n                    <span class=\"text-danger\">{{ errors.patient_gender }}</span>\n                  </div>\n                </div>\n              </div>\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    保険者<span class=\"required\"></span>\n                    <select v-model=\"dataEdit.insurer_id\" :disabled=\"!isEditable\" class=\"form-select\">\n                      <option\n                        v-for=\"insurer in insurerArr\"\n                        :key=\"insurer.id + 'insurer'\"\n                        :value=\"insurer.id\"\n                      >\n                        [{{ insurer.client_organ_code }}]\n                        {{ insurer.client_organ_name }}\n                      </option>\n                    </select>\n                    <span class=\"text-danger\">{{ errors.insurer_id }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    契約区分<span class=\"required\"></span>\n                    <select v-model=\"dataEdit.health_guidance_contract_div\" :disabled=\"!isEditable\" class=\"form-select\">\n                      <option\n                        v-for=\"contractCode in listContractCode\"\n                        :key=\"contractCode.value + 'contract'\"\n                        :value=\"contractCode.value\"\n                      >\n                        {{ contractCode.text }}\n                      </option>\n                    </select>\n                    <span class=\"text-danger\">{{ errors.health_guidance_contract_div }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    本人家族区分<span class=\"required\"></span>\n                    <select v-model=\"dataEdit.person_familiy_div\" :disabled=\"!isEditable\" class=\"form-select\">\n                      <option\n                        v-for=\"familyCode in listFamilyCode\"\n                        :key=\"familyCode.value + 'family'\"\n                        :value=\"familyCode.value\"\n                      >\n                        {{ familyCode.text }}\n                      </option>\n                    </select>\n                    <span class=\"text-danger\">{{ errors.person_familiy_div }}</span>\n                  </div>\n                </div>\n              </div>\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    被保険者証等番号<span class=\"required\"></span>\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.insured_card_number\"\n                      @blur=\"validate('insured_card_number')\" @keyup=\"validate('insured_card_number')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.insured_card_number }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    被保険者証等記号\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.insured_card_symbol\"\n                      @blur=\"validate('insured_card_symbol')\" @keyup=\"validate('insured_card_symbol')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.insured_card_symbol }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    被保険者証等枝番\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.insured_card_branch_code\"\n                      @blur=\"validate('insured_card_branch_code')\" @keyup=\"validate('insured_card_branch_code')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.insured_card_branch_code }}</span>\n                  </div>\n                </div>\n              </div>\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    郵便番号<span class=\"required\"></span>\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.patient_postal_code\"\n                      @blur=\"validate('patient_postal_code')\" @keyup=\"validate('patient_postal_code')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_postal_code }}</span>\n                  </div>\n                  <div class=\"col-6\">\n                    住所<span class=\"required\"></span>\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.patient_addr_01\"\n                      @blur=\"validate('patient_addr_01')\" @keyup=\"validate('patient_addr_01')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_addr_01 }}</span>\n                  </div>\n                </div>\n              </div>\n\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    電話連絡先(携帯)\n                    <input type=\"text\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"dataEdit.patient_tel_01\"\n                      @blur=\"validate('patient_tel_01')\" @keyup=\"validate('patient_tel_01')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_tel_01 }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    電話連絡先(自宅)\n                    <input type=\"text\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"dataEdit.patient_tel_02\"\n                      @blur=\"validate('patient_tel_02')\" @keyup=\"validate('patient_tel_02')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_tel_02 }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    電話連絡先(職場)\n                    <input type=\"text\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"dataEdit.patient_tel_03\"\n                      @blur=\"validate('patient_tel_03')\" @keyup=\"validate('patient_tel_03')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_tel_03 }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    電話連絡先(その他)\n                    <input type=\"text\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"dataEdit.patient_tel_04\"\n                      @blur=\"validate('patient_tel_04')\" @keyup=\"validate('patient_tel_04')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_tel_04 }}</span>\n                  </div>\n                  </div>\n                </div>\n\n                <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-6\">\n                    メールアドレス\n                    <input type=\"text\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"dataEdit.patient_mail_01\"\n                      @blur=\"validate('patient_mail_01')\" @keyup=\"validate('patient_mail_01')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.patient_mail_01 }}</span>\n                  </div>\n                  <div class=\"col-6\">\n                        LINE ID\n                        <input :disabled=\"!(checkViewOrEdit && isEditable)\" type=\"text\" class=\"form-control dots-the-end\" id=\"lineUserName\"\n                               v-model=\"lineUserName\" @click=\"isDialogLine=true\" readonly>\n                  </div>\n\n                </div>\n              </div>\n              <div class=\"col-8 pl-0\">\n                メモ\n                <VueEditor :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"dataEdit.memo_rich\"\n                  :editorToolbar=\"vue2EditorCustomize\" @blur=\"validate('memo')\" @keyup=\"validate('memo')\" />\n                <span class=\"text-danger\">{{ errors.memo }}</span>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-2 position-relative\">\n                  初回面談予定日時\n                  <date-picker autocomplete=\"off\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"dataEdit.scheduled_first_support_datetime\"\n                    :config=\"option_scheduled_first_support_datetime\"></date-picker>\n                </div>\n              </div>\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    受診者ID\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.healthexam_patient_id\"\n                      @blur=\"validate('healthexam_patient_id')\" @keyup=\"validate('healthexam_patient_id')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.healthexam_patient_id }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    受診券整理番号\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.healthexam_ticket_ref_number\"\n                      @blur=\"validate('healthexam_ticket_ref_number')\" @keyup=\"validate('healthexam_ticket_ref_number')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.healthexam_ticket_ref_number }}</span>\n                  </div>\n                </div>\n              </div>\n              <div class=\"col-8 pl-0\">\n                健診基本情報メモ1\n                <textarea\n                    :disabled=\"!isEditable\"\n                    v-model=\"dataEdit.healthexam_memo_1\"\n                    cols=\"30\"\n                    rows=\"10\"\n                    class=\"form-control\"\n                    :maxlength=\"255\"\n                >\n                </textarea>\n                <span class=\"text-danger\">{{ errors.healthexam_memo_1 }}</span>\n              </div>\n              <div class=\"col-8 pl-0\">\n                健診基本情報メモ2\n                <textarea\n                    :disabled=\"!isEditable\"\n                    v-model=\"dataEdit.healthexam_memo_2\"\n                    cols=\"30\"\n                    rows=\"10\"\n                    class=\"form-control\"\n                    :maxlength=\"255\"\n                >\n                </textarea>\n                <span class=\"text-danger\">{{ errors.healthexam_memo_2 }}</span>\n              </div>\n              <div class=\"col-12 pl-0\">\n                <div class=\"row\">\n                  <div class=\"col-3\">\n                    健診実施年月日\n                    <date-picker autocomplete=\"off\" :disabled=\"!isEditable\" v-model=\"dataEdit.healthexam_date\"\n                      :config=\"options\" @input=\"validate('healthexam_date')\"></date-picker>\n                    <span class=\"text-danger\">{{ errors.healthexam_date }}</span>\n                  </div>\n                  <div class=\"col-3\">\n                    識別キー<span class=\"required\"></span>\n                    <input type=\"text\" :disabled=\"!isEditable\" v-model=\"dataEdit.healthexam_result_import_key\"\n                      @blur=\"validate('healthexam_result_import_key')\" @keyup=\"validate('healthexam_result_import_key')\" class=\"form-control\" />\n                    <span class=\"text-danger\">{{ errors.healthexam_result_import_key }}</span>\n                  </div>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-2\">\n                  利用勧奨電話記録\n                  <button v-if=\"checkViewOrEdit && isEditable\" @click=\"add_health_guidance_recommends\"\n                    class=\"btn btn-success pt-0 pb-0\">\n                    <i class=\"fa fa-plus\" aria-hidden=\"true\"></i> 追加\n                  </button>\n                </div>\n              </div>\n              <div v-for=\"(item, i) in health_guidance_recommends\" :key=\"item.id + 'a'\" class=\"row\">\n                <div class=\"col-2\">\n                  <span class=\"pl-20\">架電日</span>\n                  <div class=\"col-12 pt-0\">\n                    <div class=\"row\">\n                      <div class=\"col-4 pt-2 pr-0\">\n                        <i v-if=\"checkViewOrEdit && isEditable\" @click=\"remove_health_guidance_recommends(i)\" class=\"btn-trash fa fa-trash mb-3\"\n                          aria-hidden=\"true\">\n                          <span class=\"font-weight-normal pl-5\">{{i + 1}}</span>\n                        </i>\n                      </div>\n                      <div class=\"col-8 pt-0 pr-0 position-relative\">\n                        <date-picker autocomplete=\"off\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"item.recommend_datetime\" id=\"datetime\"\n                          name=\"date\" :config=\"options\" @input=\"validate_health_guidance_recommends('recommend_datetime',item)\"></date-picker>\n                        <span class=\"text-danger\">{{item.messErrorRecommendDatetime}}</span>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n                <div class=\"col-2-n1\">\n                  連絡先\n                  <select :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"item.recommend_tel_type\" class=\"form-select\" @change=\"\n                      validate_health_guidance_recommends(\n                        'recommend_tel_type',\n                        item\n                      ), checkRecommendTelType(item)\n                    \">\n                    <option v-for=\"contact in contact_form\" :key=\"contact.value + 'contact'\" :value=\"contact.value\">\n                      {{ contact.text }}\n                    </option>\n                  </select>\n                  <span class=\"text-danger\">{{\n                      item.messErrorRecommendTelType\n                  }}</span>\n                </div>\n                <div class=\"col-2\">\n                  <input type=\"text\" :disabled=\"!(checkViewOrEdit && isEditable) || item.recommend_tel_type != '01'\"\n                    v-model=\"item.recommend_tel\" @keyup=\"\n                      validate_health_guidance_recommends('recommend_tel', item)\n                    \" class=\"form-control mt-5\" />\n                                      <span class=\"text-danger\">{{\n                        item.messErrRecommendTel\n                    }}</span>\n                </div>\n                <div class=\"col-2-n1\">\n                  結果\n                  <select :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"item.recommend_result\" class=\"form-select\" @change=\"\n                      validate_health_guidance_recommends(\n                        'recommend_result',\n                        item\n                      )\n                    \">\n                    <option :value=\"null\"> </option>\n                    <option v-for=\"result in result\" :key=\"result.text + 'result'\" :value=\"result.value\">\n                      {{ result.text }}\n                    </option>\n                  </select>\n                  <span class=\"text-danger\">{{\n                      item.messErrRecommendResult\n                  }}</span>\n                </div>\n                <div class=\"col-2\">\n                  理由\n                  <select :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"item.recommend_result_reason\" class=\"form-select\"\n                    @change=\"\n                      validate_health_guidance_recommends(\n                        'recommend_result_reason',\n                        item\n                      )\n                    \">\n                    <option :value=\"null\"> </option>\n                    <option v-for=\"reason in reason\" :key=\"reason.text + 'reason'\" :value=\"reason.value\">\n                      {{ reason.text }}\n                    </option>\n                  </select>\n                  <!-- <span class=\"text-danger\">{{\n                      item.messErrRecommendResultReason\n                  }}</span> -->\n                </div>\n                <div class=\"col-3\">\n                  聞き取り内容\n                  <textarea class=\"form-control\" :disabled=\"!(checkViewOrEdit && isEditable)\" v-model=\"item.recommend_memo\" @keyup=\"\n                      validate_health_guidance_recommends(\n                        'recommend_memo',\n                        item\n                      )\n                    \" name=\"\" rows=\"4\"></textarea>\n                                      <span class=\"text-danger\">{{\n                        item.messErrRecommendMemo\n                    }}</span>\n                </div>\n              </div>\n            </div>\n          </div>\n          <div class=\"tab-pane fade border\" id=\"health-check-result\" role=\"tabpanel\"\n            aria-labelledby=\"health-check-result-tab\">\n            <ul class=\"nav nav-pills pl-3 mt-5\" id=\"pills-tab\" role=\"tablist\">\n              <li class=\"nav-item border\" role=\"presentation\">\n                <button class=\"nav-link active rounded-0\" id=\"health-check-result-one-tab\" data-bs-toggle=\"pill\"\n                  data-bs-target=\"#health-check-result-one\" type=\"button\" role=\"tab\"\n                  aria-controls=\"health-check-result-one\" aria-selected=\"true\">\n                  健診基本情報\n                </button>\n              </li>\n              <li class=\"nav-item\" role=\"presentation\">\n                <button class=\"nav-link border rounded-0\" id=\"health-check-result-two-tab\" data-bs-toggle=\"pill\"\n                  data-bs-target=\"#health-check-result-two\" type=\"button\" role=\"tab\"\n                  aria-controls=\"health-check-result-two\" aria-selected=\"false\">\n                  検査項目\n                </button>\n              </li>\n            </ul>\n            <div class=\"tab-content\" id=\"pills-tabContent\">\n              <div class=\"tab-pane fade show active\" id=\"health-check-result-one\" role=\"tabpanel\"\n                aria-labelledby=\"health-check-result-one-tab\">\n                <!-- 健診基本情報 -->\n                <div class=\"col-7 p-0 ml-3 mt-3 mb-5 border tab-health-check-result-one\">\n                  <table class=\"table\">\n                    <thead>\n                      <th class=\"p-0 border-bottom\">項目</th>\n                      <th class=\"p-0 border-bottom\">値</th>\n                      </thead>\n                      <tbody>\n                      <tr class=\"horizontal-border-line\" v-for=\"(item, index) in dataTabB.data_diagnostic_basic\" :key=\"index + 'abc'\">\n                        <td class=\"font-size-lg\">{{ item.healthexam_item_name_disp }}</td>\n                        <td class=\"font-size-lg\">{{ (item.healthexam_item_disp == \"\" || item.healthexam_item_disp == null) ? \"ー\" : item.healthexam_item_disp }}</td>\n                      </tr>\n                      </tbody>\n                    </table>\n                  </div>\n              </div>\n              <!-- 検査項目 -->\n              <div class=\"tab-pane fade col-7 p-0 ml-3 mt-3 mb-5 border\" id=\"health-check-result-two\" role=\"tabpanel\"\n                     aria-labelledby=\"health-check-result-two-tab\">\n                  <table class=\"table\">\n                    <thead>\n                    <th class=\"text-nowrap p-0 border-bottom width-280px\">項目</th>\n                    <th class=\"text-nowrap p-0 border-bottom\">値</th>\n                    <th class=\"text-nowrap p-0 pr-2 border-bottom width-90px\">保健指導</th>\n                    <th class=\"text-nowrap p-0 pr-2 border-bottom width-90px\">受診勧奨</th>\n                    <th class=\"text-nowrap p-0 pr-2 border-bottom width-90px\">急ぎ治療</th>\n                    </thead>\n                    <tbody>\n                    <tr class=\"horizontal-border-line\" v-for=\"(item, index) in dataTabB.data_diagnostic_list\" :key=\"index + 'search'\" :class=\"{\n                          color_level_10: item.judge_level == 10,\n                          color_level_20: item.judge_level == 20,\n                          color_level_30: item.judge_level == 30,\n                        }\">\n                      <td class=\"font-size-lg\">{{ item.healthexam_item_name_disp }}</td>\n                      <td class=\"font-size-lg\">\n                        <span v-if=\"item.healthexam_item_disp?.length > 0\">{{ item.healthexam_item_disp }}</span>\n                        <span v-else>ー</span>\n                      </td>\n                      <td>\n                      <span\n                              v-if=\"dataTabB.data_diagnostic_search[item.healthexam_item_id] != undefined && dataTabB.data_diagnostic_search[item.healthexam_item_id][10] != undefined\">\n                        {{ get_healthexam_item_judgements(item.healthexam_item_id, 10) }}\n                      </span>\n                      </td>\n                      <td>\n                      <span\n                              v-if=\"dataTabB.data_diagnostic_search[item.healthexam_item_id] != undefined && dataTabB.data_diagnostic_search[item.healthexam_item_id][10] != undefined\">\n                        {{ get_healthexam_item_judgements(item.healthexam_item_id, 20) }}\n                      </span>\n                      </td>\n                      <td>\n                      <span\n                              v-if=\"dataTabB.data_diagnostic_search[item.healthexam_item_id] != undefined && dataTabB.data_diagnostic_search[item.healthexam_item_id][10] != undefined\">\n                        {{ get_healthexam_item_judgements(item.healthexam_item_id, 30) }}\n                      </span>\n                      </td>\n                    </tr>\n                  </tbody>\n                </table>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n      <footer>\n        <div class=\"row\">\n          <div class=\"col-md-12 d-inline-flex justify-content-between\">\n            <button @click=\"hide\" type=\"button\" class=\"btn btn-secondary\">\n              <i class=\"fa fa-arrow-left\" aria-hidden=\"true\"></i>\n              キャンセル\n            </button>\n            <button v-if=\"isEditable\" @click=\"isShowDialog = true\" type=\"button\" class=\"btn btn-primary\">\n              <i class=\"fa fa-database\" aria-hidden=\"true\"></i>\n              保存\n            </button>\n          </div>\n        </div>\n      </footer>\n    </div>\n    <Dialog :maxWidth=\"600\" :isShow=\"isShowDialog\">\n      <v-card>\n        <v-container>\n          <v-card-title>\n            保存\n          </v-card-title>\n          <div class=\"m-3\">\n            保存処理を実行します。よろしいですか？\n          </div>\n          <v-card-actions class=\"\n              d-flex\n              align-content-center\n              justify-content-between\n              mr-2\n              ml-2\n            \">\n            <button type=\"button\" class=\"btn btn-secondary\" @click=\"isShowDialog = false\">\n              キャンセル\n            </button>\n            <button type=\"button\" class=\"btn btn-primary\" @click=\"save()\">\n              OK\n            </button>\n          </v-card-actions>\n        </v-container>\n      </v-card>\n    </Dialog>\n      <Dialog :isShow=\"isDialogLine\" persistent :maxWidth=\"600\">\n        <v-card>\n          <v-container>\n            <div class=\"row\">\n              <div class=\"col-12 d-flex\">\n                LINE ID\n                <v-autocomplete\n                    class=\"ml-3 col-7 container-autocomplete\"\n                    outlined\n                    :disabled=\"!checkViewOrEdit\"\n                    v-model=\"lineUserAsync\"\n                    :items=\"itemsLineUser\"\n                    :search-input.sync=\"searchPatientLine\"\n                    hide-no-data\n                    hide-details\n                    no-filter\n                    :loading=\"isLoading\"\n                    placeholder=\"ここに入力して検索\"\n                />\n                <button v-if=\"checkViewOrEdit\" style=\"height: 38px; margin-top: -5px;\" class=\"ml-3 btn btn-info\" @click=\"syncLineUser\">\n                  紐付け\n                </button>\n              </div>\n            </div>\n            <div class=\"col-12\">\n              <div class=\"mt-2\"\n                   v-for=\"(item, index) in listContactLineOld\"\n                   :key=\"item.value + index + 'patient_line'\"\n              >\n                <label\n                    class=\"mr-8 ml-3 form-check-label\"\n                    :for=\"item.value\"\n                >\n                  {{ item.label }}\n                </label>\n                <button @click=\"deleteContactLine(item.value)\" type=\"button\" class=\"btn btn-danger\">紐付け解除</button>\n              </div>\n            </div>\n            <v-card-actions class=\" d-flex align-content-center justify-content-between mr-2 ml-2\">\n              <button\n                  type=\"button\"\n                  class=\"btn btn-secondary\"\n                  @click=\"isDialogLine = false\"\n              >\n                キャンセル\n              </button>\n            </v-card-actions>\n          </v-container>\n        </v-card>\n      </Dialog>\n  </div>\n</v-navigation-drawer>\n</template>\n\n<script>\nimport { mapMutations } from \"vuex\";\nimport moment from \"moment\";\nimport {INTERNAL_SERVER_ERROR, SUCCESS} from \"@/constants\";\nimport MedicalDesignatedSubjects from \"@/services/api/MedicalDesignatedSubjects\";\nimport { formEditMedicalDesignatedSubjects } from \"../common/schemaValidation\";\nimport Sheet from \"@/components/common/Sheet\";\nimport mixins from \"@/mixins\";\nimport { vue2EditorCustomize, TOAST_TIME_OUT, ENVS } from \"@/common/constants\";\nimport _ from \"lodash\";\nimport { VueEditor } from \"vue2-editor\";\nimport Dialog from \"@/components/common/Dialog\";\nimport DashboardService from \"@/services/api/DashboardRepository\";\n\nexport default {\n    name: \"detailImportDiagnosticData\",\n    mixins: [mixins],\n    components: {\n        Sheet,\n        VueEditor,\n        Dialog\n    },\n    props: {\n        dataDetailId: {\n            default: 0,\n        },\n        checkViewOrEdit: {\n            default: false,\n        },\n        isShowNavigation: {\n            default: \"\",\n        },\n    },\n    data() {\n        return {\n            checkUpdateData: false,\n            searchPatientLine: null,\n            isLoading: false,\n            isDialogLine: false,\n            lineUserIdChoose: null,\n            lineUserId: null,\n            currentDataDetailId: null,\n            listContactLine: [{\n                value: 0,\n                label: \"\"\n            }],\n            listContactLineOld: [{\n                value: 0,\n                label: \"\",\n                patient_id: \"\"\n            }],\n            lineUserAsync: null,\n            isShowDialog: false,\n            lineUserName: null,\n            vue2EditorCustomize: vue2EditorCustomize,\n            dataTabA: [],\n            dataTabAStatus: {\n                codeSupportStatus: \"ー\",\n                codeSupportExecStatus: \"ー\",\n                codeSupportProgressStatus: null,\n            },\n            dataTabB: {\n                data_diagnostic_basic: [],\n                data_diagnostic_search: [],\n                data_master_code: [],\n                data_diagnostic_list: [],\n            },\n            health_guidance_recommends: [],\n            date: null,\n            contact_form: [],\n            result: [],\n            reason: [],\n            dataEdit: {\n                patient_tel_type_01: null,\n                patient_tel_type_02: null,\n                patient_tel_type_03: null,\n                patient_tel_type_04: null,\n                health_guidance_no_target: null,\n                patient_tel_01: null,\n                patient_tel_02: null,\n                patient_tel_03: null,\n                patient_tel_04: null,\n                patient_mail_01: null,\n                memo: null,\n                memo_rich: null,\n                scheduled_first_support_datetime: null,\n                use_ticket_ref_number: null,\n                use_ticket_effective_date: null,\n                patient_name_kana: null,\n                patient_name: null,\n                patient_birthday: null,\n                patient_gender: null,\n                insurer_id: null,\n                health_guidance_contract_div: null,\n                person_familiy_div: null,\n                insured_card_number: null,\n                insured_card_symbol: null,\n                insured_card_branch_code: null,\n                patient_postal_code: null,\n                patient_addr_01: null,\n                healthexam_patient_id: null,\n                healthexam_ticket_ref_number: null,\n                healthexam_memo_1: null,\n                healthexam_memo_2: null,\n                healthexam_date: null,\n                healthexam_result_import_key: null,\n            },\n            errors: {\n                health_guidance_no_target: null,\n                patient_tel_01: null,\n                patient_tel_02: null,\n                patient_tel_03: null,\n                patient_tel_04: null,\n                patient_mail_01: null,\n                memo: null,\n                memo_rich: null,\n                scheduled_first_support_datetime: null,\n                use_ticket_ref_number: null,\n                use_ticket_effective_date: null,\n                patient_name_kana: null,\n                patient_name: null,\n                patient_birthday: null,\n                patient_gender: null,\n                insurer_id: null,\n                health_guidance_contract_div: null,\n                person_familiy_div: null,\n                insured_card_number: null,\n                insured_card_symbol: null,\n                insured_card_branch_code: null,\n                patient_postal_code: null,\n                patient_addr_01: null,\n                healthexam_patient_id: null,\n                healthexam_ticket_ref_number: null,\n                healthexam_memo_1: null,\n                healthexam_memo_2: null,\n                healthexam_date: null,\n                healthexam_result_import_key: null,\n            },\n            codeGuidanceDiv: [],\n            listFamilyCode: [],\n            code_gender: [],\n            listContractCode: [],\n            navigation: {\n                width: \"80%\",\n                borderSize: 3\n            },\n            showAnimation: false,\n            hiddenAnimation: false,\n            insurerArr: [],\n            isEditable: false,\n        };\n    },\n    computed: {\n        options() {\n            return {\n                format: \"YYYY-MM-DD\",\n                useCurrent: false,\n                showClear: true,\n                showClose: true,\n                icons: {\n                    time: \"far fa-clock\",\n                    date: \"far fa-calendar\",\n                    up: \"fas fa-arrow-up\",\n                    down: \"fas fa-arrow-down\",\n                    previous: \"fas fa-chevron-left\",\n                    next: \"fas fa-chevron-right\",\n                    today: \"fas fa-calendar-check\",\n                    clear: \"far fa-trash-alt\",\n                    close: \"far fa-times-circle\",\n                },\n                locale: moment.locale(\"ja\"),\n            };\n        },\n        option_scheduled_first_support_datetime() {\n            return {\n                format: \"YYYY-MM-DD HH:mm\",\n                useCurrent: false,\n                showClear: true,\n                showClose: true,\n                icons: {\n                    time: \"far fa-clock\",\n                    date: \"far fa-calendar\",\n                    up: \"fas fa-arrow-up\",\n                    down: \"fas fa-arrow-down\",\n                    previous: \"fas fa-chevron-left\",\n                    next: \"fas fa-chevron-right\",\n                    today: \"fas fa-calendar-check\",\n                    clear: \"far fa-trash-alt\",\n                    close: \"far fa-times-circle\",\n                },\n                locale: moment.locale(\"ja\"),\n            };\n        },\n        cssWidth() {\n            return {\n                \"widthAnimation\": this.navigation.width,\n            }\n        },\n\n        itemsLineUser() {\n            return this.listContactLine.map(contact => {\n                return {\n                    text: contact.label,\n                    value: contact.value,\n                }\n            })\n        }\n    },\n    watch: {\n        dataDetailId() {\n            this.getDetail(this.dataDetailId);\n            this.getListContactLineOld();\n        },\n        checkViewOrEdit() {\n            // console.log(this.checkViewOrEdit);\n        },\n\n        \"dataTabA.codeSupportStatus\"() {\n            alert(this.dataTabA.codeSupportStatus);\n        },\n        \"dataEdit.memo_rich\"() {\n            this.dataEdit.memo = jQuery(this.dataEdit.memo_rich).text()\n            this.validate(\"memo\")\n        },\n        dataTabA() {\n            $(\".navigation\").one(\"animationend\", () => {\n                this.showAnimation = false;\n            });\n        },\n        isShowNavigation() {\n            if (this.currentDataDetailId == this.dataDetailId) {\n                this.getDetail(this.dataDetailId);\n            } else {\n                this.currentDataDetailId = this.dataDetailId;\n            }\n            this.hiddenAnimation = false;\n            this.showAnimation = true;\n\n            $(\".navigation\").one(\"animationend\", () => {\n                this.showAnimation = false;\n            });\n        },\n        searchPatientLine (val) {\n            if(val == null || val == \"\" || (val && val.trim().length == 0)) {\n                this.listContactLine = []\n                return;\n            }\n            if(val && this.listContactLine.find(el => el.label === val)) return;\n            if (this.isLoading) return\n            this.isLoading = true\n            DashboardService.getContactLine(val).then(response => {\n                this.isLoading = false\n                if (response && response.data && response.data.data) {\n                    const {\n                        data: {\n                            data\n                        }\n                    } = response\n                    this.listContactLine = data?.map(contactIt => {\n                        return {\n                            patient_id: contactIt.patient_id,\n                            value: contactIt.line_user_id,\n                            label: contactIt?.line_user_name + \" - \" + contactIt?.messages + (contactIt?.patient_id ? \" ー　連携済み\" : \"\")\n                        }\n                    })\n                } else {\n                    this.notifyError(\"LINEユーザー情報取得処理のエラーが発生しました。\")\n                }\n            }).catch(error => {\n                this.isLoading = false\n                this.notifyError(`LINEユーザー情報取得処理のエラーが発生しました。内容：${error}`)\n            })\n\n        },\n    },\n    created() {\n        MedicalDesignatedSubjects.getGender().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n            this.code_gender = [];\n            for (const [key, value] of Object.entries(res.data)) {\n                this.code_gender.push({\n                    text: value,\n                    value: key,\n                });\n            }\n        });\n\n        MedicalDesignatedSubjects.getCodeMedicalIndication().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n            this.listContractCode = [];\n            for (const [key, value] of Object.entries(res.data)) {\n                this.listContractCode.push({\n                    text: value,\n                    value: key,\n                });\n            }\n        });\n\n        MedicalDesignatedSubjects.getContactForm().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n            this.contact_form = [];\n            for (const [key, value] of Object.entries(res.data)) {\n                this.contact_form.push({\n                    text: value,\n                    value: key,\n                });\n            }\n            this.contact_form = _.sortBy(this.contact_form, \"value\");\n        });\n\n        MedicalDesignatedSubjects.getResult().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n            this.result = [];\n            for (const[key, value] of Object.entries(res.data)) {\n                this.result.push({\n                    text: value,\n                    value: key,\n                });\n            }\n        });\n\n        MedicalDesignatedSubjects.getReason().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n            this.reason = [];\n            for (const[key, value] of Object.entries(res.data)) {\n                this.reason.push({\n                    text: value,\n                    value: key,\n                });\n            }\n        });\n\n        MedicalDesignatedSubjects.getMedicalIndication().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n            this.codeGuidanceDiv = [];\n            for (const [key, value] of Object.entries(res.data)) {\n                this.codeGuidanceDiv.push({\n                    text: value,\n                    value: key,\n                });\n            }\n        });\n\n        MedicalDesignatedSubjects.getCodeFamily().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n            for (const [key, value] of Object.entries(res.data)) {\n                this.listFamilyCode.push({\n                    text: value,\n                    value: key,\n                });\n            }\n        });\n\n        MedicalDesignatedSubjects.getInsurer().then((res) => {\n\t        if(res.errorCode === INTERNAL_SERVER_ERROR) {\n\t\t        this.$toast.error(`[${res?.error.messageID}] ${res?.error.message}`, TOAST_TIME_OUT);\n\t\t        return;\n\t        }\n          this.insurerArr = res.data.data;\n        });\n        this.isEditable = this.isSystemAdminOrBackOffice();\n        this.currentDataDetailId = this.dataDetailId;\n        this.getDetail(this.dataDetailId);\n\n        DashboardService.getContactLine().then(response => {\n            if (response && response.data && response.data.data) {\n                const {\n                    data: {\n                        data\n                    }\n                } = response\n\n                this.listContactLine = data?.map(contactIt => {\n                    return {\n                        patient_id: contactIt.patient_id,\n                        value: contactIt.line_user_id,\n                        label: contactIt?.line_user_name + \" - \" + contactIt?.messages + (contactIt?.patient_id ? \" ー　連携済み\" : \"\")\n                    }\n                })\n                this.lineUserAsync = this.listContactLine.filter(x => x.patient_id == this.dataDetailId)[0]?.value;\n            } else {\n                this.notifyError(\"LINEユーザー情報取得処理のエラーが発生しました。\")\n            }\n        }).catch(error => {\n            this.notifyError(`LINEユーザー情報取得処理のエラーが発生しました。内容：${error}`)\n        })\n        this.getListContactLineOld()\n    },\n    mounted() {\n        this.setBorderWidth();\n        this.setEvents();\n        this.showAnimation = true;\n        this.hiddenAnimation = false;\n\n        // this.$root.$on(\"Dashboard.LoadPages\", () => {\n        //     this.currentDataDetailId = this.dataDetailId;\n        //     this.getDetail(this.dataDetailId);\n        // });\n    },\n    methods: {\n        ...mapMutations({\n            setIsLoading: \"common/setIsLoading\",\n        }),\n\n        async getListContactLineOld() {\n            await DashboardService.getContactLineOld(this.dataDetailId).then(response => {\n                if (response && response.data && response.data.data) {\n                    const {\n                        data: {\n                            data\n                        }\n                    } = response\n                    this.listContactLineOld = data?.map(contactIt => {\n                        return {\n                            patient_id: contactIt.patient_id,\n                            value: contactIt.line_user_id,\n                            label: contactIt?.line_user_name + \" - \" + contactIt?.messages\n                        }\n                    })\n\t                this.lineUserName = this.listContactLineOld.map(contact => contact.label).join(\", \");\n                } else {\n                    if (response?.errorCode != INTERNAL_SERVER_ERROR) {\n                        this.notifyError(\"LINEユーザー情報取得処理のエラーが発生しました。\")\n                    }\n                }\n            }).catch(error => {\n                this.notifyError(`LINEユーザー情報取得処理のエラーが発生しました。内容：${error}`)\n            })\n        },\n        async deleteContactLine(line_user_id) {\n            await DashboardService.deleteContactLine(line_user_id).then(response => {\n                if (response) {\n                    this.getListContactLineOld()\n                } else {\n\t                if (response?.errorCode != INTERNAL_SERVER_ERROR) {\n\t\t                this.notifyError(\"対象者のLINEアカウントへの紐付けが失敗しました。\")\n\t                }\n                }\n            }).catch(error => {\n                this.hideLoading()\n                this.notifyError(`LINEユーザー情報取得処理のエラーが発生しました。内容：${error}`)\n            })\n        },\n        choosePatientLine() {\n            if(this.lineUserIdChoose) {\n                this.lineUserId = this.lineUserIdChoose\n                let idInput = \"#\" + this.lineUserIdChoose\n                this.lineUserName = $(idInput).data(\"text\")\n            }\n            this.isDialogLine = false\n        },\n        async syncLineUser() {\n            const syncLineUserData = {\n                line_user_id: this.lineUserAsync,\n                patient_id: this.dataTabA.id\n            }\n            await DashboardService.syncLineContact(syncLineUserData).then(response => {\n                if (response && response.data && response.data.data) {\n                    this.isUserSyncLine = true;\n                    this.notifySuccess(\"対象者のLINEアカウントに紐付けました。\")\n                    this.lineUserAsync = null\n                    this.getListContactLineOld()\n                } else {\n\t                if (response?.errorCode != INTERNAL_SERVER_ERROR) {\n\t\t                this.notifyError(\"対象者のLINEアカウントへの紐付けが失敗しました。\")\n\t                }\n                }\n            }).catch(error => {\n                this.notifyError(`対象者のLINEアカウントへの紐付けが失敗しました。原因は：${error}`)\n            })\n        },\n\n        get_name_with_code_disp(healthexam_item_id) {\n            if (healthexam_item_id && healthexam_item_id !== undefined) {\n                const data = this.dataTabB.data_master_code[healthexam_item_id];\n                if (data != undefined) {\n                    return data.name_with_code_disp;\n                }\n            }\n            return false;\n        },\n        check_healthexam_item_judge_method(healthexam_item_id) {\n            if (healthexam_item_id && healthexam_item_id !== undefined) {\n                const data = this.dataTabB.data_diagnostic_search[healthexam_item_id];\n                if (data != undefined) {\n                    return data;\n                }\n            }\n            return false;\n        },\n        get_healthexam_item_judgements(healthexam_item_id, $judge_level) {\n            var res = null;\n            if (this.dataTabB.data_diagnostic_search[healthexam_item_id] != undefined && this.dataTabB.data_diagnostic_search[healthexam_item_id][$judge_level] != undefined) {\n                const healthexam_item_judgement = this.dataTabB.data_diagnostic_search[healthexam_item_id][$judge_level];\n                if (healthexam_item_judgement.healthexam_item_judge_method != \"VAL_RANGE\") {\n                    return res;\n                }\n\n                if (healthexam_item_judgement.healthexam_item_data_type == \"CODE\") {\n                    if (healthexam_item_judgement.judge_code_min != undefined) {\n                        const data = this.dataTabB.data_master_code_code[healthexam_item_id][healthexam_item_judgement.judge_code_min];\n                        if (data != undefined) {\n                            res = data.name_with_code_disp + \"≦\";\n                        }\n                    }\n                    if (healthexam_item_judgement.judge_code_max != undefined) {\n                        const data = this.dataTabB.data_master_code_code[healthexam_item_id][healthexam_item_judgement.judge_code_max];\n                        if (data != undefined) {\n                            res = \"≦\" + data.name_with_code_disp;\n                        }\n                    }\n                }\n\n                if (this.dataTabB.data_diagnostic_search[healthexam_item_id][$judge_level].healthexam_item_data_type == \"INT\"\n          || this.dataTabB.data_diagnostic_search[healthexam_item_id][$judge_level].healthexam_item_data_type == \"DEC\"\n                ) {\n                    if (healthexam_item_judgement.judge_val_min != undefined) {\n                        res = healthexam_item_judgement.judge_val_min + \"≦\";\n                    }\n                    if (healthexam_item_judgement.judge_val_max != undefined) {\n                        res = \"≦\" + healthexam_item_judgement.judge_val_max;\n                    }\n                }\n            }\n\n            return res;\n        },\n        exportPdf() {\n            $(\".rotate-loading\").css(\"display\", \"inline-block\");\n            let req = new XMLHttpRequest();\n            req.open(\"GET\", `${ENVS.API_URL_BASE}/api/pdf-diagnostic-result/${this.dataDetailId}`, true);\n            req.responseType = \"blob\";\n            req.onprogress = function (e) {\n                if (e.total) {\n                    $(\".rotate-loading\").css(\"display\", \"none\")\n                }\n            };\n            req.onload = function () {\n                let blob = req.response;\n                let fileName = req.getResponseHeader(\"Name\");\n                let link = document.createElement(\"a\");\n                link.href = window.URL.createObjectURL(blob);\n                link.download = decodeURI(fileName).replaceAll(\"+\", \" \");\n                link.click();\n            };\n\n            req.send();\n        },\n        validate_health_guidance_recommends(field, data) {\n            switch (field) {\n            case \"recommend_tel\":\n                if (!data.recommend_tel.match(/^[0-9]+$/)) {\n                    data.messErrRecommendTel =\n              \"連絡先 番号は半角数字で入力してください。\";\n                } else if (data.recommend_tel?.length > 15) {\n                    data.messErrRecommendTel =\n              \"連絡先 番号は15文字以下で入力してください。\";\n                } else {\n                    data.messErrRecommendTel = null;\n                }\n                if (!data.recommend_tel)\n                    data.messErrRecommendTel = \"連絡先 番号を入力してください。\";\n                break;\n            case \"recommend_memo\":\n                if (data.recommend_memo?.length > 500) {\n                    data.messErrRecommendMemo =\n              \"聞き取り内容は500文字以下で入力してください。\";\n                } else {\n                    data.messErrRecommendMemo = null;\n                }\n                break;\n\n                // case \"recommend_result_reason\":\n                //     if (data.recommend_result_reason) {\n                //         data.messErrRecommendResultReason = null;\n                //     } else {\n                //         data.messErrRecommendResultReason = \"理由を入力してください。\";\n                //     }\n                //     break;\n\n            case \"recommend_result\":\n                if (data.recommend_result) {\n                    data.messErrRecommendResult = null;\n                } else {\n                    data.messErrRecommendResult = \"結果を入力してください。\";\n                }\n                break;\n            case \"recommend_tel_type\":\n                if (data.recommend_tel_type) {\n                    data.messErrorRecommendTelType = null;\n                } else {\n                    data.messErrorRecommendTelType = \"連絡先 種別を入力してください。\";\n                }\n                break;\n\n            case \"recommend_datetime\":\n                if (data.recommend_datetime) {\n                    data.messErrorRecommendDatetime = null;\n                } else {\n                    data.messErrorRecommendDatetime = \"架電日を入力してください。\";\n                }\n                break;\n            default:\n                break;\n            }\n        },\n        validate(field) {\n            formEditMedicalDesignatedSubjects\n                .validateAt(field, this.dataEdit)\n                .then(() => {\n                    this.errors[field] = \"\";\n                })\n                .catch((err) => {\n                    this.errors[field] = err.message;\n                });\n        },\n        formatDate(date) {\n            if (date) {\n                return moment(date).format(\"YYYY-MM-DD HH:mm:ss\");\n            }\n            return null;\n        },\n        add_health_guidance_recommends() {\n            this.health_guidance_recommends.push({\n                id: null,\n                patient_id: null,\n                recommend_datetime: null,\n                recommend_memo: null,\n                recommend_result: null,\n                recommend_result_reason: null,\n                recommend_tel: null,\n                recommend_tel_type: this.contact_form[0]?.value,\n                messErrRecommendTel: null,\n                messErrRecommendMemo: null,\n                messErrorRecommendDatetime: null,\n                messErrorRecommendTelType: null,\n                messErrRecommendResult: null,\n                // messErrRecommendResultReason: null,\n            });\n            this.health_guidance_recommends = _.orderBy(this.health_guidance_recommends, \"id\", \"asc\").reverse();\n        },\n        remove_health_guidance_recommends(index) {\n            this.health_guidance_recommends.splice(index, 1);\n        },\n        checkRecommendTelType(item) {\n            if (item.recommend_tel != 10 && item.recommend_tel != 20 && item.recommend_tel != 30 && item.recommend_tel != 99) {\n                item.recommend_tel = null;\n            }\n            if (item.recommend_tel_type == 10) {\n                item.recommend_tel = this.dataEdit.patient_tel_01;\n            }\n            if (item.recommend_tel_type == 20) {\n                item.recommend_tel = this.dataEdit.patient_tel_02;\n            }\n            if (item.recommend_tel_type == 30) {\n                item.recommend_tel = this.dataEdit.patient_tel_03;\n            }\n            if (item.recommend_tel_type == 99) {\n                item.recommend_tel = this.dataEdit.patient_tel_04;\n            }\n\n            this.validate_health_guidance_recommends(\"recommend_tel\", item);\n        },\n\n        getDetail(detailId) {\n            if (detailId === null) {\n                return;\n            }\n\n            MedicalDesignatedSubjects.getDetailTabA(detailId).then((res) => {\n                const { data, status, error } = res;\n                this.setIsLoading(false);\n                if (status !== SUCCESS) {\n\t                this.$toast.error(`[${error?.messageID}] ${error?.message}`);\n                    return;\n                }\n                this.dataTabA = data.data;\n                this.dataTabA.health_guidance_div = this.getHealthGuidanceDiv(this.dataTabA.health_guidance_div);\n\n                const health_support_flow_segments = data.data.health_guidance_receptions[0]?.health_support_flows[0]?.get_health_support_flow_segments\n                const health_support_flows = data.data.health_guidance_receptions[0]?.health_support_flows[0];\n\n                if (health_support_flows != undefined) {\n                    MedicalDesignatedSubjects.getCodeSupportStatus().then((res) => {\n                        for (const [key, value] of Object.entries(res.data)) {\n                            if (health_support_flows.support_flow_status == key) {\n                                this.dataTabAStatus.codeSupportStatus = value;\n                            }\n                        }\n                    });\n                }\n\n                if (health_support_flow_segments != undefined) {\n                    let dataHealthFlowSegment = _.sortBy(\n                        health_support_flow_segments,\n                        \"support_flow_seq\"\n                    );\n                    var itemHealthFlowSegment = null;\n                    var count = 0;\n                    for (let i = 0; i < dataHealthFlowSegment.length; i++) {\n                        if (dataHealthFlowSegment[i].support_exec_div == 20) {\n                            count++;\n                        }\n\n                        if (\n                            dataHealthFlowSegment[i].support_progress_status == 10 ||\n                            dataHealthFlowSegment[i].support_progress_status == 20 ||\n                            dataHealthFlowSegment[i].support_progress_status == 30\n                        ) {\n                            itemHealthFlowSegment = dataHealthFlowSegment[i];\n                            break;\n                        }\n                    }\n\n                    if (health_support_flows.support_flow_status != 30 && \n                        health_support_flows.support_flow_status != 40 && \n                        health_support_flows.support_flow_status != 50) {\n                        MedicalDesignatedSubjects.getCodeSupportExecStatus().then(\n                            (res) => {\n                                for (const [key, value] of Object.entries(res.data)) {\n                                    if (itemHealthFlowSegment.support_exec_div == key) {\n                                        let checkCount = count != 0 ? ` (${count} 回目) ` : \" \";\n                                        this.dataTabAStatus.codeSupportExecStatus = value;\n                                        if (key == 20) {\n                                            this.dataTabAStatus.codeSupportExecStatus = value + checkCount;\n                                        }\n                                    }\n                                }\n                            }\n                        );\n                        MedicalDesignatedSubjects.getCodeSupportProgressStatus().then(\n                            (res) => {\n                                for (const [key, value] of Object.entries(res.data)) {\n                                    if (itemHealthFlowSegment.support_progress_status == key) {\n                                        this.dataTabAStatus.codeSupportProgressStatus = value;\n                                    }\n                                }\n                            }\n                        );\n                    }\n                }\n\n                this.health_guidance_recommends = [];\n                if (data.data.health_guidance_recommends?.length > 0) {\n                    this.health_guidance_recommends = [];\n                    data.data.health_guidance_recommends.map((x) => {\n                        this.health_guidance_recommends.push({\n                            id: x.id,\n                            patient_id: x.patient_id,\n                            recommend_datetime: x.recommend_datetime,\n                            recommend_memo: x.recommend_memo,\n                            recommend_result: x.recommend_result,\n                            recommend_result_reason: x.recommend_result_reason,\n                            recommend_tel: x.recommend_tel,\n                            recommend_tel_type: x.recommend_tel_type,\n                            messErrRecommendTel: null,\n                            messErrRecommendMemo: null,\n                            messErrorRecommendDatetime: null,\n                            messErrorRecommendTelType: null,\n                            messErrRecommendResult: null,\n                            // messErrRecommendResultReason: null,\n                        });\n                    });\n                }\n                this.dataEdit.health_guidance_no_target = data.data.health_guidance_no_target;\n\n                this.dataEdit.patient_tel_type_01 = data.data.patient_tel_type_01;\n                this.dataEdit.patient_tel_type_02 = data.data.patient_tel_type_02;\n                this.dataEdit.patient_tel_type_03 = data.data.patient_tel_type_03;\n                this.dataEdit.patient_tel_type_04 = data.data.patient_tel_type_04;\n                this.dataEdit.patient_tel_01 = data.data.patient_tel_01;\n                this.dataEdit.patient_tel_02 = data.data.patient_tel_02;\n                this.dataEdit.patient_tel_03 = data.data.patient_tel_03;\n                this.dataEdit.patient_tel_04 = data.data.patient_tel_04;\n                this.dataEdit.patient_mail_01 = data.data.patient_mail_01;\n                this.dataEdit.memo = data.data.memo;\n                this.dataEdit.memo_rich = data.data.memo_rich;\n                this.dataEdit.scheduled_first_support_datetime = data.data.scheduled_first_support_datetime;\n                this.dataEdit.use_ticket_ref_number = data.data.use_ticket_ref_number;\n                this.dataEdit.use_ticket_effective_date = data.data.use_ticket_effective_date;\n                this.dataEdit.patient_name_kana = data.data.patient_name_kana;\n                this.dataEdit.patient_name = data.data.patient_name;\n                this.dataEdit.patient_birthday = data.data.patient_birthday;\n                this.dataEdit.patient_gender = data.data.patient_gender;\n                this.dataEdit.insurer_id = data.data.insurer_id;\n                this.dataEdit.health_guidance_contract_div = data.data.health_guidance_contract_div;\n                this.dataEdit.person_familiy_div = data.data.person_familiy_div;\n                this.dataEdit.insured_card_number = data.data.insured_card_number;\n                this.dataEdit.insured_card_symbol = data.data.insured_card_symbol;\n                this.dataEdit.insured_card_branch_code = data.data.insured_card_branch_code;\n                this.dataEdit.patient_postal_code = data.data.patient_postal_code;\n                this.dataEdit.patient_addr_01 = data.data.patient_addr_01;\n                this.dataEdit.healthexam_ticket_ref_number = data.data.healthexam_ticket_ref_number;\n                this.dataEdit.healthexam_date = data.data.healthexam_date;\n                this.dataEdit.healthexam_result_import_key = data.data.healthexam_result_import_key;\n            });\n\n            // 健診結果(検査項目)\n            MedicalDesignatedSubjects.getDetailTabB(detailId).then((res2) => {\n                const { data, status } = res2;\n                this.setIsLoading(false);\n                if (status !== SUCCESS) return;\n                this.dataTabB.data_diagnostic_basic = data.data.diagnostic_basic;\n                this.dataTabB.data_diagnostic_search = data.data.diagnostic_search;\n                this.dataTabB.data_master_code = data.data.master_code;\n                this.dataTabB.data_master_code_code = data.data.master_code_code;\n                this.dataTabB.data_diagnostic_list = this.filterHasValueHealthexamResults(data.data.diagnostic_list);\n\n                data.data.diagnostic_basic.forEach(item => {\n                  if (item.healthexam_item_code == \"ZZZZZZZZZZ0000100\") {\n                    // 受診者ID\n                    this.dataEdit.healthexam_patient_id = item.healthexam_item_val_str;\n                  } else if (item.healthexam_item_code == \"ZZZZZZZZZZ0001100\") {\n                    // 健診基本情報メモ1\n                    this.dataEdit.healthexam_memo_1 = item.healthexam_item_val_str;\n                  } else if (item.healthexam_item_code == \"ZZZZZZZZZZ0001110\") {\n                    // 健診基本情報メモ2\n                    this.dataEdit.healthexam_memo_2 = item.healthexam_item_val_str;\n                  }\n                });\n            });\n        },\n\n        /**\n         * 健診結果値が存在する項目のみでフィルタ\n         */\n        filterHasValueHealthexamResults(list) {\n            const self = this;\n            return list?.filter(function(x, index, array) {\n                return self.hasHealthexamResultValue(x.healthexam_item_disp);\n            });\n        },\n        /**\n         * 健診結果値が存在する場合true\n         */\n        hasHealthexamResultValue(v) {\n            const trimedVal = v?.trim();\n            return trimedVal && !trimedVal.startsWith(\"ー\");\n        },\n\n        getHealthGuidanceContract(health_guidance_contract_div) {\n            if (\n                health_guidance_contract_div &&\n        health_guidance_contract_div != undefined\n            ) {\n                let contractCode = this.listContractCode.filter(\n                    (x) => x.value == health_guidance_contract_div\n                );\n                if (contractCode?.length > 0) {\n                    return contractCode[0].text;\n                }\n            }\n            return null;\n        },\n        getFamilyCode(person_familiy_div) {\n            if (person_familiy_div && person_familiy_div != undefined) {\n                let familyCode = this.listFamilyCode.filter(\n                    (x) => x.value == person_familiy_div\n                );\n                if (familyCode?.length > 0) {\n                    return familyCode[0].text;\n                }\n            }\n            return null;\n        },\n        getGender(gender) {\n            if (gender && gender != undefined) {\n                let genderCode = this.code_gender.filter(\n                    (x) => x.value == gender\n                );\n                if (genderCode?.length > 0) {\n                    return genderCode[0].text;\n                }\n            }\n            return null;\n        },\n        getHealthGuidanceDiv(code) {\n            const value = this.codeGuidanceDiv.filter((x) => x.value == code);\n            if (value?.length > 0) {\n                return value[0].text;\n            }\n            return null;\n        },\n        hide() {\n            $(\"#eligible-person-information-tab\").click()\n            this.hiddenAnimation = true;\n            this.health_guidance_recommends = [],\n            this.errors = {\n                health_guidance_no_target: null,\n                patient_tel_01: null,\n                patient_tel_02: null,\n                patient_tel_03: null,\n                patient_tel_04: null,\n                patient_mail_01: null,\n                memo: null,\n                scheduled_first_support_datetime: null,\n                use_ticket_ref_number: null,\n                use_ticket_effective_date: null,\n                patient_name_kana: null,\n                patient_name: null,\n                patient_birthday: null,\n                patient_gender: null,\n                insurer_id: null,\n                health_guidance_contract_div: null,\n                person_familiy_div: null,\n                insured_card_number: null,\n                insured_card_symbol: null,\n                insured_card_branch_code: null,\n                patient_postal_code: null,\n                patient_addr_01: null,\n                healthexam_patient_id: null,\n                healthexam_insurer_number: null,\n                healthexam_ticket_ref_number: null,\n                healthexam_memo_1: null,\n                healthexam_memo_2: null,\n                healthexam_date: null,\n                healthexam_result_import_key: null,\n            };\n            // 右スライドパネルを隠す際に詳細を読み込むのは意味がわからないので、コメントアウト.\n            //this.getDetail(this.dataDetailId);\n\t          this.lineUserName = null;\n\n            if (this.checkUpdateData) {\n                this.checkUpdateData = false;\n                this.$emit(\"reload\", \"\", \"update\");\n            }\n\n            this.$store.commit(\"hideSlide\");\n        },\n        async save() {\n            this.isShowDialog = false;\n            formEditMedicalDesignatedSubjects\n                .validate(this.dataEdit, { abortEarly: false })\n                .then(() => {\n                    this.errors = {};\n                    this.health_guidance_recommends.map((x) => {\n                        if (!x.recommend_tel)\n                            x.messErrRecommendTel = \"連絡先 番号を入力してください。\";\n                        if (!x.recommend_datetime)\n                            x.messErrorRecommendDatetime = \"架電日を入力してください。\";\n                        if (!x.recommend_tel_type)\n                            x.messErrorRecommendTelType = \"連絡先 種別を入力してください。\";\n                        if (!x.recommend_result)\n                            x.messErrRecommendResult = \"結果を入力してください。\";\n                        // if (!x.recommend_result_reason)\n                        //     x.messErrRecommendResultReason = \"理由を入力してください。\";\n                    });\n\n                    let checkValidate = this.health_guidance_recommends.filter(\n                        (x) =>\n                            x.messErrRecommendMemo ||\n                            x.messErrRecommendTel ||\n                            x.messErrorRecommendDatetime ||\n                            x.messErrorRecommendTelType ||\n                            x.messErrRecommendResult\n                        // || x.messErrRecommendResultReason\n                    );\n\n                    if (checkValidate?.length == 0) {\n                        this.setIsLoading(true);\n                        this.dataEdit.health_guidance_recommends = this.health_guidance_recommends;\n                        MedicalDesignatedSubjects.update(\n                            this.dataDetailId,\n                            this.dataEdit\n                        ).then((res) => {\n\t                        this.isShowDialog = false;\n\t                        this.setIsLoading(false);\n\t                        const { status, error } = res;\n\t                        this.setIsLoading(false);\n\t                        if (status !== SUCCESS) {\n\t\t                        this.$toast.error(`[${error?.messageID}] ${error?.message}`);\n\t\t                        return;\n\t                        }\n                            this.checkUpdateData = true;\n                            this.$toast.open({\n                                message: \"保健指導対象者情報の登録が完了しました。\",\n                                type: \"success\",\n                            });\n                            this.getDetail(this.dataDetailId);\n\n                            // 親コンポーネントに更新が完了したことを通知するイベント\n                            this.$emit(\"reload\");\n        \n                            // ダッシュボード画面用のイベントを発行\n                            this.$root.$emit(\"Dashboard.Refresh\", this.dataDetailId);\n                        });\n                    }\n                })\n                .catch((err) => {\n                    this.isShowDialog = false;\n                    this.setIsLoading(false);\n                    err.inner.forEach((error) => {\n                        this.errors[error.path] = error.message;\n                    });\n                });\n        },\n        setBorderWidth() {\n            let i = this.$refs.drawer.$el.querySelector(\".v-navigation-drawer__border\");\n            i.style.width = this.navigation.borderSize + \"px\";\n            i.style.cursor = \"ew-resize\";\n        },\n        setEvents() {\n            const minSize = this.navigation.borderSize;\n            const el = this.$refs.drawer.$el;\n            const drawerBorder = el.querySelector(\".v-navigation-drawer__border\");\n            const direction = el.classList.contains(\"v-navigation-drawer--right\")\n                ? \"right\"\n                : \"left\";\n\n            function resize(e) {\n                document.body.style.cursor = \"ew-resize\";\n                let f =\n                    direction === \"right\"\n                        ? document.body.scrollWidth - e.clientX\n                        : e.clientX;\n                el.style.width = f + \"px\";\n            }\n\n            drawerBorder.addEventListener(\n                \"mousedown\",\n                (e) => {\n                    if (e.offsetX < minSize) {\n                        el.style.transition = \"initial\";\n                        document.addEventListener(\"mousemove\", resize, false);\n                    }\n                },\n                false\n            );\n\n            document.addEventListener(\n                \"mouseup\",\n                () => {\n                    el.style.transition = \"\";\n                    this.navigation.width = el.style.width;\n                    document.body.style.cursor = \"\";\n                    document.removeEventListener(\"mousemove\", resize, false);\n                },\n                false\n            );\n        },\n    },\n};\n</script>\n<style lang=\"sass\" scoped>\n  @import \"../styles/common\"\n\n  .horizontal-border-line\n    border-bottom: solid 1px\n    border-color: #dee2e6\n    border-bottom-width: 1px\n  .font-size-lg\n    font-size: 130%\n  .width-90px\n    width: 90px\n    max-width: 90px\n    min-width: 90px\n  .min-width-120px\n    width: 120px\n    min-width: 120px\n    max-width: 120px\n  .width-180px\n    width: 180px\n    max-width: 180px\n    min-width: 180px\n  .width-200px\n    width: 200px\n    max-width: 200px\n    min-width: 200px\n  .width-250px\n    width: 250px\n    max-width: 250px\n    min-width: 250px\n  .width-280px\n    width: 280px\n    max-width: 280px\n    min-width: 280px\n  .rotate-loading\n    display: none\n    animation: rotate 1.5s linear infinite\n  @keyframes rotate\n    100%\n      transform: rotate(360deg)\n  .sidebar-show\n    animation: show 0.5s ease forwards\n\n  .sidebar-hidden\n    animation: hidden 0.5s ease forwards\n\n  @media (max-width: 1025px)\n    .navigation\n      transform: translate(0%) !important\n    .v-navigation-drawer--close\n      visibility: unset\n\n  @keyframes hidden\n    from\n      width: var(widthAnimation)\n    to\n      width: 0\n\n  @keyframes show\n    from\n      width: 0\n    to\n      width: var(widthAnimation)\n\n  #eligible-person-information\n    @include responsive-height(XS, calc(100vh - 25vh), calc(100vh - 25vh), scroll, hidden)\n    @include responsive-height(XL, calc(100vh - 35vh), calc(100vh - 35vh), scroll, hidden)\n    @include responsive-height(LG, calc(100vh - 40vh), calc(100vh - 40vh), scroll, hidden)\n\n  .tab-health-check-result-one, #health-check-result-two\n    @include responsive-height(XS, calc(100vh - 30vh), calc(100vh - 30vh), scroll, hidden)\n    @include responsive-height(XL, calc(100vh - 45vh), calc(100vh - 45vh), scroll, hidden)\n    @include responsive-height(LG, calc(100vh - 50vh), calc(100vh - 50vh), scroll, hidden)\n\n  #detail-import-diagnostic-data\n    @include responsive-height(XS, calc(100vh - 15vh), calc(100vh - 15vh), hidden, hidden)\n    @include responsive-height(XL, calc(100vh - 20vh), calc(100vh - 20vh), hidden, hidden)\n    @include responsive-height(LG, calc(100vh - 25vh), calc(100vh - 25vh), hidden, hidden)\n\t  \n  .dots-the-end\n    text-overflow: ellipsis\n</style>\n<style lang=\"sass\">\n  .container-autocomplete.v-text-field--outlined\n      .v-input__control\n          .v-input__slot\n              min-height: 10px\n  .container-autocomplete.v-text-field--enclosed\n      .v-input__append-inner\n          margin-top: 2px\n  .btn-trash\n      font-size: 1.5rem\n      &:hover\n          cursor: pointer\n      span\n          font-size: 0.8rem\n          &:hover\n              cursor: default\n  .pl-20\n       padding-left: 5.5rem\n  .col-2-n1\n       flex: 0 0 auto\n       width: 12%\n       padding: 12px\n  #pills-tabContent\n       overflow-hidden: hidden\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailImportDiagnosticData.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailImportDiagnosticData.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DetailImportDiagnosticData.vue?vue&type=template&id=2f126a24&scoped=true\"\nimport script from \"./DetailImportDiagnosticData.vue?vue&type=script&lang=js\"\nexport * from \"./DetailImportDiagnosticData.vue?vue&type=script&lang=js\"\nimport style0 from \"./DetailImportDiagnosticData.vue?vue&type=style&index=0&id=2f126a24&prod&lang=sass&scoped=true\"\nimport style1 from \"./DetailImportDiagnosticData.vue?vue&type=style&index=1&id=2f126a24&prod&lang=sass\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2f126a24\",\n  null\n  \n)\n\nexport default component.exports","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n  defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n    var length = arguments.length;\n    var $value = length < 2 ? undefined : arguments[1];\n    if (length && $value === undefined) return $delete(this, name);\n    var entries = [];\n    forEach(this, function (v, k) { // also validates `this`\n      push(entries, { key: k, value: v });\n    });\n    validateArgumentsLength(length, 1);\n    var key = toString(name);\n    var value = toString($value);\n    var index = 0;\n    var dindex = 0;\n    var found = false;\n    var entriesLength = entries.length;\n    var entry;\n    while (index < entriesLength) {\n      entry = entries[index++];\n      if (found || entry.key === key) {\n        found = true;\n        $delete(this, entry.key);\n      } else dindex++;\n    }\n    while (dindex < entriesLength) {\n      entry = entries[dindex++];\n      if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n    }\n  }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlagsDetection = require('../internals/regexp-flags-detection');\nvar regExpFlagsGetterImplementation = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = regExpFlagsDetection.correct ? function (it) {\n  return it.flags;\n} : function (it) {\n  return (!regExpFlagsDetection.correct && isPrototypeOf(RegExpPrototype, it) && !hasOwn(it, 'flags'))\n    ? call(regExpFlagsGetterImplementation, it)\n    : it.flags;\n};\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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 = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n    Scope: Registry.Scope,\n    create: Registry.create,\n    find: Registry.find,\n    query: Registry.query,\n    register: Registry.register,\n    Container: container_1.default,\n    Format: format_1.default,\n    Leaf: leaf_1.default,\n    Embed: embed_1.default,\n    Scroll: scroll_1.default,\n    Block: block_1.default,\n    Inline: inline_1.default,\n    Text: text_1.default,\n    Attributor: {\n        Attribute: attributor_1.default,\n        Class: class_1.default,\n        Style: style_1.default,\n        Store: store_1.default,\n    },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n    __extends(ParchmentError, _super);\n    function ParchmentError(message) {\n        var _this = this;\n        message = '[Parchment] ' + message;\n        _this = _super.call(this, message) || this;\n        _this.message = message;\n        _this.name = _this.constructor.name;\n        return _this;\n    }\n    return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n    Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n    Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n    Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n    Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n    Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n    Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n    Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n    Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n    Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n    Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n    Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n    var match = query(input);\n    if (match == null) {\n        throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n    }\n    var BlotClass = match;\n    var node = \n    // @ts-ignore\n    input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n    return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n    if (bubble === void 0) { bubble = false; }\n    if (node == null)\n        return null;\n    // @ts-ignore\n    if (node[exports.DATA_KEY] != null)\n        return node[exports.DATA_KEY].blot;\n    if (bubble)\n        return find(node.parentNode, bubble);\n    return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n    if (scope === void 0) { scope = Scope.ANY; }\n    var match;\n    if (typeof query === 'string') {\n        match = types[query] || attributes[query];\n        // @ts-ignore\n    }\n    else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n        match = types['text'];\n    }\n    else if (typeof query === 'number') {\n        if (query & Scope.LEVEL & Scope.BLOCK) {\n            match = types['block'];\n        }\n        else if (query & Scope.LEVEL & Scope.INLINE) {\n            match = types['inline'];\n        }\n    }\n    else if (query instanceof HTMLElement) {\n        var names = (query.getAttribute('class') || '').split(/\\s+/);\n        for (var i in names) {\n            match = classes[names[i]];\n            if (match)\n                break;\n        }\n        match = match || tags[query.tagName];\n    }\n    if (match == null)\n        return null;\n    // @ts-ignore\n    if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n        return match;\n    return null;\n}\nexports.query = query;\nfunction register() {\n    var Definitions = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        Definitions[_i] = arguments[_i];\n    }\n    if (Definitions.length > 1) {\n        return Definitions.map(function (d) {\n            return register(d);\n        });\n    }\n    var Definition = Definitions[0];\n    if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n        throw new ParchmentError('Invalid definition');\n    }\n    else if (Definition.blotName === 'abstract') {\n        throw new ParchmentError('Cannot register abstract class');\n    }\n    types[Definition.blotName || Definition.attrName] = Definition;\n    if (typeof Definition.keyName === 'string') {\n        attributes[Definition.keyName] = Definition;\n    }\n    else {\n        if (Definition.className != null) {\n            classes[Definition.className] = Definition;\n        }\n        if (Definition.tagName != null) {\n            if (Array.isArray(Definition.tagName)) {\n                Definition.tagName = Definition.tagName.map(function (tagName) {\n                    return tagName.toUpperCase();\n                });\n            }\n            else {\n                Definition.tagName = Definition.tagName.toUpperCase();\n            }\n            var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n            tagNames.forEach(function (tag) {\n                if (tags[tag] == null || Definition.className == null) {\n                    tags[tag] = Definition;\n                }\n            });\n        }\n    }\n    return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0);  // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n  // Assume we are given a well formed ops\n  if (Array.isArray(ops)) {\n    this.ops = ops;\n  } else if (ops != null && Array.isArray(ops.ops)) {\n    this.ops = ops.ops;\n  } else {\n    this.ops = [];\n  }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n  var newOp = {};\n  if (text.length === 0) return this;\n  newOp.insert = text;\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n    newOp.attributes = attributes;\n  }\n  return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n  if (length <= 0) return this;\n  return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n  if (length <= 0) return this;\n  var newOp = { retain: length };\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n    newOp.attributes = attributes;\n  }\n  return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n  var index = this.ops.length;\n  var lastOp = this.ops[index - 1];\n  newOp = extend(true, {}, newOp);\n  if (typeof lastOp === 'object') {\n    if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n      this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n      return this;\n    }\n    // Since it does not matter if we insert before or after deleting at the same index,\n    // always prefer to insert first\n    if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n      index -= 1;\n      lastOp = this.ops[index - 1];\n      if (typeof lastOp !== 'object') {\n        this.ops.unshift(newOp);\n        return this;\n      }\n    }\n    if (equal(newOp.attributes, lastOp.attributes)) {\n      if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n        this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n        return this;\n      } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n        this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n        return this;\n      }\n    }\n  }\n  if (index === this.ops.length) {\n    this.ops.push(newOp);\n  } else {\n    this.ops.splice(index, 0, newOp);\n  }\n  return this;\n};\n\nDelta.prototype.chop = function () {\n  var lastOp = this.ops[this.ops.length - 1];\n  if (lastOp && lastOp.retain && !lastOp.attributes) {\n    this.ops.pop();\n  }\n  return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n  return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n  this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n  return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n  var passed = [], failed = [];\n  this.forEach(function(op) {\n    var target = predicate(op) ? passed : failed;\n    target.push(op);\n  });\n  return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n  return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n  return this.reduce(function (length, elem) {\n    if (elem.insert) {\n      return length + op.length(elem);\n    } else if (elem.delete) {\n      return length - elem.delete;\n    }\n    return length;\n  }, 0);\n};\n\nDelta.prototype.length = function () {\n  return this.reduce(function (length, elem) {\n    return length + op.length(elem);\n  }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n  start = start || 0;\n  if (typeof end !== 'number') end = Infinity;\n  var ops = [];\n  var iter = op.iterator(this.ops);\n  var index = 0;\n  while (index < end && iter.hasNext()) {\n    var nextOp;\n    if (index < start) {\n      nextOp = iter.next(start - index);\n    } else {\n      nextOp = iter.next(end - index);\n      ops.push(nextOp);\n    }\n    index += op.length(nextOp);\n  }\n  return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  var ops = [];\n  var firstOther = otherIter.peek();\n  if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n    var firstLeft = firstOther.retain;\n    while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n      firstLeft -= thisIter.peekLength();\n      ops.push(thisIter.next());\n    }\n    if (firstOther.retain - firstLeft > 0) {\n      otherIter.next(firstOther.retain - firstLeft);\n    }\n  }\n  var delta = new Delta(ops);\n  while (thisIter.hasNext() || otherIter.hasNext()) {\n    if (otherIter.peekType() === 'insert') {\n      delta.push(otherIter.next());\n    } else if (thisIter.peekType() === 'delete') {\n      delta.push(thisIter.next());\n    } else {\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n      var thisOp = thisIter.next(length);\n      var otherOp = otherIter.next(length);\n      if (typeof otherOp.retain === 'number') {\n        var newOp = {};\n        if (typeof thisOp.retain === 'number') {\n          newOp.retain = length;\n        } else {\n          newOp.insert = thisOp.insert;\n        }\n        // Preserve null when composing with a retain, otherwise remove it for inserts\n        var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n        if (attributes) newOp.attributes = attributes;\n        delta.push(newOp);\n\n        // Optimization if rest of other is just retain\n        if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n          var rest = new Delta(thisIter.rest());\n          return delta.concat(rest).chop();\n        }\n\n      // Other op should be delete, we could be an insert or retain\n      // Insert + delete cancels out\n      } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n        delta.push(otherOp);\n      }\n    }\n  }\n  return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n  var delta = new Delta(this.ops.slice());\n  if (other.ops.length > 0) {\n    delta.push(other.ops[0]);\n    delta.ops = delta.ops.concat(other.ops.slice(1));\n  }\n  return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n  if (this.ops === other.ops) {\n    return new Delta();\n  }\n  var strings = [this, other].map(function (delta) {\n    return delta.map(function (op) {\n      if (op.insert != null) {\n        return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n      }\n      var prep = (delta === other) ? 'on' : 'with';\n      throw new Error('diff() called ' + prep + ' non-document');\n    }).join('');\n  });\n  var delta = new Delta();\n  var diffResult = diff(strings[0], strings[1], index);\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  diffResult.forEach(function (component) {\n    var length = component[1].length;\n    while (length > 0) {\n      var opLength = 0;\n      switch (component[0]) {\n        case diff.INSERT:\n          opLength = Math.min(otherIter.peekLength(), length);\n          delta.push(otherIter.next(opLength));\n          break;\n        case diff.DELETE:\n          opLength = Math.min(length, thisIter.peekLength());\n          thisIter.next(opLength);\n          delta['delete'](opLength);\n          break;\n        case diff.EQUAL:\n          opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n          var thisOp = thisIter.next(opLength);\n          var otherOp = otherIter.next(opLength);\n          if (equal(thisOp.insert, otherOp.insert)) {\n            delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n          } else {\n            delta.push(otherOp)['delete'](opLength);\n          }\n          break;\n      }\n      length -= opLength;\n    }\n  });\n  return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n  newline = newline || '\\n';\n  var iter = op.iterator(this.ops);\n  var line = new Delta();\n  var i = 0;\n  while (iter.hasNext()) {\n    if (iter.peekType() !== 'insert') return;\n    var thisOp = iter.peek();\n    var start = op.length(thisOp) - iter.peekLength();\n    var index = typeof thisOp.insert === 'string' ?\n      thisOp.insert.indexOf(newline, start) - start : -1;\n    if (index < 0) {\n      line.push(iter.next());\n    } else if (index > 0) {\n      line.push(iter.next(index));\n    } else {\n      if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n        return;\n      }\n      i += 1;\n      line = new Delta();\n    }\n  }\n  if (line.length() > 0) {\n    predicate(line, {}, i);\n  }\n};\n\nDelta.prototype.transform = function (other, priority) {\n  priority = !!priority;\n  if (typeof other === 'number') {\n    return this.transformPosition(other, priority);\n  }\n  var thisIter = op.iterator(this.ops);\n  var otherIter = op.iterator(other.ops);\n  var delta = new Delta();\n  while (thisIter.hasNext() || otherIter.hasNext()) {\n    if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n      delta.retain(op.length(thisIter.next()));\n    } else if (otherIter.peekType() === 'insert') {\n      delta.push(otherIter.next());\n    } else {\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n      var thisOp = thisIter.next(length);\n      var otherOp = otherIter.next(length);\n      if (thisOp['delete']) {\n        // Our delete either makes their delete redundant or removes their retain\n        continue;\n      } else if (otherOp['delete']) {\n        delta.push(otherOp);\n      } else {\n        // We retain either their retain or insert\n        delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n      }\n    }\n  }\n  return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n  priority = !!priority;\n  var thisIter = op.iterator(this.ops);\n  var offset = 0;\n  while (thisIter.hasNext() && offset <= index) {\n    var length = thisIter.peekLength();\n    var nextType = thisIter.peekType();\n    thisIter.next();\n    if (nextType === 'delete') {\n      index -= Math.min(length, index - offset);\n      continue;\n    } else if (nextType === 'insert' && (offset < index || !priority)) {\n      index += length;\n    }\n    offset += length;\n  }\n  return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n  _inherits(BlockEmbed, _Parchment$Embed);\n\n  function BlockEmbed() {\n    _classCallCheck(this, BlockEmbed);\n\n    return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n  }\n\n  _createClass(BlockEmbed, [{\n    key: 'attach',\n    value: function attach() {\n      _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n      this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n    }\n  }, {\n    key: 'delta',\n    value: function delta() {\n      return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n      if (attribute != null) {\n        this.attributes.attribute(attribute, value);\n      }\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      this.format(name, value);\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (typeof value === 'string' && value.endsWith('\\n')) {\n        var block = _parchment2.default.create(Block.blotName);\n        this.parent.insertBefore(block, index === 0 ? this : this.next);\n        block.insertAt(0, value.slice(0, -1));\n      } else {\n        _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n      }\n    }\n  }]);\n\n  return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n  _inherits(Block, _Parchment$Block);\n\n  function Block(domNode) {\n    _classCallCheck(this, Block);\n\n    var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n    _this2.cache = {};\n    return _this2;\n  }\n\n  _createClass(Block, [{\n    key: 'delta',\n    value: function delta() {\n      if (this.cache.delta == null) {\n        this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n          if (leaf.length() === 0) {\n            return delta;\n          } else {\n            return delta.insert(leaf.value(), bubbleFormats(leaf));\n          }\n        }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n      }\n      return this.cache.delta;\n    }\n  }, {\n    key: 'deleteAt',\n    value: function deleteAt(index, length) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n      this.cache = {};\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (length <= 0) return;\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n        if (index + length === this.length()) {\n          this.format(name, value);\n        }\n      } else {\n        _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n      }\n      this.cache = {};\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n      if (value.length === 0) return;\n      var lines = value.split('\\n');\n      var text = lines.shift();\n      if (text.length > 0) {\n        if (index < this.length() - 1 || this.children.tail == null) {\n          _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n        } else {\n          this.children.tail.insertAt(this.children.tail.length(), text);\n        }\n        this.cache = {};\n      }\n      var block = this;\n      lines.reduce(function (index, line) {\n        block = block.split(index, true);\n        block.insertAt(0, line);\n        return line.length;\n      }, index + text.length);\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      var head = this.children.head;\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n      if (head instanceof _break2.default) {\n        head.remove();\n      }\n      this.cache = {};\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      if (this.cache.length == null) {\n        this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n      }\n      return this.cache.length;\n    }\n  }, {\n    key: 'moveChildren',\n    value: function moveChildren(target, ref) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n      this.cache = {};\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n      this.cache = {};\n    }\n  }, {\n    key: 'path',\n    value: function path(index) {\n      return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n    }\n  }, {\n    key: 'removeChild',\n    value: function removeChild(child) {\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n      this.cache = {};\n    }\n  }, {\n    key: 'split',\n    value: function split(index) {\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n        var clone = this.clone();\n        if (index === 0) {\n          this.parent.insertBefore(clone, this);\n          return this;\n        } else {\n          this.parent.insertBefore(clone, this.next);\n          return clone;\n        }\n      } else {\n        var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n        this.cache = {};\n        return next;\n      }\n    }\n  }]);\n\n  return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n  var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  if (blot == null) return formats;\n  if (typeof blot.formats === 'function') {\n    formats = (0, _extend2.default)(formats, blot.formats());\n  }\n  if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n    return formats;\n  }\n  return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n  _createClass(Quill, null, [{\n    key: 'debug',\n    value: function debug(limit) {\n      if (limit === true) {\n        limit = 'log';\n      }\n      _logger2.default.level(limit);\n    }\n  }, {\n    key: 'find',\n    value: function find(node) {\n      return node.__quill || _parchment2.default.find(node);\n    }\n  }, {\n    key: 'import',\n    value: function _import(name) {\n      if (this.imports[name] == null) {\n        debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n      }\n      return this.imports[name];\n    }\n  }, {\n    key: 'register',\n    value: function register(path, target) {\n      var _this = this;\n\n      var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n      if (typeof path !== 'string') {\n        var name = path.attrName || path.blotName;\n        if (typeof name === 'string') {\n          // register(Blot | Attributor, overwrite)\n          this.register('formats/' + name, path, target);\n        } else {\n          Object.keys(path).forEach(function (key) {\n            _this.register(key, path[key], target);\n          });\n        }\n      } else {\n        if (this.imports[path] != null && !overwrite) {\n          debug.warn('Overwriting ' + path + ' with', target);\n        }\n        this.imports[path] = target;\n        if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n          _parchment2.default.register(target);\n        } else if (path.startsWith('modules') && typeof target.register === 'function') {\n          target.register();\n        }\n      }\n    }\n  }]);\n\n  function Quill(container) {\n    var _this2 = this;\n\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    _classCallCheck(this, Quill);\n\n    this.options = expandConfig(container, options);\n    this.container = this.options.container;\n    if (this.container == null) {\n      return debug.error('Invalid Quill container', container);\n    }\n    if (this.options.debug) {\n      Quill.debug(this.options.debug);\n    }\n    var html = this.container.innerHTML.trim();\n    this.container.classList.add('ql-container');\n    this.container.innerHTML = '';\n    this.container.__quill = this;\n    this.root = this.addContainer('ql-editor');\n    this.root.classList.add('ql-blank');\n    this.root.setAttribute('data-gramm', false);\n    this.scrollingContainer = this.options.scrollingContainer || this.root;\n    this.emitter = new _emitter4.default();\n    this.scroll = _parchment2.default.create(this.root, {\n      emitter: this.emitter,\n      whitelist: this.options.formats\n    });\n    this.editor = new _editor2.default(this.scroll);\n    this.selection = new _selection2.default(this.scroll, this.emitter);\n    this.theme = new this.options.theme(this, this.options);\n    this.keyboard = this.theme.addModule('keyboard');\n    this.clipboard = this.theme.addModule('clipboard');\n    this.history = this.theme.addModule('history');\n    this.theme.init();\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n      if (type === _emitter4.default.events.TEXT_CHANGE) {\n        _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n      }\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n      var range = _this2.selection.lastRange;\n      var index = range && range.length === 0 ? range.index : undefined;\n      modify.call(_this2, function () {\n        return _this2.editor.update(null, mutations, index);\n      }, source);\n    });\n    var contents = this.clipboard.convert('<div class=\\'ql-editor\\' style=\"white-space: normal;\">' + html + '<p><br></p></div>');\n    this.setContents(contents);\n    this.history.clear();\n    if (this.options.placeholder) {\n      this.root.setAttribute('data-placeholder', this.options.placeholder);\n    }\n    if (this.options.readOnly) {\n      this.disable();\n    }\n  }\n\n  _createClass(Quill, [{\n    key: 'addContainer',\n    value: function addContainer(container) {\n      var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      if (typeof container === 'string') {\n        var className = container;\n        container = document.createElement('div');\n        container.classList.add(className);\n      }\n      this.container.insertBefore(container, refNode);\n      return container;\n    }\n  }, {\n    key: 'blur',\n    value: function blur() {\n      this.selection.setRange(null);\n    }\n  }, {\n    key: 'deleteText',\n    value: function deleteText(index, length, source) {\n      var _this3 = this;\n\n      var _overload = overload(index, length, source);\n\n      var _overload2 = _slicedToArray(_overload, 4);\n\n      index = _overload2[0];\n      length = _overload2[1];\n      source = _overload2[3];\n\n      return modify.call(this, function () {\n        return _this3.editor.deleteText(index, length);\n      }, source, index, -1 * length);\n    }\n  }, {\n    key: 'disable',\n    value: function disable() {\n      this.enable(false);\n    }\n  }, {\n    key: 'enable',\n    value: function enable() {\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      this.scroll.enable(enabled);\n      this.container.classList.toggle('ql-disabled', !enabled);\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      var scrollTop = this.scrollingContainer.scrollTop;\n      this.selection.focus();\n      this.scrollingContainer.scrollTop = scrollTop;\n      this.scrollIntoView();\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      var _this4 = this;\n\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        var range = _this4.getSelection(true);\n        var change = new _quillDelta2.default();\n        if (range == null) {\n          return change;\n        } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n          change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n        } else if (range.length === 0) {\n          _this4.selection.format(name, value);\n          return change;\n        } else {\n          change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n        }\n        _this4.setSelection(range, _emitter4.default.sources.SILENT);\n        return change;\n      }, source);\n    }\n  }, {\n    key: 'formatLine',\n    value: function formatLine(index, length, name, value, source) {\n      var _this5 = this;\n\n      var formats = void 0;\n\n      var _overload3 = overload(index, length, name, value, source);\n\n      var _overload4 = _slicedToArray(_overload3, 4);\n\n      index = _overload4[0];\n      length = _overload4[1];\n      formats = _overload4[2];\n      source = _overload4[3];\n\n      return modify.call(this, function () {\n        return _this5.editor.formatLine(index, length, formats);\n      }, source, index, 0);\n    }\n  }, {\n    key: 'formatText',\n    value: function formatText(index, length, name, value, source) {\n      var _this6 = this;\n\n      var formats = void 0;\n\n      var _overload5 = overload(index, length, name, value, source);\n\n      var _overload6 = _slicedToArray(_overload5, 4);\n\n      index = _overload6[0];\n      length = _overload6[1];\n      formats = _overload6[2];\n      source = _overload6[3];\n\n      return modify.call(this, function () {\n        return _this6.editor.formatText(index, length, formats);\n      }, source, index, 0);\n    }\n  }, {\n    key: 'getBounds',\n    value: function getBounds(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var bounds = void 0;\n      if (typeof index === 'number') {\n        bounds = this.selection.getBounds(index, length);\n      } else {\n        bounds = this.selection.getBounds(index.index, index.length);\n      }\n      var containerBounds = this.container.getBoundingClientRect();\n      return {\n        bottom: bounds.bottom - containerBounds.top,\n        height: bounds.height,\n        left: bounds.left - containerBounds.left,\n        right: bounds.right - containerBounds.left,\n        top: bounds.top - containerBounds.top,\n        width: bounds.width\n      };\n    }\n  }, {\n    key: 'getContents',\n    value: function getContents() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n      var _overload7 = overload(index, length);\n\n      var _overload8 = _slicedToArray(_overload7, 2);\n\n      index = _overload8[0];\n      length = _overload8[1];\n\n      return this.editor.getContents(index, length);\n    }\n  }, {\n    key: 'getFormat',\n    value: function getFormat() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      if (typeof index === 'number') {\n        return this.editor.getFormat(index, length);\n      } else {\n        return this.editor.getFormat(index.index, index.length);\n      }\n    }\n  }, {\n    key: 'getIndex',\n    value: function getIndex(blot) {\n      return blot.offset(this.scroll);\n    }\n  }, {\n    key: 'getLength',\n    value: function getLength() {\n      return this.scroll.length();\n    }\n  }, {\n    key: 'getLeaf',\n    value: function getLeaf(index) {\n      return this.scroll.leaf(index);\n    }\n  }, {\n    key: 'getLine',\n    value: function getLine(index) {\n      return this.scroll.line(index);\n    }\n  }, {\n    key: 'getLines',\n    value: function getLines() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n      if (typeof index !== 'number') {\n        return this.scroll.lines(index.index, index.length);\n      } else {\n        return this.scroll.lines(index, length);\n      }\n    }\n  }, {\n    key: 'getModule',\n    value: function getModule(name) {\n      return this.theme.modules[name];\n    }\n  }, {\n    key: 'getSelection',\n    value: function getSelection() {\n      var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (focus) this.focus();\n      this.update(); // Make sure we access getRange with editor in consistent state\n      return this.selection.getRange()[0];\n    }\n  }, {\n    key: 'getText',\n    value: function getText() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n      var _overload9 = overload(index, length);\n\n      var _overload10 = _slicedToArray(_overload9, 2);\n\n      index = _overload10[0];\n      length = _overload10[1];\n\n      return this.editor.getText(index, length);\n    }\n  }, {\n    key: 'hasFocus',\n    value: function hasFocus() {\n      return this.selection.hasFocus();\n    }\n  }, {\n    key: 'insertEmbed',\n    value: function insertEmbed(index, embed, value) {\n      var _this7 = this;\n\n      var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n      return modify.call(this, function () {\n        return _this7.editor.insertEmbed(index, embed, value);\n      }, source, index);\n    }\n  }, {\n    key: 'insertText',\n    value: function insertText(index, text, name, value, source) {\n      var _this8 = this;\n\n      var formats = void 0;\n\n      var _overload11 = overload(index, 0, name, value, source);\n\n      var _overload12 = _slicedToArray(_overload11, 4);\n\n      index = _overload12[0];\n      formats = _overload12[2];\n      source = _overload12[3];\n\n      return modify.call(this, function () {\n        return _this8.editor.insertText(index, text, formats);\n      }, source, index, text.length);\n    }\n  }, {\n    key: 'isEnabled',\n    value: function isEnabled() {\n      return !this.container.classList.contains('ql-disabled');\n    }\n  }, {\n    key: 'off',\n    value: function off() {\n      return this.emitter.off.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'on',\n    value: function on() {\n      return this.emitter.on.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'once',\n    value: function once() {\n      return this.emitter.once.apply(this.emitter, arguments);\n    }\n  }, {\n    key: 'pasteHTML',\n    value: function pasteHTML(index, html, source) {\n      this.clipboard.dangerouslyPasteHTML(index, html, source);\n    }\n  }, {\n    key: 'removeFormat',\n    value: function removeFormat(index, length, source) {\n      var _this9 = this;\n\n      var _overload13 = overload(index, length, source);\n\n      var _overload14 = _slicedToArray(_overload13, 4);\n\n      index = _overload14[0];\n      length = _overload14[1];\n      source = _overload14[3];\n\n      return modify.call(this, function () {\n        return _this9.editor.removeFormat(index, length);\n      }, source, index);\n    }\n  }, {\n    key: 'scrollIntoView',\n    value: function scrollIntoView() {\n      this.selection.scrollIntoView(this.scrollingContainer);\n    }\n  }, {\n    key: 'setContents',\n    value: function setContents(delta) {\n      var _this10 = this;\n\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        delta = new _quillDelta2.default(delta);\n        var length = _this10.getLength();\n        var deleted = _this10.editor.deleteText(0, length);\n        var applied = _this10.editor.applyDelta(delta);\n        var lastOp = applied.ops[applied.ops.length - 1];\n        if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n          _this10.editor.deleteText(_this10.getLength() - 1, 1);\n          applied.delete(1);\n        }\n        var ret = deleted.compose(applied);\n        return ret;\n      }, source);\n    }\n  }, {\n    key: 'setSelection',\n    value: function setSelection(index, length, source) {\n      if (index == null) {\n        this.selection.setRange(null, length || Quill.sources.API);\n      } else {\n        var _overload15 = overload(index, length, source);\n\n        var _overload16 = _slicedToArray(_overload15, 4);\n\n        index = _overload16[0];\n        length = _overload16[1];\n        source = _overload16[3];\n\n        this.selection.setRange(new _selection.Range(index, length), source);\n        if (source !== _emitter4.default.sources.SILENT) {\n          this.selection.scrollIntoView(this.scrollingContainer);\n        }\n      }\n    }\n  }, {\n    key: 'setText',\n    value: function setText(text) {\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      var delta = new _quillDelta2.default().insert(text);\n      return this.setContents(delta, source);\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n      var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n      this.selection.update(source);\n      return change;\n    }\n  }, {\n    key: 'updateContents',\n    value: function updateContents(delta) {\n      var _this11 = this;\n\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n      return modify.call(this, function () {\n        delta = new _quillDelta2.default(delta);\n        return _this11.editor.applyDelta(delta, source);\n      }, source, true);\n    }\n  }]);\n\n  return Quill;\n}();\n\nQuill.DEFAULTS = {\n  bounds: null,\n  formats: null,\n  modules: {},\n  placeholder: '',\n  readOnly: false,\n  scrollingContainer: null,\n  strict: true,\n  theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version =  false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n  'delta': _quillDelta2.default,\n  'parchment': _parchment2.default,\n  'core/module': _module2.default,\n  'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n  userConfig = (0, _extend2.default)(true, {\n    container: container,\n    modules: {\n      clipboard: true,\n      keyboard: true,\n      history: true\n    }\n  }, userConfig);\n  if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n    userConfig.theme = _theme2.default;\n  } else {\n    userConfig.theme = Quill.import('themes/' + userConfig.theme);\n    if (userConfig.theme == null) {\n      throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n    }\n  }\n  var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n  [themeConfig, userConfig].forEach(function (config) {\n    config.modules = config.modules || {};\n    Object.keys(config.modules).forEach(function (module) {\n      if (config.modules[module] === true) {\n        config.modules[module] = {};\n      }\n    });\n  });\n  var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n  var moduleConfig = moduleNames.reduce(function (config, name) {\n    var moduleClass = Quill.import('modules/' + name);\n    if (moduleClass == null) {\n      debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n    } else {\n      config[name] = moduleClass.DEFAULTS || {};\n    }\n    return config;\n  }, {});\n  // Special case toolbar shorthand\n  if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n    userConfig.modules.toolbar = {\n      container: userConfig.modules.toolbar\n    };\n  }\n  userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n  ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n    if (typeof userConfig[key] === 'string') {\n      userConfig[key] = document.querySelector(userConfig[key]);\n    }\n  });\n  userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n    if (userConfig.modules[name]) {\n      config[name] = userConfig.modules[name];\n    }\n    return config;\n  }, {});\n  return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n  if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n    return new _quillDelta2.default();\n  }\n  var range = index == null ? null : this.getSelection();\n  var oldDelta = this.editor.delta;\n  var change = modifier();\n  if (range != null) {\n    if (index === true) index = range.index;\n    if (shift == null) {\n      range = shiftRange(range, change, source);\n    } else if (shift !== 0) {\n      range = shiftRange(range, index, shift, source);\n    }\n    this.setSelection(range, _emitter4.default.sources.SILENT);\n  }\n  if (change.length() > 0) {\n    var _emitter;\n\n    var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n    (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n    if (source !== _emitter4.default.sources.SILENT) {\n      var _emitter2;\n\n      (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n    }\n  }\n  return change;\n}\n\nfunction overload(index, length, name, value, source) {\n  var formats = {};\n  if (typeof index.index === 'number' && typeof index.length === 'number') {\n    // Allow for throwaway end (used by insertText/insertEmbed)\n    if (typeof length !== 'number') {\n      source = value, value = name, name = length, length = index.length, index = index.index;\n    } else {\n      length = index.length, index = index.index;\n    }\n  } else if (typeof length !== 'number') {\n    source = value, value = name, name = length, length = 0;\n  }\n  // Handle format being object, two format name/value strings or excluded\n  if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n    formats = name;\n    source = value;\n  } else if (typeof name === 'string') {\n    if (value != null) {\n      formats[name] = value;\n    } else {\n      source = name;\n    }\n  }\n  // Handle optional source\n  source = source || _emitter4.default.sources.API;\n  return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n  if (range == null) return null;\n  var start = void 0,\n      end = void 0;\n  if (index instanceof _quillDelta2.default) {\n    var _map = [range.index, range.index + range.length].map(function (pos) {\n      return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n    });\n\n    var _map2 = _slicedToArray(_map, 2);\n\n    start = _map2[0];\n    end = _map2[1];\n  } else {\n    var _map3 = [range.index, range.index + range.length].map(function (pos) {\n      if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n      if (length >= 0) {\n        return pos + length;\n      } else {\n        return Math.max(index, pos + length);\n      }\n    });\n\n    var _map4 = _slicedToArray(_map3, 2);\n\n    start = _map4[0];\n    end = _map4[1];\n  }\n  return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n  _inherits(Inline, _Parchment$Inline);\n\n  function Inline() {\n    _classCallCheck(this, Inline);\n\n    return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n  }\n\n  _createClass(Inline, [{\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n        var blot = this.isolate(index, length);\n        if (value) {\n          blot.wrap(name, value);\n        }\n      } else {\n        _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n      if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n        var parent = this.parent.isolate(this.offset(), this.length());\n        this.moveChildren(parent);\n        parent.wrap(this);\n      }\n    }\n  }], [{\n    key: 'compare',\n    value: function compare(self, other) {\n      var selfIndex = Inline.order.indexOf(self);\n      var otherIndex = Inline.order.indexOf(other);\n      if (selfIndex >= 0 || otherIndex >= 0) {\n        return selfIndex - otherIndex;\n      } else if (self === other) {\n        return 0;\n      } else if (self < other) {\n        return -1;\n      } else {\n        return 1;\n      }\n    }\n  }]);\n\n  return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n  _inherits(TextBlot, _Parchment$Text);\n\n  function TextBlot() {\n    _classCallCheck(this, TextBlot);\n\n    return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n  }\n\n  return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n  document.addEventListener(eventName, function () {\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n      // TODO use WeakMap\n      if (node.__quill && node.__quill.emitter) {\n        var _node$__quill$emitter;\n\n        (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n      }\n    });\n  });\n});\n\nvar Emitter = function (_EventEmitter) {\n  _inherits(Emitter, _EventEmitter);\n\n  function Emitter() {\n    _classCallCheck(this, Emitter);\n\n    var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n    _this.listeners = {};\n    _this.on('error', debug.error);\n    return _this;\n  }\n\n  _createClass(Emitter, [{\n    key: 'emit',\n    value: function emit() {\n      debug.log.apply(debug, arguments);\n      _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n    }\n  }, {\n    key: 'handleDOM',\n    value: function handleDOM(event) {\n      for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      (this.listeners[event.type] || []).forEach(function (_ref) {\n        var node = _ref.node,\n            handler = _ref.handler;\n\n        if (event.target === node || node.contains(event.target)) {\n          handler.apply(undefined, [event].concat(args));\n        }\n      });\n    }\n  }, {\n    key: 'listenDOM',\n    value: function listenDOM(eventName, node, handler) {\n      if (!this.listeners[eventName]) {\n        this.listeners[eventName] = [];\n      }\n      this.listeners[eventName].push({ node: node, handler: handler });\n    }\n  }]);\n\n  return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n  EDITOR_CHANGE: 'editor-change',\n  SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n  SCROLL_OPTIMIZE: 'scroll-optimize',\n  SCROLL_UPDATE: 'scroll-update',\n  SELECTION_CHANGE: 'selection-change',\n  TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n  API: 'api',\n  SILENT: 'silent',\n  USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  _classCallCheck(this, Module);\n\n  this.quill = quill;\n  this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n  if (levels.indexOf(method) <= levels.indexOf(level)) {\n    var _console;\n\n    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n  }\n}\n\nfunction namespace(ns) {\n  return levels.reduce(function (logger, method) {\n    logger[method] = debug.bind(console, method, ns);\n    return logger;\n  }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n  level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n  if (!opts) opts = {};\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (actual === expected) {\n    return true;\n\n  } else if (actual instanceof Date && expected instanceof Date) {\n    return actual.getTime() === expected.getTime();\n\n  // 7.3. Other pairs that do not both pass typeof value == 'object',\n  // equivalence is determined by ==.\n  } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n    return opts.strict ? actual === expected : actual == expected;\n\n  // 7.4. For all other Object pairs, including Array objects, equivalence is\n  // determined by having the same number of owned properties (as verified\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\n  // (although not necessarily the same order), equivalent values for every\n  // corresponding key, and an identical 'prototype' property. Note: this\n  // accounts for both named and indexed properties on Arrays.\n  } else {\n    return objEquiv(actual, expected, opts);\n  }\n}\n\nfunction isUndefinedOrNull(value) {\n  return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n    return false;\n  }\n  if (x.length > 0 && typeof x[0] !== 'number') return false;\n  return true;\n}\n\nfunction objEquiv(a, b, opts) {\n  var i, key;\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n    return false;\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) return false;\n  //~~~I've managed to break Object.keys through screwy arguments passing.\n  //   Converting to array solves the problem.\n  if (isArguments(a)) {\n    if (!isArguments(b)) {\n      return false;\n    }\n    a = pSlice.call(a);\n    b = pSlice.call(b);\n    return deepEqual(a, b, opts);\n  }\n  if (isBuffer(a)) {\n    if (!isBuffer(b)) {\n      return false;\n    }\n    if (a.length !== b.length) return false;\n    for (i = 0; i < a.length; i++) {\n      if (a[i] !== b[i]) return false;\n    }\n    return true;\n  }\n  try {\n    var ka = objectKeys(a),\n        kb = objectKeys(b);\n  } catch (e) {//happens when one is a string literal and the other isn't\n    return false;\n  }\n  // having the same number of owned properties (keys incorporates\n  // hasOwnProperty)\n  if (ka.length != kb.length)\n    return false;\n  //the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  //~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i])\n      return false;\n  }\n  //equivalent values for every corresponding key, and\n  //~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!deepEqual(a[key], b[key], opts)) return false;\n  }\n  return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n    function Attributor(attrName, keyName, options) {\n        if (options === void 0) { options = {}; }\n        this.attrName = attrName;\n        this.keyName = keyName;\n        var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n        if (options.scope != null) {\n            // Ignore type bits, force attribute bit\n            this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n        }\n        else {\n            this.scope = Registry.Scope.ATTRIBUTE;\n        }\n        if (options.whitelist != null)\n            this.whitelist = options.whitelist;\n    }\n    Attributor.keys = function (node) {\n        return [].map.call(node.attributes, function (item) {\n            return item.name;\n        });\n    };\n    Attributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        node.setAttribute(this.keyName, value);\n        return true;\n    };\n    Attributor.prototype.canAdd = function (node, value) {\n        var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n        if (match == null)\n            return false;\n        if (this.whitelist == null)\n            return true;\n        if (typeof value === 'string') {\n            return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n        }\n        else {\n            return this.whitelist.indexOf(value) > -1;\n        }\n    };\n    Attributor.prototype.remove = function (node) {\n        node.removeAttribute(this.keyName);\n    };\n    Attributor.prototype.value = function (node) {\n        var value = node.getAttribute(this.keyName);\n        if (this.canAdd(node, value) && value) {\n            return value;\n        }\n        return '';\n    };\n    return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n  _inherits(Code, _Inline);\n\n  function Code() {\n    _classCallCheck(this, Code);\n\n    return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n  }\n\n  return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n  _inherits(CodeBlock, _Block);\n\n  function CodeBlock() {\n    _classCallCheck(this, CodeBlock);\n\n    return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n  }\n\n  _createClass(CodeBlock, [{\n    key: 'delta',\n    value: function delta() {\n      var _this3 = this;\n\n      var text = this.domNode.textContent;\n      if (text.endsWith('\\n')) {\n        // Should always be true\n        text = text.slice(0, -1);\n      }\n      return text.split('\\n').reduce(function (delta, frag) {\n        return delta.insert(frag).insert('\\n', _this3.formats());\n      }, new _quillDelta2.default());\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      if (name === this.statics.blotName && value) return;\n\n      var _descendant = this.descendant(_text2.default, this.length() - 1),\n          _descendant2 = _slicedToArray(_descendant, 1),\n          text = _descendant2[0];\n\n      if (text != null) {\n        text.deleteAt(text.length() - 1, 1);\n      }\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, name, value) {\n      if (length === 0) return;\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n        return;\n      }\n      var nextNewline = this.newlineIndex(index);\n      if (nextNewline < 0 || nextNewline >= index + length) return;\n      var prevNewline = this.newlineIndex(index, true) + 1;\n      var isolateLength = nextNewline - prevNewline + 1;\n      var blot = this.isolate(prevNewline, isolateLength);\n      var next = blot.next;\n      blot.format(name, value);\n      if (next instanceof CodeBlock) {\n        next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n      }\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null) return;\n\n      var _descendant3 = this.descendant(_text2.default, index),\n          _descendant4 = _slicedToArray(_descendant3, 2),\n          text = _descendant4[0],\n          offset = _descendant4[1];\n\n      text.insertAt(offset, value);\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      var length = this.domNode.textContent.length;\n      if (!this.domNode.textContent.endsWith('\\n')) {\n        return length + 1;\n      }\n      return length;\n    }\n  }, {\n    key: 'newlineIndex',\n    value: function newlineIndex(searchIndex) {\n      var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (!reverse) {\n        var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n        return offset > -1 ? searchIndex + offset : -1;\n      } else {\n        return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      if (!this.domNode.textContent.endsWith('\\n')) {\n        this.appendChild(_parchment2.default.create('text', '\\n'));\n      }\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n      var next = this.next;\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n        next.optimize(context);\n        next.moveChildren(this);\n        next.remove();\n      }\n    }\n  }, {\n    key: 'replace',\n    value: function replace(target) {\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n      [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n        var blot = _parchment2.default.find(node);\n        if (blot == null) {\n          node.parentNode.removeChild(node);\n        } else if (blot instanceof _parchment2.default.Embed) {\n          blot.remove();\n        } else {\n          blot.unwrap();\n        }\n      });\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n      domNode.setAttribute('spellcheck', false);\n      return domNode;\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      return true;\n    }\n  }]);\n\n  return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = '  ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n  function Editor(scroll) {\n    _classCallCheck(this, Editor);\n\n    this.scroll = scroll;\n    this.delta = this.getDelta();\n  }\n\n  _createClass(Editor, [{\n    key: 'applyDelta',\n    value: function applyDelta(delta) {\n      var _this = this;\n\n      var consumeNextNewline = false;\n      this.scroll.update();\n      var scrollLength = this.scroll.length();\n      this.scroll.batchStart();\n      delta = normalizeDelta(delta);\n      delta.reduce(function (index, op) {\n        var length = op.retain || op.delete || op.insert.length || 1;\n        var attributes = op.attributes || {};\n        if (op.insert != null) {\n          if (typeof op.insert === 'string') {\n            var text = op.insert;\n            if (text.endsWith('\\n') && consumeNextNewline) {\n              consumeNextNewline = false;\n              text = text.slice(0, -1);\n            }\n            if (index >= scrollLength && !text.endsWith('\\n')) {\n              consumeNextNewline = true;\n            }\n            _this.scroll.insertAt(index, text);\n\n            var _scroll$line = _this.scroll.line(index),\n                _scroll$line2 = _slicedToArray(_scroll$line, 2),\n                line = _scroll$line2[0],\n                offset = _scroll$line2[1];\n\n            var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n            if (line instanceof _block2.default) {\n              var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n                  _line$descendant2 = _slicedToArray(_line$descendant, 1),\n                  leaf = _line$descendant2[0];\n\n              formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n            }\n            attributes = _op2.default.attributes.diff(formats, attributes) || {};\n          } else if (_typeof(op.insert) === 'object') {\n            var key = Object.keys(op.insert)[0]; // There should only be one key\n            if (key == null) return index;\n            _this.scroll.insertAt(index, key, op.insert[key]);\n          }\n          scrollLength += length;\n        }\n        Object.keys(attributes).forEach(function (name) {\n          _this.scroll.formatAt(index, length, name, attributes[name]);\n        });\n        return index + length;\n      }, 0);\n      delta.reduce(function (index, op) {\n        if (typeof op.delete === 'number') {\n          _this.scroll.deleteAt(index, op.delete);\n          return index;\n        }\n        return index + (op.retain || op.insert.length || 1);\n      }, 0);\n      this.scroll.batchEnd();\n      return this.update(delta);\n    }\n  }, {\n    key: 'deleteText',\n    value: function deleteText(index, length) {\n      this.scroll.deleteAt(index, length);\n      return this.update(new _quillDelta2.default().retain(index).delete(length));\n    }\n  }, {\n    key: 'formatLine',\n    value: function formatLine(index, length) {\n      var _this2 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      this.scroll.update();\n      Object.keys(formats).forEach(function (format) {\n        if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n        var lines = _this2.scroll.lines(index, Math.max(length, 1));\n        var lengthRemaining = length;\n        lines.forEach(function (line) {\n          var lineLength = line.length();\n          if (!(line instanceof _code2.default)) {\n            line.format(format, formats[format]);\n          } else {\n            var codeIndex = index - line.offset(_this2.scroll);\n            var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n            line.formatAt(codeIndex, codeLength, format, formats[format]);\n          }\n          lengthRemaining -= lineLength;\n        });\n      });\n      this.scroll.optimize();\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'formatText',\n    value: function formatText(index, length) {\n      var _this3 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      Object.keys(formats).forEach(function (format) {\n        _this3.scroll.formatAt(index, length, format, formats[format]);\n      });\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'getContents',\n    value: function getContents(index, length) {\n      return this.delta.slice(index, index + length);\n    }\n  }, {\n    key: 'getDelta',\n    value: function getDelta() {\n      return this.scroll.lines().reduce(function (delta, line) {\n        return delta.concat(line.delta());\n      }, new _quillDelta2.default());\n    }\n  }, {\n    key: 'getFormat',\n    value: function getFormat(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var lines = [],\n          leaves = [];\n      if (length === 0) {\n        this.scroll.path(index).forEach(function (path) {\n          var _path = _slicedToArray(path, 1),\n              blot = _path[0];\n\n          if (blot instanceof _block2.default) {\n            lines.push(blot);\n          } else if (blot instanceof _parchment2.default.Leaf) {\n            leaves.push(blot);\n          }\n        });\n      } else {\n        lines = this.scroll.lines(index, length);\n        leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n      }\n      var formatsArr = [lines, leaves].map(function (blots) {\n        if (blots.length === 0) return {};\n        var formats = (0, _block.bubbleFormats)(blots.shift());\n        while (Object.keys(formats).length > 0) {\n          var blot = blots.shift();\n          if (blot == null) return formats;\n          formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n        }\n        return formats;\n      });\n      return _extend2.default.apply(_extend2.default, formatsArr);\n    }\n  }, {\n    key: 'getText',\n    value: function getText(index, length) {\n      return this.getContents(index, length).filter(function (op) {\n        return typeof op.insert === 'string';\n      }).map(function (op) {\n        return op.insert;\n      }).join('');\n    }\n  }, {\n    key: 'insertEmbed',\n    value: function insertEmbed(index, embed, value) {\n      this.scroll.insertAt(index, embed, value);\n      return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n    }\n  }, {\n    key: 'insertText',\n    value: function insertText(index, text) {\n      var _this4 = this;\n\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n      this.scroll.insertAt(index, text);\n      Object.keys(formats).forEach(function (format) {\n        _this4.scroll.formatAt(index, text.length, format, formats[format]);\n      });\n      return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n    }\n  }, {\n    key: 'isBlank',\n    value: function isBlank() {\n      if (this.scroll.children.length == 0) return true;\n      if (this.scroll.children.length > 1) return false;\n      var block = this.scroll.children.head;\n      if (block.statics.blotName !== _block2.default.blotName) return false;\n      if (block.children.length > 1) return false;\n      return block.children.head instanceof _break2.default;\n    }\n  }, {\n    key: 'removeFormat',\n    value: function removeFormat(index, length) {\n      var text = this.getText(index, length);\n\n      var _scroll$line3 = this.scroll.line(index + length),\n          _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n          line = _scroll$line4[0],\n          offset = _scroll$line4[1];\n\n      var suffixLength = 0,\n          suffix = new _quillDelta2.default();\n      if (line != null) {\n        if (!(line instanceof _code2.default)) {\n          suffixLength = line.length() - offset;\n        } else {\n          suffixLength = line.newlineIndex(offset) - offset + 1;\n        }\n        suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n      }\n      var contents = this.getContents(index, length + suffixLength);\n      var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n      var delta = new _quillDelta2.default().retain(index).concat(diff);\n      return this.applyDelta(delta);\n    }\n  }, {\n    key: 'update',\n    value: function update(change) {\n      var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n      var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n      var oldDelta = this.delta;\n      if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n        // Optimization for character changes\n        var textBlot = _parchment2.default.find(mutations[0].target);\n        var formats = (0, _block.bubbleFormats)(textBlot);\n        var index = textBlot.offset(this.scroll);\n        var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n        var oldText = new _quillDelta2.default().insert(oldValue);\n        var newText = new _quillDelta2.default().insert(textBlot.value());\n        var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n        change = diffDelta.reduce(function (delta, op) {\n          if (op.insert) {\n            return delta.insert(op.insert, formats);\n          } else {\n            return delta.push(op);\n          }\n        }, new _quillDelta2.default());\n        this.delta = oldDelta.compose(change);\n      } else {\n        this.delta = this.getDelta();\n        if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n          change = oldDelta.diff(this.delta, cursorIndex);\n        }\n      }\n      return change;\n    }\n  }]);\n\n  return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n  return Object.keys(combined).reduce(function (merged, name) {\n    if (formats[name] == null) return merged;\n    if (combined[name] === formats[name]) {\n      merged[name] = combined[name];\n    } else if (Array.isArray(combined[name])) {\n      if (combined[name].indexOf(formats[name]) < 0) {\n        merged[name] = combined[name].concat([formats[name]]);\n      }\n    } else {\n      merged[name] = [combined[name], formats[name]];\n    }\n    return merged;\n  }, {});\n}\n\nfunction normalizeDelta(delta) {\n  return delta.reduce(function (delta, op) {\n    if (op.insert === 1) {\n      var attributes = (0, _clone2.default)(op.attributes);\n      delete attributes['image'];\n      return delta.insert({ image: op.attributes.image }, attributes);\n    }\n    if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n      op = (0, _clone2.default)(op);\n      if (op.attributes.list) {\n        op.attributes.list = 'ordered';\n      } else {\n        op.attributes.list = 'bullet';\n        delete op.attributes.bullet;\n      }\n    }\n    if (typeof op.insert === 'string') {\n      var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n      return delta.insert(text, op.attributes);\n    }\n    return delta.push(op);\n  }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n  _classCallCheck(this, Range);\n\n  this.index = index;\n  this.length = length;\n};\n\nvar Selection = function () {\n  function Selection(scroll, emitter) {\n    var _this = this;\n\n    _classCallCheck(this, Selection);\n\n    this.emitter = emitter;\n    this.scroll = scroll;\n    this.composing = false;\n    this.mouseDown = false;\n    this.root = this.scroll.domNode;\n    this.cursor = _parchment2.default.create('cursor', this);\n    // savedRange is last non-null range\n    this.lastRange = this.savedRange = new Range(0, 0);\n    this.handleComposition();\n    this.handleDragging();\n    this.emitter.listenDOM('selectionchange', document, function () {\n      if (!_this.mouseDown) {\n        setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n      }\n    });\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n      if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n        _this.update(_emitter4.default.sources.SILENT);\n      }\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n      if (!_this.hasFocus()) return;\n      var native = _this.getNativeRange();\n      if (native == null) return;\n      if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n      // TODO unclear if this has negative side effects\n      _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n        try {\n          _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n        } catch (ignored) {}\n      });\n    });\n    this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n      if (context.range) {\n        var _context$range = context.range,\n            startNode = _context$range.startNode,\n            startOffset = _context$range.startOffset,\n            endNode = _context$range.endNode,\n            endOffset = _context$range.endOffset;\n\n        _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n      }\n    });\n    this.update(_emitter4.default.sources.SILENT);\n  }\n\n  _createClass(Selection, [{\n    key: 'handleComposition',\n    value: function handleComposition() {\n      var _this2 = this;\n\n      this.root.addEventListener('compositionstart', function () {\n        _this2.composing = true;\n      });\n      this.root.addEventListener('compositionend', function () {\n        _this2.composing = false;\n        if (_this2.cursor.parent) {\n          var range = _this2.cursor.restore();\n          if (!range) return;\n          setTimeout(function () {\n            _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n          }, 1);\n        }\n      });\n    }\n  }, {\n    key: 'handleDragging',\n    value: function handleDragging() {\n      var _this3 = this;\n\n      this.emitter.listenDOM('mousedown', document.body, function () {\n        _this3.mouseDown = true;\n      });\n      this.emitter.listenDOM('mouseup', document.body, function () {\n        _this3.mouseDown = false;\n        _this3.update(_emitter4.default.sources.USER);\n      });\n    }\n  }, {\n    key: 'focus',\n    value: function focus() {\n      if (this.hasFocus()) return;\n      this.root.focus();\n      this.setRange(this.savedRange);\n    }\n  }, {\n    key: 'format',\n    value: function format(_format, value) {\n      if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n      this.scroll.update();\n      var nativeRange = this.getNativeRange();\n      if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n      if (nativeRange.start.node !== this.cursor.textNode) {\n        var blot = _parchment2.default.find(nativeRange.start.node, false);\n        if (blot == null) return;\n        // TODO Give blot ability to not split\n        if (blot instanceof _parchment2.default.Leaf) {\n          var after = blot.split(nativeRange.start.offset);\n          blot.parent.insertBefore(this.cursor, after);\n        } else {\n          blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n        }\n        this.cursor.attach();\n      }\n      this.cursor.format(_format, value);\n      this.scroll.optimize();\n      this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n      this.update();\n    }\n  }, {\n    key: 'getBounds',\n    value: function getBounds(index) {\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n      var scrollLength = this.scroll.length();\n      index = Math.min(index, scrollLength - 1);\n      length = Math.min(index + length, scrollLength - 1) - index;\n      var node = void 0,\n          _scroll$leaf = this.scroll.leaf(index),\n          _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n          leaf = _scroll$leaf2[0],\n          offset = _scroll$leaf2[1];\n      if (leaf == null) return null;\n\n      var _leaf$position = leaf.position(offset, true);\n\n      var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n      node = _leaf$position2[0];\n      offset = _leaf$position2[1];\n\n      var range = document.createRange();\n      if (length > 0) {\n        range.setStart(node, offset);\n\n        var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n        var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n        leaf = _scroll$leaf4[0];\n        offset = _scroll$leaf4[1];\n\n        if (leaf == null) return null;\n\n        var _leaf$position3 = leaf.position(offset, true);\n\n        var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n        node = _leaf$position4[0];\n        offset = _leaf$position4[1];\n\n        range.setEnd(node, offset);\n        return range.getBoundingClientRect();\n      } else {\n        var side = 'left';\n        var rect = void 0;\n        if (node instanceof Text) {\n          if (offset < node.data.length) {\n            range.setStart(node, offset);\n            range.setEnd(node, offset + 1);\n          } else {\n            range.setStart(node, offset - 1);\n            range.setEnd(node, offset);\n            side = 'right';\n          }\n          rect = range.getBoundingClientRect();\n        } else {\n          rect = leaf.domNode.getBoundingClientRect();\n          if (offset > 0) side = 'right';\n        }\n        return {\n          bottom: rect.top + rect.height,\n          height: rect.height,\n          left: rect[side],\n          right: rect[side],\n          top: rect.top,\n          width: 0\n        };\n      }\n    }\n  }, {\n    key: 'getNativeRange',\n    value: function getNativeRange() {\n      var selection = document.getSelection();\n      if (selection == null || selection.rangeCount <= 0) return null;\n      var nativeRange = selection.getRangeAt(0);\n      if (nativeRange == null) return null;\n      var range = this.normalizeNative(nativeRange);\n      debug.info('getNativeRange', range);\n      return range;\n    }\n  }, {\n    key: 'getRange',\n    value: function getRange() {\n      var normalized = this.getNativeRange();\n      if (normalized == null) return [null, null];\n      var range = this.normalizedToRange(normalized);\n      return [range, normalized];\n    }\n  }, {\n    key: 'hasFocus',\n    value: function hasFocus() {\n      return document.activeElement === this.root;\n    }\n  }, {\n    key: 'normalizedToRange',\n    value: function normalizedToRange(range) {\n      var _this4 = this;\n\n      var positions = [[range.start.node, range.start.offset]];\n      if (!range.native.collapsed) {\n        positions.push([range.end.node, range.end.offset]);\n      }\n      var indexes = positions.map(function (position) {\n        var _position = _slicedToArray(position, 2),\n            node = _position[0],\n            offset = _position[1];\n\n        var blot = _parchment2.default.find(node, true);\n        var index = blot.offset(_this4.scroll);\n        if (offset === 0) {\n          return index;\n        } else if (blot instanceof _parchment2.default.Container) {\n          return index + blot.length();\n        } else {\n          return index + blot.index(node, offset);\n        }\n      });\n      var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n      var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n      return new Range(start, end - start);\n    }\n  }, {\n    key: 'normalizeNative',\n    value: function normalizeNative(nativeRange) {\n      if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n        return null;\n      }\n      var range = {\n        start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n        end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n        native: nativeRange\n      };\n      [range.start, range.end].forEach(function (position) {\n        var node = position.node,\n            offset = position.offset;\n        while (!(node instanceof Text) && node.childNodes.length > 0) {\n          if (node.childNodes.length > offset) {\n            node = node.childNodes[offset];\n            offset = 0;\n          } else if (node.childNodes.length === offset) {\n            node = node.lastChild;\n            offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n          } else {\n            break;\n          }\n        }\n        position.node = node, position.offset = offset;\n      });\n      return range;\n    }\n  }, {\n    key: 'rangeToNative',\n    value: function rangeToNative(range) {\n      var _this5 = this;\n\n      var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n      var args = [];\n      var scrollLength = this.scroll.length();\n      indexes.forEach(function (index, i) {\n        index = Math.min(scrollLength - 1, index);\n        var node = void 0,\n            _scroll$leaf5 = _this5.scroll.leaf(index),\n            _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n            leaf = _scroll$leaf6[0],\n            offset = _scroll$leaf6[1];\n        var _leaf$position5 = leaf.position(offset, i !== 0);\n\n        var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n        node = _leaf$position6[0];\n        offset = _leaf$position6[1];\n\n        args.push(node, offset);\n      });\n      if (args.length < 2) {\n        args = args.concat(args);\n      }\n      return args;\n    }\n  }, {\n    key: 'scrollIntoView',\n    value: function scrollIntoView(scrollingContainer) {\n      var range = this.lastRange;\n      if (range == null) return;\n      var bounds = this.getBounds(range.index, range.length);\n      if (bounds == null) return;\n      var limit = this.scroll.length() - 1;\n\n      var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n          _scroll$line2 = _slicedToArray(_scroll$line, 1),\n          first = _scroll$line2[0];\n\n      var last = first;\n      if (range.length > 0) {\n        var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n        var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n        last = _scroll$line4[0];\n      }\n      if (first == null || last == null) return;\n      var scrollBounds = scrollingContainer.getBoundingClientRect();\n      if (bounds.top < scrollBounds.top) {\n        scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n      } else if (bounds.bottom > scrollBounds.bottom) {\n        scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n      }\n    }\n  }, {\n    key: 'setNativeRange',\n    value: function setNativeRange(startNode, startOffset) {\n      var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n      var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n      var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n      debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n      if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n        return;\n      }\n      var selection = document.getSelection();\n      if (selection == null) return;\n      if (startNode != null) {\n        if (!this.hasFocus()) this.root.focus();\n        var native = (this.getNativeRange() || {}).native;\n        if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n          if (startNode.tagName == \"BR\") {\n            startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n            startNode = startNode.parentNode;\n          }\n          if (endNode.tagName == \"BR\") {\n            endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n            endNode = endNode.parentNode;\n          }\n          var range = document.createRange();\n          range.setStart(startNode, startOffset);\n          range.setEnd(endNode, endOffset);\n          selection.removeAllRanges();\n          selection.addRange(range);\n        }\n      } else {\n        selection.removeAllRanges();\n        this.root.blur();\n        document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n      }\n    }\n  }, {\n    key: 'setRange',\n    value: function setRange(range) {\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n      if (typeof force === 'string') {\n        source = force;\n        force = false;\n      }\n      debug.info('setRange', range);\n      if (range != null) {\n        var args = this.rangeToNative(range);\n        this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n      } else {\n        this.setNativeRange(null);\n      }\n      this.update(source);\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n      var oldRange = this.lastRange;\n\n      var _getRange = this.getRange(),\n          _getRange2 = _slicedToArray(_getRange, 2),\n          lastRange = _getRange2[0],\n          nativeRange = _getRange2[1];\n\n      this.lastRange = lastRange;\n      if (this.lastRange != null) {\n        this.savedRange = this.lastRange;\n      }\n      if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n        var _emitter;\n\n        if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n          this.cursor.restore();\n        }\n        var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n        (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n        if (source !== _emitter4.default.sources.SILENT) {\n          var _emitter2;\n\n          (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n        }\n      }\n    }\n  }]);\n\n  return Selection;\n}();\n\nfunction contains(parent, descendant) {\n  try {\n    // Firefox inserts inaccessible nodes around video elements\n    descendant.parentNode;\n  } catch (e) {\n    return false;\n  }\n  // IE11 has bug with Text nodes\n  // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n  if (descendant instanceof Text) {\n    descendant = descendant.parentNode;\n  }\n  return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n  _inherits(Break, _Parchment$Embed);\n\n  function Break() {\n    _classCallCheck(this, Break);\n\n    return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n  }\n\n  _createClass(Break, [{\n    key: 'insertInto',\n    value: function insertInto(parent, ref) {\n      if (parent.children.length === 0) {\n        _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n      } else {\n        this.remove();\n      }\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      return 0;\n    }\n  }, {\n    key: 'value',\n    value: function value() {\n      return '';\n    }\n  }], [{\n    key: 'value',\n    value: function value() {\n      return undefined;\n    }\n  }]);\n\n  return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n    __extends(ContainerBlot, _super);\n    function ContainerBlot(domNode) {\n        var _this = _super.call(this, domNode) || this;\n        _this.build();\n        return _this;\n    }\n    ContainerBlot.prototype.appendChild = function (other) {\n        this.insertBefore(other);\n    };\n    ContainerBlot.prototype.attach = function () {\n        _super.prototype.attach.call(this);\n        this.children.forEach(function (child) {\n            child.attach();\n        });\n    };\n    ContainerBlot.prototype.build = function () {\n        var _this = this;\n        this.children = new linked_list_1.default();\n        // Need to be reversed for if DOM nodes already in order\n        [].slice\n            .call(this.domNode.childNodes)\n            .reverse()\n            .forEach(function (node) {\n            try {\n                var child = makeBlot(node);\n                _this.insertBefore(child, _this.children.head || undefined);\n            }\n            catch (err) {\n                if (err instanceof Registry.ParchmentError)\n                    return;\n                else\n                    throw err;\n            }\n        });\n    };\n    ContainerBlot.prototype.deleteAt = function (index, length) {\n        if (index === 0 && length === this.length()) {\n            return this.remove();\n        }\n        this.children.forEachAt(index, length, function (child, offset, length) {\n            child.deleteAt(offset, length);\n        });\n    };\n    ContainerBlot.prototype.descendant = function (criteria, index) {\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\n        if ((criteria.blotName == null && criteria(child)) ||\n            (criteria.blotName != null && child instanceof criteria)) {\n            return [child, offset];\n        }\n        else if (child instanceof ContainerBlot) {\n            return child.descendant(criteria, offset);\n        }\n        else {\n            return [null, -1];\n        }\n    };\n    ContainerBlot.prototype.descendants = function (criteria, index, length) {\n        if (index === void 0) { index = 0; }\n        if (length === void 0) { length = Number.MAX_VALUE; }\n        var descendants = [];\n        var lengthLeft = length;\n        this.children.forEachAt(index, length, function (child, index, length) {\n            if ((criteria.blotName == null && criteria(child)) ||\n                (criteria.blotName != null && child instanceof criteria)) {\n                descendants.push(child);\n            }\n            if (child instanceof ContainerBlot) {\n                descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n            }\n            lengthLeft -= length;\n        });\n        return descendants;\n    };\n    ContainerBlot.prototype.detach = function () {\n        this.children.forEach(function (child) {\n            child.detach();\n        });\n        _super.prototype.detach.call(this);\n    };\n    ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n        this.children.forEachAt(index, length, function (child, offset, length) {\n            child.formatAt(offset, length, name, value);\n        });\n    };\n    ContainerBlot.prototype.insertAt = function (index, value, def) {\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\n        if (child) {\n            child.insertAt(offset, value, def);\n        }\n        else {\n            var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n            this.appendChild(blot);\n        }\n    };\n    ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n        if (this.statics.allowedChildren != null &&\n            !this.statics.allowedChildren.some(function (child) {\n                return childBlot instanceof child;\n            })) {\n            throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n        }\n        childBlot.insertInto(this, refBlot);\n    };\n    ContainerBlot.prototype.length = function () {\n        return this.children.reduce(function (memo, child) {\n            return memo + child.length();\n        }, 0);\n    };\n    ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n        this.children.forEach(function (child) {\n            targetParent.insertBefore(child, refNode);\n        });\n    };\n    ContainerBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        if (this.children.length === 0) {\n            if (this.statics.defaultChild != null) {\n                var child = Registry.create(this.statics.defaultChild);\n                this.appendChild(child);\n                child.optimize(context);\n            }\n            else {\n                this.remove();\n            }\n        }\n    };\n    ContainerBlot.prototype.path = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n        var position = [[this, index]];\n        if (child instanceof ContainerBlot) {\n            return position.concat(child.path(offset, inclusive));\n        }\n        else if (child != null) {\n            position.push([child, offset]);\n        }\n        return position;\n    };\n    ContainerBlot.prototype.removeChild = function (child) {\n        this.children.remove(child);\n    };\n    ContainerBlot.prototype.replace = function (target) {\n        if (target instanceof ContainerBlot) {\n            target.moveChildren(this);\n        }\n        _super.prototype.replace.call(this, target);\n    };\n    ContainerBlot.prototype.split = function (index, force) {\n        if (force === void 0) { force = false; }\n        if (!force) {\n            if (index === 0)\n                return this;\n            if (index === this.length())\n                return this.next;\n        }\n        var after = this.clone();\n        this.parent.insertBefore(after, this.next);\n        this.children.forEachAt(index, this.length(), function (child, offset, length) {\n            child = child.split(offset, force);\n            after.appendChild(child);\n        });\n        return after;\n    };\n    ContainerBlot.prototype.unwrap = function () {\n        this.moveChildren(this.parent, this.next);\n        this.remove();\n    };\n    ContainerBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        var addedNodes = [];\n        var removedNodes = [];\n        mutations.forEach(function (mutation) {\n            if (mutation.target === _this.domNode && mutation.type === 'childList') {\n                addedNodes.push.apply(addedNodes, mutation.addedNodes);\n                removedNodes.push.apply(removedNodes, mutation.removedNodes);\n            }\n        });\n        removedNodes.forEach(function (node) {\n            // Check node has actually been removed\n            // One exception is Chrome does not immediately remove IFRAMEs\n            // from DOM but MutationRecord is correct in its reported removal\n            if (node.parentNode != null &&\n                // @ts-ignore\n                node.tagName !== 'IFRAME' &&\n                document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n                return;\n            }\n            var blot = Registry.find(node);\n            if (blot == null)\n                return;\n            if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n                blot.detach();\n            }\n        });\n        addedNodes\n            .filter(function (node) {\n            return node.parentNode == _this.domNode;\n        })\n            .sort(function (a, b) {\n            if (a === b)\n                return 0;\n            if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n                return 1;\n            }\n            return -1;\n        })\n            .forEach(function (node) {\n            var refBlot = null;\n            if (node.nextSibling != null) {\n                refBlot = Registry.find(node.nextSibling);\n            }\n            var blot = makeBlot(node);\n            if (blot.next != refBlot || blot.next == null) {\n                if (blot.parent != null) {\n                    blot.parent.removeChild(_this);\n                }\n                _this.insertBefore(blot, refBlot || undefined);\n            }\n        });\n    };\n    return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n    var blot = Registry.find(node);\n    if (blot == null) {\n        try {\n            blot = Registry.create(node);\n        }\n        catch (e) {\n            blot = Registry.create(Registry.Scope.INLINE);\n            [].slice.call(node.childNodes).forEach(function (child) {\n                // @ts-ignore\n                blot.domNode.appendChild(child);\n            });\n            if (node.parentNode) {\n                node.parentNode.replaceChild(blot.domNode, node);\n            }\n            blot.attach();\n        }\n    }\n    return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n    __extends(FormatBlot, _super);\n    function FormatBlot(domNode) {\n        var _this = _super.call(this, domNode) || this;\n        _this.attributes = new store_1.default(_this.domNode);\n        return _this;\n    }\n    FormatBlot.formats = function (domNode) {\n        if (typeof this.tagName === 'string') {\n            return true;\n        }\n        else if (Array.isArray(this.tagName)) {\n            return domNode.tagName.toLowerCase();\n        }\n        return undefined;\n    };\n    FormatBlot.prototype.format = function (name, value) {\n        var format = Registry.query(name);\n        if (format instanceof attributor_1.default) {\n            this.attributes.attribute(format, value);\n        }\n        else if (value) {\n            if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n                this.replaceWith(name, value);\n            }\n        }\n    };\n    FormatBlot.prototype.formats = function () {\n        var formats = this.attributes.values();\n        var format = this.statics.formats(this.domNode);\n        if (format != null) {\n            formats[this.statics.blotName] = format;\n        }\n        return formats;\n    };\n    FormatBlot.prototype.replaceWith = function (name, value) {\n        var replacement = _super.prototype.replaceWith.call(this, name, value);\n        this.attributes.copy(replacement);\n        return replacement;\n    };\n    FormatBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        _super.prototype.update.call(this, mutations, context);\n        if (mutations.some(function (mutation) {\n            return mutation.target === _this.domNode && mutation.type === 'attributes';\n        })) {\n            this.attributes.build();\n        }\n    };\n    FormatBlot.prototype.wrap = function (name, value) {\n        var wrapper = _super.prototype.wrap.call(this, name, value);\n        if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n            this.attributes.move(wrapper);\n        }\n        return wrapper;\n    };\n    return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n    __extends(LeafBlot, _super);\n    function LeafBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    LeafBlot.value = function (domNode) {\n        return true;\n    };\n    LeafBlot.prototype.index = function (node, offset) {\n        if (this.domNode === node ||\n            this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n            return Math.min(offset, 1);\n        }\n        return -1;\n    };\n    LeafBlot.prototype.position = function (index, inclusive) {\n        var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n        if (index > 0)\n            offset += 1;\n        return [this.parent.domNode, offset];\n    };\n    LeafBlot.prototype.value = function () {\n        var _a;\n        return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n    };\n    LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n    return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n  attributes: {\n    compose: function (a, b, keepNull) {\n      if (typeof a !== 'object') a = {};\n      if (typeof b !== 'object') b = {};\n      var attributes = extend(true, {}, b);\n      if (!keepNull) {\n        attributes = Object.keys(attributes).reduce(function (copy, key) {\n          if (attributes[key] != null) {\n            copy[key] = attributes[key];\n          }\n          return copy;\n        }, {});\n      }\n      for (var key in a) {\n        if (a[key] !== undefined && b[key] === undefined) {\n          attributes[key] = a[key];\n        }\n      }\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    },\n\n    diff: function(a, b) {\n      if (typeof a !== 'object') a = {};\n      if (typeof b !== 'object') b = {};\n      var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n        if (!equal(a[key], b[key])) {\n          attributes[key] = b[key] === undefined ? null : b[key];\n        }\n        return attributes;\n      }, {});\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    },\n\n    transform: function (a, b, priority) {\n      if (typeof a !== 'object') return b;\n      if (typeof b !== 'object') return undefined;\n      if (!priority) return b;  // b simply overwrites us without priority\n      var attributes = Object.keys(b).reduce(function (attributes, key) {\n        if (a[key] === undefined) attributes[key] = b[key];  // null is a valid value\n        return attributes;\n      }, {});\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\n    }\n  },\n\n  iterator: function (ops) {\n    return new Iterator(ops);\n  },\n\n  length: function (op) {\n    if (typeof op['delete'] === 'number') {\n      return op['delete'];\n    } else if (typeof op.retain === 'number') {\n      return op.retain;\n    } else {\n      return typeof op.insert === 'string' ? op.insert.length : 1;\n    }\n  }\n};\n\n\nfunction Iterator(ops) {\n  this.ops = ops;\n  this.index = 0;\n  this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n  return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n  if (!length) length = Infinity;\n  var nextOp = this.ops[this.index];\n  if (nextOp) {\n    var offset = this.offset;\n    var opLength = lib.length(nextOp)\n    if (length >= opLength - offset) {\n      length = opLength - offset;\n      this.index += 1;\n      this.offset = 0;\n    } else {\n      this.offset += length;\n    }\n    if (typeof nextOp['delete'] === 'number') {\n      return { 'delete': length };\n    } else {\n      var retOp = {};\n      if (nextOp.attributes) {\n        retOp.attributes = nextOp.attributes;\n      }\n      if (typeof nextOp.retain === 'number') {\n        retOp.retain = length;\n      } else if (typeof nextOp.insert === 'string') {\n        retOp.insert = nextOp.insert.substr(offset, length);\n      } else {\n        // offset should === 0, length should === 1\n        retOp.insert = nextOp.insert;\n      }\n      return retOp;\n    }\n  } else {\n    return { retain: Infinity };\n  }\n};\n\nIterator.prototype.peek = function () {\n  return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n  if (this.ops[this.index]) {\n    // Should never return 0 if our index is being managed correctly\n    return lib.length(this.ops[this.index]) - this.offset;\n  } else {\n    return Infinity;\n  }\n};\n\nIterator.prototype.peekType = function () {\n  if (this.ops[this.index]) {\n    if (typeof this.ops[this.index]['delete'] === 'number') {\n      return 'delete';\n    } else if (typeof this.ops[this.index].retain === 'number') {\n      return 'retain';\n    } else {\n      return 'insert';\n    }\n  }\n  return 'retain';\n};\n\nIterator.prototype.rest = function () {\n  if (!this.hasNext()) {\n    return [];\n  } else if (this.offset === 0) {\n    return this.ops.slice(this.index);\n  } else {\n    var offset = this.offset;\n    var index = this.index;\n    var next = this.next();\n    var rest = this.ops.slice(this.index);\n    this.offset = offset;\n    this.index = index;\n    return [next].concat(rest);\n  }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n  return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n  nativeMap = Map;\n} catch(_) {\n  // maybe a reference error because no `Map`. Give it a dummy value that no\n  // value will ever be an instanceof.\n  nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n  nativeSet = Set;\n} catch(_) {\n  nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n  nativePromise = Promise;\n} catch(_) {\n  nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n *    circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n *    a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n *    (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n *    should be cloned as well. Non-enumerable properties on the prototype\n *    chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n  if (typeof circular === 'object') {\n    depth = circular.depth;\n    prototype = circular.prototype;\n    includeNonEnumerable = circular.includeNonEnumerable;\n    circular = circular.circular;\n  }\n  // maintain two arrays for circular references, where corresponding parents\n  // and children have the same index\n  var allParents = [];\n  var allChildren = [];\n\n  var useBuffer = typeof Buffer != 'undefined';\n\n  if (typeof circular == 'undefined')\n    circular = true;\n\n  if (typeof depth == 'undefined')\n    depth = Infinity;\n\n  // recurse this function so we don't reset allParents and allChildren\n  function _clone(parent, depth) {\n    // cloning null always returns null\n    if (parent === null)\n      return null;\n\n    if (depth === 0)\n      return parent;\n\n    var child;\n    var proto;\n    if (typeof parent != 'object') {\n      return parent;\n    }\n\n    if (_instanceof(parent, nativeMap)) {\n      child = new nativeMap();\n    } else if (_instanceof(parent, nativeSet)) {\n      child = new nativeSet();\n    } else if (_instanceof(parent, nativePromise)) {\n      child = new nativePromise(function (resolve, reject) {\n        parent.then(function(value) {\n          resolve(_clone(value, depth - 1));\n        }, function(err) {\n          reject(_clone(err, depth - 1));\n        });\n      });\n    } else if (clone.__isArray(parent)) {\n      child = [];\n    } else if (clone.__isRegExp(parent)) {\n      child = new RegExp(parent.source, __getRegExpFlags(parent));\n      if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n    } else if (clone.__isDate(parent)) {\n      child = new Date(parent.getTime());\n    } else if (useBuffer && Buffer.isBuffer(parent)) {\n      if (Buffer.allocUnsafe) {\n        // Node.js >= 4.5.0\n        child = Buffer.allocUnsafe(parent.length);\n      } else {\n        // Older Node.js versions\n        child = new Buffer(parent.length);\n      }\n      parent.copy(child);\n      return child;\n    } else if (_instanceof(parent, Error)) {\n      child = Object.create(parent);\n    } else {\n      if (typeof prototype == 'undefined') {\n        proto = Object.getPrototypeOf(parent);\n        child = Object.create(proto);\n      }\n      else {\n        child = Object.create(prototype);\n        proto = prototype;\n      }\n    }\n\n    if (circular) {\n      var index = allParents.indexOf(parent);\n\n      if (index != -1) {\n        return allChildren[index];\n      }\n      allParents.push(parent);\n      allChildren.push(child);\n    }\n\n    if (_instanceof(parent, nativeMap)) {\n      parent.forEach(function(value, key) {\n        var keyChild = _clone(key, depth - 1);\n        var valueChild = _clone(value, depth - 1);\n        child.set(keyChild, valueChild);\n      });\n    }\n    if (_instanceof(parent, nativeSet)) {\n      parent.forEach(function(value) {\n        var entryChild = _clone(value, depth - 1);\n        child.add(entryChild);\n      });\n    }\n\n    for (var i in parent) {\n      var attrs;\n      if (proto) {\n        attrs = Object.getOwnPropertyDescriptor(proto, i);\n      }\n\n      if (attrs && attrs.set == null) {\n        continue;\n      }\n      child[i] = _clone(parent[i], depth - 1);\n    }\n\n    if (Object.getOwnPropertySymbols) {\n      var symbols = Object.getOwnPropertySymbols(parent);\n      for (var i = 0; i < symbols.length; i++) {\n        // Don't need to worry about cloning a symbol because it is a primitive,\n        // like a number or string.\n        var symbol = symbols[i];\n        var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n        if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n          continue;\n        }\n        child[symbol] = _clone(parent[symbol], depth - 1);\n        if (!descriptor.enumerable) {\n          Object.defineProperty(child, symbol, {\n            enumerable: false\n          });\n        }\n      }\n    }\n\n    if (includeNonEnumerable) {\n      var allPropertyNames = Object.getOwnPropertyNames(parent);\n      for (var i = 0; i < allPropertyNames.length; i++) {\n        var propertyName = allPropertyNames[i];\n        var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n        if (descriptor && descriptor.enumerable) {\n          continue;\n        }\n        child[propertyName] = _clone(parent[propertyName], depth - 1);\n        Object.defineProperty(child, propertyName, {\n          enumerable: false\n        });\n      }\n    }\n\n    return child;\n  }\n\n  return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n  if (parent === null)\n    return null;\n\n  var c = function () {};\n  c.prototype = parent;\n  return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n  return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n  var flags = '';\n  if (re.global) flags += 'g';\n  if (re.ignoreCase) flags += 'i';\n  if (re.multiline) flags += 'm';\n  return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n  module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n  return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n  _inherits(Scroll, _Parchment$Scroll);\n\n  function Scroll(domNode, config) {\n    _classCallCheck(this, Scroll);\n\n    var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n    _this.emitter = config.emitter;\n    if (Array.isArray(config.whitelist)) {\n      _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n        whitelist[format] = true;\n        return whitelist;\n      }, {});\n    }\n    // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n    _this.domNode.addEventListener('DOMNodeInserted', function () {});\n    _this.optimize();\n    _this.enable();\n    return _this;\n  }\n\n  _createClass(Scroll, [{\n    key: 'batchStart',\n    value: function batchStart() {\n      this.batch = true;\n    }\n  }, {\n    key: 'batchEnd',\n    value: function batchEnd() {\n      this.batch = false;\n      this.optimize();\n    }\n  }, {\n    key: 'deleteAt',\n    value: function deleteAt(index, length) {\n      var _line = this.line(index),\n          _line2 = _slicedToArray(_line, 2),\n          first = _line2[0],\n          offset = _line2[1];\n\n      var _line3 = this.line(index + length),\n          _line4 = _slicedToArray(_line3, 1),\n          last = _line4[0];\n\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n      if (last != null && first !== last && offset > 0) {\n        if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n          this.optimize();\n          return;\n        }\n        if (first instanceof _code2.default) {\n          var newlineIndex = first.newlineIndex(first.length(), true);\n          if (newlineIndex > -1) {\n            first = first.split(newlineIndex + 1);\n            if (first === last) {\n              this.optimize();\n              return;\n            }\n          }\n        } else if (last instanceof _code2.default) {\n          var _newlineIndex = last.newlineIndex(0);\n          if (_newlineIndex > -1) {\n            last.split(_newlineIndex + 1);\n          }\n        }\n        var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n        first.moveChildren(last, ref);\n        first.remove();\n      }\n      this.optimize();\n    }\n  }, {\n    key: 'enable',\n    value: function enable() {\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      this.domNode.setAttribute('contenteditable', enabled);\n    }\n  }, {\n    key: 'formatAt',\n    value: function formatAt(index, length, format, value) {\n      if (this.whitelist != null && !this.whitelist[format]) return;\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n      this.optimize();\n    }\n  }, {\n    key: 'insertAt',\n    value: function insertAt(index, value, def) {\n      if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n      if (index >= this.length()) {\n        if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n          var blot = _parchment2.default.create(this.statics.defaultChild);\n          this.appendChild(blot);\n          if (def == null && value.endsWith('\\n')) {\n            value = value.slice(0, -1);\n          }\n          blot.insertAt(0, value, def);\n        } else {\n          var embed = _parchment2.default.create(value, def);\n          this.appendChild(embed);\n        }\n      } else {\n        _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n      }\n      this.optimize();\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n        var wrapper = _parchment2.default.create(this.statics.defaultChild);\n        wrapper.appendChild(blot);\n        blot = wrapper;\n      }\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n    }\n  }, {\n    key: 'leaf',\n    value: function leaf(index) {\n      return this.path(index).pop() || [null, -1];\n    }\n  }, {\n    key: 'line',\n    value: function line(index) {\n      if (index === this.length()) {\n        return this.line(index - 1);\n      }\n      return this.descendant(isLine, index);\n    }\n  }, {\n    key: 'lines',\n    value: function lines() {\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n      var getLines = function getLines(blot, index, length) {\n        var lines = [],\n            lengthLeft = length;\n        blot.children.forEachAt(index, length, function (child, index, length) {\n          if (isLine(child)) {\n            lines.push(child);\n          } else if (child instanceof _parchment2.default.Container) {\n            lines = lines.concat(getLines(child, index, lengthLeft));\n          }\n          lengthLeft -= length;\n        });\n        return lines;\n      };\n      return getLines(this, index, length);\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize() {\n      var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      if (this.batch === true) return;\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n      }\n    }\n  }, {\n    key: 'path',\n    value: function path(index) {\n      return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations) {\n      if (this.batch === true) return;\n      var source = _emitter2.default.sources.USER;\n      if (typeof mutations === 'string') {\n        source = mutations;\n      }\n      if (!Array.isArray(mutations)) {\n        mutations = this.observer.takeRecords();\n      }\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n      }\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n      if (mutations.length > 0) {\n        this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n      }\n    }\n  }]);\n\n  return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n  _inherits(Keyboard, _Module);\n\n  _createClass(Keyboard, null, [{\n    key: 'match',\n    value: function match(evt, binding) {\n      binding = normalize(binding);\n      if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n        return !!binding[key] !== evt[key] && binding[key] !== null;\n      })) {\n        return false;\n      }\n      return binding.key === (evt.which || evt.keyCode);\n    }\n  }]);\n\n  function Keyboard(quill, options) {\n    _classCallCheck(this, Keyboard);\n\n    var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n    _this.bindings = {};\n    Object.keys(_this.options.bindings).forEach(function (name) {\n      if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n        return;\n      }\n      if (_this.options.bindings[name]) {\n        _this.addBinding(_this.options.bindings[name]);\n      }\n    });\n    _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n    _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n    if (/Firefox/i.test(navigator.userAgent)) {\n      // Need to handle delete and backspace for Firefox in the general case #1171\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n    } else {\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n    }\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n    _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n    _this.listen();\n    return _this;\n  }\n\n  _createClass(Keyboard, [{\n    key: 'addBinding',\n    value: function addBinding(key) {\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      var binding = normalize(key);\n      if (binding == null || binding.key == null) {\n        return debug.warn('Attempted to add invalid keyboard binding', binding);\n      }\n      if (typeof context === 'function') {\n        context = { handler: context };\n      }\n      if (typeof handler === 'function') {\n        handler = { handler: handler };\n      }\n      binding = (0, _extend2.default)(binding, context, handler);\n      this.bindings[binding.key] = this.bindings[binding.key] || [];\n      this.bindings[binding.key].push(binding);\n    }\n  }, {\n    key: 'listen',\n    value: function listen() {\n      var _this2 = this;\n\n      this.quill.root.addEventListener('keydown', function (evt) {\n        if (evt.defaultPrevented) return;\n        var which = evt.which || evt.keyCode;\n        var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n          return Keyboard.match(evt, binding);\n        });\n        if (bindings.length === 0) return;\n        var range = _this2.quill.getSelection();\n        if (range == null || !_this2.quill.hasFocus()) return;\n\n        var _quill$getLine = _this2.quill.getLine(range.index),\n            _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n            line = _quill$getLine2[0],\n            offset = _quill$getLine2[1];\n\n        var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n            _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n            leafStart = _quill$getLeaf2[0],\n            offsetStart = _quill$getLeaf2[1];\n\n        var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n            _ref2 = _slicedToArray(_ref, 2),\n            leafEnd = _ref2[0],\n            offsetEnd = _ref2[1];\n\n        var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n        var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n        var curContext = {\n          collapsed: range.length === 0,\n          empty: range.length === 0 && line.length() <= 1,\n          format: _this2.quill.getFormat(range),\n          offset: offset,\n          prefix: prefixText,\n          suffix: suffixText\n        };\n        var prevented = bindings.some(function (binding) {\n          if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n          if (binding.empty != null && binding.empty !== curContext.empty) return false;\n          if (binding.offset != null && binding.offset !== curContext.offset) return false;\n          if (Array.isArray(binding.format)) {\n            // any format is present\n            if (binding.format.every(function (name) {\n              return curContext.format[name] == null;\n            })) {\n              return false;\n            }\n          } else if (_typeof(binding.format) === 'object') {\n            // all formats must match\n            if (!Object.keys(binding.format).every(function (name) {\n              if (binding.format[name] === true) return curContext.format[name] != null;\n              if (binding.format[name] === false) return curContext.format[name] == null;\n              return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n            })) {\n              return false;\n            }\n          }\n          if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n          if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n          return binding.handler.call(_this2, range, curContext) !== true;\n        });\n        if (prevented) {\n          evt.preventDefault();\n        }\n      });\n    }\n  }]);\n\n  return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n  BACKSPACE: 8,\n  TAB: 9,\n  ENTER: 13,\n  ESCAPE: 27,\n  LEFT: 37,\n  UP: 38,\n  RIGHT: 39,\n  DOWN: 40,\n  DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n  bindings: {\n    'bold': makeFormatHandler('bold'),\n    'italic': makeFormatHandler('italic'),\n    'underline': makeFormatHandler('underline'),\n    'indent': {\n      // highlight tab or tab at beginning of list, indent or blockquote\n      key: Keyboard.keys.TAB,\n      format: ['blockquote', 'indent', 'list'],\n      handler: function handler(range, context) {\n        if (context.collapsed && context.offset !== 0) return true;\n        this.quill.format('indent', '+1', _quill2.default.sources.USER);\n      }\n    },\n    'outdent': {\n      key: Keyboard.keys.TAB,\n      shiftKey: true,\n      format: ['blockquote', 'indent', 'list'],\n      // highlight tab or tab at beginning of list, indent or blockquote\n      handler: function handler(range, context) {\n        if (context.collapsed && context.offset !== 0) return true;\n        this.quill.format('indent', '-1', _quill2.default.sources.USER);\n      }\n    },\n    'outdent backspace': {\n      key: Keyboard.keys.BACKSPACE,\n      collapsed: true,\n      shiftKey: null,\n      metaKey: null,\n      ctrlKey: null,\n      altKey: null,\n      format: ['indent', 'list'],\n      offset: 0,\n      handler: function handler(range, context) {\n        if (context.format.indent != null) {\n          this.quill.format('indent', '-1', _quill2.default.sources.USER);\n        } else if (context.format.list != null) {\n          this.quill.format('list', false, _quill2.default.sources.USER);\n        }\n      }\n    },\n    'indent code-block': makeCodeBlockHandler(true),\n    'outdent code-block': makeCodeBlockHandler(false),\n    'remove tab': {\n      key: Keyboard.keys.TAB,\n      shiftKey: true,\n      collapsed: true,\n      prefix: /\\t$/,\n      handler: function handler(range) {\n        this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n      }\n    },\n    'tab': {\n      key: Keyboard.keys.TAB,\n      handler: function handler(range) {\n        this.quill.history.cutoff();\n        var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n      }\n    },\n    'list empty enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['list'],\n      empty: true,\n      handler: function handler(range, context) {\n        this.quill.format('list', false, _quill2.default.sources.USER);\n        if (context.format.indent) {\n          this.quill.format('indent', false, _quill2.default.sources.USER);\n        }\n      }\n    },\n    'checklist enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: { list: 'checked' },\n      handler: function handler(range) {\n        var _quill$getLine3 = this.quill.getLine(range.index),\n            _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n            line = _quill$getLine4[0],\n            offset = _quill$getLine4[1];\n\n        var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n        this.quill.scrollIntoView();\n      }\n    },\n    'header enter': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['header'],\n      suffix: /^$/,\n      handler: function handler(range, context) {\n        var _quill$getLine5 = this.quill.getLine(range.index),\n            _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n            line = _quill$getLine6[0],\n            offset = _quill$getLine6[1];\n\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n        this.quill.scrollIntoView();\n      }\n    },\n    'list autofill': {\n      key: ' ',\n      collapsed: true,\n      format: { list: false },\n      prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n      handler: function handler(range, context) {\n        var length = context.prefix.length;\n\n        var _quill$getLine7 = this.quill.getLine(range.index),\n            _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n            line = _quill$getLine8[0],\n            offset = _quill$getLine8[1];\n\n        if (offset > length) return true;\n        var value = void 0;\n        switch (context.prefix.trim()) {\n          case '[]':case '[ ]':\n            value = 'unchecked';\n            break;\n          case '[x]':\n            value = 'checked';\n            break;\n          case '-':case '*':\n            value = 'bullet';\n            break;\n          default:\n            value = 'ordered';\n        }\n        this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n        this.quill.history.cutoff();\n        this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n      }\n    },\n    'code exit': {\n      key: Keyboard.keys.ENTER,\n      collapsed: true,\n      format: ['code-block'],\n      prefix: /\\n\\n$/,\n      suffix: /^\\s+$/,\n      handler: function handler(range) {\n        var _quill$getLine9 = this.quill.getLine(range.index),\n            _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n            line = _quill$getLine10[0],\n            offset = _quill$getLine10[1];\n\n        var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\n      }\n    },\n    'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n    'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n    'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n    'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n  }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n  var _ref3;\n\n  var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n  return _ref3 = {\n    key: key,\n    shiftKey: shiftKey,\n    altKey: null\n  }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n    var index = range.index;\n    if (key === Keyboard.keys.RIGHT) {\n      index += range.length + 1;\n    }\n\n    var _quill$getLeaf3 = this.quill.getLeaf(index),\n        _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n        leaf = _quill$getLeaf4[0];\n\n    if (!(leaf instanceof _parchment2.default.Embed)) return true;\n    if (key === Keyboard.keys.LEFT) {\n      if (shiftKey) {\n        this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n      } else {\n        this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n      }\n    } else {\n      if (shiftKey) {\n        this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n      } else {\n        this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n      }\n    }\n    return false;\n  }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n  if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n  var _quill$getLine11 = this.quill.getLine(range.index),\n      _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n      line = _quill$getLine12[0];\n\n  var formats = {};\n  if (context.offset === 0) {\n    var _quill$getLine13 = this.quill.getLine(range.index - 1),\n        _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n        prev = _quill$getLine14[0];\n\n    if (prev != null && prev.length() > 1) {\n      var curFormats = line.formats();\n      var prevFormats = this.quill.getFormat(range.index - 1, 1);\n      formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n    }\n  }\n  // Check for astral symbols\n  var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n  this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n  }\n  this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n  // Check for astral symbols\n  var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n  if (range.index >= this.quill.getLength() - length) return;\n  var formats = {},\n      nextLength = 0;\n\n  var _quill$getLine15 = this.quill.getLine(range.index),\n      _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n      line = _quill$getLine16[0];\n\n  if (context.offset >= line.length() - 1) {\n    var _quill$getLine17 = this.quill.getLine(range.index + 1),\n        _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n        next = _quill$getLine18[0];\n\n    if (next) {\n      var curFormats = line.formats();\n      var nextFormats = this.quill.getFormat(range.index, 1);\n      formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n      nextLength = next.length();\n    }\n  }\n  this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n  }\n}\n\nfunction handleDeleteRange(range) {\n  var lines = this.quill.getLines(range);\n  var formats = {};\n  if (lines.length > 1) {\n    var firstFormats = lines[0].formats();\n    var lastFormats = lines[lines.length - 1].formats();\n    formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n  }\n  this.quill.deleteText(range, _quill2.default.sources.USER);\n  if (Object.keys(formats).length > 0) {\n    this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n  }\n  this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n  this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n  var _this3 = this;\n\n  if (range.length > 0) {\n    this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n  }\n  var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n    if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n      lineFormats[format] = context.format[format];\n    }\n    return lineFormats;\n  }, {});\n  this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n  // Earlier scroll.deleteAt might have messed up our selection,\n  // so insertText's built in selection preservation is not reliable\n  this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n  this.quill.focus();\n  Object.keys(context.format).forEach(function (name) {\n    if (lineFormats[name] != null) return;\n    if (Array.isArray(context.format[name])) return;\n    if (name === 'link') return;\n    _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n  });\n}\n\nfunction makeCodeBlockHandler(indent) {\n  return {\n    key: Keyboard.keys.TAB,\n    shiftKey: !indent,\n    format: { 'code-block': true },\n    handler: function handler(range) {\n      var CodeBlock = _parchment2.default.query('code-block');\n      var index = range.index,\n          length = range.length;\n\n      var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n          _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n          block = _quill$scroll$descend2[0],\n          offset = _quill$scroll$descend2[1];\n\n      if (block == null) return;\n      var scrollIndex = this.quill.getIndex(block);\n      var start = block.newlineIndex(offset, true) + 1;\n      var end = block.newlineIndex(scrollIndex + offset + length);\n      var lines = block.domNode.textContent.slice(start, end).split('\\n');\n      offset = 0;\n      lines.forEach(function (line, i) {\n        if (indent) {\n          block.insertAt(start + offset, CodeBlock.TAB);\n          offset += CodeBlock.TAB.length;\n          if (i === 0) {\n            index += CodeBlock.TAB.length;\n          } else {\n            length += CodeBlock.TAB.length;\n          }\n        } else if (line.startsWith(CodeBlock.TAB)) {\n          block.deleteAt(start + offset, CodeBlock.TAB.length);\n          offset -= CodeBlock.TAB.length;\n          if (i === 0) {\n            index -= CodeBlock.TAB.length;\n          } else {\n            length -= CodeBlock.TAB.length;\n          }\n        }\n        offset += line.length + 1;\n      });\n      this.quill.update(_quill2.default.sources.USER);\n      this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n    }\n  };\n}\n\nfunction makeFormatHandler(format) {\n  return {\n    key: format[0].toUpperCase(),\n    shortKey: true,\n    handler: function handler(range, context) {\n      this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n    }\n  };\n}\n\nfunction normalize(binding) {\n  if (typeof binding === 'string' || typeof binding === 'number') {\n    return normalize({ key: binding });\n  }\n  if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n    binding = (0, _clone2.default)(binding, false);\n  }\n  if (typeof binding.key === 'string') {\n    if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n      binding.key = Keyboard.keys[binding.key.toUpperCase()];\n    } else if (binding.key.length === 1) {\n      binding.key = binding.key.toUpperCase().charCodeAt(0);\n    } else {\n      return null;\n    }\n  }\n  if (binding.shortKey) {\n    binding[SHORTKEY] = binding.shortKey;\n    delete binding.shortKey;\n  }\n  return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n  _inherits(Cursor, _Parchment$Embed);\n\n  _createClass(Cursor, null, [{\n    key: 'value',\n    value: function value() {\n      return undefined;\n    }\n  }]);\n\n  function Cursor(domNode, selection) {\n    _classCallCheck(this, Cursor);\n\n    var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n    _this.selection = selection;\n    _this.textNode = document.createTextNode(Cursor.CONTENTS);\n    _this.domNode.appendChild(_this.textNode);\n    _this._length = 0;\n    return _this;\n  }\n\n  _createClass(Cursor, [{\n    key: 'detach',\n    value: function detach() {\n      // super.detach() will also clear domNode.__blot\n      if (this.parent != null) this.parent.removeChild(this);\n    }\n  }, {\n    key: 'format',\n    value: function format(name, value) {\n      if (this._length !== 0) {\n        return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n      }\n      var target = this,\n          index = 0;\n      while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n        index += target.offset(target.parent);\n        target = target.parent;\n      }\n      if (target != null) {\n        this._length = Cursor.CONTENTS.length;\n        target.optimize();\n        target.formatAt(index, Cursor.CONTENTS.length, name, value);\n        this._length = 0;\n      }\n    }\n  }, {\n    key: 'index',\n    value: function index(node, offset) {\n      if (node === this.textNode) return 0;\n      return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n    }\n  }, {\n    key: 'length',\n    value: function length() {\n      return this._length;\n    }\n  }, {\n    key: 'position',\n    value: function position() {\n      return [this.textNode, this.textNode.data.length];\n    }\n  }, {\n    key: 'remove',\n    value: function remove() {\n      _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n      this.parent = null;\n    }\n  }, {\n    key: 'restore',\n    value: function restore() {\n      if (this.selection.composing || this.parent == null) return;\n      var textNode = this.textNode;\n      var range = this.selection.getNativeRange();\n      var restoreText = void 0,\n          start = void 0,\n          end = void 0;\n      if (range != null && range.start.node === textNode && range.end.node === textNode) {\n        var _ref = [textNode, range.start.offset, range.end.offset];\n        restoreText = _ref[0];\n        start = _ref[1];\n        end = _ref[2];\n      }\n      // Link format will insert text outside of anchor tag\n      while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n        this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n      }\n      if (this.textNode.data !== Cursor.CONTENTS) {\n        var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n        if (this.next instanceof _text2.default) {\n          restoreText = this.next.domNode;\n          this.next.insertAt(0, text);\n          this.textNode.data = Cursor.CONTENTS;\n        } else {\n          this.textNode.data = text;\n          this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n          this.textNode = document.createTextNode(Cursor.CONTENTS);\n          this.domNode.appendChild(this.textNode);\n        }\n      }\n      this.remove();\n      if (start != null) {\n        var _map = [start, end].map(function (offset) {\n          return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n        });\n\n        var _map2 = _slicedToArray(_map, 2);\n\n        start = _map2[0];\n        end = _map2[1];\n\n        return {\n          startNode: restoreText,\n          startOffset: start,\n          endNode: restoreText,\n          endOffset: end\n        };\n      }\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations, context) {\n      var _this2 = this;\n\n      if (mutations.some(function (mutation) {\n        return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n      })) {\n        var range = this.restore();\n        if (range) context.range = range;\n      }\n    }\n  }, {\n    key: 'value',\n    value: function value() {\n      return '';\n    }\n  }]);\n\n  return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n  _inherits(Container, _Parchment$Container);\n\n  function Container() {\n    _classCallCheck(this, Container);\n\n    return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n  }\n\n  return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n  _inherits(ColorAttributor, _Parchment$Attributor);\n\n  function ColorAttributor() {\n    _classCallCheck(this, ColorAttributor);\n\n    return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n  }\n\n  _createClass(ColorAttributor, [{\n    key: 'value',\n    value: function value(domNode) {\n      var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n      if (!value.startsWith('rgb(')) return value;\n      value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n      return '#' + value.split(',').map(function (component) {\n        return ('00' + parseInt(component).toString(16)).slice(-2);\n      }).join('');\n    }\n  }]);\n\n  return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n  scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n  _inherits(Link, _Inline);\n\n  function Link() {\n    _classCallCheck(this, Link);\n\n    return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n  }\n\n  _createClass(Link, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n      value = this.constructor.sanitize(value);\n      this.domNode.setAttribute('href', value);\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n      value = this.sanitize(value);\n      node.setAttribute('href', value);\n      node.setAttribute('rel', 'noopener noreferrer');\n      node.setAttribute('target', '_blank');\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return domNode.getAttribute('href');\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n    }\n  }]);\n\n  return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n  var anchor = document.createElement('a');\n  anchor.href = url;\n  var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n  return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n  element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n  function Picker(select) {\n    var _this = this;\n\n    _classCallCheck(this, Picker);\n\n    this.select = select;\n    this.container = document.createElement('span');\n    this.buildPicker();\n    this.select.style.display = 'none';\n    this.select.parentNode.insertBefore(this.container, this.select);\n\n    this.label.addEventListener('mousedown', function () {\n      _this.togglePicker();\n    });\n    this.label.addEventListener('keydown', function (event) {\n      switch (event.keyCode) {\n        // Allows the \"Enter\" key to open the picker\n        case _keyboard2.default.keys.ENTER:\n          _this.togglePicker();\n          break;\n\n        // Allows the \"Escape\" key to close the picker\n        case _keyboard2.default.keys.ESCAPE:\n          _this.escape();\n          event.preventDefault();\n          break;\n        default:\n      }\n    });\n    this.select.addEventListener('change', this.update.bind(this));\n  }\n\n  _createClass(Picker, [{\n    key: 'togglePicker',\n    value: function togglePicker() {\n      this.container.classList.toggle('ql-expanded');\n      // Toggle aria-expanded and aria-hidden to make the picker accessible\n      toggleAriaAttribute(this.label, 'aria-expanded');\n      toggleAriaAttribute(this.options, 'aria-hidden');\n    }\n  }, {\n    key: 'buildItem',\n    value: function buildItem(option) {\n      var _this2 = this;\n\n      var item = document.createElement('span');\n      item.tabIndex = '0';\n      item.setAttribute('role', 'button');\n\n      item.classList.add('ql-picker-item');\n      if (option.hasAttribute('value')) {\n        item.setAttribute('data-value', option.getAttribute('value'));\n      }\n      if (option.textContent) {\n        item.setAttribute('data-label', option.textContent);\n      }\n      item.addEventListener('click', function () {\n        _this2.selectItem(item, true);\n      });\n      item.addEventListener('keydown', function (event) {\n        switch (event.keyCode) {\n          // Allows the \"Enter\" key to select an item\n          case _keyboard2.default.keys.ENTER:\n            _this2.selectItem(item, true);\n            event.preventDefault();\n            break;\n\n          // Allows the \"Escape\" key to close the picker\n          case _keyboard2.default.keys.ESCAPE:\n            _this2.escape();\n            event.preventDefault();\n            break;\n          default:\n        }\n      });\n\n      return item;\n    }\n  }, {\n    key: 'buildLabel',\n    value: function buildLabel() {\n      var label = document.createElement('span');\n      label.classList.add('ql-picker-label');\n      label.innerHTML = _dropdown2.default;\n      label.tabIndex = '0';\n      label.setAttribute('role', 'button');\n      label.setAttribute('aria-expanded', 'false');\n      this.container.appendChild(label);\n      return label;\n    }\n  }, {\n    key: 'buildOptions',\n    value: function buildOptions() {\n      var _this3 = this;\n\n      var options = document.createElement('span');\n      options.classList.add('ql-picker-options');\n\n      // Don't want screen readers to read this until options are visible\n      options.setAttribute('aria-hidden', 'true');\n      options.tabIndex = '-1';\n\n      // Need a unique id for aria-controls\n      options.id = 'ql-picker-options-' + optionsCounter;\n      optionsCounter += 1;\n      this.label.setAttribute('aria-controls', options.id);\n\n      this.options = options;\n\n      [].slice.call(this.select.options).forEach(function (option) {\n        var item = _this3.buildItem(option);\n        options.appendChild(item);\n        if (option.selected === true) {\n          _this3.selectItem(item);\n        }\n      });\n      this.container.appendChild(options);\n    }\n  }, {\n    key: 'buildPicker',\n    value: function buildPicker() {\n      var _this4 = this;\n\n      [].slice.call(this.select.attributes).forEach(function (item) {\n        _this4.container.setAttribute(item.name, item.value);\n      });\n      this.container.classList.add('ql-picker');\n      this.label = this.buildLabel();\n      this.buildOptions();\n    }\n  }, {\n    key: 'escape',\n    value: function escape() {\n      var _this5 = this;\n\n      // Close menu and return focus to trigger label\n      this.close();\n      // Need setTimeout for accessibility to ensure that the browser executes\n      // focus on the next process thread and after any DOM content changes\n      setTimeout(function () {\n        return _this5.label.focus();\n      }, 1);\n    }\n  }, {\n    key: 'close',\n    value: function close() {\n      this.container.classList.remove('ql-expanded');\n      this.label.setAttribute('aria-expanded', 'false');\n      this.options.setAttribute('aria-hidden', 'true');\n    }\n  }, {\n    key: 'selectItem',\n    value: function selectItem(item) {\n      var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      var selected = this.container.querySelector('.ql-selected');\n      if (item === selected) return;\n      if (selected != null) {\n        selected.classList.remove('ql-selected');\n      }\n      if (item == null) return;\n      item.classList.add('ql-selected');\n      this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n      if (item.hasAttribute('data-value')) {\n        this.label.setAttribute('data-value', item.getAttribute('data-value'));\n      } else {\n        this.label.removeAttribute('data-value');\n      }\n      if (item.hasAttribute('data-label')) {\n        this.label.setAttribute('data-label', item.getAttribute('data-label'));\n      } else {\n        this.label.removeAttribute('data-label');\n      }\n      if (trigger) {\n        if (typeof Event === 'function') {\n          this.select.dispatchEvent(new Event('change'));\n        } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n          // IE11\n          var event = document.createEvent('Event');\n          event.initEvent('change', true, true);\n          this.select.dispatchEvent(event);\n        }\n        this.close();\n      }\n    }\n  }, {\n    key: 'update',\n    value: function update() {\n      var option = void 0;\n      if (this.select.selectedIndex > -1) {\n        var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n        option = this.select.options[this.select.selectedIndex];\n        this.selectItem(item);\n      } else {\n        this.selectItem(null);\n      }\n      var isActive = option != null && option !== this.select.querySelector('option[selected]');\n      this.label.classList.toggle('ql-active', isActive);\n    }\n  }]);\n\n  return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n  'blots/block': _block2.default,\n  'blots/block/embed': _block.BlockEmbed,\n  'blots/break': _break2.default,\n  'blots/container': _container2.default,\n  'blots/cursor': _cursor2.default,\n  'blots/embed': _embed2.default,\n  'blots/inline': _inline2.default,\n  'blots/scroll': _scroll2.default,\n  'blots/text': _text2.default,\n\n  'modules/clipboard': _clipboard2.default,\n  'modules/history': _history2.default,\n  'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n    function ShadowBlot(domNode) {\n        this.domNode = domNode;\n        // @ts-ignore\n        this.domNode[Registry.DATA_KEY] = { blot: this };\n    }\n    Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n        // Hack for accessing inherited static methods\n        get: function () {\n            return this.constructor;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    ShadowBlot.create = function (value) {\n        if (this.tagName == null) {\n            throw new Registry.ParchmentError('Blot definition missing tagName');\n        }\n        var node;\n        if (Array.isArray(this.tagName)) {\n            if (typeof value === 'string') {\n                value = value.toUpperCase();\n                if (parseInt(value).toString() === value) {\n                    value = parseInt(value);\n                }\n            }\n            if (typeof value === 'number') {\n                node = document.createElement(this.tagName[value - 1]);\n            }\n            else if (this.tagName.indexOf(value) > -1) {\n                node = document.createElement(value);\n            }\n            else {\n                node = document.createElement(this.tagName[0]);\n            }\n        }\n        else {\n            node = document.createElement(this.tagName);\n        }\n        if (this.className) {\n            node.classList.add(this.className);\n        }\n        return node;\n    };\n    ShadowBlot.prototype.attach = function () {\n        if (this.parent != null) {\n            this.scroll = this.parent.scroll;\n        }\n    };\n    ShadowBlot.prototype.clone = function () {\n        var domNode = this.domNode.cloneNode(false);\n        return Registry.create(domNode);\n    };\n    ShadowBlot.prototype.detach = function () {\n        if (this.parent != null)\n            this.parent.removeChild(this);\n        // @ts-ignore\n        delete this.domNode[Registry.DATA_KEY];\n    };\n    ShadowBlot.prototype.deleteAt = function (index, length) {\n        var blot = this.isolate(index, length);\n        blot.remove();\n    };\n    ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n        var blot = this.isolate(index, length);\n        if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n            blot.wrap(name, value);\n        }\n        else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n            var parent = Registry.create(this.statics.scope);\n            blot.wrap(parent);\n            parent.format(name, value);\n        }\n    };\n    ShadowBlot.prototype.insertAt = function (index, value, def) {\n        var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n        var ref = this.split(index);\n        this.parent.insertBefore(blot, ref);\n    };\n    ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n        if (refBlot === void 0) { refBlot = null; }\n        if (this.parent != null) {\n            this.parent.children.remove(this);\n        }\n        var refDomNode = null;\n        parentBlot.children.insertBefore(this, refBlot);\n        if (refBlot != null) {\n            refDomNode = refBlot.domNode;\n        }\n        if (this.domNode.parentNode != parentBlot.domNode ||\n            this.domNode.nextSibling != refDomNode) {\n            parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n        }\n        this.parent = parentBlot;\n        this.attach();\n    };\n    ShadowBlot.prototype.isolate = function (index, length) {\n        var target = this.split(index);\n        target.split(length);\n        return target;\n    };\n    ShadowBlot.prototype.length = function () {\n        return 1;\n    };\n    ShadowBlot.prototype.offset = function (root) {\n        if (root === void 0) { root = this.parent; }\n        if (this.parent == null || this == root)\n            return 0;\n        return this.parent.children.offset(this) + this.parent.offset(root);\n    };\n    ShadowBlot.prototype.optimize = function (context) {\n        // TODO clean up once we use WeakMap\n        // @ts-ignore\n        if (this.domNode[Registry.DATA_KEY] != null) {\n            // @ts-ignore\n            delete this.domNode[Registry.DATA_KEY].mutations;\n        }\n    };\n    ShadowBlot.prototype.remove = function () {\n        if (this.domNode.parentNode != null) {\n            this.domNode.parentNode.removeChild(this.domNode);\n        }\n        this.detach();\n    };\n    ShadowBlot.prototype.replace = function (target) {\n        if (target.parent == null)\n            return;\n        target.parent.insertBefore(this, target.next);\n        target.remove();\n    };\n    ShadowBlot.prototype.replaceWith = function (name, value) {\n        var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n        replacement.replace(this);\n        return replacement;\n    };\n    ShadowBlot.prototype.split = function (index, force) {\n        return index === 0 ? this : this.next;\n    };\n    ShadowBlot.prototype.update = function (mutations, context) {\n        // Nothing to do by default\n    };\n    ShadowBlot.prototype.wrap = function (name, value) {\n        var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n        if (this.parent != null) {\n            this.parent.insertBefore(wrapper, this.next);\n        }\n        wrapper.appendChild(this);\n        return wrapper;\n    };\n    ShadowBlot.blotName = 'abstract';\n    return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n    function AttributorStore(domNode) {\n        this.attributes = {};\n        this.domNode = domNode;\n        this.build();\n    }\n    AttributorStore.prototype.attribute = function (attribute, value) {\n        // verb\n        if (value) {\n            if (attribute.add(this.domNode, value)) {\n                if (attribute.value(this.domNode) != null) {\n                    this.attributes[attribute.attrName] = attribute;\n                }\n                else {\n                    delete this.attributes[attribute.attrName];\n                }\n            }\n        }\n        else {\n            attribute.remove(this.domNode);\n            delete this.attributes[attribute.attrName];\n        }\n    };\n    AttributorStore.prototype.build = function () {\n        var _this = this;\n        this.attributes = {};\n        var attributes = attributor_1.default.keys(this.domNode);\n        var classes = class_1.default.keys(this.domNode);\n        var styles = style_1.default.keys(this.domNode);\n        attributes\n            .concat(classes)\n            .concat(styles)\n            .forEach(function (name) {\n            var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n            if (attr instanceof attributor_1.default) {\n                _this.attributes[attr.attrName] = attr;\n            }\n        });\n    };\n    AttributorStore.prototype.copy = function (target) {\n        var _this = this;\n        Object.keys(this.attributes).forEach(function (key) {\n            var value = _this.attributes[key].value(_this.domNode);\n            target.format(key, value);\n        });\n    };\n    AttributorStore.prototype.move = function (target) {\n        var _this = this;\n        this.copy(target);\n        Object.keys(this.attributes).forEach(function (key) {\n            _this.attributes[key].remove(_this.domNode);\n        });\n        this.attributes = {};\n    };\n    AttributorStore.prototype.values = function () {\n        var _this = this;\n        return Object.keys(this.attributes).reduce(function (attributes, name) {\n            attributes[name] = _this.attributes[name].value(_this.domNode);\n            return attributes;\n        }, {});\n    };\n    return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n    var className = node.getAttribute('class') || '';\n    return className.split(/\\s+/).filter(function (name) {\n        return name.indexOf(prefix + \"-\") === 0;\n    });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n    __extends(ClassAttributor, _super);\n    function ClassAttributor() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ClassAttributor.keys = function (node) {\n        return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n            return name\n                .split('-')\n                .slice(0, -1)\n                .join('-');\n        });\n    };\n    ClassAttributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        this.remove(node);\n        node.classList.add(this.keyName + \"-\" + value);\n        return true;\n    };\n    ClassAttributor.prototype.remove = function (node) {\n        var matches = match(node, this.keyName);\n        matches.forEach(function (name) {\n            node.classList.remove(name);\n        });\n        if (node.classList.length === 0) {\n            node.removeAttribute('class');\n        }\n    };\n    ClassAttributor.prototype.value = function (node) {\n        var result = match(node, this.keyName)[0] || '';\n        var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n        return this.canAdd(node, value) ? value : '';\n    };\n    return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n    var parts = name.split('-');\n    var rest = parts\n        .slice(1)\n        .map(function (part) {\n        return part[0].toUpperCase() + part.slice(1);\n    })\n        .join('');\n    return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n    __extends(StyleAttributor, _super);\n    function StyleAttributor() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    StyleAttributor.keys = function (node) {\n        return (node.getAttribute('style') || '').split(';').map(function (value) {\n            var arr = value.split(':');\n            return arr[0].trim();\n        });\n    };\n    StyleAttributor.prototype.add = function (node, value) {\n        if (!this.canAdd(node, value))\n            return false;\n        // @ts-ignore\n        node.style[camelize(this.keyName)] = value;\n        return true;\n    };\n    StyleAttributor.prototype.remove = function (node) {\n        // @ts-ignore\n        node.style[camelize(this.keyName)] = '';\n        if (!node.getAttribute('style')) {\n            node.removeAttribute('style');\n        }\n    };\n    StyleAttributor.prototype.value = function (node) {\n        // @ts-ignore\n        var value = node.style[camelize(this.keyName)];\n        return this.canAdd(node, value) ? value : '';\n    };\n    return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n  function Theme(quill, options) {\n    _classCallCheck(this, Theme);\n\n    this.quill = quill;\n    this.options = options;\n    this.modules = {};\n  }\n\n  _createClass(Theme, [{\n    key: 'init',\n    value: function init() {\n      var _this = this;\n\n      Object.keys(this.options.modules).forEach(function (name) {\n        if (_this.modules[name] == null) {\n          _this.addModule(name);\n        }\n      });\n    }\n  }, {\n    key: 'addModule',\n    value: function addModule(name) {\n      var moduleClass = this.quill.constructor.import('modules/' + name);\n      this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n      return this.modules[name];\n    }\n  }]);\n\n  return Theme;\n}();\n\nTheme.DEFAULTS = {\n  modules: {}\n};\nTheme.themes = {\n  'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n  _inherits(Embed, _Parchment$Embed);\n\n  function Embed(node) {\n    _classCallCheck(this, Embed);\n\n    var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n    _this.contentNode = document.createElement('span');\n    _this.contentNode.setAttribute('contenteditable', false);\n    [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n      _this.contentNode.appendChild(childNode);\n    });\n    _this.leftGuard = document.createTextNode(GUARD_TEXT);\n    _this.rightGuard = document.createTextNode(GUARD_TEXT);\n    _this.domNode.appendChild(_this.leftGuard);\n    _this.domNode.appendChild(_this.contentNode);\n    _this.domNode.appendChild(_this.rightGuard);\n    return _this;\n  }\n\n  _createClass(Embed, [{\n    key: 'index',\n    value: function index(node, offset) {\n      if (node === this.leftGuard) return 0;\n      if (node === this.rightGuard) return 1;\n      return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n    }\n  }, {\n    key: 'restore',\n    value: function restore(node) {\n      var range = void 0,\n          textNode = void 0;\n      var text = node.data.split(GUARD_TEXT).join('');\n      if (node === this.leftGuard) {\n        if (this.prev instanceof _text2.default) {\n          var prevLength = this.prev.length();\n          this.prev.insertAt(prevLength, text);\n          range = {\n            startNode: this.prev.domNode,\n            startOffset: prevLength + text.length\n          };\n        } else {\n          textNode = document.createTextNode(text);\n          this.parent.insertBefore(_parchment2.default.create(textNode), this);\n          range = {\n            startNode: textNode,\n            startOffset: text.length\n          };\n        }\n      } else if (node === this.rightGuard) {\n        if (this.next instanceof _text2.default) {\n          this.next.insertAt(0, text);\n          range = {\n            startNode: this.next.domNode,\n            startOffset: text.length\n          };\n        } else {\n          textNode = document.createTextNode(text);\n          this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n          range = {\n            startNode: textNode,\n            startOffset: text.length\n          };\n        }\n      }\n      node.data = GUARD_TEXT;\n      return range;\n    }\n  }, {\n    key: 'update',\n    value: function update(mutations, context) {\n      var _this2 = this;\n\n      mutations.forEach(function (mutation) {\n        if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n          var range = _this2.restore(mutation.target);\n          if (range) context.range = range;\n        }\n      });\n    }\n  }]);\n\n  return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n  scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n  _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n  function FontStyleAttributor() {\n    _classCallCheck(this, FontStyleAttributor);\n\n    return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n  }\n\n  _createClass(FontStyleAttributor, [{\n    key: 'value',\n    value: function value(node) {\n      return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n    }\n  }]);\n\n  return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n  scope: _parchment2.default.Scope.INLINE,\n  whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n  'align': {\n    '': __webpack_require__(76),\n    'center': __webpack_require__(77),\n    'right': __webpack_require__(78),\n    'justify': __webpack_require__(79)\n  },\n  'background': __webpack_require__(80),\n  'blockquote': __webpack_require__(81),\n  'bold': __webpack_require__(82),\n  'clean': __webpack_require__(83),\n  'code': __webpack_require__(58),\n  'code-block': __webpack_require__(58),\n  'color': __webpack_require__(84),\n  'direction': {\n    '': __webpack_require__(85),\n    'rtl': __webpack_require__(86)\n  },\n  'float': {\n    'center': __webpack_require__(87),\n    'full': __webpack_require__(88),\n    'left': __webpack_require__(89),\n    'right': __webpack_require__(90)\n  },\n  'formula': __webpack_require__(91),\n  'header': {\n    '1': __webpack_require__(92),\n    '2': __webpack_require__(93)\n  },\n  'italic': __webpack_require__(94),\n  'image': __webpack_require__(95),\n  'indent': {\n    '+1': __webpack_require__(96),\n    '-1': __webpack_require__(97)\n  },\n  'link': __webpack_require__(98),\n  'list': {\n    'ordered': __webpack_require__(99),\n    'bullet': __webpack_require__(100),\n    'check': __webpack_require__(101)\n  },\n  'script': {\n    'sub': __webpack_require__(102),\n    'super': __webpack_require__(103)\n  },\n  'strike': __webpack_require__(104),\n  'underline': __webpack_require__(105),\n  'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n  _inherits(History, _Module);\n\n  function History(quill, options) {\n    _classCallCheck(this, History);\n\n    var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n    _this.lastRecorded = 0;\n    _this.ignoreChange = false;\n    _this.clear();\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n      if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n      if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n        _this.record(delta, oldDelta);\n      } else {\n        _this.transform(delta);\n      }\n    });\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n    if (/Win/i.test(navigator.platform)) {\n      _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n    }\n    return _this;\n  }\n\n  _createClass(History, [{\n    key: 'change',\n    value: function change(source, dest) {\n      if (this.stack[source].length === 0) return;\n      var delta = this.stack[source].pop();\n      this.stack[dest].push(delta);\n      this.lastRecorded = 0;\n      this.ignoreChange = true;\n      this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n      this.ignoreChange = false;\n      var index = getLastChangeIndex(delta[source]);\n      this.quill.setSelection(index);\n    }\n  }, {\n    key: 'clear',\n    value: function clear() {\n      this.stack = { undo: [], redo: [] };\n    }\n  }, {\n    key: 'cutoff',\n    value: function cutoff() {\n      this.lastRecorded = 0;\n    }\n  }, {\n    key: 'record',\n    value: function record(changeDelta, oldDelta) {\n      if (changeDelta.ops.length === 0) return;\n      this.stack.redo = [];\n      var undoDelta = this.quill.getContents().diff(oldDelta);\n      var timestamp = Date.now();\n      if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n        var delta = this.stack.undo.pop();\n        undoDelta = undoDelta.compose(delta.undo);\n        changeDelta = delta.redo.compose(changeDelta);\n      } else {\n        this.lastRecorded = timestamp;\n      }\n      this.stack.undo.push({\n        redo: changeDelta,\n        undo: undoDelta\n      });\n      if (this.stack.undo.length > this.options.maxStack) {\n        this.stack.undo.shift();\n      }\n    }\n  }, {\n    key: 'redo',\n    value: function redo() {\n      this.change('redo', 'undo');\n    }\n  }, {\n    key: 'transform',\n    value: function transform(delta) {\n      this.stack.undo.forEach(function (change) {\n        change.undo = delta.transform(change.undo, true);\n        change.redo = delta.transform(change.redo, true);\n      });\n      this.stack.redo.forEach(function (change) {\n        change.undo = delta.transform(change.undo, true);\n        change.redo = delta.transform(change.redo, true);\n      });\n    }\n  }, {\n    key: 'undo',\n    value: function undo() {\n      this.change('undo', 'redo');\n    }\n  }]);\n\n  return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n  delay: 1000,\n  maxStack: 100,\n  userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n  var lastOp = delta.ops[delta.ops.length - 1];\n  if (lastOp == null) return false;\n  if (lastOp.insert != null) {\n    return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n  }\n  if (lastOp.attributes != null) {\n    return Object.keys(lastOp.attributes).some(function (attr) {\n      return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n    });\n  }\n  return false;\n}\n\nfunction getLastChangeIndex(delta) {\n  var deleteLength = delta.reduce(function (length, op) {\n    length += op.delete || 0;\n    return length;\n  }, 0);\n  var changeIndex = delta.length() - deleteLength;\n  if (endsWithNewlineChange(delta)) {\n    changeIndex -= 1;\n  }\n  return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n  _inherits(BaseTheme, _Theme);\n\n  function BaseTheme(quill, options) {\n    _classCallCheck(this, BaseTheme);\n\n    var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n    var listener = function listener(e) {\n      if (!document.body.contains(quill.root)) {\n        return document.body.removeEventListener('click', listener);\n      }\n      if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n        _this.tooltip.hide();\n      }\n      if (_this.pickers != null) {\n        _this.pickers.forEach(function (picker) {\n          if (!picker.container.contains(e.target)) {\n            picker.close();\n          }\n        });\n      }\n    };\n    quill.emitter.listenDOM('click', document.body, listener);\n    return _this;\n  }\n\n  _createClass(BaseTheme, [{\n    key: 'addModule',\n    value: function addModule(name) {\n      var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n      if (name === 'toolbar') {\n        this.extendToolbar(module);\n      }\n      return module;\n    }\n  }, {\n    key: 'buildButtons',\n    value: function buildButtons(buttons, icons) {\n      buttons.forEach(function (button) {\n        var className = button.getAttribute('class') || '';\n        className.split(/\\s+/).forEach(function (name) {\n          if (!name.startsWith('ql-')) return;\n          name = name.slice('ql-'.length);\n          if (icons[name] == null) return;\n          if (name === 'direction') {\n            button.innerHTML = icons[name][''] + icons[name]['rtl'];\n          } else if (typeof icons[name] === 'string') {\n            button.innerHTML = icons[name];\n          } else {\n            var value = button.value || '';\n            if (value != null && icons[name][value]) {\n              button.innerHTML = icons[name][value];\n            }\n          }\n        });\n      });\n    }\n  }, {\n    key: 'buildPickers',\n    value: function buildPickers(selects, icons) {\n      var _this2 = this;\n\n      this.pickers = selects.map(function (select) {\n        if (select.classList.contains('ql-align')) {\n          if (select.querySelector('option') == null) {\n            fillSelect(select, ALIGNS);\n          }\n          return new _iconPicker2.default(select, icons.align);\n        } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n          var format = select.classList.contains('ql-background') ? 'background' : 'color';\n          if (select.querySelector('option') == null) {\n            fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n          }\n          return new _colorPicker2.default(select, icons[format]);\n        } else {\n          if (select.querySelector('option') == null) {\n            if (select.classList.contains('ql-font')) {\n              fillSelect(select, FONTS);\n            } else if (select.classList.contains('ql-header')) {\n              fillSelect(select, HEADERS);\n            } else if (select.classList.contains('ql-size')) {\n              fillSelect(select, SIZES);\n            }\n          }\n          return new _picker2.default(select);\n        }\n      });\n      var update = function update() {\n        _this2.pickers.forEach(function (picker) {\n          picker.update();\n        });\n      };\n      this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n    }\n  }]);\n\n  return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        formula: function formula() {\n          this.quill.theme.tooltip.edit('formula');\n        },\n        image: function image() {\n          var _this3 = this;\n\n          var fileInput = this.container.querySelector('input.ql-image[type=file]');\n          if (fileInput == null) {\n            fileInput = document.createElement('input');\n            fileInput.setAttribute('type', 'file');\n            fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n            fileInput.classList.add('ql-image');\n            fileInput.addEventListener('change', function () {\n              if (fileInput.files != null && fileInput.files[0] != null) {\n                var reader = new FileReader();\n                reader.onload = function (e) {\n                  var range = _this3.quill.getSelection(true);\n                  _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n                  _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n                  fileInput.value = \"\";\n                };\n                reader.readAsDataURL(fileInput.files[0]);\n              }\n            });\n            this.container.appendChild(fileInput);\n          }\n          fileInput.click();\n        },\n        video: function video() {\n          this.quill.theme.tooltip.edit('video');\n        }\n      }\n    }\n  }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n  _inherits(BaseTooltip, _Tooltip);\n\n  function BaseTooltip(quill, boundsContainer) {\n    _classCallCheck(this, BaseTooltip);\n\n    var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n    _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n    _this4.listen();\n    return _this4;\n  }\n\n  _createClass(BaseTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this5 = this;\n\n      this.textbox.addEventListener('keydown', function (event) {\n        if (_keyboard2.default.match(event, 'enter')) {\n          _this5.save();\n          event.preventDefault();\n        } else if (_keyboard2.default.match(event, 'escape')) {\n          _this5.cancel();\n          event.preventDefault();\n        }\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel() {\n      this.hide();\n    }\n  }, {\n    key: 'edit',\n    value: function edit() {\n      var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n      var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n      this.root.classList.remove('ql-hidden');\n      this.root.classList.add('ql-editing');\n      if (preview != null) {\n        this.textbox.value = preview;\n      } else if (mode !== this.root.getAttribute('data-mode')) {\n        this.textbox.value = '';\n      }\n      this.position(this.quill.getBounds(this.quill.selection.savedRange));\n      this.textbox.select();\n      this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n      this.root.setAttribute('data-mode', mode);\n    }\n  }, {\n    key: 'restoreFocus',\n    value: function restoreFocus() {\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\n      this.quill.focus();\n      this.quill.scrollingContainer.scrollTop = scrollTop;\n    }\n  }, {\n    key: 'save',\n    value: function save() {\n      var value = this.textbox.value;\n      switch (this.root.getAttribute('data-mode')) {\n        case 'link':\n          {\n            var scrollTop = this.quill.root.scrollTop;\n            if (this.linkRange) {\n              this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n              delete this.linkRange;\n            } else {\n              this.restoreFocus();\n              this.quill.format('link', value, _emitter2.default.sources.USER);\n            }\n            this.quill.root.scrollTop = scrollTop;\n            break;\n          }\n        case 'video':\n          {\n            value = extractVideoUrl(value);\n          } // eslint-disable-next-line no-fallthrough\n        case 'formula':\n          {\n            if (!value) break;\n            var range = this.quill.getSelection(true);\n            if (range != null) {\n              var index = range.index + range.length;\n              this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n              if (this.root.getAttribute('data-mode') === 'formula') {\n                this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n              }\n              this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n            }\n            break;\n          }\n        default:\n      }\n      this.textbox.value = '';\n      this.hide();\n    }\n  }]);\n\n  return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n  var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n  if (match) {\n    return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n  }\n  if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n    // eslint-disable-line no-cond-assign\n    return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n  }\n  return url;\n}\n\nfunction fillSelect(select, values) {\n  var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  values.forEach(function (value) {\n    var option = document.createElement('option');\n    if (value === defaultValue) {\n      option.setAttribute('selected', 'selected');\n    } else {\n      option.setAttribute('value', value);\n    }\n    select.appendChild(option);\n  });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n    function LinkedList() {\n        this.head = this.tail = null;\n        this.length = 0;\n    }\n    LinkedList.prototype.append = function () {\n        var nodes = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            nodes[_i] = arguments[_i];\n        }\n        this.insertBefore(nodes[0], null);\n        if (nodes.length > 1) {\n            this.append.apply(this, nodes.slice(1));\n        }\n    };\n    LinkedList.prototype.contains = function (node) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            if (cur === node)\n                return true;\n        }\n        return false;\n    };\n    LinkedList.prototype.insertBefore = function (node, refNode) {\n        if (!node)\n            return;\n        node.next = refNode;\n        if (refNode != null) {\n            node.prev = refNode.prev;\n            if (refNode.prev != null) {\n                refNode.prev.next = node;\n            }\n            refNode.prev = node;\n            if (refNode === this.head) {\n                this.head = node;\n            }\n        }\n        else if (this.tail != null) {\n            this.tail.next = node;\n            node.prev = this.tail;\n            this.tail = node;\n        }\n        else {\n            node.prev = null;\n            this.head = this.tail = node;\n        }\n        this.length += 1;\n    };\n    LinkedList.prototype.offset = function (target) {\n        var index = 0, cur = this.head;\n        while (cur != null) {\n            if (cur === target)\n                return index;\n            index += cur.length();\n            cur = cur.next;\n        }\n        return -1;\n    };\n    LinkedList.prototype.remove = function (node) {\n        if (!this.contains(node))\n            return;\n        if (node.prev != null)\n            node.prev.next = node.next;\n        if (node.next != null)\n            node.next.prev = node.prev;\n        if (node === this.head)\n            this.head = node.next;\n        if (node === this.tail)\n            this.tail = node.prev;\n        this.length -= 1;\n    };\n    LinkedList.prototype.iterator = function (curNode) {\n        if (curNode === void 0) { curNode = this.head; }\n        // TODO use yield when we can\n        return function () {\n            var ret = curNode;\n            if (curNode != null)\n                curNode = curNode.next;\n            return ret;\n        };\n    };\n    LinkedList.prototype.find = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            var length = cur.length();\n            if (index < length ||\n                (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n                return [cur, index];\n            }\n            index -= length;\n        }\n        return [null, 0];\n    };\n    LinkedList.prototype.forEach = function (callback) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            callback(cur);\n        }\n    };\n    LinkedList.prototype.forEachAt = function (index, length, callback) {\n        if (length <= 0)\n            return;\n        var _a = this.find(index), startNode = _a[0], offset = _a[1];\n        var cur, curIndex = index - offset, next = this.iterator(startNode);\n        while ((cur = next()) && curIndex < index + length) {\n            var curLength = cur.length();\n            if (index > curIndex) {\n                callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n            }\n            else {\n                callback(cur, 0, Math.min(curLength, index + length - curIndex));\n            }\n            curIndex += curLength;\n        }\n    };\n    LinkedList.prototype.map = function (callback) {\n        return this.reduce(function (memo, cur) {\n            memo.push(callback(cur));\n            return memo;\n        }, []);\n    };\n    LinkedList.prototype.reduce = function (callback, memo) {\n        var cur, next = this.iterator();\n        while ((cur = next())) {\n            memo = callback(memo, cur);\n        }\n        return memo;\n    };\n    return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n    attributes: true,\n    characterData: true,\n    characterDataOldValue: true,\n    childList: true,\n    subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n    __extends(ScrollBlot, _super);\n    function ScrollBlot(node) {\n        var _this = _super.call(this, node) || this;\n        _this.scroll = _this;\n        _this.observer = new MutationObserver(function (mutations) {\n            _this.update(mutations);\n        });\n        _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n        _this.attach();\n        return _this;\n    }\n    ScrollBlot.prototype.detach = function () {\n        _super.prototype.detach.call(this);\n        this.observer.disconnect();\n    };\n    ScrollBlot.prototype.deleteAt = function (index, length) {\n        this.update();\n        if (index === 0 && length === this.length()) {\n            this.children.forEach(function (child) {\n                child.remove();\n            });\n        }\n        else {\n            _super.prototype.deleteAt.call(this, index, length);\n        }\n    };\n    ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n        this.update();\n        _super.prototype.formatAt.call(this, index, length, name, value);\n    };\n    ScrollBlot.prototype.insertAt = function (index, value, def) {\n        this.update();\n        _super.prototype.insertAt.call(this, index, value, def);\n    };\n    ScrollBlot.prototype.optimize = function (mutations, context) {\n        var _this = this;\n        if (mutations === void 0) { mutations = []; }\n        if (context === void 0) { context = {}; }\n        _super.prototype.optimize.call(this, context);\n        // We must modify mutations directly, cannot make copy and then modify\n        var records = [].slice.call(this.observer.takeRecords());\n        // Array.push currently seems to be implemented by a non-tail recursive function\n        // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n        while (records.length > 0)\n            mutations.push(records.pop());\n        // TODO use WeakMap\n        var mark = function (blot, markParent) {\n            if (markParent === void 0) { markParent = true; }\n            if (blot == null || blot === _this)\n                return;\n            if (blot.domNode.parentNode == null)\n                return;\n            // @ts-ignore\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations = [];\n            }\n            if (markParent)\n                mark(blot.parent);\n        };\n        var optimize = function (blot) {\n            // Post-order traversal\n            if (\n            // @ts-ignore\n            blot.domNode[Registry.DATA_KEY] == null ||\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations == null) {\n                return;\n            }\n            if (blot instanceof container_1.default) {\n                blot.children.forEach(optimize);\n            }\n            blot.optimize(context);\n        };\n        var remaining = mutations;\n        for (var i = 0; remaining.length > 0; i += 1) {\n            if (i >= MAX_OPTIMIZE_ITERATIONS) {\n                throw new Error('[Parchment] Maximum optimize iterations reached');\n            }\n            remaining.forEach(function (mutation) {\n                var blot = Registry.find(mutation.target, true);\n                if (blot == null)\n                    return;\n                if (blot.domNode === mutation.target) {\n                    if (mutation.type === 'childList') {\n                        mark(Registry.find(mutation.previousSibling, false));\n                        [].forEach.call(mutation.addedNodes, function (node) {\n                            var child = Registry.find(node, false);\n                            mark(child, false);\n                            if (child instanceof container_1.default) {\n                                child.children.forEach(function (grandChild) {\n                                    mark(grandChild, false);\n                                });\n                            }\n                        });\n                    }\n                    else if (mutation.type === 'attributes') {\n                        mark(blot.prev);\n                    }\n                }\n                mark(blot);\n            });\n            this.children.forEach(optimize);\n            remaining = [].slice.call(this.observer.takeRecords());\n            records = remaining.slice();\n            while (records.length > 0)\n                mutations.push(records.pop());\n        }\n    };\n    ScrollBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        if (context === void 0) { context = {}; }\n        mutations = mutations || this.observer.takeRecords();\n        // TODO use WeakMap\n        mutations\n            .map(function (mutation) {\n            var blot = Registry.find(mutation.target, true);\n            if (blot == null)\n                return null;\n            // @ts-ignore\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n                return blot;\n            }\n            else {\n                // @ts-ignore\n                blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n                return null;\n            }\n        })\n            .forEach(function (blot) {\n            if (blot == null ||\n                blot === _this ||\n                //@ts-ignore\n                blot.domNode[Registry.DATA_KEY] == null)\n                return;\n            // @ts-ignore\n            blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n        });\n        // @ts-ignore\n        if (this.domNode[Registry.DATA_KEY].mutations != null) {\n            // @ts-ignore\n            _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n        }\n        this.optimize(mutations, context);\n    };\n    ScrollBlot.blotName = 'scroll';\n    ScrollBlot.defaultChild = 'block';\n    ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n    ScrollBlot.tagName = 'DIV';\n    return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n    if (Object.keys(obj1).length !== Object.keys(obj2).length)\n        return false;\n    // @ts-ignore\n    for (var prop in obj1) {\n        // @ts-ignore\n        if (obj1[prop] !== obj2[prop])\n            return false;\n    }\n    return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n    __extends(InlineBlot, _super);\n    function InlineBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    InlineBlot.formats = function (domNode) {\n        if (domNode.tagName === InlineBlot.tagName)\n            return undefined;\n        return _super.formats.call(this, domNode);\n    };\n    InlineBlot.prototype.format = function (name, value) {\n        var _this = this;\n        if (name === this.statics.blotName && !value) {\n            this.children.forEach(function (child) {\n                if (!(child instanceof format_1.default)) {\n                    child = child.wrap(InlineBlot.blotName, true);\n                }\n                _this.attributes.copy(child);\n            });\n            this.unwrap();\n        }\n        else {\n            _super.prototype.format.call(this, name, value);\n        }\n    };\n    InlineBlot.prototype.formatAt = function (index, length, name, value) {\n        if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n            var blot = this.isolate(index, length);\n            blot.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    InlineBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        var formats = this.formats();\n        if (Object.keys(formats).length === 0) {\n            return this.unwrap(); // unformatted span\n        }\n        var next = this.next;\n        if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n            next.moveChildren(this);\n            next.remove();\n        }\n    };\n    InlineBlot.blotName = 'inline';\n    InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n    InlineBlot.tagName = 'SPAN';\n    return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n    __extends(BlockBlot, _super);\n    function BlockBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    BlockBlot.formats = function (domNode) {\n        var tagName = Registry.query(BlockBlot.blotName).tagName;\n        if (domNode.tagName === tagName)\n            return undefined;\n        return _super.formats.call(this, domNode);\n    };\n    BlockBlot.prototype.format = function (name, value) {\n        if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n            return;\n        }\n        else if (name === this.statics.blotName && !value) {\n            this.replaceWith(BlockBlot.blotName);\n        }\n        else {\n            _super.prototype.format.call(this, name, value);\n        }\n    };\n    BlockBlot.prototype.formatAt = function (index, length, name, value) {\n        if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n            this.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    BlockBlot.prototype.insertAt = function (index, value, def) {\n        if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n            // Insert text or inline\n            _super.prototype.insertAt.call(this, index, value, def);\n        }\n        else {\n            var after = this.split(index);\n            var blot = Registry.create(value, def);\n            after.parent.insertBefore(blot, after);\n        }\n    };\n    BlockBlot.prototype.update = function (mutations, context) {\n        if (navigator.userAgent.match(/Trident/)) {\n            this.build();\n        }\n        else {\n            _super.prototype.update.call(this, mutations, context);\n        }\n    };\n    BlockBlot.blotName = 'block';\n    BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n    BlockBlot.tagName = 'P';\n    return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n    __extends(EmbedBlot, _super);\n    function EmbedBlot() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    EmbedBlot.formats = function (domNode) {\n        return undefined;\n    };\n    EmbedBlot.prototype.format = function (name, value) {\n        // super.formatAt wraps, which is what we want in general,\n        // but this allows subclasses to overwrite for formats\n        // that just apply to particular embeds\n        _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n    };\n    EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n        if (index === 0 && length === this.length()) {\n            this.format(name, value);\n        }\n        else {\n            _super.prototype.formatAt.call(this, index, length, name, value);\n        }\n    };\n    EmbedBlot.prototype.formats = function () {\n        return this.statics.formats(this.domNode);\n    };\n    return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = Object.setPrototypeOf ||\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n    __extends(TextBlot, _super);\n    function TextBlot(node) {\n        var _this = _super.call(this, node) || this;\n        _this.text = _this.statics.value(_this.domNode);\n        return _this;\n    }\n    TextBlot.create = function (value) {\n        return document.createTextNode(value);\n    };\n    TextBlot.value = function (domNode) {\n        var text = domNode.data;\n        // @ts-ignore\n        if (text['normalize'])\n            text = text['normalize']();\n        return text;\n    };\n    TextBlot.prototype.deleteAt = function (index, length) {\n        this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n    };\n    TextBlot.prototype.index = function (node, offset) {\n        if (this.domNode === node) {\n            return offset;\n        }\n        return -1;\n    };\n    TextBlot.prototype.insertAt = function (index, value, def) {\n        if (def == null) {\n            this.text = this.text.slice(0, index) + value + this.text.slice(index);\n            this.domNode.data = this.text;\n        }\n        else {\n            _super.prototype.insertAt.call(this, index, value, def);\n        }\n    };\n    TextBlot.prototype.length = function () {\n        return this.text.length;\n    };\n    TextBlot.prototype.optimize = function (context) {\n        _super.prototype.optimize.call(this, context);\n        this.text = this.statics.value(this.domNode);\n        if (this.text.length === 0) {\n            this.remove();\n        }\n        else if (this.next instanceof TextBlot && this.next.prev === this) {\n            this.insertAt(this.length(), this.next.value());\n            this.next.remove();\n        }\n    };\n    TextBlot.prototype.position = function (index, inclusive) {\n        if (inclusive === void 0) { inclusive = false; }\n        return [this.domNode, index];\n    };\n    TextBlot.prototype.split = function (index, force) {\n        if (force === void 0) { force = false; }\n        if (!force) {\n            if (index === 0)\n                return this;\n            if (index === this.length())\n                return this.next;\n        }\n        var after = Registry.create(this.domNode.splitText(index));\n        this.parent.insertBefore(after, this.next);\n        this.text = this.statics.value(this.domNode);\n        return after;\n    };\n    TextBlot.prototype.update = function (mutations, context) {\n        var _this = this;\n        if (mutations.some(function (mutation) {\n            return mutation.type === 'characterData' && mutation.target === _this.domNode;\n        })) {\n            this.text = this.statics.value(this.domNode);\n        }\n    };\n    TextBlot.prototype.value = function () {\n        return this.text;\n    };\n    TextBlot.blotName = 'text';\n    TextBlot.scope = Registry.Scope.INLINE_BLOT;\n    return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n  var _toggle = DOMTokenList.prototype.toggle;\n  DOMTokenList.prototype.toggle = function (token, force) {\n    if (arguments.length > 1 && !this.contains(token) === !force) {\n      return force;\n    } else {\n      return _toggle.call(this, token);\n    }\n  };\n}\n\nif (!String.prototype.startsWith) {\n  String.prototype.startsWith = function (searchString, position) {\n    position = position || 0;\n    return this.substr(position, searchString.length) === searchString;\n  };\n}\n\nif (!String.prototype.endsWith) {\n  String.prototype.endsWith = function (searchString, position) {\n    var subjectString = this.toString();\n    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n      position = subjectString.length;\n    }\n    position -= searchString.length;\n    var lastIndex = subjectString.indexOf(searchString, position);\n    return lastIndex !== -1 && lastIndex === position;\n  };\n}\n\nif (!Array.prototype.find) {\n  Object.defineProperty(Array.prototype, \"find\", {\n    value: function value(predicate) {\n      if (this === null) {\n        throw new TypeError('Array.prototype.find called on null or undefined');\n      }\n      if (typeof predicate !== 'function') {\n        throw new TypeError('predicate must be a function');\n      }\n      var list = Object(this);\n      var length = list.length >>> 0;\n      var thisArg = arguments[1];\n      var value;\n\n      for (var i = 0; i < length; i++) {\n        value = list[i];\n        if (predicate.call(thisArg, value, i, list)) {\n          return value;\n        }\n      }\n      return undefined;\n    }\n  });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  // Disable resizing in Firefox\n  document.execCommand(\"enableObjectResizing\", false, false);\n  // Disable automatic linkifying in IE11\n  document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts.  Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n  // Check for equality (speedup).\n  if (text1 == text2) {\n    if (text1) {\n      return [[DIFF_EQUAL, text1]];\n    }\n    return [];\n  }\n\n  // Check cursor_pos within bounds\n  if (cursor_pos < 0 || text1.length < cursor_pos) {\n    cursor_pos = null;\n  }\n\n  // Trim off common prefix (speedup).\n  var commonlength = diff_commonPrefix(text1, text2);\n  var commonprefix = text1.substring(0, commonlength);\n  text1 = text1.substring(commonlength);\n  text2 = text2.substring(commonlength);\n\n  // Trim off common suffix (speedup).\n  commonlength = diff_commonSuffix(text1, text2);\n  var commonsuffix = text1.substring(text1.length - commonlength);\n  text1 = text1.substring(0, text1.length - commonlength);\n  text2 = text2.substring(0, text2.length - commonlength);\n\n  // Compute the diff on the middle block.\n  var diffs = diff_compute_(text1, text2);\n\n  // Restore the prefix and suffix.\n  if (commonprefix) {\n    diffs.unshift([DIFF_EQUAL, commonprefix]);\n  }\n  if (commonsuffix) {\n    diffs.push([DIFF_EQUAL, commonsuffix]);\n  }\n  diff_cleanupMerge(diffs);\n  if (cursor_pos != null) {\n    diffs = fix_cursor(diffs, cursor_pos);\n  }\n  diffs = fix_emoji(diffs);\n  return diffs;\n};\n\n\n/**\n * Find the differences between two texts.  Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n  var diffs;\n\n  if (!text1) {\n    // Just add some text (speedup).\n    return [[DIFF_INSERT, text2]];\n  }\n\n  if (!text2) {\n    // Just delete some text (speedup).\n    return [[DIFF_DELETE, text1]];\n  }\n\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  var i = longtext.indexOf(shorttext);\n  if (i != -1) {\n    // Shorter text is inside the longer text (speedup).\n    diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n             [DIFF_EQUAL, shorttext],\n             [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n    // Swap insertions for deletions if diff is reversed.\n    if (text1.length > text2.length) {\n      diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n    }\n    return diffs;\n  }\n\n  if (shorttext.length == 1) {\n    // Single character string.\n    // After the previous speedup, the character can't be an equality.\n    return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n  }\n\n  // Check to see if the problem can be split in two.\n  var hm = diff_halfMatch_(text1, text2);\n  if (hm) {\n    // A half-match was found, sort out the return data.\n    var text1_a = hm[0];\n    var text1_b = hm[1];\n    var text2_a = hm[2];\n    var text2_b = hm[3];\n    var mid_common = hm[4];\n    // Send both pairs off for separate processing.\n    var diffs_a = diff_main(text1_a, text2_a);\n    var diffs_b = diff_main(text1_b, text2_b);\n    // Merge the results.\n    return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n  }\n\n  return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n  // Cache the text lengths to prevent multiple calls.\n  var text1_length = text1.length;\n  var text2_length = text2.length;\n  var max_d = Math.ceil((text1_length + text2_length) / 2);\n  var v_offset = max_d;\n  var v_length = 2 * max_d;\n  var v1 = new Array(v_length);\n  var v2 = new Array(v_length);\n  // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n  // integers and undefined.\n  for (var x = 0; x < v_length; x++) {\n    v1[x] = -1;\n    v2[x] = -1;\n  }\n  v1[v_offset + 1] = 0;\n  v2[v_offset + 1] = 0;\n  var delta = text1_length - text2_length;\n  // If the total number of characters is odd, then the front path will collide\n  // with the reverse path.\n  var front = (delta % 2 != 0);\n  // Offsets for start and end of k loop.\n  // Prevents mapping of space beyond the grid.\n  var k1start = 0;\n  var k1end = 0;\n  var k2start = 0;\n  var k2end = 0;\n  for (var d = 0; d < max_d; d++) {\n    // Walk the front path one step.\n    for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n      var k1_offset = v_offset + k1;\n      var x1;\n      if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n        x1 = v1[k1_offset + 1];\n      } else {\n        x1 = v1[k1_offset - 1] + 1;\n      }\n      var y1 = x1 - k1;\n      while (x1 < text1_length && y1 < text2_length &&\n             text1.charAt(x1) == text2.charAt(y1)) {\n        x1++;\n        y1++;\n      }\n      v1[k1_offset] = x1;\n      if (x1 > text1_length) {\n        // Ran off the right of the graph.\n        k1end += 2;\n      } else if (y1 > text2_length) {\n        // Ran off the bottom of the graph.\n        k1start += 2;\n      } else if (front) {\n        var k2_offset = v_offset + delta - k1;\n        if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n          // Mirror x2 onto top-left coordinate system.\n          var x2 = text1_length - v2[k2_offset];\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n\n    // Walk the reverse path one step.\n    for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n      var k2_offset = v_offset + k2;\n      var x2;\n      if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n        x2 = v2[k2_offset + 1];\n      } else {\n        x2 = v2[k2_offset - 1] + 1;\n      }\n      var y2 = x2 - k2;\n      while (x2 < text1_length && y2 < text2_length &&\n             text1.charAt(text1_length - x2 - 1) ==\n             text2.charAt(text2_length - y2 - 1)) {\n        x2++;\n        y2++;\n      }\n      v2[k2_offset] = x2;\n      if (x2 > text1_length) {\n        // Ran off the left of the graph.\n        k2end += 2;\n      } else if (y2 > text2_length) {\n        // Ran off the top of the graph.\n        k2start += 2;\n      } else if (!front) {\n        var k1_offset = v_offset + delta - k2;\n        if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n          var x1 = v1[k1_offset];\n          var y1 = v_offset + x1 - k1_offset;\n          // Mirror x2 onto top-left coordinate system.\n          x2 = text1_length - x2;\n          if (x1 >= x2) {\n            // Overlap detected.\n            return diff_bisectSplit_(text1, text2, x1, y1);\n          }\n        }\n      }\n    }\n  }\n  // Diff took too long and hit the deadline or\n  // number of diffs equals number of characters, no commonality at all.\n  return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n  var text1a = text1.substring(0, x);\n  var text2a = text2.substring(0, y);\n  var text1b = text1.substring(x);\n  var text2b = text2.substring(y);\n\n  // Compute both diffs serially.\n  var diffs = diff_main(text1a, text2a);\n  var diffsb = diff_main(text1b, text2b);\n\n  return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n *     string.\n */\nfunction diff_commonPrefix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerstart = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(pointerstart, pointermid) ==\n        text2.substring(pointerstart, pointermid)) {\n      pointermin = pointermid;\n      pointerstart = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n  // Quick check for common null cases.\n  if (!text1 || !text2 ||\n      text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n    return 0;\n  }\n  // Binary search.\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n  var pointermin = 0;\n  var pointermax = Math.min(text1.length, text2.length);\n  var pointermid = pointermax;\n  var pointerend = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n        text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n      pointermin = pointermid;\n      pointerend = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n *     text1, the suffix of text1, the prefix of text2, the suffix of\n *     text2 and the common middle.  Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n  var longtext = text1.length > text2.length ? text1 : text2;\n  var shorttext = text1.length > text2.length ? text2 : text1;\n  if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n    return null;  // Pointless.\n  }\n\n  /**\n   * Does a substring of shorttext exist within longtext such that the substring\n   * is at least half the length of longtext?\n   * Closure, but does not reference any external variables.\n   * @param {string} longtext Longer string.\n   * @param {string} shorttext Shorter string.\n   * @param {number} i Start index of quarter length substring within longtext.\n   * @return {Array.<string>} Five element Array, containing the prefix of\n   *     longtext, the suffix of longtext, the prefix of shorttext, the suffix\n   *     of shorttext and the common middle.  Or null if there was no match.\n   * @private\n   */\n  function diff_halfMatchI_(longtext, shorttext, i) {\n    // Start with a 1/4 length substring at position i as a seed.\n    var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n    var j = -1;\n    var best_common = '';\n    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n    while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n      var prefixLength = diff_commonPrefix(longtext.substring(i),\n                                           shorttext.substring(j));\n      var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n                                           shorttext.substring(0, j));\n      if (best_common.length < suffixLength + prefixLength) {\n        best_common = shorttext.substring(j - suffixLength, j) +\n            shorttext.substring(j, j + prefixLength);\n        best_longtext_a = longtext.substring(0, i - suffixLength);\n        best_longtext_b = longtext.substring(i + prefixLength);\n        best_shorttext_a = shorttext.substring(0, j - suffixLength);\n        best_shorttext_b = shorttext.substring(j + prefixLength);\n      }\n    }\n    if (best_common.length * 2 >= longtext.length) {\n      return [best_longtext_a, best_longtext_b,\n              best_shorttext_a, best_shorttext_b, best_common];\n    } else {\n      return null;\n    }\n  }\n\n  // First check if the second quarter is the seed for a half-match.\n  var hm1 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 4));\n  // Check again based on the third quarter.\n  var hm2 = diff_halfMatchI_(longtext, shorttext,\n                             Math.ceil(longtext.length / 2));\n  var hm;\n  if (!hm1 && !hm2) {\n    return null;\n  } else if (!hm2) {\n    hm = hm1;\n  } else if (!hm1) {\n    hm = hm2;\n  } else {\n    // Both matched.  Select the longest.\n    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n  }\n\n  // A half-match was found, sort out the return data.\n  var text1_a, text1_b, text2_a, text2_b;\n  if (text1.length > text2.length) {\n    text1_a = hm[0];\n    text1_b = hm[1];\n    text2_a = hm[2];\n    text2_b = hm[3];\n  } else {\n    text2_a = hm[0];\n    text2_b = hm[1];\n    text1_a = hm[2];\n    text1_b = hm[3];\n  }\n  var mid_common = hm[4];\n  return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections.  Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n  diffs.push([DIFF_EQUAL, '']);  // Add a dummy entry at the end.\n  var pointer = 0;\n  var count_delete = 0;\n  var count_insert = 0;\n  var text_delete = '';\n  var text_insert = '';\n  var commonlength;\n  while (pointer < diffs.length) {\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_EQUAL:\n        // Upon reaching an equality, check for prior redundancies.\n        if (count_delete + count_insert > 1) {\n          if (count_delete !== 0 && count_insert !== 0) {\n            // Factor out any common prefixies.\n            commonlength = diff_commonPrefix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              if ((pointer - count_delete - count_insert) > 0 &&\n                  diffs[pointer - count_delete - count_insert - 1][0] ==\n                  DIFF_EQUAL) {\n                diffs[pointer - count_delete - count_insert - 1][1] +=\n                    text_insert.substring(0, commonlength);\n              } else {\n                diffs.splice(0, 0, [DIFF_EQUAL,\n                                    text_insert.substring(0, commonlength)]);\n                pointer++;\n              }\n              text_insert = text_insert.substring(commonlength);\n              text_delete = text_delete.substring(commonlength);\n            }\n            // Factor out any common suffixies.\n            commonlength = diff_commonSuffix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              diffs[pointer][1] = text_insert.substring(text_insert.length -\n                  commonlength) + diffs[pointer][1];\n              text_insert = text_insert.substring(0, text_insert.length -\n                  commonlength);\n              text_delete = text_delete.substring(0, text_delete.length -\n                  commonlength);\n            }\n          }\n          // Delete the offending records and add the merged ones.\n          if (count_delete === 0) {\n            diffs.splice(pointer - count_insert,\n                count_delete + count_insert, [DIFF_INSERT, text_insert]);\n          } else if (count_insert === 0) {\n            diffs.splice(pointer - count_delete,\n                count_delete + count_insert, [DIFF_DELETE, text_delete]);\n          } else {\n            diffs.splice(pointer - count_delete - count_insert,\n                count_delete + count_insert, [DIFF_DELETE, text_delete],\n                [DIFF_INSERT, text_insert]);\n          }\n          pointer = pointer - count_delete - count_insert +\n                    (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n        } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n          // Merge this equality with the previous one.\n          diffs[pointer - 1][1] += diffs[pointer][1];\n          diffs.splice(pointer, 1);\n        } else {\n          pointer++;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = '';\n        text_insert = '';\n        break;\n    }\n  }\n  if (diffs[diffs.length - 1][1] === '') {\n    diffs.pop();  // Remove the dummy entry at the end.\n  }\n\n  // Second pass: look for single edits surrounded on both sides by equalities\n  // which can be shifted sideways to eliminate an equality.\n  // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n  var changes = false;\n  pointer = 1;\n  // Intentionally ignore the first and last element (don't need checking).\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n        diffs[pointer + 1][0] == DIFF_EQUAL) {\n      // This is a single edit surrounded by equalities.\n      if (diffs[pointer][1].substring(diffs[pointer][1].length -\n          diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n        // Shift the edit over the previous equality.\n        diffs[pointer][1] = diffs[pointer - 1][1] +\n            diffs[pointer][1].substring(0, diffs[pointer][1].length -\n                                        diffs[pointer - 1][1].length);\n        diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n        diffs.splice(pointer - 1, 1);\n        changes = true;\n      } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n          diffs[pointer + 1][1]) {\n        // Shift the edit over the next equality.\n        diffs[pointer - 1][1] += diffs[pointer + 1][1];\n        diffs[pointer][1] =\n            diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n            diffs[pointer + 1][1];\n        diffs.splice(pointer + 1, 1);\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  // If shifts were made, the diff needs reordering and another shift sweep.\n  if (changes) {\n    diff_cleanupMerge(diffs);\n  }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n *   cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n *     => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n *   cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n *     => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n  if (cursor_pos === 0) {\n    return [DIFF_EQUAL, diffs];\n  }\n  for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n    var d = diffs[i];\n    if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n      var next_pos = current_pos + d[1].length;\n      if (cursor_pos === next_pos) {\n        return [i + 1, diffs];\n      } else if (cursor_pos < next_pos) {\n        // copy to prevent side effects\n        diffs = diffs.slice();\n        // split d into two diff changes\n        var split_pos = cursor_pos - current_pos;\n        var d_left = [d[0], d[1].slice(0, split_pos)];\n        var d_right = [d[0], d[1].slice(split_pos)];\n        diffs.splice(i, 1, d_left, d_right);\n        return [i + 1, diffs];\n      } else {\n        current_pos = next_pos;\n      }\n    }\n  }\n  throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n *   Check if a naive shift is possible:\n *     [0, X], [ 1, Y] -> [ 1, Y], [0, X]    (if X + Y === Y + X)\n *     [0, X], [-1, Y] -> [-1, Y], [0, X]    (if X + Y === Y + X) - holds same result\n * Case 2)\n *   Check if the following shifts are possible:\n *     [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n *     [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n *         ^            ^\n *         d          d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n  var norm = cursor_normalize_diff(diffs, cursor_pos);\n  var ndiffs = norm[1];\n  var cursor_pointer = norm[0];\n  var d = ndiffs[cursor_pointer];\n  var d_next = ndiffs[cursor_pointer + 1];\n\n  if (d == null) {\n    // Text was deleted from end of original string,\n    // cursor is now out of bounds in new string\n    return diffs;\n  } else if (d[0] !== DIFF_EQUAL) {\n    // A modification happened at the cursor location.\n    // This is the expected outcome, so we can return the original diff.\n    return diffs;\n  } else {\n    if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n      // Case 1)\n      // It is possible to perform a naive shift\n      ndiffs.splice(cursor_pointer, 2, d_next, d)\n      return merge_tuples(ndiffs, cursor_pointer, 2)\n    } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n      // Case 2)\n      // d[1] is a prefix of d_next[1]\n      // We can assume that d_next[0] !== 0, since d[0] === 0\n      // Shift edit locations..\n      ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n      var suffix = d_next[1].slice(d[1].length);\n      if (suffix.length > 0) {\n        ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n      }\n      return merge_tuples(ndiffs, cursor_pointer, 3)\n    } else {\n      // Not possible to perform any modification\n      return diffs;\n    }\n  }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n *     '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n  var compact = false;\n  var starts_with_pair_end = function(str) {\n    return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n  }\n  var ends_with_pair_start = function(str) {\n    return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n  }\n  for (var i = 2; i < diffs.length; i += 1) {\n    if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n        diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n        diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n      compact = true;\n\n      diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n      diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n      diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n    }\n  }\n  if (!compact) {\n    return diffs;\n  }\n  var fixed_diffs = [];\n  for (var i = 0; i < diffs.length; i += 1) {\n    if (diffs[i][1].length > 0) {\n      fixed_diffs.push(diffs[i]);\n    }\n  }\n  return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n  // Check from (start-1) to (start+length).\n  for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n    if (i + 1 < diffs.length) {\n      var left_d = diffs[i];\n      var right_d = diffs[i+1];\n      if (left_d[0] === right_d[1]) {\n        diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n      }\n    }\n  }\n  return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n  ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n  var keys = [];\n  for (var key in obj) keys.push(key);\n  return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n  return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n  return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n  return object &&\n    typeof object == 'object' &&\n    typeof object.length == 'number' &&\n    Object.prototype.hasOwnProperty.call(object, 'callee') &&\n    !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n    false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n  , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n  Events.prototype = Object.create(null);\n\n  //\n  // This hack is needed because the `__proto__` property is still inherited in\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n  //\n  if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n  this.fn = fn;\n  this.context = context;\n  this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n  this._events = new Events();\n  this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n  var names = []\n    , events\n    , name;\n\n  if (this._eventsCount === 0) return names;\n\n  for (name in (events = this._events)) {\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n  }\n\n  if (Object.getOwnPropertySymbols) {\n    return names.concat(Object.getOwnPropertySymbols(events));\n  }\n\n  return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n  var evt = prefix ? prefix + event : event\n    , available = this._events[evt];\n\n  if (exists) return !!available;\n  if (!available) return [];\n  if (available.fn) return [available.fn];\n\n  for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n    ee[i] = available[i].fn;\n  }\n\n  return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return false;\n\n  var listeners = this._events[evt]\n    , len = arguments.length\n    , args\n    , i;\n\n  if (listeners.fn) {\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n    switch (len) {\n      case 1: return listeners.fn.call(listeners.context), true;\n      case 2: return listeners.fn.call(listeners.context, a1), true;\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n    }\n\n    for (i = 1, args = new Array(len -1); i < len; i++) {\n      args[i - 1] = arguments[i];\n    }\n\n    listeners.fn.apply(listeners.context, args);\n  } else {\n    var length = listeners.length\n      , j;\n\n    for (i = 0; i < length; i++) {\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n      switch (len) {\n        case 1: listeners[i].fn.call(listeners[i].context); break;\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n        default:\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n            args[j - 1] = arguments[j];\n          }\n\n          listeners[i].fn.apply(listeners[i].context, args);\n      }\n    }\n  }\n\n  return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n  var listener = new EE(fn, context || this)\n    , evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\n  else this._events[evt] = [this._events[evt], listener];\n\n  return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n  var listener = new EE(fn, context || this, true)\n    , evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\n  else this._events[evt] = [this._events[evt], listener];\n\n  return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n  var evt = prefix ? prefix + event : event;\n\n  if (!this._events[evt]) return this;\n  if (!fn) {\n    if (--this._eventsCount === 0) this._events = new Events();\n    else delete this._events[evt];\n    return this;\n  }\n\n  var listeners = this._events[evt];\n\n  if (listeners.fn) {\n    if (\n         listeners.fn === fn\n      && (!once || listeners.once)\n      && (!context || listeners.context === context)\n    ) {\n      if (--this._eventsCount === 0) this._events = new Events();\n      else delete this._events[evt];\n    }\n  } else {\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n      if (\n           listeners[i].fn !== fn\n        || (once && !listeners[i].once)\n        || (context && listeners[i].context !== context)\n      ) {\n        events.push(listeners[i]);\n      }\n    }\n\n    //\n    // Reset the array, or remove it completely if we have no more listeners.\n    //\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n    else if (--this._eventsCount === 0) this._events = new Events();\n    else delete this._events[evt];\n  }\n\n  return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n  var evt;\n\n  if (event) {\n    evt = prefix ? prefix + event : event;\n    if (this._events[evt]) {\n      if (--this._eventsCount === 0) this._events = new Events();\n      else delete this._events[evt];\n    }\n  } else {\n    this._events = new Events();\n    this._eventsCount = 0;\n  }\n\n  return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n  return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n  module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n  memo[attr.keyName] = attr;\n  return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n  memo[attr.keyName] = attr;\n  return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n  _inherits(Clipboard, _Module);\n\n  function Clipboard(quill, options) {\n    _classCallCheck(this, Clipboard);\n\n    var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n    _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n    _this.container = _this.quill.addContainer('ql-clipboard');\n    _this.container.setAttribute('contenteditable', true);\n    _this.container.setAttribute('tabindex', -1);\n    _this.matchers = [];\n    CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          selector = _ref2[0],\n          matcher = _ref2[1];\n\n      if (!options.matchVisual && matcher === matchSpacing) return;\n      _this.addMatcher(selector, matcher);\n    });\n    return _this;\n  }\n\n  _createClass(Clipboard, [{\n    key: 'addMatcher',\n    value: function addMatcher(selector, matcher) {\n      this.matchers.push([selector, matcher]);\n    }\n  }, {\n    key: 'convert',\n    value: function convert(html) {\n      if (typeof html === 'string') {\n        this.container.innerHTML = html.replace(/\\>\\r?\\n +\\</g, '><'); // Remove spaces between tags\n        return this.convert();\n      }\n      var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n      if (formats[_code2.default.blotName]) {\n        var text = this.container.innerText;\n        this.container.innerHTML = '';\n        return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n      }\n\n      var _prepareMatching = this.prepareMatching(),\n          _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n          elementMatchers = _prepareMatching2[0],\n          textMatchers = _prepareMatching2[1];\n\n      var delta = traverse(this.container, elementMatchers, textMatchers);\n      // Remove trailing newline\n      if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n        delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n      }\n      debug.log('convert', this.container.innerHTML, delta);\n      this.container.innerHTML = '';\n      return delta;\n    }\n  }, {\n    key: 'dangerouslyPasteHTML',\n    value: function dangerouslyPasteHTML(index, html) {\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n      if (typeof index === 'string') {\n        this.quill.setContents(this.convert(index), html);\n        this.quill.setSelection(0, _quill2.default.sources.SILENT);\n      } else {\n        var paste = this.convert(html);\n        this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n        this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n      }\n    }\n  }, {\n    key: 'onPaste',\n    value: function onPaste(e) {\n      var _this2 = this;\n\n      if (e.defaultPrevented || !this.quill.isEnabled()) return;\n      var range = this.quill.getSelection();\n      var delta = new _quillDelta2.default().retain(range.index);\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\n      this.container.focus();\n      this.quill.selection.update(_quill2.default.sources.SILENT);\n      setTimeout(function () {\n        delta = delta.concat(_this2.convert()).delete(range.length);\n        _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n        // range.length contributes to delta.length()\n        _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n        _this2.quill.scrollingContainer.scrollTop = scrollTop;\n        _this2.quill.focus();\n      }, 1);\n    }\n  }, {\n    key: 'prepareMatching',\n    value: function prepareMatching() {\n      var _this3 = this;\n\n      var elementMatchers = [],\n          textMatchers = [];\n      this.matchers.forEach(function (pair) {\n        var _pair = _slicedToArray(pair, 2),\n            selector = _pair[0],\n            matcher = _pair[1];\n\n        switch (selector) {\n          case Node.TEXT_NODE:\n            textMatchers.push(matcher);\n            break;\n          case Node.ELEMENT_NODE:\n            elementMatchers.push(matcher);\n            break;\n          default:\n            [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n              // TODO use weakmap\n              node[DOM_KEY] = node[DOM_KEY] || [];\n              node[DOM_KEY].push(matcher);\n            });\n            break;\n        }\n      });\n      return [elementMatchers, textMatchers];\n    }\n  }]);\n\n  return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n  matchers: [],\n  matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n  if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n    return Object.keys(format).reduce(function (delta, key) {\n      return applyFormat(delta, key, format[key]);\n    }, delta);\n  } else {\n    return delta.reduce(function (delta, op) {\n      if (op.attributes && op.attributes[format]) {\n        return delta.push(op);\n      } else {\n        return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n      }\n    }, new _quillDelta2.default());\n  }\n}\n\nfunction computeStyle(node) {\n  if (node.nodeType !== Node.ELEMENT_NODE) return {};\n  var DOM_KEY = '__ql-computed-style';\n  return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n  var endText = \"\";\n  for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n    var op = delta.ops[i];\n    if (typeof op.insert !== 'string') break;\n    endText = op.insert + endText;\n  }\n  return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n  if (node.childNodes.length === 0) return false; // Exclude embed blocks\n  var style = computeStyle(node);\n  return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n  // Post-order\n  if (node.nodeType === node.TEXT_NODE) {\n    return textMatchers.reduce(function (delta, matcher) {\n      return matcher(node, delta);\n    }, new _quillDelta2.default());\n  } else if (node.nodeType === node.ELEMENT_NODE) {\n    return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n      var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n      if (childNode.nodeType === node.ELEMENT_NODE) {\n        childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n          return matcher(childNode, childrenDelta);\n        }, childrenDelta);\n        childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n          return matcher(childNode, childrenDelta);\n        }, childrenDelta);\n      }\n      return delta.concat(childrenDelta);\n    }, new _quillDelta2.default());\n  } else {\n    return new _quillDelta2.default();\n  }\n}\n\nfunction matchAlias(format, node, delta) {\n  return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n  var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n  var classes = _parchment2.default.Attributor.Class.keys(node);\n  var styles = _parchment2.default.Attributor.Style.keys(node);\n  var formats = {};\n  attributes.concat(classes).concat(styles).forEach(function (name) {\n    var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n    if (attr != null) {\n      formats[attr.attrName] = attr.value(node);\n      if (formats[attr.attrName]) return;\n    }\n    attr = ATTRIBUTE_ATTRIBUTORS[name];\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n      formats[attr.attrName] = attr.value(node) || undefined;\n    }\n    attr = STYLE_ATTRIBUTORS[name];\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n      attr = STYLE_ATTRIBUTORS[name];\n      formats[attr.attrName] = attr.value(node) || undefined;\n    }\n  });\n  if (Object.keys(formats).length > 0) {\n    delta = applyFormat(delta, formats);\n  }\n  return delta;\n}\n\nfunction matchBlot(node, delta) {\n  var match = _parchment2.default.query(node);\n  if (match == null) return delta;\n  if (match.prototype instanceof _parchment2.default.Embed) {\n    var embed = {};\n    var value = match.value(node);\n    if (value != null) {\n      embed[match.blotName] = value;\n      delta = new _quillDelta2.default().insert(embed, match.formats(node));\n    }\n  } else if (typeof match.formats === 'function') {\n    delta = applyFormat(delta, match.blotName, match.formats(node));\n  }\n  return delta;\n}\n\nfunction matchBreak(node, delta) {\n  if (!deltaEndsWith(delta, '\\n')) {\n    delta.insert('\\n');\n  }\n  return delta;\n}\n\nfunction matchIgnore() {\n  return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n  var match = _parchment2.default.query(node);\n  if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n    return delta;\n  }\n  var indent = -1,\n      parent = node.parentNode;\n  while (!parent.classList.contains('ql-clipboard')) {\n    if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n      indent += 1;\n    }\n    parent = parent.parentNode;\n  }\n  if (indent <= 0) return delta;\n  return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n  if (!deltaEndsWith(delta, '\\n')) {\n    if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n      delta.insert('\\n');\n    }\n  }\n  return delta;\n}\n\nfunction matchSpacing(node, delta) {\n  if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n    var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n    if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n      delta.insert('\\n');\n    }\n  }\n  return delta;\n}\n\nfunction matchStyles(node, delta) {\n  var formats = {};\n  var style = node.style || {};\n  if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n    formats.italic = true;\n  }\n  if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n    formats.bold = true;\n  }\n  if (Object.keys(formats).length > 0) {\n    delta = applyFormat(delta, formats);\n  }\n  if (parseFloat(style.textIndent || 0) > 0) {\n    // Could be 0.5in\n    delta = new _quillDelta2.default().insert('\\t').concat(delta);\n  }\n  return delta;\n}\n\nfunction matchText(node, delta) {\n  var text = node.data;\n  // Word represents empty line with <o:p>&nbsp;</o:p>\n  if (node.parentNode.tagName === 'O:P') {\n    return delta.insert(text.trim());\n  }\n  if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n    return delta;\n  }\n  if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n    // eslint-disable-next-line func-style\n    var replacer = function replacer(collapse, match) {\n      match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n      return match.length < 1 && collapse ? ' ' : match;\n    };\n    text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n    text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n    if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n      text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n    }\n    if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n      text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n    }\n  }\n  return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n  _inherits(Bold, _Inline);\n\n  function Bold() {\n    _classCallCheck(this, Bold);\n\n    return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n  }\n\n  _createClass(Bold, [{\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n      if (this.domNode.tagName !== this.statics.tagName[0]) {\n        this.replaceWith(this.statics.blotName);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create() {\n      return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      return true;\n    }\n  }]);\n\n  return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n  _inherits(Toolbar, _Module);\n\n  function Toolbar(quill, options) {\n    _classCallCheck(this, Toolbar);\n\n    var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n    if (Array.isArray(_this.options.container)) {\n      var container = document.createElement('div');\n      addControls(container, _this.options.container);\n      quill.container.parentNode.insertBefore(container, quill.container);\n      _this.container = container;\n    } else if (typeof _this.options.container === 'string') {\n      _this.container = document.querySelector(_this.options.container);\n    } else {\n      _this.container = _this.options.container;\n    }\n    if (!(_this.container instanceof HTMLElement)) {\n      var _ret;\n\n      return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n    }\n    _this.container.classList.add('ql-toolbar');\n    _this.controls = [];\n    _this.handlers = {};\n    Object.keys(_this.options.handlers).forEach(function (format) {\n      _this.addHandler(format, _this.options.handlers[format]);\n    });\n    [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n      _this.attach(input);\n    });\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n      if (type === _quill2.default.events.SELECTION_CHANGE) {\n        _this.update(range);\n      }\n    });\n    _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n      var _this$quill$selection = _this.quill.selection.getRange(),\n          _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n          range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n      _this.update(range);\n    });\n    return _this;\n  }\n\n  _createClass(Toolbar, [{\n    key: 'addHandler',\n    value: function addHandler(format, handler) {\n      this.handlers[format] = handler;\n    }\n  }, {\n    key: 'attach',\n    value: function attach(input) {\n      var _this2 = this;\n\n      var format = [].find.call(input.classList, function (className) {\n        return className.indexOf('ql-') === 0;\n      });\n      if (!format) return;\n      format = format.slice('ql-'.length);\n      if (input.tagName === 'BUTTON') {\n        input.setAttribute('type', 'button');\n      }\n      if (this.handlers[format] == null) {\n        if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n          debug.warn('ignoring attaching to disabled format', format, input);\n          return;\n        }\n        if (_parchment2.default.query(format) == null) {\n          debug.warn('ignoring attaching to nonexistent format', format, input);\n          return;\n        }\n      }\n      var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n      input.addEventListener(eventName, function (e) {\n        var value = void 0;\n        if (input.tagName === 'SELECT') {\n          if (input.selectedIndex < 0) return;\n          var selected = input.options[input.selectedIndex];\n          if (selected.hasAttribute('selected')) {\n            value = false;\n          } else {\n            value = selected.value || false;\n          }\n        } else {\n          if (input.classList.contains('ql-active')) {\n            value = false;\n          } else {\n            value = input.value || !input.hasAttribute('value');\n          }\n          e.preventDefault();\n        }\n        _this2.quill.focus();\n\n        var _quill$selection$getR = _this2.quill.selection.getRange(),\n            _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n            range = _quill$selection$getR2[0];\n\n        if (_this2.handlers[format] != null) {\n          _this2.handlers[format].call(_this2, value);\n        } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n          value = prompt('Enter ' + format);\n          if (!value) return;\n          _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n        } else {\n          _this2.quill.format(format, value, _quill2.default.sources.USER);\n        }\n        _this2.update(range);\n      });\n      // TODO use weakmap\n      this.controls.push([format, input]);\n    }\n  }, {\n    key: 'update',\n    value: function update(range) {\n      var formats = range == null ? {} : this.quill.getFormat(range);\n      this.controls.forEach(function (pair) {\n        var _pair = _slicedToArray(pair, 2),\n            format = _pair[0],\n            input = _pair[1];\n\n        if (input.tagName === 'SELECT') {\n          var option = void 0;\n          if (range == null) {\n            option = null;\n          } else if (formats[format] == null) {\n            option = input.querySelector('option[selected]');\n          } else if (!Array.isArray(formats[format])) {\n            var value = formats[format];\n            if (typeof value === 'string') {\n              value = value.replace(/\\\"/g, '\\\\\"');\n            }\n            option = input.querySelector('option[value=\"' + value + '\"]');\n          }\n          if (option == null) {\n            input.value = ''; // TODO make configurable?\n            input.selectedIndex = -1;\n          } else {\n            option.selected = true;\n          }\n        } else {\n          if (range == null) {\n            input.classList.remove('ql-active');\n          } else if (input.hasAttribute('value')) {\n            // both being null should match (default values)\n            // '1' should match with 1 (headers)\n            var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n            input.classList.toggle('ql-active', isActive);\n          } else {\n            input.classList.toggle('ql-active', formats[format] != null);\n          }\n        }\n      });\n    }\n  }]);\n\n  return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n  var input = document.createElement('button');\n  input.setAttribute('type', 'button');\n  input.classList.add('ql-' + format);\n  if (value != null) {\n    input.value = value;\n  }\n  container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n  if (!Array.isArray(groups[0])) {\n    groups = [groups];\n  }\n  groups.forEach(function (controls) {\n    var group = document.createElement('span');\n    group.classList.add('ql-formats');\n    controls.forEach(function (control) {\n      if (typeof control === 'string') {\n        addButton(group, control);\n      } else {\n        var format = Object.keys(control)[0];\n        var value = control[format];\n        if (Array.isArray(value)) {\n          addSelect(group, format, value);\n        } else {\n          addButton(group, format, value);\n        }\n      }\n    });\n    container.appendChild(group);\n  });\n}\n\nfunction addSelect(container, format, values) {\n  var input = document.createElement('select');\n  input.classList.add('ql-' + format);\n  values.forEach(function (value) {\n    var option = document.createElement('option');\n    if (value !== false) {\n      option.setAttribute('value', value);\n    } else {\n      option.setAttribute('selected', 'selected');\n    }\n    input.appendChild(option);\n  });\n  container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n  container: null,\n  handlers: {\n    clean: function clean() {\n      var _this3 = this;\n\n      var range = this.quill.getSelection();\n      if (range == null) return;\n      if (range.length == 0) {\n        var formats = this.quill.getFormat();\n        Object.keys(formats).forEach(function (name) {\n          // Clean functionality in existing apps only clean inline formats\n          if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n            _this3.quill.format(name, false);\n          }\n        });\n      } else {\n        this.quill.removeFormat(range, _quill2.default.sources.USER);\n      }\n    },\n    direction: function direction(value) {\n      var align = this.quill.getFormat()['align'];\n      if (value === 'rtl' && align == null) {\n        this.quill.format('align', 'right', _quill2.default.sources.USER);\n      } else if (!value && align === 'right') {\n        this.quill.format('align', false, _quill2.default.sources.USER);\n      }\n      this.quill.format('direction', value, _quill2.default.sources.USER);\n    },\n    indent: function indent(value) {\n      var range = this.quill.getSelection();\n      var formats = this.quill.getFormat(range);\n      var indent = parseInt(formats.indent || 0);\n      if (value === '+1' || value === '-1') {\n        var modifier = value === '+1' ? 1 : -1;\n        if (formats.direction === 'rtl') modifier *= -1;\n        this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n      }\n    },\n    link: function link(value) {\n      if (value === true) {\n        value = prompt('Enter link URL:');\n      }\n      this.quill.format('link', value, _quill2.default.sources.USER);\n    },\n    list: function list(value) {\n      var range = this.quill.getSelection();\n      var formats = this.quill.getFormat(range);\n      if (value === 'check') {\n        if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n          this.quill.format('list', false, _quill2.default.sources.USER);\n        } else {\n          this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n        }\n      } else {\n        this.quill.format('list', value, _quill2.default.sources.USER);\n      }\n    }\n  }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polyline class=\\\"ql-even ql-stroke\\\" points=\\\"5 7 3 9 5 11\\\"></polyline> <polyline class=\\\"ql-even ql-stroke\\\" points=\\\"13 7 15 9 13 11\\\"></polyline> <line class=ql-stroke x1=10 x2=8 y1=5 y2=13></line> </svg>\";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n  _inherits(ColorPicker, _Picker);\n\n  function ColorPicker(select, label) {\n    _classCallCheck(this, ColorPicker);\n\n    var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n    _this.label.innerHTML = label;\n    _this.container.classList.add('ql-color-picker');\n    [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n      item.classList.add('ql-primary');\n    });\n    return _this;\n  }\n\n  _createClass(ColorPicker, [{\n    key: 'buildItem',\n    value: function buildItem(option) {\n      var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n      item.style.backgroundColor = option.getAttribute('value') || '';\n      return item;\n    }\n  }, {\n    key: 'selectItem',\n    value: function selectItem(item, trigger) {\n      _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n      var colorLabel = this.label.querySelector('.ql-color-label');\n      var value = item ? item.getAttribute('data-value') || '' : '';\n      if (colorLabel) {\n        if (colorLabel.tagName === 'line') {\n          colorLabel.style.stroke = value;\n        } else {\n          colorLabel.style.fill = value;\n        }\n      }\n    }\n  }]);\n\n  return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n  _inherits(IconPicker, _Picker);\n\n  function IconPicker(select, icons) {\n    _classCallCheck(this, IconPicker);\n\n    var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n    _this.container.classList.add('ql-icon-picker');\n    [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n      item.innerHTML = icons[item.getAttribute('data-value') || ''];\n    });\n    _this.defaultItem = _this.container.querySelector('.ql-selected');\n    _this.selectItem(_this.defaultItem);\n    return _this;\n  }\n\n  _createClass(IconPicker, [{\n    key: 'selectItem',\n    value: function selectItem(item, trigger) {\n      _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n      item = item || this.defaultItem;\n      this.label.innerHTML = item.innerHTML;\n    }\n  }]);\n\n  return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n  function Tooltip(quill, boundsContainer) {\n    var _this = this;\n\n    _classCallCheck(this, Tooltip);\n\n    this.quill = quill;\n    this.boundsContainer = boundsContainer || document.body;\n    this.root = quill.addContainer('ql-tooltip');\n    this.root.innerHTML = this.constructor.TEMPLATE;\n    if (this.quill.root === this.quill.scrollingContainer) {\n      this.quill.root.addEventListener('scroll', function () {\n        _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n      });\n    }\n    this.hide();\n  }\n\n  _createClass(Tooltip, [{\n    key: 'hide',\n    value: function hide() {\n      this.root.classList.add('ql-hidden');\n    }\n  }, {\n    key: 'position',\n    value: function position(reference) {\n      var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n      // root.scrollTop should be 0 if scrollContainer !== root\n      var top = reference.bottom + this.quill.root.scrollTop;\n      this.root.style.left = left + 'px';\n      this.root.style.top = top + 'px';\n      this.root.classList.remove('ql-flip');\n      var containerBounds = this.boundsContainer.getBoundingClientRect();\n      var rootBounds = this.root.getBoundingClientRect();\n      var shift = 0;\n      if (rootBounds.right > containerBounds.right) {\n        shift = containerBounds.right - rootBounds.right;\n        this.root.style.left = left + shift + 'px';\n      }\n      if (rootBounds.left < containerBounds.left) {\n        shift = containerBounds.left - rootBounds.left;\n        this.root.style.left = left + shift + 'px';\n      }\n      if (rootBounds.bottom > containerBounds.bottom) {\n        var height = rootBounds.bottom - rootBounds.top;\n        var verticalShift = reference.bottom - reference.top + height;\n        this.root.style.top = top - verticalShift + 'px';\n        this.root.classList.add('ql-flip');\n      }\n      return shift;\n    }\n  }, {\n    key: 'show',\n    value: function show() {\n      this.root.classList.remove('ql-editing');\n      this.root.classList.remove('ql-hidden');\n    }\n  }]);\n\n  return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n  _inherits(SnowTheme, _BaseTheme);\n\n  function SnowTheme(quill, options) {\n    _classCallCheck(this, SnowTheme);\n\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\n    }\n\n    var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n    _this.quill.container.classList.add('ql-snow');\n    return _this;\n  }\n\n  _createClass(SnowTheme, [{\n    key: 'extendToolbar',\n    value: function extendToolbar(toolbar) {\n      toolbar.container.classList.add('ql-snow');\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n      this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n      if (toolbar.container.querySelector('.ql-link')) {\n        this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n          toolbar.handlers['link'].call(toolbar, !context.format.link);\n        });\n      }\n    }\n  }]);\n\n  return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        link: function link(value) {\n          if (value) {\n            var range = this.quill.getSelection();\n            if (range == null || range.length == 0) return;\n            var preview = this.quill.getText(range);\n            if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n              preview = 'mailto:' + preview;\n            }\n            var tooltip = this.quill.theme.tooltip;\n            tooltip.edit('link', preview);\n          } else {\n            this.quill.format('link', false);\n          }\n        }\n      }\n    }\n  }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n  _inherits(SnowTooltip, _BaseTooltip);\n\n  function SnowTooltip(quill, bounds) {\n    _classCallCheck(this, SnowTooltip);\n\n    var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n    _this2.preview = _this2.root.querySelector('a.ql-preview');\n    return _this2;\n  }\n\n  _createClass(SnowTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this3 = this;\n\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n      this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n        if (_this3.root.classList.contains('ql-editing')) {\n          _this3.save();\n        } else {\n          _this3.edit('link', _this3.preview.textContent);\n        }\n        event.preventDefault();\n      });\n      this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n        if (_this3.linkRange != null) {\n          var range = _this3.linkRange;\n          _this3.restoreFocus();\n          _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n          delete _this3.linkRange;\n        }\n        event.preventDefault();\n        _this3.hide();\n      });\n      this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n        if (range == null) return;\n        if (range.length === 0 && source === _emitter2.default.sources.USER) {\n          var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n              _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n              link = _quill$scroll$descend2[0],\n              offset = _quill$scroll$descend2[1];\n\n          if (link != null) {\n            _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n            var preview = _link2.default.formats(link.domNode);\n            _this3.preview.textContent = preview;\n            _this3.preview.setAttribute('href', preview);\n            _this3.show();\n            _this3.position(_this3.quill.getBounds(_this3.linkRange));\n            return;\n          }\n        } else {\n          delete _this3.linkRange;\n        }\n        _this3.hide();\n      });\n    }\n  }, {\n    key: 'show',\n    value: function show() {\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n      this.root.removeAttribute('data-mode');\n    }\n  }]);\n\n  return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['<a class=\"ql-preview\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"about:blank\"></a>', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-action\"></a>', '<a class=\"ql-remove\"></a>'].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n  'attributors/attribute/direction': _direction.DirectionAttribute,\n\n  'attributors/class/align': _align.AlignClass,\n  'attributors/class/background': _background.BackgroundClass,\n  'attributors/class/color': _color.ColorClass,\n  'attributors/class/direction': _direction.DirectionClass,\n  'attributors/class/font': _font.FontClass,\n  'attributors/class/size': _size.SizeClass,\n\n  'attributors/style/align': _align.AlignStyle,\n  'attributors/style/background': _background.BackgroundStyle,\n  'attributors/style/color': _color.ColorStyle,\n  'attributors/style/direction': _direction.DirectionStyle,\n  'attributors/style/font': _font.FontStyle,\n  'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n  'formats/align': _align.AlignClass,\n  'formats/direction': _direction.DirectionClass,\n  'formats/indent': _indent.IndentClass,\n\n  'formats/background': _background.BackgroundStyle,\n  'formats/color': _color.ColorStyle,\n  'formats/font': _font.FontClass,\n  'formats/size': _size.SizeClass,\n\n  'formats/blockquote': _blockquote2.default,\n  'formats/code-block': _code2.default,\n  'formats/header': _header2.default,\n  'formats/list': _list2.default,\n\n  'formats/bold': _bold2.default,\n  'formats/code': _code.Code,\n  'formats/italic': _italic2.default,\n  'formats/link': _link2.default,\n  'formats/script': _script2.default,\n  'formats/strike': _strike2.default,\n  'formats/underline': _underline2.default,\n\n  'formats/image': _image2.default,\n  'formats/video': _video2.default,\n\n  'formats/list/item': _list.ListItem,\n\n  'modules/formula': _formula2.default,\n  'modules/syntax': _syntax2.default,\n  'modules/toolbar': _toolbar2.default,\n\n  'themes/bubble': _bubble2.default,\n  'themes/snow': _snow2.default,\n\n  'ui/icons': _icons2.default,\n  'ui/picker': _picker2.default,\n  'ui/icon-picker': _iconPicker2.default,\n  'ui/color-picker': _colorPicker2.default,\n  'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n  _inherits(IdentAttributor, _Parchment$Attributor);\n\n  function IdentAttributor() {\n    _classCallCheck(this, IdentAttributor);\n\n    return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n  }\n\n  _createClass(IdentAttributor, [{\n    key: 'add',\n    value: function add(node, value) {\n      if (value === '+1' || value === '-1') {\n        var indent = this.value(node) || 0;\n        value = value === '+1' ? indent + 1 : indent - 1;\n      }\n      if (value === 0) {\n        this.remove(node);\n        return true;\n      } else {\n        return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n      }\n    }\n  }, {\n    key: 'canAdd',\n    value: function canAdd(node, value) {\n      return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n    }\n  }, {\n    key: 'value',\n    value: function value(node) {\n      return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n    }\n  }]);\n\n  return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n  scope: _parchment2.default.Scope.BLOCK,\n  whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n  _inherits(Blockquote, _Block);\n\n  function Blockquote() {\n    _classCallCheck(this, Blockquote);\n\n    return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n  }\n\n  return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n  _inherits(Header, _Block);\n\n  function Header() {\n    _classCallCheck(this, Header);\n\n    return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n  }\n\n  _createClass(Header, null, [{\n    key: 'formats',\n    value: function formats(domNode) {\n      return this.tagName.indexOf(domNode.tagName) + 1;\n    }\n  }]);\n\n  return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n  _inherits(ListItem, _Block);\n\n  function ListItem() {\n    _classCallCheck(this, ListItem);\n\n    return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n  }\n\n  _createClass(ListItem, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (name === List.blotName && !value) {\n        this.replaceWith(_parchment2.default.create(this.statics.scope));\n      } else {\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }, {\n    key: 'remove',\n    value: function remove() {\n      if (this.prev == null && this.next == null) {\n        this.parent.remove();\n      } else {\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n      }\n    }\n  }, {\n    key: 'replaceWith',\n    value: function replaceWith(name, value) {\n      this.parent.isolate(this.offset(this.parent), this.length());\n      if (name === this.parent.statics.blotName) {\n        this.parent.replaceWith(name, value);\n        return this;\n      } else {\n        this.parent.unwrap();\n        return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'formats',\n    value: function formats(domNode) {\n      return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n    }\n  }]);\n\n  return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n  _inherits(List, _Container);\n\n  _createClass(List, null, [{\n    key: 'create',\n    value: function create(value) {\n      var tagName = value === 'ordered' ? 'OL' : 'UL';\n      var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n      if (value === 'checked' || value === 'unchecked') {\n        node.setAttribute('data-checked', value === 'checked');\n      }\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      if (domNode.tagName === 'OL') return 'ordered';\n      if (domNode.tagName === 'UL') {\n        if (domNode.hasAttribute('data-checked')) {\n          return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n        } else {\n          return 'bullet';\n        }\n      }\n      return undefined;\n    }\n  }]);\n\n  function List(domNode) {\n    _classCallCheck(this, List);\n\n    var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n    var listEventHandler = function listEventHandler(e) {\n      if (e.target.parentNode !== domNode) return;\n      var format = _this2.statics.formats(domNode);\n      var blot = _parchment2.default.find(e.target);\n      if (format === 'checked') {\n        blot.format('list', 'unchecked');\n      } else if (format === 'unchecked') {\n        blot.format('list', 'checked');\n      }\n    };\n\n    domNode.addEventListener('touchstart', listEventHandler);\n    domNode.addEventListener('mousedown', listEventHandler);\n    return _this2;\n  }\n\n  _createClass(List, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (this.children.length > 0) {\n        this.children.tail.format(name, value);\n      }\n    }\n  }, {\n    key: 'formats',\n    value: function formats() {\n      // We don't inherit from FormatBlot\n      return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n    }\n  }, {\n    key: 'insertBefore',\n    value: function insertBefore(blot, ref) {\n      if (blot instanceof ListItem) {\n        _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n      } else {\n        var index = ref == null ? this.length() : ref.offset(this);\n        var after = this.split(index);\n        after.parent.insertBefore(blot, after);\n      }\n    }\n  }, {\n    key: 'optimize',\n    value: function optimize(context) {\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n      var next = this.next;\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n        next.moveChildren(this);\n        next.remove();\n      }\n    }\n  }, {\n    key: 'replace',\n    value: function replace(target) {\n      if (target.statics.blotName !== this.statics.blotName) {\n        var item = _parchment2.default.create(this.statics.defaultChild);\n        target.moveChildren(item);\n        this.appendChild(item);\n      }\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n    }\n  }]);\n\n  return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n  _inherits(Italic, _Bold);\n\n  function Italic() {\n    _classCallCheck(this, Italic);\n\n    return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n  }\n\n  return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n  _inherits(Script, _Inline);\n\n  function Script() {\n    _classCallCheck(this, Script);\n\n    return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n  }\n\n  _createClass(Script, null, [{\n    key: 'create',\n    value: function create(value) {\n      if (value === 'super') {\n        return document.createElement('sup');\n      } else if (value === 'sub') {\n        return document.createElement('sub');\n      } else {\n        return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n      }\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      if (domNode.tagName === 'SUB') return 'sub';\n      if (domNode.tagName === 'SUP') return 'super';\n      return undefined;\n    }\n  }]);\n\n  return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n  _inherits(Strike, _Inline);\n\n  function Strike() {\n    _classCallCheck(this, Strike);\n\n    return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n  }\n\n  return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n  _inherits(Underline, _Inline);\n\n  function Underline() {\n    _classCallCheck(this, Underline);\n\n    return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n  }\n\n  return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n  _inherits(Image, _Parchment$Embed);\n\n  function Image() {\n    _classCallCheck(this, Image);\n\n    return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n  }\n\n  _createClass(Image, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (ATTRIBUTES.indexOf(name) > -1) {\n        if (value) {\n          this.domNode.setAttribute(name, value);\n        } else {\n          this.domNode.removeAttribute(name);\n        }\n      } else {\n        _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n      if (typeof value === 'string') {\n        node.setAttribute('src', this.sanitize(value));\n      }\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return ATTRIBUTES.reduce(function (formats, attribute) {\n        if (domNode.hasAttribute(attribute)) {\n          formats[attribute] = domNode.getAttribute(attribute);\n        }\n        return formats;\n      }, {});\n    }\n  }, {\n    key: 'match',\n    value: function match(url) {\n      return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n      );\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('src');\n    }\n  }]);\n\n  return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n  _inherits(Video, _BlockEmbed);\n\n  function Video() {\n    _classCallCheck(this, Video);\n\n    return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n  }\n\n  _createClass(Video, [{\n    key: 'format',\n    value: function format(name, value) {\n      if (ATTRIBUTES.indexOf(name) > -1) {\n        if (value) {\n          this.domNode.setAttribute(name, value);\n        } else {\n          this.domNode.removeAttribute(name);\n        }\n      } else {\n        _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n      }\n    }\n  }], [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n      node.setAttribute('frameborder', '0');\n      node.setAttribute('allowfullscreen', true);\n      node.setAttribute('src', this.sanitize(value));\n      return node;\n    }\n  }, {\n    key: 'formats',\n    value: function formats(domNode) {\n      return ATTRIBUTES.reduce(function (formats, attribute) {\n        if (domNode.hasAttribute(attribute)) {\n          formats[attribute] = domNode.getAttribute(attribute);\n        }\n        return formats;\n      }, {});\n    }\n  }, {\n    key: 'sanitize',\n    value: function sanitize(url) {\n      return _link2.default.sanitize(url);\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('src');\n    }\n  }]);\n\n  return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n  _inherits(FormulaBlot, _Embed);\n\n  function FormulaBlot() {\n    _classCallCheck(this, FormulaBlot);\n\n    return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n  }\n\n  _createClass(FormulaBlot, null, [{\n    key: 'create',\n    value: function create(value) {\n      var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n      if (typeof value === 'string') {\n        window.katex.render(value, node, {\n          throwOnError: false,\n          errorColor: '#f00'\n        });\n        node.setAttribute('data-value', value);\n      }\n      return node;\n    }\n  }, {\n    key: 'value',\n    value: function value(domNode) {\n      return domNode.getAttribute('data-value');\n    }\n  }]);\n\n  return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n  _inherits(Formula, _Module);\n\n  _createClass(Formula, null, [{\n    key: 'register',\n    value: function register() {\n      _quill2.default.register(FormulaBlot, true);\n    }\n  }]);\n\n  function Formula() {\n    _classCallCheck(this, Formula);\n\n    var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n    if (window.katex == null) {\n      throw new Error('Formula module requires KaTeX.');\n    }\n    return _this2;\n  }\n\n  return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n  _inherits(SyntaxCodeBlock, _CodeBlock);\n\n  function SyntaxCodeBlock() {\n    _classCallCheck(this, SyntaxCodeBlock);\n\n    return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n  }\n\n  _createClass(SyntaxCodeBlock, [{\n    key: 'replaceWith',\n    value: function replaceWith(block) {\n      this.domNode.textContent = this.domNode.textContent;\n      this.attach();\n      _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n    }\n  }, {\n    key: 'highlight',\n    value: function highlight(_highlight) {\n      var text = this.domNode.textContent;\n      if (this.cachedText !== text) {\n        if (text.trim().length > 0 || this.cachedText == null) {\n          this.domNode.innerHTML = _highlight(text);\n          this.domNode.normalize();\n          this.attach();\n        }\n        this.cachedText = text;\n      }\n    }\n  }]);\n\n  return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n  scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n  _inherits(Syntax, _Module);\n\n  _createClass(Syntax, null, [{\n    key: 'register',\n    value: function register() {\n      _quill2.default.register(CodeToken, true);\n      _quill2.default.register(SyntaxCodeBlock, true);\n    }\n  }]);\n\n  function Syntax(quill, options) {\n    _classCallCheck(this, Syntax);\n\n    var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n    if (typeof _this2.options.highlight !== 'function') {\n      throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n    }\n    var timer = null;\n    _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n      clearTimeout(timer);\n      timer = setTimeout(function () {\n        _this2.highlight();\n        timer = null;\n      }, _this2.options.interval);\n    });\n    _this2.highlight();\n    return _this2;\n  }\n\n  _createClass(Syntax, [{\n    key: 'highlight',\n    value: function highlight() {\n      var _this3 = this;\n\n      if (this.quill.selection.composing) return;\n      this.quill.update(_quill2.default.sources.USER);\n      var range = this.quill.getSelection();\n      this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n        code.highlight(_this3.options.highlight);\n      });\n      this.quill.update(_quill2.default.sources.SILENT);\n      if (range != null) {\n        this.quill.setSelection(range, _quill2.default.sources.SILENT);\n      }\n    }\n  }]);\n\n  return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n  highlight: function () {\n    if (window.hljs == null) return null;\n    return function (text) {\n      var result = window.hljs.highlightAuto(text);\n      return result.value;\n    };\n  }(),\n  interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=13 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=9 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=14 x2=4 y1=14 y2=14></line> <line class=ql-stroke x1=12 x2=6 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=5 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=9 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=3 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=3 y1=4 y2=4></line> </svg>\";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <g class=\\\"ql-fill ql-color-label\\\"> <polygon points=\\\"6 6.868 6 6 5 6 5 7 5.942 7 6 6.868\\\"></polygon> <rect height=1 width=1 x=4 y=4></rect> <polygon points=\\\"6.817 5 6 5 6 6 6.38 6 6.817 5\\\"></polygon> <rect height=1 width=1 x=2 y=6></rect> <rect height=1 width=1 x=3 y=5></rect> <rect height=1 width=1 x=4 y=7></rect> <polygon points=\\\"4 11.439 4 11 3 11 3 12 3.755 12 4 11.439\\\"></polygon> <rect height=1 width=1 x=2 y=12></rect> <rect height=1 width=1 x=2 y=9></rect> <rect height=1 width=1 x=2 y=15></rect> <polygon points=\\\"4.63 10 4 10 4 11 4.192 11 4.63 10\\\"></polygon> <rect height=1 width=1 x=3 y=8></rect> <path d=M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z></path> <path d=M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z></path> <path d=M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z></path> <rect height=1 width=1 x=12 y=2></rect> <rect height=1 width=1 x=11 y=3></rect> <path d=M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z></path> <rect height=1 width=1 x=2 y=3></rect> <rect height=1 width=1 x=6 y=2></rect> <rect height=1 width=1 x=3 y=2></rect> <rect height=1 width=1 x=5 y=3></rect> <rect height=1 width=1 x=9 y=2></rect> <rect height=1 width=1 x=15 y=14></rect> <polygon points=\\\"13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174\\\"></polygon> <rect height=1 width=1 x=13 y=7></rect> <rect height=1 width=1 x=15 y=5></rect> <rect height=1 width=1 x=14 y=6></rect> <rect height=1 width=1 x=15 y=8></rect> <rect height=1 width=1 x=14 y=9></rect> <path d=M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z></path> <rect height=1 width=1 x=14 y=3></rect> <polygon points=\\\"12 6.868 12 6 11.62 6 12 6.868\\\"></polygon> <rect height=1 width=1 x=15 y=2></rect> <rect height=1 width=1 x=12 y=5></rect> <rect height=1 width=1 x=13 y=4></rect> <polygon points=\\\"12.933 9 13 9 13 8 12.495 8 12.933 9\\\"></polygon> <rect height=1 width=1 x=9 y=14></rect> <rect height=1 width=1 x=8 y=15></rect> <path d=M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z></path> <rect height=1 width=1 x=5 y=15></rect> <path d=M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z></path> <rect height=1 width=1 x=11 y=15></rect> <path d=M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z></path> <rect height=1 width=1 x=14 y=15></rect> <rect height=1 width=1 x=15 y=11></rect> </g> <polyline class=ql-stroke points=\\\"5.5 13 9 5 12.5 13\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=11 y2=11></line> </svg>\";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=\\\"ql-fill ql-stroke\\\" height=3 width=3 x=4 y=5></rect> <rect class=\\\"ql-fill ql-stroke\\\" height=3 width=3 x=11 y=5></rect> <path class=\\\"ql-even ql-fill ql-stroke\\\" d=M7,8c0,4.031-3,5-3,5></path> <path class=\\\"ql-even ql-fill ql-stroke\\\" d=M14,8c0,4.031-3,5-3,5></path> </svg>\";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-stroke d=M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z></path> <path class=ql-stroke d=M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z></path> </svg>\";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=5 x2=13 y1=3 y2=3></line> <line class=ql-stroke x1=6 x2=9.35 y1=12 y2=3></line> <line class=ql-stroke x1=11 x2=15 y1=11 y2=15></line> <line class=ql-stroke x1=15 x2=11 y1=11 y2=15></line> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=7 x=2 y=14></rect> </svg>\";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=\\\"ql-color-label ql-stroke ql-transparent\\\" x1=3 x2=15 y1=15 y2=15></line> <polyline class=ql-stroke points=\\\"5.5 11 9 3 12.5 11\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=9 y2=9></line> </svg>\";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"3 11 5 9 3 7 3 11\\\"></polygon> <line class=\\\"ql-stroke ql-fill\\\" x1=15 x2=11 y1=4 y2=4></line> <path class=ql-fill d=M11,3a3,3,0,0,0,0,6h1V3H11Z></path> <rect class=ql-fill height=11 width=1 x=11 y=4></rect> <rect class=ql-fill height=11 width=1 x=13 y=4></rect> </svg>\";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=\\\"ql-stroke ql-fill\\\" points=\\\"15 12 13 10 15 8 15 12\\\"></polygon> <line class=\\\"ql-stroke ql-fill\\\" x1=9 x2=5 y1=4 y2=4></line> <path class=ql-fill d=M5,3A3,3,0,0,0,5,9H6V3H5Z></path> <rect class=ql-fill height=11 width=1 x=5 y=4></rect> <rect class=ql-fill height=11 width=1 x=7 y=4></rect> </svg>\";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M14,16H4a1,1,0,0,1,0-2H14A1,1,0,0,1,14,16Z /> <path class=ql-fill d=M14,4H4A1,1,0,0,1,4,2H14A1,1,0,0,1,14,4Z /> <rect class=ql-fill x=3 y=6 width=12 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M13,16H5a1,1,0,0,1,0-2h8A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H5A1,1,0,0,1,5,2h8A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=2 y=6 width=14 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15,8H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,8Z /> <path class=ql-fill d=M15,12H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,12Z /> <path class=ql-fill d=M15,16H5a1,1,0,0,1,0-2H15A1,1,0,0,1,15,16Z /> <path class=ql-fill d=M15,4H5A1,1,0,0,1,5,2H15A1,1,0,0,1,15,4Z /> <rect class=ql-fill x=2 y=6 width=8 height=6 rx=1 ry=1 /> </svg>\";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M5,8H3A1,1,0,0,1,3,6H5A1,1,0,0,1,5,8Z /> <path class=ql-fill d=M5,12H3a1,1,0,0,1,0-2H5A1,1,0,0,1,5,12Z /> <path class=ql-fill d=M13,16H3a1,1,0,0,1,0-2H13A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H3A1,1,0,0,1,3,2H13A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=8 y=6 width=8 height=6 rx=1 ry=1 transform=\\\"translate(24 18) rotate(-180)\\\"/> </svg>\";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z></path> <rect class=ql-fill height=1.6 rx=0.8 ry=0.8 width=5 x=5.15 y=6.2></rect> <path class=ql-fill d=M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z></path> </svg>\";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z /> </svg>\";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z /> </svg>\";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=13 y1=4 y2=4></line> <line class=ql-stroke x1=5 x2=11 y1=14 y2=14></line> <line class=ql-stroke x1=8 x2=10 y1=14 y2=4></line> </svg>\";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=ql-stroke height=10 width=12 x=3 y=4></rect> <circle class=ql-fill cx=6 cy=7 r=1></circle> <polyline class=\\\"ql-even ql-fill\\\" points=\\\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=\\\"ql-fill ql-stroke\\\" points=\\\"3 7 3 11 5 9 3 7\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\"5 7 5 11 3 9 5 7\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=11 y1=7 y2=11></line> <path class=\\\"ql-even ql-stroke\\\" d=M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z></path> <path class=\\\"ql-even ql-stroke\\\" d=M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z></path> </svg>\";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=7 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=7 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=7 x2=15 y1=14 y2=14></line> <line class=\\\"ql-stroke ql-thin\\\" x1=2.5 x2=4.5 y1=5.5 y2=5.5></line> <path class=ql-fill d=M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z></path> <path class=\\\"ql-stroke ql-thin\\\" d=M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156></path> <path class=\\\"ql-stroke ql-thin\\\" d=M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109></path> </svg>\";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=6 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=6 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=6 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=3 y1=4 y2=4></line> <line class=ql-stroke x1=3 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=3 y1=14 y2=14></line> </svg>\";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg class=\\\"\\\" viewbox=\\\"0 0 18 18\\\"> <line class=ql-stroke x1=9 x2=15 y1=4 y2=4></line> <polyline class=ql-stroke points=\\\"3 4 4 5 6 3\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=14 y2=14></line> <polyline class=ql-stroke points=\\\"3 14 4 15 6 13\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\"3 9 4 10 6 8\\\"></polyline> </svg>\";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z /> <path class=ql-fill d=M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z /> </svg>\";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-fill d=M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z /> <path class=ql-fill d=M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z /> </svg>\";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <line class=\\\"ql-stroke ql-thin\\\" x1=15.5 x2=2.5 y1=8.5 y2=9.5></line> <path class=ql-fill d=M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z></path> <path class=ql-fill d=M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z></path> </svg>\";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <path class=ql-stroke d=M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3></path> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=12 x=3 y=15></rect> </svg>\";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <rect class=ql-stroke height=12 width=12 x=3 y=3></rect> <rect class=ql-fill height=12 width=1 x=5 y=3></rect> <rect class=ql-fill height=12 width=1 x=12 y=3></rect> <rect class=ql-fill height=2 width=8 x=5 y=8></rect> <rect class=ql-fill height=1 width=3 x=3 y=5></rect> <rect class=ql-fill height=1 width=3 x=3 y=7></rect> <rect class=ql-fill height=1 width=3 x=3 y=10></rect> <rect class=ql-fill height=1 width=3 x=3 y=12></rect> <rect class=ql-fill height=1 width=3 x=12 y=5></rect> <rect class=ql-fill height=1 width=3 x=12 y=7></rect> <rect class=ql-fill height=1 width=3 x=12 y=10></rect> <rect class=ql-fill height=1 width=3 x=12 y=12></rect> </svg>\";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewbox=\\\"0 0 18 18\\\"> <polygon class=ql-stroke points=\\\"7 11 9 13 11 11 7 11\\\"></polygon> <polygon class=ql-stroke points=\\\"7 7 9 5 11 7 7 7\\\"></polygon> </svg>\";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n  _inherits(BubbleTheme, _BaseTheme);\n\n  function BubbleTheme(quill, options) {\n    _classCallCheck(this, BubbleTheme);\n\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\n    }\n\n    var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n    _this.quill.container.classList.add('ql-bubble');\n    return _this;\n  }\n\n  _createClass(BubbleTheme, [{\n    key: 'extendToolbar',\n    value: function extendToolbar(toolbar) {\n      this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n      this.tooltip.root.appendChild(toolbar.container);\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n    }\n  }]);\n\n  return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n  modules: {\n    toolbar: {\n      handlers: {\n        link: function link(value) {\n          if (!value) {\n            this.quill.format('link', false);\n          } else {\n            this.quill.theme.tooltip.edit();\n          }\n        }\n      }\n    }\n  }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n  _inherits(BubbleTooltip, _BaseTooltip);\n\n  function BubbleTooltip(quill, bounds) {\n    _classCallCheck(this, BubbleTooltip);\n\n    var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n    _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n      if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n      if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n        _this2.show();\n        // Lock our width so we will expand beyond our offsetParent boundaries\n        _this2.root.style.left = '0px';\n        _this2.root.style.width = '';\n        _this2.root.style.width = _this2.root.offsetWidth + 'px';\n        var lines = _this2.quill.getLines(range.index, range.length);\n        if (lines.length === 1) {\n          _this2.position(_this2.quill.getBounds(range));\n        } else {\n          var lastLine = lines[lines.length - 1];\n          var index = _this2.quill.getIndex(lastLine);\n          var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n          var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n          _this2.position(_bounds);\n        }\n      } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n        _this2.hide();\n      }\n    });\n    return _this2;\n  }\n\n  _createClass(BubbleTooltip, [{\n    key: 'listen',\n    value: function listen() {\n      var _this3 = this;\n\n      _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n      this.root.querySelector('.ql-close').addEventListener('click', function () {\n        _this3.root.classList.remove('ql-editing');\n      });\n      this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n        // Let selection be restored by toolbar handlers before repositioning\n        setTimeout(function () {\n          if (_this3.root.classList.contains('ql-hidden')) return;\n          var range = _this3.quill.getSelection();\n          if (range != null) {\n            _this3.position(_this3.quill.getBounds(range));\n          }\n        }, 1);\n      });\n    }\n  }, {\n    key: 'cancel',\n    value: function cancel() {\n      this.show();\n    }\n  }, {\n    key: 'position',\n    value: function position(reference) {\n      var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n      var arrow = this.root.querySelector('.ql-tooltip-arrow');\n      arrow.style.marginLeft = '';\n      if (shift === 0) return shift;\n      arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n    }\n  }]);\n\n  return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['<span class=\"ql-tooltip-arrow\"></span>', '<div class=\"ql-tooltip-editor\">', '<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"https://quilljs.com\" data-video=\"Embed URL\">', '<a class=\"ql-close\"></a>', '</div>'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.hasIndices) result += 'd';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.unicodeSets) result += 'v';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <http://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n *     incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n  ? global.TYPED_ARRAY_SUPPORT\n  : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n  try {\n    var arr = new Uint8Array(1)\n    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n    return arr.foo() === 42 && // typed array instances can be augmented\n        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n  } catch (e) {\n    return false\n  }\n}\n\nfunction kMaxLength () {\n  return Buffer.TYPED_ARRAY_SUPPORT\n    ? 0x7fffffff\n    : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n  if (kMaxLength() < length) {\n    throw new RangeError('Invalid typed array length')\n  }\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = new Uint8Array(length)\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    if (that === null) {\n      that = new Buffer(length)\n    }\n    that.length = length\n  }\n\n  return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n    return new Buffer(arg, encodingOrOffset, length)\n  }\n\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new Error(\n        'If encoding is specified then the first argument must be a string'\n      )\n    }\n    return allocUnsafe(this, arg)\n  }\n  return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n  arr.__proto__ = Buffer.prototype\n  return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n  if (typeof value === 'number') {\n    throw new TypeError('\"value\" argument must not be a number')\n  }\n\n  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n    return fromArrayBuffer(that, value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'string') {\n    return fromString(that, value, encodingOrOffset)\n  }\n\n  return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n  Buffer.prototype.__proto__ = Uint8Array.prototype\n  Buffer.__proto__ = Uint8Array\n  if (typeof Symbol !== 'undefined' && Symbol.species &&\n      Buffer[Symbol.species] === Buffer) {\n    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n    Object.defineProperty(Buffer, Symbol.species, {\n      value: null,\n      configurable: true\n    })\n  }\n}\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be a number')\n  } else if (size < 0) {\n    throw new RangeError('\"size\" argument must not be negative')\n  }\n}\n\nfunction alloc (that, size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(that, size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpretted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(that, size).fill(fill, encoding)\n      : createBuffer(that, size).fill(fill)\n  }\n  return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n  assertSize(size)\n  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n    for (var i = 0; i < size; ++i) {\n      that[i] = 0\n    }\n  }\n  return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('\"encoding\" must be a valid string encoding')\n  }\n\n  var length = byteLength(string, encoding) | 0\n  that = createBuffer(that, length)\n\n  var actual = that.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    that = that.slice(0, actual)\n  }\n\n  return that\n}\n\nfunction fromArrayLike (that, array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  that = createBuffer(that, length)\n  for (var i = 0; i < length; i += 1) {\n    that[i] = array[i] & 255\n  }\n  return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n  array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\\'offset\\' is out of bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\\'length\\' is out of bounds')\n  }\n\n  if (byteOffset === undefined && length === undefined) {\n    array = new Uint8Array(array)\n  } else if (length === undefined) {\n    array = new Uint8Array(array, byteOffset)\n  } else {\n    array = new Uint8Array(array, byteOffset, length)\n  }\n\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = array\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    that = fromArrayLike(that, array)\n  }\n  return that\n}\n\nfunction fromObject (that, obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    that = createBuffer(that, len)\n\n    if (that.length === 0) {\n      return that\n    }\n\n    obj.copy(that, 0, 0, len)\n    return that\n  }\n\n  if (obj) {\n    if ((typeof ArrayBuffer !== 'undefined' &&\n        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n        return createBuffer(that, 0)\n      }\n      return fromArrayLike(that, obj)\n    }\n\n    if (obj.type === 'Buffer' && isArray(obj.data)) {\n      return fromArrayLike(that, obj.data)\n    }\n  }\n\n  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < kMaxLength()` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= kMaxLength()) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + kMaxLength().toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError('Arguments must be Buffers')\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    }\n    buf.copy(buffer, pos)\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    string = '' + string\n  }\n\n  var len = string.length\n  if (len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n      case undefined:\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) return utf8ToBytes(string).length // assume utf8\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length | 0\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  if (this.length > 0) {\n    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n    if (this.length > max) str += ' ... '\n  }\n  return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError('Argument must be a Buffer')\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset  // Coerce to Number.\n  if (isNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (Buffer.TYPED_ARRAY_SUPPORT &&\n        typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  // must be an even number of digits\n  var strLen = string.length\n  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (isNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n  return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset | 0\n    if (isFinite(length)) {\n      length = length | 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  // legacy write(string, encoding, offset, length) - remove in v0.13\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n        return asciiWrite(this, string, offset, length)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Write(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF) ? 4\n      : (firstByte > 0xDF) ? 3\n      : (firstByte > 0xBF) ? 2\n      : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += toHex(buf[i])\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  for (var i = 0; i < bytes.length; i += 2) {\n    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    newBuf = this.subarray(start, end)\n    newBuf.__proto__ = Buffer.prototype\n  } else {\n    var sliceLen = end - start\n    newBuf = new Buffer(sliceLen, undefined)\n    for (var i = 0; i < sliceLen; ++i) {\n      newBuf[i] = this[i + start]\n    }\n  }\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n      (littleEndian ? i : 1 - i) * 8\n  }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffffffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n  }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset + 3] = (value >>> 24)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 1] = (value >>> 8)\n    this[offset] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 3] = (value >>> 24)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n  var i\n\n  if (this === target && start < targetStart && targetStart < end) {\n    // descending copy from end\n    for (i = len - 1; i >= 0; --i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n    // ascending copy from start\n    for (i = 0; i < len; ++i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, start + len),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if (code < 256) {\n        val = code\n      }\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : utf8ToBytes(new Buffer(val, encoding).toString())\n    var len = bytes.length\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction stringtrim (str) {\n  if (str.trim) return str.trim()\n  return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n  if (n < 16) return '0' + n.toString(16)\n  return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\nfunction isnan (val) {\n  return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n  if (passed < required) throw new $TypeError('Not enough arguments');\n  return passed;\n};\n","import Repository from \"./Repository\";\nimport { ADMIN_REPOSITORY, GENERAL_NAME, SUPPORT_FLOW, LINE_REPOSITORY } from \"@/constants/\";\n\nexport default {\n    async healthGuidanceReceptionDetail(id) {\n        try {\n            return await Repository.get(`/admin/health-guidance-reception/detail/${id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async submitDeleteMemo(id) {\n        try {\n            return await Repository.get(`/admin/delete-message-log-memo/${id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getHealthResult(patient_id) {\n        try {\n            return await Repository.get(`/diagnostic-result/${patient_id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    getListSupportPlace(insurer_code) {\n        try {\n            if (insurer_code) {\n                return Repository.get(`${SUPPORT_FLOW}/support-place/?insurer_code=${insurer_code}`)\n            }\n            return Repository.get(`${SUPPORT_FLOW}/support-place`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    getListRequester(data) {\n        try {\n            return Repository.get(`${SUPPORT_FLOW}/requester`, data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    getListSupportPerson() {\n        try {\n            return Repository.get(`${SUPPORT_FLOW}/support-person`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    createSupportPlace(bodyRequest = {}) {\n        try {\n            return Repository.post(`${GENERAL_NAME}/create`, bodyRequest)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    updateSupportPlace(bodyRequest) {\n        try {\n            return Repository.post(`${GENERAL_NAME}/update/${bodyRequest.id}`, bodyRequest)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    deleteSupportPlace(bodyRequest) {\n        try {\n            return Repository.post(`${GENERAL_NAME}/delete/${bodyRequest.id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getReceptionFlowSegments(reception_id) {\n        try {\n            return await Repository.get(`/support-flow/reception/${reception_id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getSegmentEval(segment_id) {\n        try {\n            return await Repository.get(`/support-flow/segment-evals/${segment_id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    /**\n     * 初回支援形態取得.\n     *\n     * @returns\n     */\n    async getMasterFormSupport() {\n        try {\n            return await Repository.get(\"/support-flow/master-form-support\")\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    /**\n     * 期間マスタ取得.\n     * @returns\n     */\n    async getIntendDateList() {\n        try {\n            return await Repository.get(\"/support-flow/intend-date-list\")\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    /**\n     * 継続支援 支援形態取得.\n     */\n    async getContinueSupportFormList(type = \"\") {\n        try {\n            return await Repository.get(`/support-flow/continue-support-form-list/${type}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async middleTerminate(support_flow_id, data) {\n        try {\n            return await Repository.post(`/support-flow/middle-terminate/${support_flow_id}`, data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async changeAutoSend(support_flow_id, data) {\n        try {\n            return await Repository.post(`/support-flow/auto-send/${support_flow_id}`,data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async rejectFirstReview(support_flow_id, data) {\n        try {\n            return await Repository.post(`/support-flow/reject-first-review/${support_flow_id}`, data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async clearAssignTask(segment_id) {\n        try {\n            return await Repository.post(`/support-flow/clear-assign-task-segment/${segment_id}`)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async assignTask(segment_id, data) {\n        try {\n            return await Repository.post(`/support-flow/assign-task-segment/${segment_id}`, data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async updateSegmentTels(segment_id, data) {\n        try {\n            return await Repository.post(`/support-flow/segment-tels/${segment_id}`, data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async storeSegmentTels(segment_id, data) {\n        try {\n            return await Repository.post(`/support-flow/store-segment-tels/${segment_id}`, data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async recreateFlowFunc(flow_id, data) {\n        try {\n            return await Repository.post(\"/support-flow/recreate-flow\", data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async createSupportFlow(data) {\n        try {\n            return await Repository.post(\"/support-flow/save\", data)\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getFlowDetail(flow_id) {\n        try {\n            return await Repository.get(`/support-flow/detail/${flow_id}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async btnFormSupport(segment_id, action) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/health-support-flow-segment/${segment_id}/update-segment-evals/${action}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    /**\n     * 直前支援をもとに評価\n     *\n     * @param {*} preview_segment_id\n     * @param {*} segment_id\n     * @returns\n     */\n    async copySegmentEval(preview_segment_id, segment_id) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/segment-copy-evals/${preview_segment_id}/${segment_id}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async listContactTemplate() {\n        try {\n            return await Repository.get(\"list-contact-template\");\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async listFormTemplate() {\n        try {\n            return await Repository.get(\"list-form-template\");\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getGenerateLink(data) {\n        try {\n            return await Repository.post(\"generate-link\", data);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async segmentSendMail(data) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/segment-send-mail`, data);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async segmentSendMemo(data, segment_id) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/${segment_id}/segment-send-memo`, data);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async segmentSendSMS(data) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/segment-send-sms`, data);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async segmentSendLineMsg(data) {\n        try {\n            return await Repository.post(`${LINE_REPOSITORY}/segment-send-messages`, data);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getContactLine(patient_line) {\n        try {\n            return await Repository.get(`${LINE_REPOSITORY}/get-contact-line?patient_line=${patient_line}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getContactLineOld(patient_id) {\n        try {\n            return await Repository.get(`${LINE_REPOSITORY}/get-contact-line-old?patient_id=${patient_id}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async deleteContactLine(line_user_id) {\n        try {\n            return await Repository.delete(`${LINE_REPOSITORY}/delete-contact-line/${line_user_id}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async syncLineContact(data) {\n        try {\n            return await Repository.post(`${LINE_REPOSITORY}/sync-contact-line`, data);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getLogMessageLineByPatientId({patientId, segmentId}) {\n        try {\n            return await Repository.get(`${LINE_REPOSITORY}/get-log-message-patient?patient_id=${patientId}&segment_id=${segmentId}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getMessageLogList(segment_id) {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/list-message-log/${segment_id}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n    async getSegmentDetail(segment_id) {\n        try {\n            return await Repository.get(`${ADMIN_REPOSITORY}/health-support-flow-segment/detail/${segment_id}`);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n\n    async settingStatusSegment(dataSegment) {\n        try {\n            return await Repository.post(`${ADMIN_REPOSITORY}/health-support-flow-segment/setting-status`, dataSegment);\n        } catch (e) {\n            return this.setErrors(e);\n        }\n    },\n\n    setErrors(e) {\n        const errorCode = e.response ? e.response.status : 500;\n        return {\n            status : false,\n            errorCode : errorCode,\n            data : e.response ? e.response.data : \"error\",\n            error : e,\n        };\n    },\n    catchError(e) {\n        return e.response ? e.response.data : \"error\";\n    },\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}